From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH 3/3] drm/i915: Enable polling when we don't have hpd Date: Fri, 17 Jun 2016 17:58:24 -0400 Message-ID: <1466200705-9405-4-git-send-email-cpaul@redhat.com> References: <1466200705-9405-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466200705-9405-1-git-send-email-cpaul@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: David Airlie , "open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list" , stable@vger.kernel.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VW5mb3J0dW5hdGVseSwgdGhlcmUncyB0d28gc2l0dWF0aW9ucyB3aGVyZSB3ZSBsb3NlIGhwZCBy aWdodCBub3c6Ci0gUnVudGltZSBzdXNwZW5kCi0gV2hlbiB3ZSd2ZSBzaHV0IG9mZiBhbGwgb2Yg dGhlIHBvd2VyIHdlbGxzIG9uIFZhbGxleXZpZXcvQ2hlcnJ5dmlldwoKV2hpbGUgaXQgd291bGQg YmUgbmljZSBpZiB0aGlzIGRpZG4ndCBjYXVzZSBpc3N1ZXMsIHRoaXMgaGFzIHRoZQphYmlsaXR5 IHRvIGdldCB1cyBpbiBzb21lIGF3a3dhcmQgc3RhdGVzIHdoZXJlIGEgdXNlciB3b24ndCBiZSBh YmxlIHRvCmdldCB0aGVpciBkaXNwbGF5IHRvIHR1cm4gb24uIEZvciBpbnN0YW5jZTsgaWYgd2Ug Ym9vdCBhIFZhbGxleXZpZXcKc3lzdGVtIHdpdGhvdXQgYW55IG1vbml0b3JzIGNvbm5lY3RlZCwg aXQgd29uJ3QgbmVlZCBhbnkgb2YgaXQncyBwb3dlcgp3ZWxscyBhbmQgdGh1cyBzaHV0IHRoZW0g b2ZmLiBTaW5jZSB0aGlzIGNhdXNlcyB1cyB0byBsb3NlIEhQRCwgdGhpcwptZWFucyB0aGF0IHVu bGVzcyB0aGUgdXNlciBrbm93cyBob3cgdG8gc3NoIGludG8gdGhlaXIgbWFjaGluZSBhbmQgZG8g YQptYW51YWwgcmVwcm9iZSBmb3IgbW9uaXRvcnMsIG5vbmUgb2YgdGhlIG1vbml0b3JzIHRoZXkg Y29ubmVjdCBhZnRlcgpib290aW5nIHdpbGwgYWN0dWFsbHkgd29yay4KCkV2ZW50dWFsbHkgd2Ug c2hvdWxkIGNvbWUgdXAgd2l0aCBhIGJldHRlciBmaXggdGhlbiBoYXZpbmcgdG8gZW5hYmxlCnBv bGxpbmcgZm9yIHRoaXMsIHNpbmNlIHRoaXMgbWFrZXMgcnBtIGEgbG90IGxlc3MgdXNlZnVsLCBi dXQgZm9yIG5vdwp0aGUgaW5mcmFzdHJ1Y3R1cmUgaW4gaTkxNSBqdXN0IGlzbid0IHRoZXJlIHll dCB0byBnZXQgaHBkIGluIHRoZXNlCnNpdHVhdGlvbnMuCgpDYzogc3RhYmxlQHZnZXIua2VybmVs Lm9yZwpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Q2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgfCAgNyArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAg IHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jICAgIHwgNjkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMgfCAgMyArKwogNSBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCsp LCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBmMzEzYjRkLi5h NTkzODg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTE1NzQsNiArMTU3NCw5IEBAIHN0 YXRpYyBpbnQgaW50ZWxfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldmljZSkKIAog CWFzc2VydF9mb3JjZXdha2VzX2luYWN0aXZlKGRldl9wcml2KTsKIAorCWlmICghSVNfVkFMTEVZ VklFVyhkZXZfcHJpdikgfHwgIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQorCQlpbnRlbF9ocGRf cG9sbF9lbmFibGUoZGV2X3ByaXYsIHRydWUpOworCiAJRFJNX0RFQlVHX0tNUygiRGV2aWNlIHN1 c3BlbmRlZFxuIik7CiAJcmV0dXJuIDA7CiB9CkBAIC0xNjI5LDggKzE2MzIsMTAgQEAgc3RhdGlj IGludCBpbnRlbF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpCiAJICogcG93 ZXIgd2VsbCwgc28gaHBkIGlzIHJlaW5pdGlhbGl6ZWQgZnJvbSB0aGVyZS4gRm9yCiAJICogZXZl cnlvbmUgZWxzZSBkbyBpdCBoZXJlLgogCSAqLwotCWlmICghSVNfVkFMTEVZVklFVyhkZXZfcHJp dikgJiYgIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQorCWlmICghSVNfVkFMTEVZVklFVyhkZXZf cHJpdikgJiYgIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJCWludGVsX2hwZF9pbml0KGRl dl9wcml2KTsKKwkJaW50ZWxfaHBkX3BvbGxfZW5hYmxlKGRldl9wcml2LCBmYWxzZSk7CisJfQog CiAJaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShkZXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCA3YzMzNGU5Li4zMDYyZDU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI4 MSw2ICsyODEsOSBAQCBzdHJ1Y3QgaTkxNV9ob3RwbHVnIHsKIAl1MzIgc2hvcnRfcG9ydF9tYXNr OwogCXN0cnVjdCB3b3JrX3N0cnVjdCBkaWdfcG9ydF93b3JrOwogCisJc3RydWN0IHdvcmtfc3Ry dWN0IHBvbGxfZW5hYmxlX3dvcms7CisJYm9vbCBwb2xsX2VuYWJsZWQ7CisKIAkvKgogCSAqIGlm IHdlIGdldCBhIEhQRCBpcnEgZnJvbSBEUCBhbmQgYSBIUEQgaXJxIGZyb20gbm9uLURQCiAJICog dGhlIG5vbi1EUCBIUEQgY291bGQgYmxvY2sgdGhlIHdvcmtxdWV1ZSBvbiBhIG1vZGUgY29uZmln CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGZkZWM0NWQuLjgwY2Q2MjYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xMzQ4LDYgKzEzNDgsOCBAQCB2b2lkIGludGVsX2RzaV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiAvKiBpbnRlbF9kdm8uYyAqLwogdm9pZCBp bnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKKy8qIGludGVsX2hvdHBsdWcu YyAqLwordm9pZCBpbnRlbF9ocGRfcG9sbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBib29sIGVuYWJsZWQpOwogCiAKIC8qIGxlZ2FjeSBmYmRldiBlbXVsYXRpb24g aW4gaW50ZWxfZmJkZXYuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaG90cGx1Zy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCmluZGV4 IGJlZTY3MzAuLjBmYzJmZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hvdHBsdWcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKQEAg LTQ2NSwyMCArNDY1LDI1IEBAIHZvaWQgaW50ZWxfaHBkX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCQlkZXZfcHJpdi0+aG90cGx1Zy5zdGF0c1tpXS5jb3VudCA9IDA7 CiAJCWRldl9wcml2LT5ob3RwbHVnLnN0YXRzW2ldLnN0YXRlID0gSFBEX0VOQUJMRUQ7CiAJfQot CWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmbW9kZV9jb25maWctPmNvbm5lY3Rvcl9s aXN0LCBoZWFkKSB7Ci0JCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9 IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwotCQljb25uZWN0b3ItPnBvbGxlZCA9IGlu dGVsX2Nvbm5lY3Rvci0+cG9sbGVkOworCWlmICghbW9kZV9jb25maWctPnBvbGxfcnVubmluZykg eworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbm5lY3RvciwgJm1vZGVfY29uZmlnLT5jb25uZWN0 b3JfbGlzdCwgaGVhZCkgeworCQkJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVj dG9yID0KKwkJCQl0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKKwkJCWNvbm5lY3Rvci0+ cG9sbGVkID0gaW50ZWxfY29ubmVjdG9yLT5wb2xsZWQ7CiAKLQkJLyogTVNUIGhhcyBhIGR5bmFt aWMgaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyIGFuZCBpdCdzIHJlcHJvYmluZwotCQkgKiBpcyBh bGwgaGFuZGxlZCBieSB0aGUgTVNUIGhlbHBlcnMuICovCi0JCWlmIChpbnRlbF9jb25uZWN0b3It Pm1zdF9wb3J0KQotCQkJY29udGludWU7CisJCQkvKiBNU1QgaGFzIGEgZHluYW1pYyBpbnRlbF9j b25uZWN0b3ItPmVuY29kZXIgYW5kIGl0J3MKKwkJCSAqIHJlcHJvYmluZyBpcyBhbGwgaGFuZGxl ZCBieSB0aGUgTVNUIGhlbHBlcnMuICovCisJCQlpZiAoaW50ZWxfY29ubmVjdG9yLT5tc3RfcG9y dCkKKwkJCQljb250aW51ZTsKIAotCQlpZiAoIWNvbm5lY3Rvci0+cG9sbGVkICYmIEk5MTVfSEFT X0hPVFBMVUcoZGV2KSAmJgotCQkgICAgaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyLT5ocGRfcGlu ID4gSFBEX05PTkUpCi0JCQljb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05ORUNUT1JfUE9MTF9I UEQ7CisJCQlpZiAoIWNvbm5lY3Rvci0+cG9sbGVkICYmIEk5MTVfSEFTX0hPVFBMVUcoZGV2KSAm JgorCQkJICAgIGludGVsX2Nvbm5lY3Rvci0+ZW5jb2Rlci0+aHBkX3BpbiA+IEhQRF9OT05FKQor CQkJCWNvbm5lY3Rvci0+cG9sbGVkID0gRFJNX0NPTk5FQ1RPUl9QT0xMX0hQRDsKKwkJfQogCX0K IAorCWludGVsX2hwZF9wb2xsX2VuYWJsZShkZXZfcHJpdiwgZmFsc2UpOworCiAJLyoKIAkgKiBJ bnRlcnJ1cHQgc2V0dXAgaXMgYWxyZWFkeSBndWFyYW50ZWVkIHRvIGJlIHNpbmdsZS10aHJlYWRl ZCwgdGhpcyBpcwogCSAqIGp1c3QgdG8gbWFrZSB0aGUgYXNzZXJ0X3NwaW5fbG9ja2VkIGNoZWNr cyBoYXBweS4KQEAgLTQ4OSwxMCArNDk0LDU0IEBAIHZvaWQgaW50ZWxfaHBkX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYt PmlycV9sb2NrKTsKIH0KIAordm9pZCBpOTE1X2hwZF9wb2xsX2luaXRfd29yayhzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQor CQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsCisJCQkgICAgIGhv dHBsdWcucG9sbF9lbmFibGVfd29yayk7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9w cml2LT5kZXY7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yOworCisJ LyogRG9uJ3QgbGV0IHRoaXMgcnVuIGJlZm9yZSB3ZSBzZXR1cCBwb2xsaW5nIGluIHRoZSBkcml2 ZXIgKi8KKwlpZiAoIWRldi0+bW9kZV9jb25maWcucG9sbF9lbmFibGVkKQorCQlyZXR1cm47CisK KwltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKKworCWZvcl9lYWNoX2ludGVs X2Nvbm5lY3RvcihkZXYsIGludGVsX2Nvbm5lY3RvcikgeworCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rvci0+YmFzZTsKKworCQlpZiAoZGV2X3ByaXYt PmhvdHBsdWcucG9sbF9lbmFibGVkKSB7CisJCQljb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05O RUNUT1JfUE9MTF9DT05ORUNUIHwKKwkJCQlEUk1fQ09OTkVDVE9SX1BPTExfRElTQ09OTkVDVDsK KworCQl9IGVsc2UgaWYgKCFpbnRlbF9jb25uZWN0b3ItPnBvbGxlZCAmJiBJOTE1X0hBU19IT1RQ TFVHKGRldikgJiYKKwkJCSAgIGludGVsX2Nvbm5lY3Rvci0+ZW5jb2Rlci0+aHBkX3BpbiA+IEhQ RF9OT05FKSB7CisJCQljb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05ORUNUT1JfUE9MTF9IUEQ7 CisJCX0KKwl9CisKKwlpZiAoZGV2X3ByaXYtPmhvdHBsdWcucG9sbF9lbmFibGVkKQorCQlkcm1f a21zX2hlbHBlcl9wb2xsX2VuYWJsZV9sb2NrZWQoZGV2KTsKKworCW11dGV4X3VubG9jaygmZGV2 LT5tb2RlX2NvbmZpZy5tdXRleCk7Cit9CisKK3ZvaWQgaW50ZWxfaHBkX3BvbGxfZW5hYmxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgYm9vbCBlbmFibGVkKQoreworCWRldl9w cml2LT5ob3RwbHVnLnBvbGxfZW5hYmxlZCA9IGVuYWJsZWQ7CisKKwkvKgorCSAqIFdlIG1pZ2h0 IGFscmVhZHkgYmUgaG9sZGluZyBkZXYtPm1vZGVfY29uZmlnLm11dGV4LCBzbyBkbyB0aGlzIGlu IGEKKwkgKiBzZXBlcmF0ZSB3b3JrZXIKKwkgKi8KKwlzY2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+ aG90cGx1Zy5wb2xsX2VuYWJsZV93b3JrKTsKK30KKwogdm9pZCBpbnRlbF9ocGRfaW5pdF93b3Jr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlJTklUX1dPUksoJmRldl9w cml2LT5ob3RwbHVnLmhvdHBsdWdfd29yaywgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyk7CiAJSU5J VF9XT1JLKCZkZXZfcHJpdi0+aG90cGx1Zy5kaWdfcG9ydF93b3JrLCBpOTE1X2RpZ3BvcnRfd29y a19mdW5jKTsKKwlJTklUX1dPUksoJmRldl9wcml2LT5ob3RwbHVnLnBvbGxfZW5hYmxlX3dvcmss IGk5MTVfaHBkX3BvbGxfaW5pdF93b3JrKTsKIAlJTklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYt PmhvdHBsdWcucmVlbmFibGVfd29yaywKIAkJCSAgaW50ZWxfaHBkX2lycV9zdG9ybV9yZWVuYWJs ZV93b3JrKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRp bWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwppbmRleCA0 YTNmZDNhLi4wMDkwZTg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y dW50aW1lX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5j CkBAIC05ODYsNiArOTg2LDcgQEAgc3RhdGljIHZvaWQgdmx2X2Rpc3BsYXlfcG93ZXJfd2VsbF9p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoZGV2X3ByaXYtPnBv d2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQogCQlyZXR1cm47CiAKKwlpbnRlbF9ocGRfcG9sbF9l bmFibGUoZGV2X3ByaXYsIGZhbHNlKTsKIAlpbnRlbF9ocGRfaW5pdChkZXZfcHJpdik7CiAKIAkv KiBSZS1lbmFibGUgdGhlIEFEUEEsIGlmIHdlIGhhdmUgb25lICovCkBAIC0xMDA3LDYgKzEwMDgs OCBAQCBzdGF0aWMgdm9pZCB2bHZfZGlzcGxheV9wb3dlcl93ZWxsX2RlaW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3luY2hyb25pemVfaXJxKGRldl9wcml2LT5kZXYt PmlycSk7CiAKIAl2bHZfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KGRldl9wcml2KTsKKworCWludGVs X2hwZF9wb2xsX2VuYWJsZShkZXZfcHJpdiwgdHJ1ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHZsdl9k aXNwbGF5X3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKLS0gCjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK