From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gwan-gyeong Mun Subject: [v2] drm/i915: Add detection of changing of edid on between suspend and resume Date: Mon, 6 Aug 2018 15:09:27 +0300 Message-ID: <20180806120927.24719-1-gwan-gyeong.mun@intel.com> References: <20180803163453.7760-1-gwan-gyeong.mun@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180803163453.7760-1-gwan-gyeong.mun@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org VGhlIGhvdHBsdWcgZGV0ZWN0aW9uIHJvdXRpbmUgb2YgaTkxNSB1c2VzIGRybV9oZWxwZXJfaHBk X2lycV9ldmVudCgpLiBUaGlzCmhlbHBlciBjYW4gZGV0ZWN0IGNoYW5naW5nIG9mIHN0YXR1cyBv ZiBjb25uZWN0b3IsIGJ1dCBpdCBjYW4gbm90IGRldGVjdCBjaGFuZ2luZwpvZiBlZGlkLiBGb2xs b3dpbmcgc2NlbmFyaW8gcmVxdWlyZXMgZGV0ZWN0aW9uIG9mIGNoYW5naW5nIG9mIGVkaWQuCgog MSkgcGx1ZyBkaXNwbGF5IGRldmljZSB0byBhIGNvbm5lY3RvcgogMikgc3lzdGVtIHN1c3BlbmQK IDMpIHVucGx1ZyAxKSdzIGRpc3BsYXkgZGV2aWNlIGFuZCBwbHVnIHRoZSBvdGhlciBkaXNwbGF5 IGRldmljZSB0byBhIGNvbm5lY3RvcgogNCkgc3lzdGVtIHJlc3VtZQoKSXQgYWRkcyBlZGlkIGNo ZWNrIHJvdXRpbmUgd2hlbiBhIGNvbm5lY3RvciBzdGF0dXMgc3RpbGwgcmVtYWlucyBhcyAiY29u bmVjdG9yX3N0YXR1c19jb25uZWN0ZWQiLgoKdjI6IEFkZCBOVUxMIGNoZWNrIGJlZm9yZSBjb21w YXJpbmcgb2YgRURJRHMuCgpUZXN0Y2FzZTogaWd0L2ttc19jaGFtZWxpdW0vaGRtaS1lZGlkLWNo YW5nZS1kdXJpbmctaGliZXJuYXRlClRlc3RjYXNlOiBpZ3Qva21zX2NoYW1lbGl1bS9oZG1pLWVk aWQtY2hhbmdlLWR1cmluZy1zdXNwZW5kClRlc3RjYXNlOiBpZ3Qva21zX2NoYW1lbGl1bS9kcC1l ZGlkLWNoYW5nZS1kdXJpbmctaGliZXJuYXRlClRlc3RjYXNlOiBpZ3Qva21zX2NoYW1lbGl1bS9k cC1lZGlkLWNoYW5nZS1kdXJpbmctc3VzcGVuZAoKU2lnbmVkLW9mZi1ieTogR3dhbi1neWVvbmcg TXVuIDxnd2FuLWd5ZW9uZy5tdW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hvdHBsdWcuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmls ZSBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaG90cGx1Zy5jCmluZGV4IDY0OGExM2M2MDQzYy4uMGJkM2UxYzM4MTY3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCkBAIC01MDcsNiArNTA3LDg3IEBAIHZvaWQg aW50ZWxfaHBkX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIH0K IAorLyoqCisgKiBpbnRlbF9ocGRfaXJxX2V2ZW50IC0gaG90cGx1ZyBwcm9jZXNzaW5nCisgKiBA ZGV2OiBkcm1fZGV2aWNlCisgKgorICogRHJpdmVycyBjYW4gdXNlIHRoaXMgZnVuY3Rpb24gdG8g cnVuIGEgZGV0ZWN0IGN5Y2xlIG9uIGFsbCBjb25uZWN0b3JzIHdoaWNoCisgKiBoYXZlIHRoZSBE Uk1fQ09OTkVDVE9SX1BPTExfSFBEIGZsYWcgc2V0IGluIHRoZWlyICZwb2xsZWQgbWVtYmVyLiBB bGwgb3RoZXIKKyAqIGNvbm5lY3RvcnMgYXJlIGlnbm9yZWQsIHdoaWNoIGlzIHVzZWZ1bCB0byBh dm9pZCByZXByb2JpbmcgZml4ZWQgcGFuZWxzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNl ZnVsIGZvciBkcml2ZXJzIHdoaWNoIGNhbid0IG9yIGRvbid0IHRyYWNrIGhvdHBsdWcgaW50ZXJy dXB0cworICogZm9yIGVhY2ggY29ubmVjdG9yLiBUaGlzIGZ1bmN0aW9uIGlzIGJhc2VkIG9uIGRy bV9oZWxwZXJfaHBkX2lycV9ldmVudCgpIGhlbHBlcgorICogZnVuY3Rpb24gYW5kIGJlc2lkZXMg aXQgYWRkcyBlZGlkIGNoZWNrIHJvdXRpbmUgd2hlbiBhIGNvbm5lY3RvciBzdGF0dXMgc3RpbGwK KyAqIHJlbWFpbnMgYXMgImNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkIi4KKyAqCisgKiBGb2xs b3dpbmcgc2NlbmFyaW8gcmVxdWlyZXMgZGV0ZWN0aW9uIG9mIGNoYW5naW5nIG9mIGVkaWQuCisg KiAgMSkgcGx1ZyBkaXNwbGF5IGRldmljZSB0byBhIGNvbm5lY3RvcgorICogIDIpIHN5c3RlbSBz dXNwZW5kCisgKiAgMykgdW5wbHVnIDEpJ3MgZGlzcGxheSBkZXZpY2UgYW5kIHBsdWcgdGhlIG90 aGVyIGRpc3BsYXkgZGV2aWNlIHRvIGEgY29ubmVjdG9yCisgKiAgNCkgc3lzdGVtIHJlc3VtZQor CisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gcHJvY2VzcyBjb250ZXh0IHdp dGggbm8gbW9kZQorICogc2V0dGluZyBsb2NrcyBoZWxkLgorICoKKyAqIE5vdGUgdGhhdCBhIGNv bm5lY3RvciBjYW4gYmUgYm90aCBwb2xsZWQgYW5kIHByb2JlZCBmcm9tIHRoZSBob3RwbHVnIGhh bmRsZXIsCisgKiBpbiBjYXNlIHRoZSBob3RwbHVnIGludGVycnVwdCBpcyBrbm93biB0byBiZSB1 bnJlbGlhYmxlLgorICovCitzdGF0aWMgYm9vbCBpbnRlbF9ocGRfaXJxX2V2ZW50KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOworCWVudW0gZHJtX2Nvbm5l Y3Rvcl9zdGF0dXMgb2xkX3N0YXR1cywgY3VyX3N0YXR1czsKKwlzdHJ1Y3QgZWRpZCAqb2xkX2Vk aWQ7CisJYm9vbCBjaGFuZ2VkID0gZmFsc2U7CisKKwlpZiAoIWRldi0+bW9kZV9jb25maWcucG9s bF9lbmFibGVkKQorCQlyZXR1cm4gZmFsc2U7CisKKwltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29u ZmlnLm11dGV4KTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0 ZXIpOworCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIp IHsKKwkJLyogT25seSBoYW5kbGUgSFBEIGNhcGFibGUgY29ubmVjdG9ycy4gKi8KKwkJaWYgKCEo Y29ubmVjdG9yLT5wb2xsZWQgJiBEUk1fQ09OTkVDVE9SX1BPTExfSFBEKSkKKwkJCWNvbnRpbnVl OworCisJCW9sZF9zdGF0dXMgPSBjb25uZWN0b3ItPnN0YXR1czsKKwkJb2xkX2VkaWQgPSB0b19p bnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2VkaWQ7CisKKwkJY3VyX3N0YXR1cyA9 IGRybV9oZWxwZXJfcHJvYmVfZGV0ZWN0KGNvbm5lY3RvciwgTlVMTCwgZmFsc2UpOworCQlEUk1f REVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXSBzdGF0dXMgdXBkYXRlZCBmcm9tICVzIHRvICVz XG4iLAorCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUsCisJCQkg ICAgICBkcm1fZ2V0X2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShvbGRfc3RhdHVzKSwKKwkJCSAgICAg IGRybV9nZXRfY29ubmVjdG9yX3N0YXR1c19uYW1lKGN1cl9zdGF0dXMpKTsKKworCQlpZiAob2xk X3N0YXR1cyAhPSBjdXJfc3RhdHVzKQorCQkJY2hhbmdlZCA9IHRydWU7CisKKwkJLyogQ2hlY2sg Y2hhbmdpbmcgb2YgZWRpZCB3aGVuIGEgY29ubmVjdG9yIHN0YXR1cyBzdGlsbCByZW1haW5zCisJ CSAqIGFzICJjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCIuCisJCSAqLworCQlpZiAob2xkX3N0 YXR1cyA9PSBjdXJfc3RhdHVzICYmCisJCSAgICBjdXJfc3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0 dXNfY29ubmVjdGVkKSB7CisJCQlzdHJ1Y3QgZWRpZCAqY3VyX2VkaWQgPSB0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2VkaWQ7CisJCQlpZiAoIW9sZF9lZGlkIHx8ICFjdXJf ZWRpZCkKKwkJCQljb250aW51ZTsKKworCQkJaWYgKG1lbWNtcChvbGRfZWRpZCwgY3VyX2VkaWQs IHNpemVvZigqY3VyX2VkaWQpKSkgeworCQkJCWNoYW5nZWQgPSB0cnVlOworCQkJCURSTV9ERUJV R19LTVMoIltDT05ORUNUT1I6JWQ6JXNdIGVkaWQgdXBkYXRlZFxuIiwKKwkJCQkJICAgICAgY29u bmVjdG9yLT5iYXNlLmlkLAorCQkJCQkgICAgICBjb25uZWN0b3ItPm5hbWUpOworCQkJfQorCQl9 CisJfQorCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKKwltdXRleF91 bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCisJaWYgKGNoYW5nZWQpCisJCWRybV9r bXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoZGV2KTsKKworCXJldHVybiBjaGFuZ2VkOworfQorCiBz dGF0aWMgdm9pZCBpOTE1X2hwZF9wb2xsX2luaXRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KQEAgLTU1Miw3ICs2 MzMsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2hwZF9wb2xsX2luaXRfd29yayhzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspCiAJICogaW4gdGhlIG1pZGRsZSBvZiBkaXNhYmxpbmcgcG9sbGluZwogCSAq LwogCWlmICghZW5hYmxlZCkKLQkJZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KGRldik7CisJCWlu dGVsX2hwZF9pcnFfZXZlbnQoZGV2KTsKIH0KIAogLyoqCi0tIAoyLjE4LjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=