From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH 03/11] drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" Date: Tue, 29 Sep 2015 19:32:51 +0100 Message-ID: References: <20150929183216.GQ21513@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.arm.linux.org.uk (pandora.arm.linux.org.uk [78.32.30.218]) by gabe.freedesktop.org (Postfix) with ESMTPS id B9BF86E7D8 for ; Tue, 29 Sep 2015 11:32:54 -0700 (PDT) Received: from e0022681537dd.dyn.arm.linux.org.uk ([2002:4e20:1eda:1:222:68ff:fe15:37dd]:45015 helo=rmk-PC.arm.linux.org.uk) by pandora.arm.linux.org.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1Zgzhs-0004WK-8H for dri-devel@lists.freedesktop.org; Tue, 29 Sep 2015 19:32:52 +0100 Received: from rmk by rmk-PC.arm.linux.org.uk with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1Zgzhr-00042P-Dt for dri-devel@lists.freedesktop.org; Tue, 29 Sep 2015 19:32:51 +0100 In-Reply-To: <20150929183216.GQ21513@n2100.arm.linux.org.uk> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Q29tbWl0IDY4MzNkMjZlZjgyMyAoImRybTogdGRhOTk4eDogRml4IEVESUQgcmVhZCB0aW1lb3V0 IG9uIEhETUkKY29ubmVjdCIpIHVzZWQgYSB3ZWFrIHNjaGVtZSB0byB0cnkgYW5kIGRlbGF5IHJl YWRpbmcgRURJRCBvbiBhIEhETUkKY29ubmVjdCBldmVudC4gIEl0IGlzIHdlYWsgYmVjYXVzZSBk ZWxheWluZyB0aGUgbm90aWZpY2F0aW9uIG9mIGEKaG90cGx1ZyBldmVudCBkb2VzIG5vdCBzdG9w IHVzZXJzcGFjZSBmcm9tIHRyeWluZyB0byByZWFkIHRoZSBFRElECndpdGhpbiB0aGUgMTAwbXMg ZGVsYXkuCgpUaGUgc29sdXRpb24gcHJvdmlkZWQgaGVyZSBzb2x2ZXMgdGhpcyBpc3N1ZToKKiBX aGVuIGEgSERNSSBjb25uZWN0aW9uIGV2ZW50IGlzIGRldGVjdGVkLCBtYXJrIGEgYmxvY2tpbmcg ZmxhZyBmb3IKICBFRElEIHJlYWRzLCBhbmQgc3RhcnQgYSB0aW1lciBmb3IgdGhlIGRlbGF5Lgoq IElmIGFuIEVESUQgcmVhZCBpcyBhdHRlbXB0ZWQsIGFuZCB0aGUgYmxvY2tpbmcgZmxhZyBpcyBz ZXQsIHdhaXQKICBmb3IgdGhlIGJsb2NraW5nIGZsYWcgdG8gY2xlYXIuCiogV2hlbiB0aGUgdGlt ZXIgZXhwaXJlcywgY2xlYXIgdGhlIGJsb2NraW5nIGZsYWcgYW5kIHdha2UgYW55IHRocmVhZAog IHdhaXRpbmcgZm9yIHRoZSBFRElEIHJlYWQuCgpTaWduZWQtb2ZmLWJ5OiBSdXNzZWxsIEtpbmcg PHJtaytrZXJuZWxAYXJtLmxpbnV4Lm9yZy51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTJjL3Rk YTk5OHhfZHJ2LmMgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTJjL3RkYTk5OHhfZHJ2LmMKaW5kZXggYWQzY2UzNDc5ZWRmLi5hNTM2OTZmZDg5MzggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTM0LDcgKzM0LDYgQEAgc3RydWN0IHRkYTk5 OHhfcHJpdiB7CiAJc3RydWN0IGkyY19jbGllbnQgKmNlYzsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAq aGRtaTsKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7Ci0Jc3RydWN0IGRlbGF5ZWRfd29yayBkd29yazsK IAl1aW50MTZfdCByZXY7CiAJdWludDhfdCBjdXJyZW50X3BhZ2U7CiAJaW50IGRwbXM7CkBAIC00 Nyw2ICs0NiwxMSBAQCBzdHJ1Y3QgdGRhOTk4eF9wcml2IHsKIAl3YWl0X3F1ZXVlX2hlYWRfdCB3 cV9lZGlkOwogCXZvbGF0aWxlIGludCB3cV9lZGlkX3dhaXQ7CiAJc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyOworCisJc3RydWN0IHdvcmtfc3RydWN0IGRldGVjdF93b3JrOworCXN0cnVjdCB0 aW1lcl9saXN0IGVkaWRfZGVsYXlfdGltZXI7CisJd2FpdF9xdWV1ZV9oZWFkX3QgZWRpZF9kZWxh eV93YWl0cTsKKwlib29sIGVkaWRfZGVsYXlfYWN0aXZlOwogfTsKIAogI2RlZmluZSB0b190ZGE5 OTh4X3ByaXYoeCkgICgoc3RydWN0IHRkYTk5OHhfcHJpdiAqKXRvX2VuY29kZXJfc2xhdmUoeCkt PnNsYXZlX3ByaXYpCkBAIC01NTEsMTUgKzU1NSw1MCBAQCB0ZGE5OTh4X3Jlc2V0KHN0cnVjdCB0 ZGE5OTh4X3ByaXYgKnByaXYpCiAJcmVnX3dyaXRlKHByaXYsIFJFR19NVVhfVlBfVklQX09VVCwg MHgyNCk7CiB9CiAKLS8qIGhhbmRsZSBIRE1JIGNvbm5lY3QvZGlzY29ubmVjdCAqLwotc3RhdGlj IHZvaWQgdGRhOTk4eF9ocGQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorLyoKKyAqIFRoZSBU REE5OTh4IGhhcyBhIHByb2JsZW0gd2hlbiB0cnlpbmcgdG8gcmVhZCB0aGUgRURJRCBjbG9zZSB0 byBhCisgKiBIUEQgYXNzZXJ0aW9uOiBpdCBuZWVkcyBhIGRlbGF5IG9mIDEwMG1zIHRvIGF2b2lk IHRpbWluZyBvdXQgd2hpbGUKKyAqIHRyeWluZyB0byByZWFkIEVESUQgZGF0YS4KKyAqCisgKiBI b3dldmVyLCB0ZGE5OTh4X2VuY29kZXJfZ2V0X21vZGVzKCkgbWF5IGJlIGNhbGxlZCBhdCBhbnkg bW9tZW50CisgKiBhZnRlciB0ZGE5OTh4X2VuY29kZXJfZGV0ZWN0KCkgaW5kaWNhdGVzIHRoYXQg d2UgYXJlIGNvbm5lY3RlZCwgc28KKyAqIHdlIG5lZWQgdG8gZGVsYXkgcHJvYmluZyBtb2RlcyBp biB0ZGE5OTh4X2VuY29kZXJfZ2V0X21vZGVzKCkgYWZ0ZXIKKyAqIHdlIGhhdmUgc2VlbiBhIEhQ RCBpbmFjdGl2ZS0+YWN0aXZlIHRyYW5zaXRpb24uICBUaGlzIGNvZGUgaW1wbGVtZW50cworICog dGhhdCBkZWxheS4KKyAqLworc3RhdGljIHZvaWQgdGRhOTk4eF9lZGlkX2RlbGF5X2RvbmUodW5z aWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYgPSAoc3RydWN0 IHRkYTk5OHhfcHJpdiAqKWRhdGE7CisKKwlwcml2LT5lZGlkX2RlbGF5X2FjdGl2ZSA9IGZhbHNl OworCXdha2VfdXAoJnByaXYtPmVkaWRfZGVsYXlfd2FpdHEpOworCXNjaGVkdWxlX3dvcmsoJnBy aXYtPmRldGVjdF93b3JrKTsKK30KKworc3RhdGljIHZvaWQgdGRhOTk4eF9lZGlkX2RlbGF5X3N0 YXJ0KHN0cnVjdCB0ZGE5OTh4X3ByaXYgKnByaXYpCit7CisJcHJpdi0+ZWRpZF9kZWxheV9hY3Rp dmUgPSB0cnVlOworCW1vZF90aW1lcigmcHJpdi0+ZWRpZF9kZWxheV90aW1lciwgamlmZmllcyAr IEhaLzEwKTsKK30KKworc3RhdGljIGludCB0ZGE5OTh4X2VkaWRfZGVsYXlfd2FpdChzdHJ1Y3Qg dGRhOTk4eF9wcml2ICpwcml2KQoreworCXJldHVybiB3YWl0X2V2ZW50X2tpbGxhYmxlKHByaXYt PmVkaWRfZGVsYXlfd2FpdHEsICFwcml2LT5lZGlkX2RlbGF5X2FjdGl2ZSk7Cit9CisKKy8qCisg KiBXZSBuZWVkIHRvIHJ1biB0aGUgS01TIGhvdHBsdWcgZXZlbnQgaGVscGVyIG91dHNpZGUgb2Yg b3VyIHRocmVhZGVkCisgKiBpbnRlcnJ1cHQgcm91dGluZSBhcyB0aGlzIGNhbiBjYWxsIGJhY2sg aW50byBvdXIgZ2V0X21vZGVzIG1ldGhvZCwKKyAqIHdoaWNoIHdpbGwgd2FudCB0byBtYWtlIHVz ZSBvZiBpbnRlcnJ1cHRzLgorICovCitzdGF0aWMgdm9pZCB0ZGE5OTh4X2RldGVjdF93b3JrKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlzdHJ1Y3QgZGVsYXllZF93b3JrICpkd29yayA9 IHRvX2RlbGF5ZWRfd29yayh3b3JrKTsKIAlzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2ID0KLQkJ CWNvbnRhaW5lcl9vZihkd29yaywgc3RydWN0IHRkYTk5OHhfcHJpdiwgZHdvcmspOworCQljb250 YWluZXJfb2Yod29yaywgc3RydWN0IHRkYTk5OHhfcHJpdiwgZGV0ZWN0X3dvcmspOworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBwcml2LT5lbmNvZGVyLT5kZXY7CiAKLQlpZiAocHJpdi0+ZW5j b2Rlci0+ZGV2KQotCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2ZW50KHByaXYtPmVuY29kZXIt PmRldik7CisJaWYgKGRldikKKwkJZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudChkZXYpOwog fQogCiAvKgpAQCAtNTg1LDcgKzYyNCwxMSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdGRhOTk4eF9p cnFfdGhyZWFkKGludCBpcnEsIHZvaWQgKmRhdGEpCiAJCXdha2VfdXAoJnByaXYtPndxX2VkaWQp OwogCQloYW5kbGVkID0gdHJ1ZTsKIAl9IGVsc2UgaWYgKGNlYyAhPSAwKSB7CQkJLyogSFBEIGNo YW5nZSAqLwotCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJnByaXYtPmR3b3JrLCBIWi8xMCk7CisJ CWlmIChsdmwgJiBDRUNfUlhTSFBETEVWX0hQRCkKKwkJCXRkYTk5OHhfZWRpZF9kZWxheV9zdGFy dChwcml2KTsKKwkJZWxzZQorCQkJc2NoZWR1bGVfd29yaygmcHJpdi0+ZGV0ZWN0X3dvcmspOwor CiAJCWhhbmRsZWQgPSB0cnVlOwogCX0KIAlyZXR1cm4gSVJRX1JFVFZBTChoYW5kbGVkKTsKQEAg LTExMDMsNiArMTE0NiwxNCBAQCB0ZGE5OTh4X2VuY29kZXJfZ2V0X21vZGVzKHN0cnVjdCB0ZGE5 OTh4X3ByaXYgKnByaXYsCiAJc3RydWN0IGVkaWQgKmVkaWQ7CiAJaW50IG47CiAKKwkvKgorCSAq IElmIHdlIGdldCBraWxsZWQgd2hpbGUgd2FpdGluZyBmb3IgdGhlIEhQRCB0aW1lb3V0LCByZXR1 cm4KKwkgKiBubyBtb2RlcyBmb3VuZDogd2UgYXJlIG5vdCBpbiBhIHJlc3RhcnRhYmxlIHBhdGgs IHNvIHdlCisJICogY2FuJ3QgaGFuZGxlIHNpZ25hbHMgZ3JhY2VmdWxseS4KKwkgKi8KKwlpZiAo dGRhOTk4eF9lZGlkX2RlbGF5X3dhaXQocHJpdikpCisJCXJldHVybiAwOworCiAJaWYgKHByaXYt PnJldiA9PSBUREExOTk4OCkKIAkJcmVnX2NsZWFyKHByaXYsIFJFR19UWDQsIFRYNF9QRF9SQU0p OwogCkBAIC0xMTQ5LDEwICsxMjAwLDEyIEBAIHN0YXRpYyB2b2lkIHRkYTk5OHhfZGVzdHJveShz dHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2KQogCS8qIGRpc2FibGUgYWxsIElSUXMgYW5kIGZyZWUg dGhlIElSUSBoYW5kbGVyICovCiAJY2VjX3dyaXRlKHByaXYsIFJFR19DRUNfUlhTSFBESU5URU5B LCAwKTsKIAlyZWdfY2xlYXIocHJpdiwgUkVHX0lOVF9GTEFHU18yLCBJTlRfRkxBR1NfMl9FRElE X0JMS19SRCk7Ci0JaWYgKHByaXYtPmhkbWktPmlycSkgeworCisJaWYgKHByaXYtPmhkbWktPmly cSkKIAkJZnJlZV9pcnEocHJpdi0+aGRtaS0+aXJxLCBwcml2KTsKLQkJY2FuY2VsX2RlbGF5ZWRf d29ya19zeW5jKCZwcml2LT5kd29yayk7Ci0JfQorCisJZGVsX3RpbWVyX3N5bmMoJnByaXYtPmVk aWRfZGVsYXlfdGltZXIpOworCWNhbmNlbF93b3JrX3N5bmMoJnByaXYtPmRldGVjdF93b3JrKTsK IAogCWkyY191bnJlZ2lzdGVyX2RldmljZShwcml2LT5jZWMpOwogfQpAQCAtMTI1Myw2ICsxMzA2 LDEwIEBAIHN0YXRpYyBpbnQgdGRhOTk4eF9jcmVhdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCwgc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdikKIAlwcml2LT5kcG1zID0gRFJNX01PREVfRFBN U19PRkY7CiAKIAltdXRleF9pbml0KCZwcml2LT5tdXRleCk7CS8qIHByb3RlY3QgdGhlIHBhZ2Ug YWNjZXNzICovCisJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJpdi0+ZWRpZF9kZWxheV93YWl0cSk7 CisJc2V0dXBfdGltZXIoJnByaXYtPmVkaWRfZGVsYXlfdGltZXIsIHRkYTk5OHhfZWRpZF9kZWxh eV9kb25lLAorCQkgICAgKHVuc2lnbmVkIGxvbmcpcHJpdik7CisJSU5JVF9XT1JLKCZwcml2LT5k ZXRlY3Rfd29yaywgdGRhOTk4eF9kZXRlY3Rfd29yayk7CiAKIAkvKiB3YWtlIHVwIHRoZSBkZXZp Y2U6ICovCiAJY2VjX3dyaXRlKHByaXYsIFJFR19DRUNfRU5BTU9EUywKQEAgLTEzMTEsNyArMTM2 OCw2IEBAIHN0YXRpYyBpbnQgdGRhOTk4eF9jcmVhdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCwgc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdikKIAogCQkvKiBpbml0IHJlYWQgRURJRCB3YWl0 cXVldWUgYW5kIEhEUCB3b3JrICovCiAJCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnByaXYtPndxX2Vk aWQpOwotCQlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+ZHdvcmssIHRkYTk5OHhfaHBkKTsKIAog CQkvKiBjbGVhciBwZW5kaW5nIGludGVycnVwdHMgKi8KIAkJcmVnX3JlYWQocHJpdiwgUkVHX0lO VF9GTEFHU18wKTsKLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=