From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH] drm/i915: Fix DSI panels with v1 MIPI sequences without a DEASSERT sequence v2 Date: Fri, 26 Jan 2018 08:52:07 +0100 Message-ID: <20180126075207.311-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 bCBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5KCkuCgpCdWdMaW5rOiBodHRwczovL2J1Z3MuZnJlZWRl c2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjg4MApSZWxhdGVkOiBodHRwczovL2J1Z3MuZnJl ZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMDUKQ2M6IEphbi1NaWNoYWVsIEJydW1t ZXIgPGphbi5icnVtbWVyQHRhYm9zLm9yZz4KUmVwb3J0ZWQtYnk6IEphbi1NaWNoYWVsIEJydW1t ZXIgPGphbi5icnVtbWVyQHRhYm9zLm9yZz4KVGVzdGVkLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVn b2VkZUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUBy ZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oICAgICB8ICAyICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaV92YnQuYyB8IDgyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuYwppbmRleCBmNjdkMzIxMzc2ZTQuLmI1OWVmMzRkMjVmNiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAgLTE2NDIsNiArMTY0Miw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RzaV9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCWlm IChpbnRlbF9kc2ktPmdwaW9fcGFuZWwpCiAJCWdwaW9kX3B1dChpbnRlbF9kc2ktPmdwaW9fcGFu ZWwpOwogCisJa2ZyZWUoaW50ZWxfZHNpLT5kZWFzc2VydF9zZXEpOwogCWludGVsX2VuY29kZXJf ZGVzdHJveShlbmNvZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaAppbmRleCA3YWZl Yjk1ODBmNDEuLjU4OTU1ODgxNDRhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKQEAgLTQ2 LDYgKzQ2LDggQEAgc3RydWN0IGludGVsX2RzaSB7CiAKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICphdHRhY2hlZF9jb25uZWN0b3I7CiAKKwl1OCAqZGVhc3NlcnRfc2VxOworCiAJLyogYml0IG1h c2sgb2YgcG9ydHMgYmVpbmcgZHJpdmVuICovCiAJdTE2IHBvcnRzOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfdmJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2lfdmJ0LmMKaW5kZXggOTFjMDdiMGM4ZGI5Li44NDY2NGY3OWNiZWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV92YnQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfdmJ0LmMKQEAgLTQ5OSw2ICs0OTksODYgQEAgaW50IGlu dGVsX2RzaV92YnRfZ2V0X21vZGVzKHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSkKIAlyZXR1 cm4gMTsKIH0KIAorLyoKKyAqIEdldCBsZW4gb2YgcHJlLWZpeGVkIGRlYXNzZXJ0IGZyb20gaW5p dCBPVFAsIHNraXAgYWxsIGRlbGF5ICsgZ3BpbyBvcGVyYW5kcworICogYW5kIHN0b3AgYXQgdGhl IGZpcnN0IERTSSBwYWNrZXQgb3AuCisgKi8KK3N0YXRpYyBpbnQgaW50ZWxfdmJpX2dldF9kZWFz c2VydF9sZW4oY29uc3QgdTggKmRhdGEsIGludCB0b3RhbCkKK3sKKwlpbnQgaW5kZXgsIGxlbjsK KworCS8qIGluZGV4ID0gMSB0byBza2lwIHNlcXVlbmNlIGJ5dGUgKi8KKwlmb3IgKGluZGV4ID0g MTsgaW5kZXggPCB0b3RhbDsgaW5kZXggKz0gbGVuKSB7CisJCXN3aXRjaCAoZGF0YVtpbmRleF0p IHsKKwkJY2FzZSBNSVBJX1NFUV9FTEVNX1NFTkRfUEtUOgorCQkJcmV0dXJuIGluZGV4OworCQlj YXNlIE1JUElfU0VRX0VMRU1fREVMQVk6CisJCQlsZW4gPSA1OyAvKiAxIGJ5dGUgZm9yIG9wZXJh bmQgKyB1aW50MzIgKi8KKwkJCWJyZWFrOworCQljYXNlIE1JUElfU0VRX0VMRU1fR1BJTzoKKwkJ CWxlbiA9IDM7IC8qIDEgYnl0ZSBmb3Igb3AsIDEgZm9yIGdwaW9fbnIsIDEgZm9yIHZhbHVlICov CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJcmV0dXJu IDA7Cit9CisKKy8qCisgKiBTb21lIHYxIFZCVCBNSVBJIHNlcXVlbmNlcyBkbyB0aGUgZGVhc3Nl cnQgaW4gdGhlIGluaXQgT1RQIHNlcXVlbmNlLgorICogVGhlIGRlYXNzZXJ0IG11c3QgYmUgZG9u ZSBiZWZvcmUgY2FsbGluZyBpbnRlbF9kc2lfZGV2aWNlX3JlYWR5LCBzbyBmb3IKKyAqIHRoZXNl IGRldmljZXMgd2Ugc3BsaXQgdGhlIGluaXQgT1RQIHNlcXVlbmNlIGludG8gYSBkZWFzc2VydCBz ZXF1ZW5jZSBhbmQKKyAqIHRoZSBhY3R1YWwgaW5pdCBPVFAgcGFydC4KKyAqLworc3RhdGljIHZv aWQgaW50ZWxfZHNpX2ZpeHVwX2RzaV9zZXF1ZW5jZXMoc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50 ZWxfZHNpLT5iYXNlLmJhc2UuZGV2KTsKKwlpbnQgaW5pdF9vdHBfaW5kZXgsIGxlbjsKKwl1OCAq aW5pdF9vdHA7CisKKwkvKiBMaW1pdCB0aGlzIHRvIFZMViBmb3Igbm93LiAqLworCWlmICghSVNf VkFMTEVZVklFVyhkZXZfcHJpdikpCisJCXJldHVybjsKKworCS8qIExpbWl0IHRoaXMgdG8gdjEg dmlkLW1vZGUgc2VxdWVuY2VzICovCisJaWYgKGludGVsX2RzaS0+b3BlcmF0aW9uX21vZGUgIT0g SU5URUxfRFNJX1ZJREVPX01PREUgfHwKKwkgICAgZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNp b24gIT0gMSkKKwkJcmV0dXJuOworCisJLyogT25seSBkbyB0aGlzIGlmIHRoZXJlIGFyZSBvdHAg YW5kIGFzc2VydCBzZXFzIGFuZCBubyBkZWFzc2VydCBzZXEgKi8KKwlpZiAoIWRldl9wcml2LT52 YnQuZHNpLnNlcXVlbmNlW01JUElfU0VRX0lOSVRfT1RQXSB8fAorCSAgICAhZGV2X3ByaXYtPnZi dC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfQVNTRVJUX1JFU0VUXSB8fAorCSAgICBkZXZfcHJpdi0+ dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9ERUFTU0VSVF9SRVNFVF0pCisJCXJldHVybjsKKwor CS8qIFRoZSBkZWFzc2VydC1zZXF1ZW5jZSBlbmRzIGF0IHRoZSBmaXJzdCBEU0kgcGFja2V0ICov CisJaW5pdF9vdHBfaW5kZXggPSBkZXZfcHJpdi0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJX1NFUV9J TklUX09UUF0gLQorCQkJIChjb25zdCB1OCAqKWRldl9wcml2LT52YnQuZHNpLmRhdGE7CisJaW5p dF9vdHAgPSBkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhICsgaW5pdF9vdHBfaW5kZXg7CisJbGVuID0g ZGV2X3ByaXYtPnZidC5kc2kuc2l6ZSAtIGluaXRfb3RwX2luZGV4OworCWxlbiA9IGludGVsX3Zi aV9nZXRfZGVhc3NlcnRfbGVuKGluaXRfb3RwLCBsZW4pOworCWlmICghbGVuKQorCQlyZXR1cm47 CisKKwlEUk1fREVCVUdfS01TKCJVc2luZyBpbml0IE9UUCBmcmFnbWVudCB0byBkZWFzc2VydCBy ZXNldFxuIik7CisKKwkvKiBDb3B5IHRoZSBmcmFnbWVudCwgdXBkYXRlIHNlcSBieXRlIGFuZCB0 ZXJtaW5hdGUgaXQgKi8KKwlpbnRlbF9kc2ktPmRlYXNzZXJ0X3NlcSA9IGttZW1kdXAoaW5pdF9v dHAsIGxlbiArIDEsIEdGUF9LRVJORUwpOworCWlmICghaW50ZWxfZHNpLT5kZWFzc2VydF9zZXEp CisJCXJldHVybjsKKwlpbnRlbF9kc2ktPmRlYXNzZXJ0X3NlcVswXSA9IE1JUElfU0VRX0RFQVNT RVJUX1JFU0VUOworCWludGVsX2RzaS0+ZGVhc3NlcnRfc2VxW2xlbl0gPSBNSVBJX1NFUV9FTEVN X0VORDsKKwkvKiBVc2UgdGhlIGNvcHkgZm9yIGRlYXNzZXJ0ICovCisJZGV2X3ByaXYtPnZidC5k c2kuc2VxdWVuY2VbTUlQSV9TRVFfREVBU1NFUlRfUkVTRVRdID0KKwkJaW50ZWxfZHNpLT5kZWFz c2VydF9zZXE7CisJLyogUmVwbGFjZSB0aGUgbGFzdCBieXRlIG9mIHRoZSBmcmFnbWVudCB3aXRo IGluaXQgT1RQIHNlcSBieXRlICovCisJaW5pdF9vdHBbbGVuIC0gMV0gPSBNSVBJX1NFUV9JTklU X09UUDsKKwkvKiBBbmQgbWFrZSBNSVBJX01JUElfU0VRX0lOSVRfT1RQIHBvaW50IHRvIGl0ICov CisJZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfSU5JVF9PVFBdID0gaW5pdF9v dHAgKyBsZW4gLSAxOworfQorCiBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gaW50ZWxfZHNpLT5iYXNlLmJhc2UuZGV2OwpAQCAtNzk0LDUgKzg3NCw3IEBAIGJvb2wgaW50 ZWxfZHNpX3ZidF9pbml0KHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwgdTE2IHBhbmVsX2lk KQogCQltaXBpX2RzaV9hdHRhY2goaW50ZWxfZHNpLT5kc2lfaG9zdHNbcG9ydF0tPmRldmljZSk7 CiAJfQogCisJaW50ZWxfZHNpX2ZpeHVwX2RzaV9zZXF1ZW5jZXMoaW50ZWxfZHNpKTsKKwogCXJl dHVybiB0cnVlOwogfQotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK