From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v10 12/13] drm/mediatek: update DSI sub driver flow for sending commands to panel Date: Wed, 30 Nov 2016 15:58:48 +0800 Message-ID: <1480492728.32217.20.camel@mtksdaap41> References: <1480070076-6196-1-git-send-email-yt.shen@mediatek.com> <1480070076-6196-13-git-send-email-yt.shen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by gabe.freedesktop.org (Postfix) with ESMTP id 1BDE56E1D9 for ; Wed, 30 Nov 2016 07:58:54 +0000 (UTC) In-Reply-To: <1480070076-6196-13-git-send-email-yt.shen@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: YT Shen Cc: Daniel Vetter , Jie Qiu , Mao Huang , yingjoe.chen@mediatek.com, Dan Carpenter , Jitao Shi , Sascha Hauer , linux-mediatek@lists.infradead.org, dri-devel@lists.freedesktop.org, Matthias Brugger , shaoming chen , linux-arm-kernel@lists.infradead.org, srv_heupstream@mediatek.com, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Maxime Ripard List-Id: dri-devel@lists.freedesktop.org SGksIFlUOgoKc29tZSBjb21tZW50cyBpbmxpbmUuCgpPbiBGcmksIDIwMTYtMTEtMjUgYXQgMTg6 MzQgKzA4MDAsIFlUIFNoZW4gd3JvdGU6Cj4gVGhpcyBwYXRjaCB1cGRhdGUgZW5hYmxlL2Rpc2Fi bGUgZmxvdyBvZiBEU0kgbW9kdWxlLgo+IE9yaWdpbmFsIGZsb3cgd29ya3Mgb24gdGhlcmUgaXMg YSBicmlkZ2UgY2hpcDogRFNJIC0+IGJyaWRnZSAtPiBwYW5lbC4KPiBJbiB0aGlzIGNhc2U6IERT SSAtPiBwYW5lbCwgdGhlIERTSSBzdWIgZHJpdmVyIGZsb3cgc2hvdWxkIGJlIHVwZGF0ZWQuCj4g V2UgbmVlZCB0byBpbml0aWFsaXplIERTSSBmaXJzdCBzbyB0aGF0IHdlIGNhbiBzZW5kIGNvbW1h bmRzIHRvIHBhbmVsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IHNoYW9taW5nIGNoZW4gPHNoYW9taW5n LmNoZW5AbWVkaWF0ZWsuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFlUIFNoZW4gPHl0LnNoZW5AbWVk aWF0ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jIHwg MTAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDgwIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kc2kuYwo+IGluZGV4IGRlZDQyMDIuLjA1NjlmMmUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHNpLmMKPiBAQCAtMTI2LDYgKzEyNiwxMCBAQAo+ICAjZGVmaW5lIENMS19I U19QT1NUCQkJKDB4ZmYgPDwgOCkKPiAgI2RlZmluZSBDTEtfSFNfRVhJVAkJCSgweGZmIDw8IDE2 KQo+ICAKPiArI2RlZmluZSBEU0lfVk1fQ01EX0NPTgkJMHgxMzAKPiArI2RlZmluZSBWTV9DTURf RU4JCQlCSVQoMCkKPiArI2RlZmluZSBUU19WRlBfRU4JCQlCSVQoNSkKPiArCj4gICNkZWZpbmUg RFNJX0NNRFEwCQkweDE4MAo+ICAjZGVmaW5lIENPTkZJRwkJCQkoMHhmZiA8PCAwKQo+ICAjZGVm aW5lIFNIT1JUX1BBQ0tFVAkJCTAKPiBAQCAtMjQ5LDcgKzI1Myw5IEBAIHN0YXRpYyBpbnQgbXRr X2RzaV9wb3dlcm9uKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gIAkgKiBtaXBpX3JhdGlvIGlzIG1p cGkgY2xrIGNvZWZmaWNpZW50IGZvciBiYWxhbmNlIHRoZSBwaXhlbCBjbGsgaW4gbWlwaS4KPiAg CSAqIHdlIHNldCBtaXBpX3JhdGlvIGlzIDEuMDUuCj4gIAkgKi8KPiAtCWRzaS0+ZGF0YV9yYXRl ID0gZHNpLT52bS5waXhlbGNsb2NrICogMyAqIDIxIC8gKDEgKiAxMDAwICogMTApOwo+ICsJZHNp LT5kYXRhX3JhdGUgPSBkc2ktPnZtLnBpeGVsY2xvY2sgKiAxMiAqIDIxOwo+ICsJZHNpLT5kYXRh X3JhdGUgLz0gKGRzaS0+bGFuZXMgKiAxMDAwICogMTApOwoKVGhpcyBsb29rcyBsaWtlIGEgYnVn IGZpeCB0aGF0IHVzZSBsYW5lcyB0byBjYWxjdWxhdGUgZGF0YSByYXRlLgoKPiArCURSTV9ERUJV R19EUklWRVIoInNldCBtaXBpdHgncyBkYXRhIHJhdGU6ICVkTUh6XG4iLCBkc2ktPmRhdGFfcmF0 ZSk7Cj4gIAo+ICAJcmV0ID0gY2xrX3NldF9yYXRlKGRzaS0+aHNfY2xrLCBkc2ktPmRhdGFfcmF0 ZSAqIDEwMDAwMDApOwo+ICAJaWYgKHJldCA8IDApIHsKPiBAQCAtMzMzLDE2ICszMzksMjMgQEAg c3RhdGljIHZvaWQgbXRrX2RzaV9zZXRfbW9kZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQo+ICAJdTMy IHZpZF9tb2RlID0gQ01EX01PREU7Cj4gIAo+ICAJaWYgKGRzaS0+bW9kZV9mbGFncyAmIE1JUElf RFNJX01PREVfVklERU8pIHsKPiAtCQl2aWRfbW9kZSA9IFNZTkNfUFVMU0VfTU9ERTsKPiAtCj4g LQkJaWYgKChkc2ktPm1vZGVfZmxhZ3MgJiBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUKSAmJgo+ IC0JCSAgICAhKGRzaS0+bW9kZV9mbGFncyAmIE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxT RSkpCj4gKwkJaWYgKGRzaS0+bW9kZV9mbGFncyAmIE1JUElfRFNJX01PREVfVklERU9fQlVSU1Qp Cj4gIAkJCXZpZF9tb2RlID0gQlVSU1RfTU9ERTsKPiArCQllbHNlIGlmIChkc2ktPm1vZGVfZmxh Z3MgJiBNSVBJX0RTSV9NT0RFX1ZJREVPX1NZTkNfUFVMU0UpCj4gKwkJCXZpZF9tb2RlID0gU1lO Q19QVUxTRV9NT0RFOwo+ICsJCWVsc2UKPiArCQkJdmlkX21vZGUgPSBTWU5DX0VWRU5UX01PREU7 Cj4gIAl9Cj4gIAo+ICAJd3JpdGVsKHZpZF9tb2RlLCBkc2ktPnJlZ3MgKyBEU0lfTU9ERV9DVFJM KTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgbXRrX2RzaV9zZXRfdm1fY21kKHN0cnVjdCBtdGtf ZHNpICpkc2kpCj4gK3sKPiArCW10a19kc2lfbWFzayhkc2ksIERTSV9WTV9DTURfQ09OLCBWTV9D TURfRU4sIFZNX0NNRF9FTik7Cj4gKwltdGtfZHNpX21hc2soZHNpLCBEU0lfVk1fQ01EX0NPTiwg VFNfVkZQX0VOLCBUU19WRlBfRU4pOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBtdGtfZHNpX3Bz X2NvbnRyb2xfdmFjdChzdHJ1Y3QgbXRrX2RzaSAqZHNpKQo+ICB7Cj4gIAlzdHJ1Y3QgdmlkZW9t b2RlICp2bSA9ICZkc2ktPnZtOwo+IEBAIC00ODAsNiArNDkzLDE2IEBAIHN0YXRpYyB2b2lkIG10 a19kc2lfc3RhcnQoc3RydWN0IG10a19kc2kgKmRzaSkKPiAgCXdyaXRlbCgxLCBkc2ktPnJlZ3Mg KyBEU0lfU1RBUlQpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBtdGtfZHNpX3N0b3Aoc3RydWN0 IG10a19kc2kgKmRzaSkKPiArewo+ICsJd3JpdGVsKDAsIGRzaS0+cmVncyArIERTSV9TVEFSVCk7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIG10a19kc2lfc2V0X2NtZF9tb2RlKHN0cnVjdCBtdGtf ZHNpICpkc2kpCj4gK3sKPiArCXdyaXRlbChDTURfTU9ERSwgZHNpLT5yZWdzICsgRFNJX01PREVf Q1RSTCk7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIG10a19kc2lfc2V0X2ludGVycnVwdF9lbmFi bGUoc3RydWN0IG10a19kc2kgKmRzaSkKPiAgewo+ICAJdTMyIGludGVuID0gTFBSWF9SRF9SRFlf SU5UX0ZMQUcgfCBDTURfRE9ORV9JTlRfRkxBRyB8IFZNX0RPTkVfSU5UX0ZMQUc7Cj4gQEAgLTUz OCw2ICs1NjEsMTkgQEAgc3RhdGljIGlycXJldHVybl90IG10a19kc2lfaXJxKGludCBpcnEsIHZv aWQgKmRldl9pZCkKPiAgCXJldHVybiBJUlFfSEFORExFRDsKPiAgfQo+ICAKPiArc3RhdGljIHMz MiBtdGtfZHNpX3N3aXRjaF90b19jbWRfbW9kZShzdHJ1Y3QgbXRrX2RzaSAqZHNpLCB1OCBpcnFf ZmxhZywgdTMyIHQpCj4gK3sKPiArCW10a19kc2lfaXJxX2RhdGFfY2xlYXIoZHNpLCBpcnFfZmxh Zyk7Cj4gKwltdGtfZHNpX3NldF9jbWRfbW9kZShkc2kpOwo+ICsKPiArCWlmICghbXRrX2RzaV93 YWl0X2Zvcl9pcnFfZG9uZShkc2ksIGlycV9mbGFnLCB0KSkgewo+ICsJCURSTV9FUlJPUigiZmFp bGVkIHRvIHN3aXRjaCBjbWQgbW9kZVxuIik7Cj4gKwkJcmV0dXJuIC1FVElNRTsKPiArCX0gZWxz ZSB7Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIG10a19kc2lf cG93ZXJvZmYoc3RydWN0IG10a19kc2kgKmRzaSkKPiAgewo+ICAJaWYgKFdBUk5fT04oZHNpLT5y ZWZjb3VudCA9PSAwKSkKPiBAQCAtNTQ2LDExICs1ODIsNiBAQCBzdGF0aWMgdm9pZCBtdGtfZHNp X3Bvd2Vyb2ZmKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gIAlpZiAoLS1kc2ktPnJlZmNvdW50ICE9 IDApCj4gIAkJcmV0dXJuOwo+ICAKPiAtCW10a19kc2lfbGFuZTBfdWxwX21vZGVfZW50ZXIoZHNp KTsKPiAtCW10a19kc2lfY2xrX3VscF9tb2RlX2VudGVyKGRzaSk7Cj4gLQo+IC0JbXRrX2RzaV9k aXNhYmxlKGRzaSk7Cj4gLQo+ICAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRzaS0+ZW5naW5lX2Ns ayk7Cj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5kaWdpdGFsX2Nsayk7Cj4gIAo+IEBA IC01NjQsMTMgKzU5NSw2IEBAIHN0YXRpYyB2b2lkIG10a19vdXRwdXRfZHNpX2VuYWJsZShzdHJ1 Y3QgbXRrX2RzaSAqZHNpKQo+ICAJaWYgKGRzaS0+ZW5hYmxlZCkKPiAgCQlyZXR1cm47Cj4gIAo+ IC0JaWYgKGRzaS0+cGFuZWwpIHsKPiAtCQlpZiAoZHJtX3BhbmVsX3ByZXBhcmUoZHNpLT5wYW5l bCkpIHsKPiAtCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgdGhlIHBhbmVsXG4iKTsKPiAt CQkJcmV0dXJuOwo+IC0JCX0KPiAtCX0KPiAtCj4gIAlyZXQgPSBtdGtfZHNpX3Bvd2Vyb24oZHNp KTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcG93ZXIgb24g ZHNpXG4iKTsKPiBAQCAtNTc4LDIxICs2MDIsNDMgQEAgc3RhdGljIHZvaWQgbXRrX291dHB1dF9k c2lfZW5hYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gIAl9Cj4gIAo+ICAJbXRrX2RzaV9yeHR4 X2NvbnRyb2woZHNpKTsKPiArCW10a19kc2lfcHNfY29udHJvbF92YWN0KGRzaSk7Cj4gKwltdGtf ZHNpX3NldF92bV9jbWQoZHNpKTsKCkV2ZW4gdGhvdWdoIGRzaSBkb2VzIG5vdCBkaXJlY3RseSBj b25uZWN0IHRvIHBhbmVsLCB5b3UgbmV3bHkgc2V0IHZtIGNtZApoZXJlLiBUaGlzIGxvb2tzIGxp a2UgYSBidWcgZml4LgoKPiArCW10a19kc2lfY29uZmlnX3Zkb190aW1pbmcoZHNpKTsKPiArCW10 a19kc2lfc2V0X2ludGVycnVwdF9lbmFibGUoZHNpKTsKPiAgCj4gIAltdGtfZHNpX2Nsa191bHBf bW9kZV9sZWF2ZShkc2kpOwo+ICAJbXRrX2RzaV9sYW5lMF91bHBfbW9kZV9sZWF2ZShkc2kpOwo+ ICAJbXRrX2RzaV9jbGtfaHNfbW9kZShkc2ksIDApOwo+IC0JbXRrX2RzaV9zZXRfbW9kZShkc2kp Owo+ICAKPiAtCW10a19kc2lfcHNfY29udHJvbF92YWN0KGRzaSk7Cj4gLQltdGtfZHNpX2NvbmZp Z192ZG9fdGltaW5nKGRzaSk7Cj4gLQltdGtfZHNpX3NldF9pbnRlcnJ1cHRfZW5hYmxlKGRzaSk7 Cj4gKwlpZiAoZHNpLT5wYW5lbCkgewo+ICsJCWlmIChkcm1fcGFuZWxfcHJlcGFyZShkc2ktPnBh bmVsKSkgewo+ICsJCQlEUk1fRVJST1IoImZhaWxlZCB0byBwcmVwYXJlIHRoZSBwYW5lbFxuIik7 Cj4gKwo+ICsJCQltdGtfZHNpX3N0b3AoZHNpKTsKCllvdSBuZXZlciBzdGFydCBkc2kgYmVmb3Jl IGhlcmUsIHdoeSBkbyB5b3Ugc3RvcCBkc2kgaGVyZT8KCj4gKwkJCW10a19kc2lfcG93ZXJvZmYo ZHNpKTsKClJlZmVyIHRvIG5leHQgY29tbWVudCwgeW91IG1heSBnb3RvIHVuZG8gaXRlbSBpbiBi b3R0b20gb2YgdGhpcwpmdW5jdGlvbi4KCj4gKwkJCXJldHVybjsKPiArCQl9Cj4gKwl9Cj4gIAo+ ICAJbXRrX2RzaV9zZXRfbW9kZShkc2kpOwo+ICAJbXRrX2RzaV9jbGtfaHNfbW9kZShkc2ksIDEp Owo+ICAKPiAgCW10a19kc2lfc3RhcnQoZHNpKTsKPiAgCj4gKwlpZiAoZHNpLT5wYW5lbCkgewo+ ICsJCWlmIChkcm1fcGFuZWxfZW5hYmxlKGRzaS0+cGFuZWwpKSB7Cj4gKwkJCURSTV9FUlJPUigi ZmFpbGVkIHRvIGVuYWJsZSB0aGUgcGFuZWxcbiIpOwo+ICsKPiArCQkJaWYgKGRybV9wYW5lbF91 bnByZXBhcmUoZHNpLT5wYW5lbCkpCj4gKwkJCQlEUk1fRVJST1IoImZhaWxlZCB0byB1bnByZXBh cmUgdGhlIHBhbmVsXG4iKTsKPiArCj4gKwkJCW10a19kc2lfc3RvcChkc2kpOwoKSSB0aGluayB5 b3Ugc2hvdWxkIHN0b3AgZHNpIGJlZm9yZSBwYW5lbCB1bnByZXBhcmUuIE90aGVyd2lzZSwgd2h5 IG5vdAptb3ZlIHRoZXNlIHVuZG8gaXRlbSB0byB0aGUgYm90dG9tIG9mIHRoaXMgZnVuY3Rpb24u IEZvciBleGFtcGxlOgoKCQlpZiAoZHJtX3BhbmVsX2VuYWJsZShkc2ktPnBhbmVsKSkgewoJCQlE Uk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgdGhlIHBhbmVsXG4iKTsKCQkJZ290byBzdG9wX2Rz aTsKCi4uLgoKCWRzaS0+ZW5hYmxlZCA9IHRydWU7CglyZXR1cm47CgpzdG9wX2RzaToKCW10a19k c2lfc3RvcChkc2kpOwoJaWYgKGRybV9wYW5lbF91bnByZXBhcmUoZHNpLT5wYW5lbCkpCgkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gdW5wcmVwYXJlIHRoZSBwYW5lbFxuIik7CnBvd2Vyb2ZmX2RzaToK CW10a19kc2lfcG93ZXJvZmYoZHNpKTsKCXJldHVybjsKCj4gKwkJCW10a19kc2lfcG93ZXJvZmYo ZHNpKTsKPiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCX0KPiArCj4gIAlkc2ktPmVuYWJsZWQgPSB0 cnVlOwo+ICB9Cj4gIAo+IEBAIC02MDgsNiArNjU0LDE5IEBAIHN0YXRpYyB2b2lkIG10a19vdXRw dXRfZHNpX2Rpc2FibGUoc3RydWN0IG10a19kc2kgKmRzaSkKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJ bXRrX2RzaV9zdG9wKGRzaSk7CgpFdmVuIHRob3VnaCBkc2kgZG9lcyBub3QgZGlyZWN0bHkgY29u bmVjdCB0byBwYW5lbCwgeW91IG5ld2x5IHN0b3AgZHNpCmhlcmUuIFRoaXMgbG9va3MgbGlrZSBh IGJ1ZyBmaXguCgo+ICsJaWYgKCFtdGtfZHNpX3N3aXRjaF90b19jbWRfbW9kZShkc2ksIFZNX0RP TkVfSU5UX0ZMQUcsIDUwMCkpIHsKCmRpdHRvLgoKPiArCQlpZiAoZHNpLT5wYW5lbCkgewo+ICsJ CQlpZiAoZHJtX3BhbmVsX3VucHJlcGFyZShkc2ktPnBhbmVsKSkKPiArCQkJCURSTV9FUlJPUigi ZmFpbGVkIHRvIHVucHJlcGFyZSB0aGUgcGFuZWxcbiIpOwo+ICsJCX0KPiArCX0KPiArCj4gKwlt dGtfZHNpX3Jlc2V0X2VuZ2luZShkc2kpOwoKZGl0dG8uCgo+ICsJbXRrX2RzaV9sYW5lMF91bHBf bW9kZV9lbnRlcihkc2kpOwo+ICsJbXRrX2RzaV9jbGtfdWxwX21vZGVfZW50ZXIoZHNpKTsKPiAr CW10a19kc2lfZGlzYWJsZShkc2kpOwo+ICsKPiAgCW10a19kc2lfcG93ZXJvZmYoZHNpKTsKPiAg Cj4gIAlkc2ktPmVuYWJsZWQgPSBmYWxzZTsKClJlZ2FyZHMsCkNLCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK