From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: Re: [PATCH v6] drm/panel: Add a driver for the TPO TPG110 Date: Wed, 9 Jan 2019 19:58:14 +0100 Message-ID: <20190109185814.GA25799@ravnborg.org> References: <20190109135331.14895-1-linus.walleij@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from asavdk3.altibox.net (asavdk3.altibox.net [109.247.116.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7CD576ECC8 for ; Wed, 9 Jan 2019 18:58:17 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190109135331.14895-1-linus.walleij@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Linus Walleij Cc: Thierry Reding , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgTGludXMuCgpPbiBXZWQsIEphbiAwOSwgMjAxOSBhdCAwMjo1MzozMVBNICswMTAwLCBMaW51 cyBXYWxsZWlqIHdyb3RlOgo+IFRoZSBUUE8gKFRvcHBvbHkpIFRQRzExMCBpcyBhIHByZXR0eSBn ZW5lcmljIGRpc3BsYXkgZHJpdmVyCj4gc2ltaWxhciBpbiB2ZWluIHRvIHRoZSBJbGl0ZWsgOTN4 eCBkZXZpY2VzLiBJdCBpcyBub3QgYSBwYW5lbAo+IHBlciBzZSBidXQgYSBkcml2ZXIgdXNlZCB3 aXRoIHNldmVyYWwgbG93LWNvc3Qgbm9uYW1lIHBhbmVscy4KPiAKPiBUaGlzIGlzIHVzZWQgb24g dGhlIE5vbWFkaWsgTkhLMTUgY29tYmluZWQgd2l0aCBhIE9TRAo+IE9TRDA1N1ZBMDFDVCBkaXNw bGF5IGZvciBXVkdBIDgwMHg0ODAuCj4gCj4gVGhlIGRyaXZlciBpcyBwcmV0dHkgbWluaW1hbGlz dGljIHJpZ2h0IG5vdyBidXQgY2FuIGJlCj4gZXh0ZW5kZWQgdG8gaGFuZGxlIG5vbi1kZWZhdWx0 IHBvbGFyaXRpZXMsIGdhbW1hIGNvcnJlY3Rpb24KPiBldGMuCj4gCj4gVGhlIGRyaXZlciBpcyBi YXNlZCBvbiB0aGUgYmFrZWQtaW4gY29kZSBpbgo+IGRyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1j bGNkLW5vbWFkaWsuYyB3aGljaCB3aWxsIGJlCj4gZGVjb21pc3Npb25lZCBvbmNlIHRoaXMgdXMg dXBzdHJlYW0uCj4gCj4gQWNrZWQtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4K PiBTaWduZWQtb2ZmLWJ5OiBMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+ CgpXaGlsZSBicm93c2luZyB0aGlzIGNvZGUgYWdhaW4gYSBmZXcgdGhpbmdzIGp1bXBlZCBhdCBt ZS4KLSB3ZSB0cnkgdG8ga2lsbCB1c2Ugb2YgZHJtUC5oCi0gRFJNX0RFVl9YWFggcmF0aGVyIHRo YW4gZGV2X3h4eCAobm90IGFsbCBsaWtlIHRoZXNlLCBidXQgdGhleSBhcmUgdXNlZCBpbiBvdGhl ciBwYW5lbHMpCi0gZHJvcCB2aWRlb21vZGUgLSBub3QgdXNlZCBhbnltb3JlLgoKSSB3ZW50IGFo ZWFkIGFuZCBtYWRlIGEgcGF0Y2guIEJ1aWxkIHRlc3RlZCBvbiB0b3Agb2YgZHJtLW1pc2MtbmV4 dAooaGFkIHRvIGRlZmluZSBTUElfM1dJUkVfSElaLCBiZWNhdXNlIHdlIG1pc3MgYSBiYWNrbWVy Z2Ugb2YgLXJjMSkKCkFwcGx5IHdoYXQgeW91IHRoaW5rIGlzIHJlbGV2YW50LCBhbmQgc29ycnkg Zm9yIHRoZSBsYXRlIGZlZWRiYWNrLgoKCVNhbQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL0tjb25maWcKaW5kZXggZTM4 MjExODBiNmNkLi5hNzFmNDQxOTEyNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnCkBAIC0yMDgsNyAr MjA4LDYgQEAgY29uZmlnIERSTV9QQU5FTF9UUE9fVFBHMTEwCiAJdHJpc3RhdGUgIlRQTyBUUEcg ODAweDQwMCBwYW5lbCIKIAlkZXBlbmRzIG9uIE9GICYmIFNQSSAmJiBHUElPTElCCiAJZGVwZW5k cyBvbiBCQUNLTElHSFRfQ0xBU1NfREVWSUNFCi0Jc2VsZWN0IFZJREVPTU9ERV9IRUxQRVJTCiAJ aGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byBlbmFibGUgc3VwcG9ydCBmb3IgVFBP IFRQRzExMAogCSAgNDAwQ0ggTFRQUyBURlQgTENEIFNpbmdsZSBDaGlwIERpZ2l0YWwgRHJpdmVy IGZvciB1cCB0bwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10 cGcxMTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMKaW5kZXgg ZDdjMzU0MWZkZjI4Li42N2M3YmU4ZWIxNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC10cG8tdHBnMTEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXRwby10cGcxMTAuYwpAQCAtMTAsMTEgKzEwLDE0IEBACiAgKiBBdXRob3I6CiAgKiBMaW51cyBX YWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+CiAgKi8KLSNpbmNsdWRlIDxkcm0vZHJt UC5oPgorCisjaW5jbHVkZSA8ZHJtL2RybV9tb2Rlcy5oPgogI2luY2x1ZGUgPGRybS9kcm1fcGFu ZWwuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+CiAKICNpbmNsdWRlIDxsaW51eC9iYWNr bGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxh eS5oPgogI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KICNpbmNsdWRlIDxsaW51eC9p bml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC0yMiw5ICsyNSw2IEBACiAjaW5j bHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5o PgogCi0jaW5jbHVkZSA8dmlkZW8vb2ZfdmlkZW9tb2RlLmg+Ci0jaW5jbHVkZSA8dmlkZW8vdmlk ZW9tb2RlLmg+Ci0KICNkZWZpbmUgVFBHMTEwX1RFU1QJCQkweDAwCiAjZGVmaW5lIFRQRzExMF9D SElQSUQJCQkweDAxCiAjZGVmaW5lIFRQRzExMF9DVFJMMQkJCTB4MDIKQEAgLTI0OCw3ICsyNDgs NyBAQCBzdGF0aWMgdTggdHBnMTEwX3JlYWR3cml0ZV9yZWcoc3RydWN0IHRwZzExMCAqdHBnLCBi b29sIHdyaXRlLAogCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0WzFdLCAmbSk7CiAJcmV0ID0gc3Bp X3N5bmModHBnLT5zcGksICZtKTsKIAlpZiAocmV0KSB7Ci0JCWRldl9lcnIodHBnLT5kZXYsICJT UEkgbWVzc2FnZSBlcnJvciAlZFxuIiwgcmV0KTsKKwkJRFJNX0RFVl9FUlJPUih0cGctPmRldiwg IlNQSSBtZXNzYWdlIGVycm9yICVkXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KIAlpZiAo d3JpdGUpCkBAIC0yNzUsNDYgKzI3NSw0NiBAQCBzdGF0aWMgaW50IHRwZzExMF9zdGFydHVwKHN0 cnVjdCB0cGcxMTAgKnRwZykKIAkvKiBEZS1hc3NlcnQgdGhlIHJlc2V0IHNpZ25hbCAqLwogCWdw aW9kX3NldF92YWx1ZV9jYW5zbGVlcCh0cGctPmdyZXN0YiwgMCk7CiAJbWRlbGF5KDEpOwotCWRl dl9pbmZvKHRwZy0+ZGV2LCAiZGUtYXNzZXJ0ZWQgR1JFU1RCXG4iKTsKKwlEUk1fREVWX0lORk8o dHBnLT5kZXYsICJkZS1hc3NlcnRlZCBHUkVTVEJcbiIpOwogCiAJLyogVGVzdCBkaXNwbGF5IGNv bW11bmljYXRpb24gKi8KIAl0cGcxMTBfd3JpdGVfcmVnKHRwZywgVFBHMTEwX1RFU1QsIDB4NTUp OwogCXZhbCA9IHRwZzExMF9yZWFkX3JlZyh0cGcsIFRQRzExMF9URVNUKTsKIAlpZiAodmFsICE9 IDB4NTUpIHsKLQkJZGV2X2Vycih0cGctPmRldiwgImZhaWxlZCBjb21tdW5pY2F0aW9uIHRlc3Rc biIpOworCQlEUk1fREVWX0VSUk9SKHRwZy0+ZGV2LCAiZmFpbGVkIGNvbW11bmljYXRpb24gdGVz dFxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCXZhbCA9IHRwZzExMF9yZWFkX3JlZyh0 cGcsIFRQRzExMF9DSElQSUQpOwotCWRldl9pbmZvKHRwZy0+ZGV2LCAiVFBHMTEwIGNoaXAgSUQ6 ICVkIHZlcnNpb246ICVkXG4iLAotCQkgdmFsID4+IDQsIHZhbCAmIDB4MGYpOworCURSTV9ERVZf SU5GTyh0cGctPmRldiwgIlRQRzExMCBjaGlwIElEOiAlZCB2ZXJzaW9uOiAlZFxuIiwKKwkJICAg ICB2YWwgPj4gNCwgdmFsICYgMHgwZik7CiAKIAkvKiBTaG93IGRpc3BsYXkgcmVzb2x1dGlvbiAq LwogCXZhbCA9IHRwZzExMF9yZWFkX3JlZyh0cGcsIFRQRzExMF9DVFJMMSk7CiAJdmFsICY9IFRQ RzExMF9SRVNfTUFTSzsKIAlzd2l0Y2ggKHZhbCkgewogCWNhc2UgVFBHMTEwX1JFU180MDBYMjQw X0Q6Ci0JCWRldl9pbmZvKHRwZy0+ZGV2LAotCQkJICJJTiA0MDB4MjQwIFJHQiAtPiBPVVQgODAw eDQ4MCBSR0IgKGR1YWwgc2NhbikiKTsKKwkJRFJNX0RFVl9JTkZPKHRwZy0+ZGV2LAorCQkJICAg ICAiSU4gNDAweDI0MCBSR0IgLT4gT1VUIDgwMHg0ODAgUkdCIChkdWFsIHNjYW4pIik7CiAJCWJy ZWFrOwogCWNhc2UgVFBHMTEwX1JFU180ODBYMjcyX0Q6Ci0JCWRldl9pbmZvKHRwZy0+ZGV2LAot CQkJICJJTiA0ODB4MjcyIFJHQiAtPiBPVVQgODAweDQ4MCBSR0IgKGR1YWwgc2NhbikiKTsKKwkJ RFJNX0RFVl9JTkZPKHRwZy0+ZGV2LAorCQkJICAgICAiSU4gNDgweDI3MiBSR0IgLT4gT1VUIDgw MHg0ODAgUkdCIChkdWFsIHNjYW4pIik7CiAJCWJyZWFrOwogCWNhc2UgVFBHMTEwX1JFU180ODBY NjQwOgotCQlkZXZfaW5mbyh0cGctPmRldiwgIjQ4MHg2NDAgUkdCIik7CisJCURSTV9ERVZfSU5G Tyh0cGctPmRldiwgIjQ4MHg2NDAgUkdCIik7CiAJCWJyZWFrOwogCWNhc2UgVFBHMTEwX1JFU180 ODBYMjcyOgotCQlkZXZfaW5mbyh0cGctPmRldiwgIjQ4MHgyNzIgUkdCIik7CisJCURSTV9ERVZf SU5GTyh0cGctPmRldiwgIjQ4MHgyNzIgUkdCIik7CiAJCWJyZWFrOwogCWNhc2UgVFBHMTEwX1JF U182NDBYNDgwOgotCQlkZXZfaW5mbyh0cGctPmRldiwgIjY0MHg0ODAgUkdCIik7CisJCURSTV9E RVZfSU5GTyh0cGctPmRldiwgIjY0MHg0ODAgUkdCIik7CiAJCWJyZWFrOwogCWNhc2UgVFBHMTEw X1JFU184MDBYNDgwOgotCQlkZXZfaW5mbyh0cGctPmRldiwgIjgwMHg0ODAgUkdCIik7CisJCURS TV9ERVZfSU5GTyh0cGctPmRldiwgIjgwMHg0ODAgUkdCIik7CiAJCWJyZWFrOwogCWRlZmF1bHQ6 Ci0JCWRldl9pbmZvKHRwZy0+ZGV2LCAiSUxMRUdBTCBSRVNPTFVUSU9OIik7CisJCURSTV9ERVZf SU5GTyh0cGctPmRldiwgIklMTEVHQUwgUkVTT0xVVElPTiIpOwogCQlicmVhazsKIAl9CiAKQEAg LTMzMiwxMyArMzMyLDEzIEBAIHN0YXRpYyBpbnQgdHBnMTEwX3N0YXJ0dXAoc3RydWN0IHRwZzEx MCAqdHBnKQogCQl9CiAJfQogCWlmIChpID09IEFSUkFZX1NJWkUodHBnMTEwX21vZGVzKSkgewot CQlkZXZfZXJyKHRwZy0+ZGV2LCAidW5zdXBwb3J0ZWQgbW9kZSAoJTAyeCkgZGV0ZWN0ZWRcbiIs CisJCURSTV9ERVZfRVJST1IodHBnLT5kZXYsICJ1bnN1cHBvcnRlZCBtb2RlICglMDJ4KSBkZXRl Y3RlZFxuIiwKIAkJCXZhbCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCXZhbCA9IHRwZzEx MF9yZWFkX3JlZyh0cGcsIFRQRzExMF9DVFJMMik7Ci0JZGV2X2luZm8odHBnLT5kZXYsICJyZXNv bHV0aW9uIGFuZCBzdGFuZGJ5IGlzIGNvbnRyb2xsZWQgYnkgJXNcbiIsCisJRFJNX0RFVl9JTkZP KHRwZy0+ZGV2LCAicmVzb2x1dGlvbiBhbmQgc3RhbmRieSBpcyBjb250cm9sbGVkIGJ5ICVzXG4i LAogCQkgKHZhbCAmIFRQRzExMF9DVFJMMl9SRVNfUE1fQ1RSTCkgPyAic29mdHdhcmUiIDogImhh cmR3YXJlIik7CiAJLyogVGFrZSBjb250cm9sIG92ZXIgcmVzb2x1dGlvbiBhbmQgc3RhbmRieSAq LwogCXZhbCB8PSBUUEcxMTBfQ1RSTDJfUkVTX1BNX0NUUkw7CkBAIC00MzksMTAgKzQzOSwxMCBA QCBzdGF0aWMgaW50IHRwZzExMF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCS8qIFdl IGdldCB0aGUgcGh5c2ljYWwgZGlzcGxheSBkaW1lbnNpb25zIGZyb20gdGhlIERUICovCiAJcmV0 ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJ3aWR0aC1tbSIsICZ0cGctPndpZHRoKTsKIAlp ZiAocmV0KQotCQlkZXZfZXJyKGRldiwgIm5vIHBhbmVsIHdpZHRoIHNwZWNpZmllZFxuIik7CisJ CURSTV9ERVZfRVJST1IoZGV2LCAibm8gcGFuZWwgd2lkdGggc3BlY2lmaWVkXG4iKTsKIAlyZXQg PSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgImhlaWdodC1tbSIsICZ0cGctPmhlaWdodCk7CiAJ aWYgKHJldCkKLQkJZGV2X2VycihkZXYsICJubyBwYW5lbCBoZWlnaHQgc3BlY2lmaWVkXG4iKTsK KwkJRFJNX0RFVl9FUlJPUihkZXYsICJubyBwYW5lbCBoZWlnaHQgc3BlY2lmaWVkXG4iKTsKIAog CS8qIExvb2sgZm9yIHNvbWUgb3B0aW9uYWwgYmFja2xpZ2h0ICovCiAJYmFja2xpZ2h0ID0gb2Zf cGFyc2VfcGhhbmRsZShucCwgImJhY2tsaWdodCIsIDApOwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHN0 YXRpYyBpbnQgdHBnMTEwX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJLyogVGhpcyBh c3NlcnRzIHRoZSBHUkVTVEIgc2lnbmFsLCBwdXR0aW5nIHRoZSBkaXNwbGF5IGludG8gcmVzZXQg Ki8KIAl0cGctPmdyZXN0YiA9IGRldm1fZ3Bpb2RfZ2V0KGRldiwgImdyZXN0YiIsIEdQSU9EX09V VF9ISUdIKTsKIAlpZiAoSVNfRVJSKHRwZy0+Z3Jlc3RiKSkgewotCQlkZXZfZXJyKGRldiwgIm5v IEdSRVNUQiBHUElPXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJubyBHUkVTVEIgR1BJT1xu Iik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIApAQCAtNDY1LDcgKzQ2NSw3IEBAIHN0YXRpYyBp bnQgdHBnMTEwX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJc3BpLT5tb2RlIHw9IFNQ SV8zV0lSRV9ISVo7CiAJcmV0ID0gc3BpX3NldHVwKHNwaSk7CiAJaWYgKHJldCA8IDApIHsKLQkJ ZGV2X2VycihkZXYsICJzcGkgc2V0dXAgZmFpbGVkLlxuIik7CisJCURSTV9ERVZfRVJST1IoZGV2 LCAic3BpIHNldHVwIGZhaWxlZC5cbiIpOwogCQlyZXR1cm4gcmV0OwogCX0KIAl0cGctPnNwaSA9 IHNwaTsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==