From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 23/60] drm/panel: Add driver for the Toppology TD028TTEC1 panel Date: Thu, 8 Aug 2019 18:43:50 +0300 Message-ID: <20190808154350.GR6055@pendragon.ideasonboard.com> References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-20-laurent.pinchart@ideasonboard.com> <20190710074855.GA6777@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B9C86E883 for ; Thu, 8 Aug 2019 15:43:55 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190710074855.GA6777@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sam Ravnborg Cc: Maxime Ripard , Sebastian Reichel , dri-devel@lists.freedesktop.org, Tomi Valkeinen , Thierry Reding , Sean Paul List-Id: dri-devel@lists.freedesktop.org SGkgU2FtLAoKT24gV2VkLCBKdWwgMTAsIDIwMTkgYXQgMDk6NDg6NTVBTSArMDIwMCwgU2FtIFJh dm5ib3JnIHdyb3RlOgo+IEhpIExhdXJlbnQuCj4gCj4gVGhpcyBkcml2ZXIgbG9va3MgdmVyeSBn b29kLgo+IAo+IE9uIFN1biwgSnVsIDA3LCAyMDE5IGF0IDA5OjE5OjAwUE0gKzAzMDAsIExhdXJl bnQgUGluY2hhcnQgd3JvdGU6Cj4gPiBUaGlzIHBhbmVsIGlzIHVzZWQgb24gdGhlIE9wZW5Nb2tv IE5lbyBGcmVlUnVubmVyIGFuZCBOZW8gMTk3My4KPiAKPiBBZGQgaW5mbyBpbiBLY29uZmlnIGhl bHAgZW50cnk/Cj4gCj4gPiArY29uZmlnIERSTV9QQU5FTF9UUE9fVEQwMjhUVEVDMQo+ID4gKwl0 cmlzdGF0ZSAiVFBPIFREMDI4VFRFQzEgcGFuZWwgZHJpdmVyIgo+IAo+IE1heWJlIHNwZWxsIG91 dCBUUE8gbGlrZSAiVFBPIChUb3BvbG9neSkgVEQwMjguLi4iCj4KPiA+ICsJZGVwZW5kcyBvbiBP RiAmJiBTUEkKPiA+ICsJZGVwZW5kcyBvbiBCQUNLTElHSFRfQ0xBU1NfREVWSUNFCj4gPiArCWhl bHAKPiA+ICsJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBU UE8gVEQwMjhUVEVDMSA0ODB4NjQwCj4gPiArCSAgMi44IiBwYW5lbC4KPiA+ICsKPiA+ICBjb25m aWcgRFJNX1BBTkVMX1RQT19UUEcxMTAKPiA+ICAJdHJpc3RhdGUgIlRQTyBUUEcgODAweDQwMCBw YW5lbCIKPiA+ICAJZGVwZW5kcyBvbiBPRiAmJiBTUEkgJiYgR1BJT0xJQgo+ID4gIG9iai0kKENP TkZJR19EUk1fUEFORUxfVFJVTFlfTlQzNTU5N19XUVhHQSkgKz0gcGFuZWwtdHJ1bHktbnQzNTU5 Ny5vCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAy OHR0ZWMxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYwo+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uMDVhZjllYTYz MzljCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtdHBvLXRkMDI4dHRlYzEuYwo+ID4gKwo+ID4gK3N0YXRpYyBpbnQgamJ0X3JldF93cml0ZV8w KHN0cnVjdCB0ZDAyOHR0ZWMxX2RldmljZSAqbGNkLCB1OCByZWcsIGludCAqZXJyKQo+ID4gK3sK PiA+ICsJc3RydWN0IHNwaV9kZXZpY2UgKnNwaSA9IGxjZC0+c3BpOwo+ID4gKwl1MTYgdHhfYnVm ID0gSkJUX0NPTU1BTkQgfCByZWc7Cj4gPiArCWludCByZXQ7Cj4gPiArCj4gPiArCWlmIChlcnIg JiYgKmVycikKPiA+ICsJCXJldHVybiAqZXJyOwo+ID4gKwo+ID4gKwlyZXQgPSBzcGlfd3JpdGUo c3BpLCAodTggKikmdHhfYnVmLCBzaXplb2YodHhfYnVmKSk7Cj4gPiArCWlmIChyZXQgPCAwKSB7 Cj4gPiArCQlkZXZfZXJyKCZzcGktPmRldiwgIiVzOiBTUEkgd3JpdGUgZmFpbGVkOiAlZFxuIiwg X19mdW5jX18sIHJldCk7Cj4gPiArCQlpZiAoZXJyKQo+ID4gKwkJCSplcnIgPSByZXQ7Cj4gPiAr CX0KPiA+ICsKPiA+ICsJcmV0dXJuIHJldDsKPiA+ICt9Cj4gCj4gSSBsaWtlIHRoZSB3YXkgKmVy ciBpcyB1c2VkIGhlcmUuCj4gU28gaWYgb25lIGNhbGwgZmFpbHMsIHRoZSByZW1haW5pbmcgY2Fs bHMgYXJlIGlnbm9yZWQuCgpJIHRoaW5rIGl0J3MgYSBjb25zdHJ1Y3QgdGhhdCBjb3VsZCBiZSB1 c2VkIGluIG1vcmUgZHJpdmVycywgd2hlbgpkZWFsaW5nIHdpdGggbGFyZ2Ugc2VxdWVuY2VzIG9m IHdyaXRlcy4KCj4gVGhlIHdheSB0aGUgY29kZSBpcyB3cml0dGVuIGFib3ZlIGl0IHdpbGwgb25s eSB3b3JrIG9uIGEgbGl0dGxlIGVuZGlhbgo+IGJveCwgYXMgdGhlIHZhbHVlcyBhcmUgc3RvcmVk IGluIGFuIHUxNiB0aGF0IGlzIGxhdGVyIHNlZW4gYXMgYW4gYXJyYXkgb2YKPiBieXRlcy4KPiBU aGlzIGlzIGFsc28gdHJ1ZSBmb3IgdGhlIHJlbWFpbmcgc2ltaWxhciBmdW5jdGlvbnMgYW5kIG1h eSBiZSBPSy4KPiBXZSBkbyBub3Qgc2VlIGFueSByZWFsIGRlbWFuZHMgZm9yIGJpZyBlbmRpYW4g YW55d2F5LgoKVGhpcyBjb3VsZCBiZSBmaXhlZCBpZiBkZXNpcmVkLCBidXQgSSB3b3VsZCBkbyBz byBvbiB0b3Agb2YgdGhpcyBwYXRjaAp0byBtaW5pbWlzZSB0aGUgY2hhbmdlcyBjb21wYXJlZCB0 byB0aGUgb21hcGRybS1zcGVjaWZpYyBwYW5lbCBkcml2ZXIuCgo+ID4gK3N0YXRpYyBpbnQgdGQw Mjh0dGVjMV9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArewo+ID4gKwlzdHJ1 Y3QgdGQwMjh0dGVjMV9kZXZpY2UgKmxjZCA9IHRvX3RkMDI4dHRlYzFfZGV2aWNlKHBhbmVsKTsK PiA+ICsJdW5zaWduZWQgaW50IGk7Cj4gPiArCWludCByZXQgPSAwOwo+ID4gKwo+ID4gKwkvKiBU aHJlZSB0aW1lcyBjb21tYW5kIHplcm8gKi8KPiA+ICsJZm9yIChpID0gMDsgaSA8IDM7ICsraSkg ewo+ID4gKwkJamJ0X3JldF93cml0ZV8wKGxjZCwgMHgwMCwgJnJldCk7Cj4gPiArCQl1c2xlZXBf cmFuZ2UoMTAwMCwgMjAwMCk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJl dHVybiByZXQ7Cj4gCj4gVGhpcyBpZiAocmV0KSBpcyByZWFsbHkgbm90IG5lZWRlZC4KPiBJdCBz b21laG93IHNob3J0LWNpcmN1aXQgdGhlIHByaW5jaXBsZSB1c2VkIGluIHRoZSByZXN0IG9mIHRo ZSBmdW5jdGlvbgo+IGhlcmUuIEFsbCBqYnRfcmVnX3dyaXRlKCkgd2lsbCBiZSBub3AgaWYgcmV0 ICE9IDAuCgpJJ2xsIGRyb3AgaXQuCgo+ID4gKwo+ID4gKwkvKiBkZWVwIHN0YW5kYnkgb3V0ICov Cj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfUE9XRVJfT05fT0ZGLCAweDE3LCAm cmV0KTsKPiA+ICsKPiA+ICsJLyogUkdCIEkvRiBvbiwgUkFNIHdyaXRlIG9mZiwgUVZHQSB0aHJv dWdoLCBTSUdDT04gZW5hYmxlICovCj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdf RElTUExBWV9NT0RFLCAweDgwLCAmcmV0KTsKPiA+ICsKPiA+ICsJLyogUXVhZCBtb2RlIG9mZiAq Lwo+ID4gKwlqYnRfcmVnX3dyaXRlXzEobGNkLCBKQlRfUkVHX1FVQURfUkFURSwgMHgwMCwgJnJl dCk7Cj4gPiArCj4gPiArCS8qIEFWREQgb24sIFhWREQgb24gKi8KPiA+ICsJamJ0X3JlZ193cml0 ZV8xKGxjZCwgSkJUX1JFR19QT1dFUl9PTl9PRkYsIDB4MTYsICZyZXQpOwo+ID4gKwo+ID4gKwkv KiBPdXRwdXQgY29udHJvbCAqLwo+ID4gKwlqYnRfcmVnX3dyaXRlXzIobGNkLCBKQlRfUkVHX09V VFBVVF9DT05UUk9MLCAweGZmZjksICZyZXQpOwo+ID4gKwo+ID4gKwkvKiBTbGVlcCBtb2RlIG9m ZiAqLwo+ID4gKwlqYnRfcmV0X3dyaXRlXzAobGNkLCBKQlRfUkVHX1NMRUVQX09VVCwgJnJldCk7 Cj4gPiArCj4gPiArCS8qIGF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBsaWtlIDUwJSBncmV5ICovCj4g PiArCj4gPiArCS8qIGluaXRpYWxpemUgcmVnaXN0ZXIgc2V0ICovCj4gPiArCWpidF9yZWdfd3Jp dGVfMShsY2QsIEpCVF9SRUdfRElTUExBWV9NT0RFMSwgMHgwMSwgJnJldCk7Cj4gPiArCWpidF9y ZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfRElTUExBWV9NT0RFMiwgMHgwMCwgJnJldCk7Cj4gPiAr CWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfUkdCX0ZPUk1BVCwgMHg2MCwgJnJldCk7Cj4g PiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfRFJJVkVfU1lTVEVNLCAweDEwLCAmcmV0 KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwgSkJUX1JFR19CT09TVEVSX09QLCAweDU2LCAm cmV0KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwgSkJUX1JFR19CT09TVEVSX01PREUsIDB4 MzMsICZyZXQpOwo+ID4gKwlqYnRfcmVnX3dyaXRlXzEobGNkLCBKQlRfUkVHX0JPT1NURVJfRlJF USwgMHgxMSwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfQk9PU1RF Ul9GUkVRLCAweDExLCAmcmV0KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwgSkJUX1JFR19P UEFNUF9TWVNDTEssIDB4MDIsICZyZXQpOwo+ID4gKwlqYnRfcmVnX3dyaXRlXzEobGNkLCBKQlRf UkVHX1ZTQ19WT0xUQUdFLCAweDJiLCAmcmV0KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwg SkJUX1JFR19WQ09NX1ZPTFRBR0UsIDB4NDAsICZyZXQpOwo+ID4gKwlqYnRfcmVnX3dyaXRlXzEo bGNkLCBKQlRfUkVHX0VYVF9ESVNQTCwgMHgwMywgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVf MShsY2QsIEpCVF9SRUdfRENDTEtfRENFViwgMHgwNCwgJnJldCk7Cj4gPiArCS8qCj4gPiArCSAq IGRlZmF1bHQgb2YgMHgwMiBpbiBKQlRfUkVHX0FTV19TTEVXIHJlc3BvbnNpYmxlIGZvciA3Mkh6 IHJlcXVpcmVtZW50Cj4gPiArCSAqIHRvIGF2b2lkIHJlZCAvIGJsdWUgZmxpY2tlcgo+ID4gKwkg Ki8KPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwgSkJUX1JFR19BU1dfU0xFVywgMHgwNCwgJnJl dCk7Cj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfRFVNTVlfRElTUExBWSwgMHgw MCwgJnJldCk7Cj4gPiArCj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfU0xFRVBf T1VUX0ZSX0EsIDB4MTEsICZyZXQpOwo+ID4gKwlqYnRfcmVnX3dyaXRlXzEobGNkLCBKQlRfUkVH X1NMRUVQX09VVF9GUl9CLCAweDExLCAmcmV0KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwg SkJUX1JFR19TTEVFUF9PVVRfRlJfQywgMHgxMSwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVf MihsY2QsIEpCVF9SRUdfU0xFRVBfSU5fTENDTlRfRCwgMHgyMDQwLCAmcmV0KTsKPiA+ICsJamJ0 X3JlZ193cml0ZV8yKGxjZCwgSkJUX1JFR19TTEVFUF9JTl9MQ0NOVF9FLCAweDYwYzAsICZyZXQp Owo+ID4gKwlqYnRfcmVnX3dyaXRlXzIobGNkLCBKQlRfUkVHX1NMRUVQX0lOX0xDQ05UX0YsIDB4 MTAyMCwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVfMihsY2QsIEpCVF9SRUdfU0xFRVBfSU5f TENDTlRfRywgMHg2MGMwLCAmcmV0KTsKPiA+ICsKPiA+ICsJamJ0X3JlZ193cml0ZV8yKGxjZCwg SkJUX1JFR19HQU1NQTFfRklORV8xLCAweDU1MzMsICZyZXQpOwo+ID4gKwlqYnRfcmVnX3dyaXRl XzEobGNkLCBKQlRfUkVHX0dBTU1BMV9GSU5FXzIsIDB4MDAsICZyZXQpOwo+ID4gKwlqYnRfcmVn X3dyaXRlXzEobGNkLCBKQlRfUkVHX0dBTU1BMV9JTkNMSU5BVElPTiwgMHgwMCwgJnJldCk7Cj4g PiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfR0FNTUExX0JMVUVfT0ZGU0VULCAweDAw LCAmcmV0KTsKPiA+ICsKPiA+ICsJamJ0X3JlZ193cml0ZV8yKGxjZCwgSkJUX1JFR19IQ0xPQ0tf VkdBLCAweDFmMCwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVfMShsY2QsIEpCVF9SRUdfQkxB TktfQ09OVFJPTCwgMHgwMiwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3JpdGVfMihsY2QsIEpCVF9S RUdfQkxBTktfVEhfVFYsIDB4MDgwNCwgJnJldCk7Cj4gPiArCj4gPiArCWpidF9yZWdfd3JpdGVf MShsY2QsIEpCVF9SRUdfQ0tWX09OX09GRiwgMHgwMSwgJnJldCk7Cj4gPiArCWpidF9yZWdfd3Jp dGVfMihsY2QsIEpCVF9SRUdfQ0tWXzFfMiwgMHgwMDAwLCAmcmV0KTsKPiA+ICsKPiA+ICsJamJ0 X3JlZ193cml0ZV8yKGxjZCwgSkJUX1JFR19PRVZfVElNSU5HLCAweDBkMGUsICZyZXQpOwo+ID4g KwlqYnRfcmVnX3dyaXRlXzIobGNkLCBKQlRfUkVHX0FTV19USU1JTkdfMSwgMHgxMWE0LCAmcmV0 KTsKPiA+ICsJamJ0X3JlZ193cml0ZV8xKGxjZCwgSkJUX1JFR19BU1dfVElNSU5HXzIsIDB4MGUs ICZyZXQpOwo+ID4gKwo+ID4gKwlqYnRfcmV0X3dyaXRlXzAobGNkLCBKQlRfUkVHX0RJU1BMQVlf T04sICZyZXQpOwo+ID4gKwo+ID4gKwlpZiAocmV0KQo+ID4gKwkJcmV0dXJuIHJldDsKPiA+ICsK PiA+ICsJYmFja2xpZ2h0X2VuYWJsZShsY2QtPmJhY2tsaWdodCk7Cj4gPiArCj4gPiArCXJldHVy biAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgdGQwMjh0dGVjMV9tb2RlID0gewo+ID4gKwkuY2xvY2sgPSAyMjE1MywKPiA+ICsJLmhkaXNw bGF5ID0gNDgwLAo+ID4gKwkuaHN5bmNfc3RhcnQgPSA0ODAgKyAyNCwKPiA+ICsJLmhzeW5jX2Vu ZCA9IDQ4MCArIDI0ICsgOCwKPiA+ICsJLmh0b3RhbCA9IDQ4MCArIDI0ICsgOCArIDgsCj4gPiAr CS52ZGlzcGxheSA9IDY0MCwKPiA+ICsJLnZzeW5jX3N0YXJ0ID0gNjQwICsgNCwKPiA+ICsJLnZz eW5jX2VuZCA9IDY0MCArIDQgKyAyLAo+ID4gKwkudnRvdGFsID0gNjQwICsgNCArIDIgKyAyLAo+ ID4gKwkudnJlZnJlc2ggPSA2NiwKPiA+ICsJLnR5cGUgPSBEUk1fTU9ERV9UWVBFX0RSSVZFUiB8 IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVELAo+ID4gKwkuZmxhZ3MgPSBEUk1fTU9ERV9GTEFHX05I U1lOQyB8IERSTV9NT0RFX0ZMQUdfTlZTWU5DLAo+ID4gK307Cj4gCj4gQWRkIHdpZHRoX21tICsg aGVpZ2h0X21tLgo+IAo+ID4gK3N0YXRpYyBpbnQgdGQwMjh0dGVjMV9yZW1vdmUoc3RydWN0IHNw aV9kZXZpY2UgKnNwaSkKPiA+ICt7Cj4gPiArCXN0cnVjdCB0ZDAyOHR0ZWMxX2RldmljZSAqbGNk ID0gc3BpX2dldF9kcnZkYXRhKHNwaSk7Cj4gPiArCj4gPiArCWRybV9wYW5lbF9yZW1vdmUoJmxj ZC0+cGFuZWwpOwo+ID4gKwl0ZDAyOHR0ZWMxX2Rpc2FibGUoJmxjZC0+cGFuZWwpOwo+IAo+IFVz ZSBkcm1fcGFuZWxfZGlzYWJsZSgpOwo+IAo+ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4g PiArCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdGQwMjh0dGVjMV9vZl9t YXRjaFtdID0gewo+ID4gKwl7IC5jb21wYXRpYmxlID0gInRwbyx0ZDAyOHR0ZWMxIiwgfSwKPiA+ ICsJLyogRFQgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gKi8KPiA+ICsJeyAuY29tcGF0aWJsZSA9 ICJ0b3Bwb2x5LHRkMDI4dHRlYzEiLCB9LAo+ID4gKwl7fSwKPiAKPiB7IC8qIHNlbnRpbmVsICov IH0sCj4gCj4gV2l0aCB0aGUgYWJvdmUgbml0cyBmaXhlZC9jb25zaWRlcmVkOgo+IFJldmlld2Vk LWJ5OiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+Cj4gCj4gCVNhbQoKLS0gClJlZ2Fy ZHMsCgpMYXVyZW50IFBpbmNoYXJ0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==