From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH 2/2] drm/i915: Fix DSI panels with v1 MIPI sequences without a DEASSERT sequence v3 Date: Mon, 29 Jan 2018 15:47:35 +0100 Message-ID: <20180129144735.32412-2-hdegoede@redhat.com> References: <20180129144735.32412-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180129144735.32412-1-hdegoede@redhat.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 , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Cc: Hans de Goede , intel-gfx , dri-devel@lists.freedesktop.org, Jan-Michael Brummer List-Id: intel-gfx@lists.freedesktop.org U28gZmFyIG1vZGVscyBvZiB0aGUgRGVsbCBWZW51ZSA4IFBybywgd2l0aCBhIHBhbmVsIHdpdGgg TUlQSSBwYW5lbAppbmRleCA9IDMsIG9uZSBvZiB3aGljaCBoYXMgYmVlbiBraW5kbHkgcHJvdmlk ZWQgdG8gbWUgYnkgSmFuIEJydW1tZXIsCndoZXJlIG5vdCB3b3JraW5nIHdpdGggdGhlIGk5MTUg ZHJpdmVyLCBnaXZpbmcgYSBibGFjayBzY3JlZW4gb24gdGhlCmZpcnN0IG1vZGVzZXQuCgpUaGUg cHJvYmxlbSB3aXRoIGF0IGxlYXN0IHRoZXNlIERlbGxzIGlzIHRoYXQgdGhlaXIgVkJUIGRlZmlu ZXMgYSBNSVBJCkFTU0VSVCBzZXF1ZW5jZSwgYnV0IG5vdCBhIERFQVNTRVJUIHNlcXVlbmNlLiBJ bnN0ZWFkIHRoZXkgREVBU1NFUlQgdGhlCnJlc2V0IGluIHRoZWlyIElOSVRfT1RQIHNlcXVlbmNl LCBidXQgdGhlIGRlYXNzZXJ0IG11c3QgYmUgZG9uZSBiZWZvcmUKY2FsbGluZyBpbnRlbF9kc2lf ZGV2aWNlX3JlYWR5KCksIHNvIHRoYXQgaXMgdG9vIGxhdGUuCgpTaW1wbHkgZG9pbmcgdGhlIElO SVRfT1RQIHNlcXVlbmNlIGVhcmxpZXIgaXMgbm90IGVub3VnaCB0byBmaXggdGhpcywKYmVjYXVz ZSB0aGUgSU5JVF9PVFAgc2VxdWVuY2UgYWxzbyBzZW5kcyB2YXJpb3VzIE1JUEkgcGFja2V0cyB0 byB0aGUKcGFuZWwsIHdoaWNoIGNhbiBvbmx5IGhhcHBlbiBhZnRlciBjYWxsaW5nIGludGVsX2Rz aV9kZXZpY2VfcmVhZHkoKS4KClRoaXMgY29tbWl0IGZpeGVzIHRoaXMgYnkgc3BsaXR0aW5nIHRo ZSBJTklUX09UUCBzZXF1ZW5jZSBpbnRvIGV2ZXJ5dGhpbmcKYmVmb3JlIHRoZSBmaXJzdCBEU0kg cGFja2V0IGFuZCBldmVyeXRoaW5nIGVsc2UsIGluY2x1ZGluZyB0aGUgZmlyc3QgRFNJCnBhY2tl dC4gVGhlIGZpcnN0IHBhcnQgKGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBmaXJzdCBEU0kgcGFja2V0 KSBpcyB0aGVuCnVzZWQgYXMgZGVhc3NlcnQgc2VxdWVuY2UuCgpDaGFuZ2VkIGluIHYyOgotU3Bs aXQgdGhlIGluaXQgT1RQIHNlcXVlbmNlIGludG8gYSBkZWFzc2VydCByZXNldCBhbmQgdGhlIGFj dHVhbCBpbml0CiBPVFAgc2VxdWVuY2UsIGluc3RlYWQgb2YgY2FsbGluZyBpdCBlYXJsaWVyIGFu ZCB0aGVuIGhhdmluZyB0aGUgZmlyc3QKIG1pcGlfZXhlY19zZW5kX3BhY2tldCgpIGNhbGwgY2Fs bCBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5KCkuCgpDaGFuZ2VzIGluIHYzOgotTW92ZSB0aGUgd2hv bGUgc2hlYmFuZyB0byBpbnRlbF9iaW9zLmMKCkJ1Z0xpbms6IGh0dHBzOi8vYnVncy5mcmVlZGVz a3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTgyODgwClJlbGF0ZWQ6IGh0dHBzOi8vYnVncy5mcmVl ZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTIwNQpDYzogSmFuLU1pY2hhZWwgQnJ1bW1l ciA8amFuLmJydW1tZXJAdGFib3Mub3JnPgpSZXBvcnRlZC1ieTogSmFuLU1pY2hhZWwgQnJ1bW1l ciA8amFuLmJydW1tZXJAdGFib3Mub3JnPgpUZXN0ZWQtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdv ZWRlQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJl ZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIHwgODMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAwODExOTBkYTA4MTguLjFmMzQ2MjY2OTU2YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xMzQ5LDYgKzEzNDksNyBAQCBzdHJ1Y3QgaW50 ZWxfdmJ0X2RhdGEgewogCQl1MzIgc2l6ZTsKIAkJdTggKmRhdGE7CiAJCWNvbnN0IHU4ICpzZXF1 ZW5jZVtNSVBJX1NFUV9NQVhdOworCQl1OCAqZGVhc3NlcnRfc2VxOyAvKiBVc2VkIGJ5IGZpeHVw X21pcGlfc2VxdWVuY2VzKCkgKi8KIAl9IGRzaTsKIAogCWludCBjcnRfZGRjX3BpbjsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Jpb3MuYwppbmRleCA2NGEwZDU1ZGYyOGUuLmNjYTYyMGY4ZGViNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwpAQCAtOTQ3LDYgKzk0Nyw4NiBAQCBzdGF0aWMgaW50 IGdvdG9fbmV4dF9zZXF1ZW5jZV92Myhjb25zdCB1OCAqZGF0YSwgaW50IGluZGV4LCBpbnQgdG90 YWwpCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBHZXQgbGVuIG9mIHByZS1maXhlZCBkZWFzc2Vy dCBmcmFnbWVudCBmcm9tIGEgdjEgaW5pdCBPVFAgc2VxdWVuY2UsCisgKiBza2lwIGFsbCBkZWxh eSArIGdwaW8gb3BlcmFuZHMgYW5kIHN0b3AgYXQgdGhlIGZpcnN0IERTSSBwYWNrZXQgb3AuCisg Ki8KK3N0YXRpYyBpbnQgZ2V0X2luaXRfb3RwX2RlYXNzZXJ0X2ZyYWdtZW50X2xlbihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJY29uc3QgdTggKmRhdGEgPSBkZXZfcHJp di0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9JTklUX09UUF07CisJaW50IGluZGV4LCBsZW47 CisKKwlpZiAoV0FSTl9PTighZGF0YSB8fCBkZXZfcHJpdi0+dmJ0LmRzaS5zZXFfdmVyc2lvbiAh PSAxKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBpbmRleCA9IDEgdG8gc2tpcCBzZXF1ZW5jZSBieXRl ICovCisJZm9yIChpbmRleCA9IDE7IGRhdGFbaW5kZXhdICE9IE1JUElfU0VRX0VMRU1fRU5EOyBp bmRleCArPSBsZW4pIHsKKwkJc3dpdGNoIChkYXRhW2luZGV4XSkgeworCQljYXNlIE1JUElfU0VR X0VMRU1fU0VORF9QS1Q6CisJCQlyZXR1cm4gaW5kZXggPT0gMSA/IDAgOiBpbmRleDsKKwkJY2Fz ZSBNSVBJX1NFUV9FTEVNX0RFTEFZOgorCQkJbGVuID0gNTsgLyogMSBieXRlIGZvciBvcGVyYW5k ICsgdWludDMyICovCisJCQlicmVhazsKKwkJY2FzZSBNSVBJX1NFUV9FTEVNX0dQSU86CisJCQls ZW4gPSAzOyAvKiAxIGJ5dGUgZm9yIG9wLCAxIGZvciBncGlvX25yLCAxIGZvciB2YWx1ZSAqLwor CQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJldHVybiAw OworfQorCisvKgorICogU29tZSB2MSBWQlQgTUlQSSBzZXF1ZW5jZXMgZG8gdGhlIGRlYXNzZXJ0 IGluIHRoZSBpbml0IE9UUCBzZXF1ZW5jZS4KKyAqIFRoZSBkZWFzc2VydCBtdXN0IGJlIGRvbmUg YmVmb3JlIGNhbGxpbmcgaW50ZWxfZHNpX2RldmljZV9yZWFkeSwgc28gZm9yCisgKiB0aGVzZSBk ZXZpY2VzIHdlIHNwbGl0IHRoZSBpbml0IE9UUCBzZXF1ZW5jZSBpbnRvIGEgZGVhc3NlcnQgc2Vx dWVuY2UgYW5kCisgKiB0aGUgYWN0dWFsIGluaXQgT1RQIHBhcnQuCisgKi8KK3N0YXRpYyB2b2lk IGZpeHVwX21pcGlfc2VxdWVuY2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK K3sKKwl1OCAqaW5pdF9vdHA7CisJaW50IGxlbjsKKworCS8qIExpbWl0IHRoaXMgdG8gVkxWIGZv ciBub3cuICovCisJaWYgKCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJ LyogTGltaXQgdGhpcyB0byB2MSB2aWQtbW9kZSBzZXF1ZW5jZXMgKi8KKwlpZiAoZGV2X3ByaXYt PnZidC5kc2kuY29uZmlnLT5pc19jbWRfbW9kZSB8fAorCSAgICBkZXZfcHJpdi0+dmJ0LmRzaS5z ZXFfdmVyc2lvbiAhPSAxKQorCQlyZXR1cm47CisKKwkvKiBPbmx5IGRvIHRoaXMgaWYgdGhlcmUg YXJlIG90cCBhbmQgYXNzZXJ0IHNlcXMgYW5kIG5vIGRlYXNzZXJ0IHNlcSAqLworCWlmICghZGV2 X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfSU5JVF9PVFBdIHx8CisJICAgICFkZXZf cHJpdi0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9BU1NFUlRfUkVTRVRdIHx8CisJICAgIGRl dl9wcml2LT52YnQuZHNpLnNlcXVlbmNlW01JUElfU0VRX0RFQVNTRVJUX1JFU0VUXSkKKwkJcmV0 dXJuOworCisJLyogVGhlIGRlYXNzZXJ0LXNlcXVlbmNlIGVuZHMgYXQgdGhlIGZpcnN0IERTSSBw YWNrZXQgKi8KKwlsZW4gPSBnZXRfaW5pdF9vdHBfZGVhc3NlcnRfZnJhZ21lbnRfbGVuKGRldl9w cml2KTsKKwlpZiAoIWxlbikKKwkJcmV0dXJuOworCisJRFJNX0RFQlVHX0tNUygiVXNpbmcgaW5p dCBPVFAgZnJhZ21lbnQgdG8gZGVhc3NlcnQgcmVzZXRcbiIpOworCisJLyogQ29weSB0aGUgZnJh Z21lbnQsIHVwZGF0ZSBzZXEgYnl0ZSBhbmQgdGVybWluYXRlIGl0ICovCisJaW5pdF9vdHAgPSAo dTggKilkZXZfcHJpdi0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9JTklUX09UUF07CisJZGV2 X3ByaXYtPnZidC5kc2kuZGVhc3NlcnRfc2VxID0ga21lbWR1cChpbml0X290cCwgbGVuICsgMSwg R0ZQX0tFUk5FTCk7CisJaWYgKCFkZXZfcHJpdi0+dmJ0LmRzaS5kZWFzc2VydF9zZXEpCisJCXJl dHVybjsKKwlkZXZfcHJpdi0+dmJ0LmRzaS5kZWFzc2VydF9zZXFbMF0gPSBNSVBJX1NFUV9ERUFT U0VSVF9SRVNFVDsKKwlkZXZfcHJpdi0+dmJ0LmRzaS5kZWFzc2VydF9zZXFbbGVuXSA9IE1JUElf U0VRX0VMRU1fRU5EOworCS8qIFVzZSB0aGUgY29weSBmb3IgZGVhc3NlcnQgKi8KKwlkZXZfcHJp di0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9ERUFTU0VSVF9SRVNFVF0gPQorCQlkZXZfcHJp di0+dmJ0LmRzaS5kZWFzc2VydF9zZXE7CisJLyogUmVwbGFjZSB0aGUgbGFzdCBieXRlIG9mIHRo ZSBmcmFnbWVudCB3aXRoIGluaXQgT1RQIHNlcSBieXRlICovCisJaW5pdF9vdHBbbGVuIC0gMV0g PSBNSVBJX1NFUV9JTklUX09UUDsKKwkvKiBBbmQgbWFrZSBNSVBJX01JUElfU0VRX0lOSVRfT1RQ IHBvaW50IHRvIGl0ICovCisJZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfSU5J VF9PVFBdID0gaW5pdF9vdHAgKyBsZW4gLSAxOworfQorCiBzdGF0aWMgdm9pZAogcGFyc2VfbWlw aV9zZXF1ZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCSAgICBjb25z dCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQpAQCAtMTAxNiw2ICsxMDk2LDggQEAgcGFyc2VfbWlw aV9zZXF1ZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZGV2X3ByaXYt PnZidC5kc2kuc2l6ZSA9IHNlcV9zaXplOwogCWRldl9wcml2LT52YnQuZHNpLnNlcV92ZXJzaW9u ID0gc2VxdWVuY2UtPnZlcnNpb247CiAKKwlmaXh1cF9taXBpX3NlcXVlbmNlcyhkZXZfcHJpdik7 CisKIAlEUk1fREVCVUdfRFJJVkVSKCJNSVBJIHJlbGF0ZWQgVkJUIHBhcnNpbmcgY29tcGxldGVc biIpOwogCXJldHVybjsKIApAQCAtMTU5NCw2ICsxNjc2LDcgQEAgdm9pZCBpbnRlbF9iaW9zX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICovCiB2b2lkIGludGVsX2Jp b3NfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CisJa2ZyZWUo ZGV2X3ByaXYtPnZidC5kc2kuZGVhc3NlcnRfc2VxKTsKIAlrZnJlZShkZXZfcHJpdi0+dmJ0LmRz aS5kYXRhKTsKIAlrZnJlZShkZXZfcHJpdi0+dmJ0LmRzaS5wcHMpOwogCWtmcmVlKGRldl9wcml2 LT52YnQuZHNpLmNvbmZpZyk7Ci0tIAoyLjE0LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=