From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH v9 03/14] drm/mediatek: Add DSI sub driver
Date: Wed, 03 Feb 2016 12:01:44 +0100
Message-ID: <1454497304.3867.1.camel@pengutronix.de>
References: <1452611750-16283-1-git-send-email-p.zabel@pengutronix.de>
<1452611750-16283-4-git-send-email-p.zabel@pengutronix.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: Daniel Kurtz , CK Hu
Cc: Mark Rutland , Michael Turquette , dri-devel , Jie Qiu , Cawa Cheng , YT Shen , Yingjoe Chen , "open
list:OPEN FIRMWARE AND..." , Jitao Shi , Sasha Hauer , Pawel Moll , Ian Campbell , Rob Herring , "moderated list:ARM/Mediatek SoC support" , Matthias Brugger , Paul Bolle , Stephen Boyd , Tomasz Figa , Kumar Gala
List-Id: devicetree@vger.kernel.org
SGkgRGFuaWVsLAoKQW0gRGllbnN0YWcsIGRlbiAwMi4wMi4yMDE2LCAyMTozMiArMDgwMCBzY2hy
aWViIERhbmllbCBLdXJ0ejoKPiBIaSBQaGlsaXBwLAo+IAo+IEkgcmFuIGludG8gc29tZSBpc3N1
ZXMgd2hlbiB0cnlpbmcgdG8gYnJpbmcgdXAganVzdCB0aGUgRFNJIHBhdGggb2YKPiB0aGUgTWVk
aWF0ZWsgRFJNIGRyaXZlci4KPiBUaGluZ3Mgd2VyZSBmYWlsaW5nIGluIHByb2JlL2JpbmQgdGhh
dCB0cmlnZ2VyZWQgc29tZSBvb3BzZXMgaW4gdGhlCj4gdW5iaW5kL2Vycm9yIHBhdGhzLgo+IFRo
aXMgcmVzdWx0ZWQgaW4gdGhlIGZvbGxvd2luZyByZXZpZXcgb2YgdGhlIGRzaSBwYXRjaC4uLgo+
IAo+IE9uIFR1ZSwgSmFuIDEyLCAyMDE2IGF0IDExOjE1IFBNLCBQaGlsaXBwIFphYmVsIDxwLnph
YmVsQHBlbmd1dHJvbml4LmRlPiB3cm90ZToKPiA+IEZyb206IENLIEh1IDxjay5odUBtZWRpYXRl
ay5jb20+Cj4gPgo+ID4gVGhpcyBwYXRjaCBhZGQgYSBkcm0gZW5jb2Rlci9jb25uZWN0b3IgZHJp
dmVyIGZvciB0aGUgTUlQSSBEU0kgZnVuY3Rpb24KPiA+IGJsb2NrIG9mIHRoZSBNZWRpYXRlayBk
aXNwbGF5IHN1YnN5c3RlbSBhbmQgYSBwaHkgZHJpdmVyIGZvciB0aGUgTUlQSSBUWAo+ID4gRC1Q
SFkgY29udHJvbCBtb2R1bGUuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogSml0YW8gU2hpIDxqaXRh
by5zaGlAbWVkaWF0ZWsuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcCBaYWJlbCA8cC56
YWJlbEBwZW5ndXRyb25peC5kZT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRl
ay9LY29uZmlnICAgICAgIHwgICAzICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFr
ZWZpbGUgICAgICB8ICAgNCArLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt
X2Rydi5jIHwgICAyICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYu
aCB8ICAgMiArCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgfCA4
NDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJt
L21lZGlhdGVrL210a19kc2kuaCAgICAgfCAgNTggKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL21l
ZGlhdGVrL210a19taXBpX3R4LmMgfCA0ODcgKysrKysrKysrKysrKysrKysrKwo+ID4gIDcgZmls
ZXMgY2hhbmdlZCwgMTQwMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAgY3JlYXRl
IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKPiA+ICBjcmVh
dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuaAo+ID4gIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguYwo+
ID4KWy4uLl0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rz
aS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwo+ID4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAuLjZhYjVhMzEKPiA+IC0tLSAvZGV2L251bGwKPiA+
ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKWy4uLl0KPiA+ICsjZGVm
aW5lIERTSV9QSFlfVElNRUNPTjMgICAgICAgMHgxMWMKPiA+ICsjZGVmaW5lIENMS19IU19QUlBS
ICAgICAgICAgICAgICAgICAgICAoMHhmZiA8PCAwKQo+ID4gKyNkZWZpbmUgQ0xLX0hTX1BPU1Qg
ICAgICAgICAgICAgICAgICAgICgweGZmIDw8IDgpCj4gPiArI2RlZmluZSBDTEtfSFNfRVhJVCAg
ICAgICAgICAgICAgICAgICAgKDB4ZmYgPDwgMTYpCj4gPiArCj4gPiArI2RlZmluZSBOU19UT19D
WUNMRShuLCBjKSAgICAoKG4pIC8gYyArICgoKG4pICUgYykgPyAxIDogMCkpCj4gCj4gKCkgYXJv
dW5kIGVhY2ggb2YgdGhlIHR3byAnYycgaW4gdGhlIG1hY3JvLgoKT2suCgpbLi4uXQo+ID4gK3N0
YXRpYyBpbnQgbXRrX2RzaV9wb3dlcm9uKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gPiArewo+ID4g
KyAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSBkc2ktPmRldjsKPiA+ICsgICAgICAgaW50IHJl
dDsKPiA+ICsKPiA+ICsgICAgICAgaWYgKCsrZHNpLT5yZWZjb3VudCAhPSAxKQo+ID4gKyAgICAg
ICAgICAgICAgIHJldHVybiAwOwo+ID4gKwo+ID4gKyAgICAgICAvKioKPiA+ICsgICAgICAgICog
ZGF0YV9yYXRlID0gKHBpeGVsX2Nsb2NrIC8gMTAwMCkgKiBwaXhlbF9kaXB0aCAqIG1pcGlfcmF0
aW87Cj4gPiArICAgICAgICAqIHBpeGVsX2Nsb2NrIHVuaXQgaXMgS2h6LCBkYXRhX3JhdGEgdW5p
dCBpcyBNSHosIHNvIG5lZWQgZGl2aWRlIDEwMDAuCj4gPiArICAgICAgICAqIG1pcGlfcmF0aW8g
aXMgbWlwaSBjbGsgY29lZmZpY2llbnQgZm9yIGJhbGFuY2UgdGhlIHBpeGVsIGNsayBpbiBtaXBp
Lgo+ID4gKyAgICAgICAgKiB3ZSBzZXQgbWlwaV9yYXRpbyBpcyAxLjA1Lgo+ID4gKyAgICAgICAg
Ki8KPiA+ICsgICAgICAgZHNpLT5kYXRhX3JhdGUgPSBkc2ktPnZtLnBpeGVsY2xvY2sgKiAzICog
MjEgLyAoMSAqIDEwMDAgKiAxMCk7Cj4gPiArCj4gPiArICAgICAgIHJldCA9IGNsa19zZXRfcmF0
ZShkc2ktPmhzX2NsaywgZHNpLT5kYXRhX3JhdGUgKiAxMDAwMDAwKTsKPiA+ICsgICAgICAgaWYg
KHJldCA8IDApCj4gPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGYWlsZWQgdG8gc2V0
IGRhdGEgcmF0ZTogJWRcbiIsIHJldCk7Cj4gCj4gU2hvdWxkIHdlIGVycm9yIG91dCBoZXJlPwoK
UHJvYmFibHkgeWVzLiBBdCBsZWFzdCB3ZSBzaG91bGQgY2hlY2sgY2xrX2dldF9yYXRlIGJlZm9y
ZSB3ZSB0cnkgdG8gZ28KYWhlYWQgYW55d2F5LiBJJ2xsIHJldHVybiB0aGUgZXJyb3IgaGVyZS4K
Cj4gPiArc3RhdGljIHZvaWQgbXRrX291dHB1dF9kc2lfZGlzYWJsZShzdHJ1Y3QgbXRrX2RzaSAq
ZHNpKQo+ID4gK3sKPiA+ICsgICAgICAgaWYgKCFkc2ktPmVuYWJsZWQpCj4gPiArICAgICAgICAg
ICAgICAgcmV0dXJuOwo+ID4gKwo+ID4gKyAgICAgICBpZiAoZHNpLT5wYW5lbCkgewo+ID4gKyAg
ICAgICAgICAgICAgIGlmIChkcm1fcGFuZWxfZGlzYWJsZShkc2ktPnBhbmVsKSkgewo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJmYWlsZWQgdG8gZGlzYWJsZSB0aGUgcGFu
ZWxcbiIpOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gKyAgICAgICAg
ICAgICAgIH0KPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICBtdGtfZHNpX3Bvd2Vyb2Zm
KGRzaSk7Cj4gCj4gVGhlIG9yZGVyIGlzIGEgYml0IHN1c3BpY2lvdXMgaGVyZTsgSSB3b3VsZCBl
eHBlY3QgdG8gcG93ZXJvZmYgZHNpCj4gYmVmb3JlIHRoZSBwYW5lbCB0byBtaXJyb3IgdGhlIHR1
cm4gb24gb3JkZXIuCgpDSywgY291bGQgeW91IGNvbW1lbnQgb24gdGhpcz8KCkkgY2FuIHJlb3Jk
ZXIgdGhpcywgYnV0IEknbSBub3Qgc3VyZSBhYm91dCB0aGUgcmVhc29uaW5nICh3aGF0IGhhcHBl
bnMKaGFyZHdhcmUgd2lzZSBpZiB3ZSBqdXN0IGN1dCBwYW5lbCBwb3dlciB2cy4gaWYgdGhlIERT
SSBwYW5lbCBmaXJzdCBzZWVzCnRoZSBVTFAgdHJhbnNpdGlvbikuIEZ1cnRoZXIsIEkgZG9uJ3Qg
aGF2ZSBhIHBhbmVsIHRvIHRlc3QsIGp1c3QgdGhlClBTODY0MC4KCj4gPiArCj4gPiArICAgICAg
IGRzaS0+ZW5hYmxlZCA9IGZhbHNlOwo+ID4gK30KWy4uLl0KPiA+ICtzdGF0aWMgaW50IG10a19k
cm1fYXR0YWNoX2xjbV9icmlkZ2Uoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAKPiBXaGF0
IGlzICJsY20iPwoKTm8gaWRlYSwgSSdsbCBkcm9wIGl0LgoKPiA+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiArewo+
ID4gKyAgICAgICBpbnQgcmV0Owo+ID4gKwo+ID4gKyAgICAgICBlbmNvZGVyLT5icmlkZ2UgPSBi
cmlkZ2U7Cj4gPiArICAgICAgIGJyaWRnZS0+ZW5jb2RlciA9IGVuY29kZXI7Cj4gPiArICAgICAg
IHJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXItPmRldiwgYnJpZGdlKTsKPiA+ICsgICAg
ICAgaWYgKHJldCkgewo+ID4gKyAgICAgICAgICAgICAgIERSTV9FUlJPUigiRmFpbGVkIHRvIGF0
dGFjaCBicmlkZ2UgdG8gZHJtXG4iKTsKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+
ID4gKyAgICAgICB9Cj4gPiArCj4gPiArICAgICAgIHJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+
ICtzdGF0aWMgaW50IG10a19kc2lfY3JlYXRlX2Nvbm5fZW5jKHN0cnVjdCBkcm1fZGV2aWNlICpk
cm0sIHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gPiArewo+ID4gKyAgICAgICBpbnQgcmV0Owo+ID4g
Kwo+ID4gKyAgICAgICByZXQgPSBkcm1fZW5jb2Rlcl9pbml0KGRybSwgJmRzaS0+ZW5jb2Rlciwg
Jm10a19kc2lfZW5jb2Rlcl9mdW5jcywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBEUk1fTU9ERV9FTkNPREVSX0RTSSk7Cj4gPiArICAgICAgIGlmIChyZXQpIHsKPiA+ICsgICAg
ICAgICAgICAgICBEUk1fRVJST1IoIkZhaWxlZCB0byBlbmNvZGVyIGluaXQgdG8gZHJtXG4iKTsK
PiA+ICsgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gKyAgICAgICB9Cj4gPiArICAgICAg
IGRybV9lbmNvZGVyX2hlbHBlcl9hZGQoJmRzaS0+ZW5jb2RlciwgJm10a19kc2lfZW5jb2Rlcl9o
ZWxwZXJfZnVuY3MpOwo+ID4gKwo+ID4gKyAgICAgICBkc2ktPmVuY29kZXIucG9zc2libGVfY3J0
Y3MgPSAxOwo+IAo+IFRoaXMgZG9lc24ndCBsb29rIHJpZ2h0LiAgSWYgdGhlcmUgYXJlIE4gY3J0
Y3MgaW4gdGhlIHN5c3RlbSwgaG93IGNhbgo+IHdlIGtub3cgdGhpcyBEU0kgd2lsbCBhbHdheXMg
YmUgYXNzb2NpYXRlZCB3aXRoIENSVEM6MCA/CgpUaGlzIGlzIHJlbGF0ZWQgdG8gdGhlIGNvbW1l
bnQgaW4gbXRrX2RybV9kcnYuYzoKCgkvKgoJICogV2UgY3VycmVudGx5IHN1cHBvcnQgdHdvIGZp
eGVkIGRhdGEgc3RyZWFtcywgZWFjaCBzdGF0aWNhbGx5CgkgKiBhc3NpZ25lZCB0byBhIGNydGM6
CgkgKiBPVkwwIC0+IENPTE9SMCAtPiBBQUwgLT4gT0QgLT4gUkRNQTAgLT4gVUZPRSAtPiBEU0kw
IC4uLgoJICogLi4uIGFuZCBPVkwxIC0+IENPTE9SMSAtPiBHQU1NQSAtPiBSRE1BMSAtPiBEUEkw
LgoJICovCgpJbiB0aGVvcnkgdGhlIERTSTAgc2luayBjYW4gYmUgZHJpdmVuIGJ5IGFueSBvZiB0
aGUgT1ZMMC8xLCBSRE1BMC8xLzIKc291cmNlcywgZGVwZW5kaW5nIG9uIHRoZSBkaXNwbGF5IHBh
dGggY29uZmlndXJhdGlvbiwgYnV0IGhvdyB0aG9zZQpzb3VyY2VzIHNob3VsZCBjb3JyZXNwb25k
IHRvIHRoZSBjcnRjcyBpbiB0aGUgZHluYW1pYyBjYXNlIGhhc24ndCBiZWVuCndvcmtlZCBvdXQg
eWV0LgoKPiA+ICsKPiA+ICsgICAgICAgLyogUHJlLWVtcHQgRFAgY29ubmVjdG9yIGNyZWF0aW9u
IGlmIHRoZXJlJ3MgYSBicmlkZ2UgKi8KPiA+ICsgICAgICAgcmV0ID0gbXRrX2RybV9hdHRhY2hf
bGNtX2JyaWRnZShkc2ktPmJyaWRnZSwgJmRzaS0+ZW5jb2Rlcik7Cj4gPiArICAgICAgIGlmICgh
cmV0KQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAwOwo+IAo+IFRyaWNreS4gIFRoZSAibm8t
ZXJyb3IiIGNhc2UgaGVyZSBpcyB0byByZXR1cm4gMCBhbmQgc2tpcCB0aGUgcmVzdCBvZgo+IHRo
aXMgZnVuY3Rpb24/Cj4gSW4gcGFydGljdWxhciwgdGhpcyBza2lwcyBpbml0aWFsaXppbmcgYW5k
IHJlZ2lzdGVyaW5nIHRoZSBjb25uZWN0b3IuCgpZZXMuIFRoZXJlIGlzIG5vIERTSSBjb25uZWN0
b3IgaW4gYSBzeXN0ZW0gdGhhdCBoYXMgYSBEU0ktdG8tZURQIGJyaWRnZQpjb25uZWN0ZWQgdG8g
dGhlIFNvQ3MgRFNJIG91dHB1dCwgc28gd2UgbGVhdmUgaXQgdG8gdGhlIGJyaWRnZSBkcml2ZXIg
dG8KcmVnaXN0ZXIgYW4gZURQIGNvbm5lY3RvciBpdHNlbGYuCgo+IFVuZm9ydHVuYXRlbHksIGFm
YWljdCwgdGhlcmUgaXMgbm8gd2F5IHRvIHRlbGwgdGhhdCB3ZSBza2lwcGVkIHRoaXMsCj4gc28g
aW4gbXRrX2RzaV91bmJpbmQoKSB3ZSB3aWxsIGFsd2F5cyBjYWxsIG10a19kc2lfZGVzdHJveV9j
b25uX2VuYygpLAo+IHdoaWNoIHdpbGwgdHJ5IHRvIGNsZWFudXAgdGhlIGNvbm5lY3RvciB0aGF0
IHdlIGRpZG4ndCBpbml0LgoKU2VlIGJlbG93LCBkcm1fY29ubmVjdG9yX2luaXQgc2V0cyBkc2kt
PmNvbm4uZGV2LCBzbyB3ZSBjYW4gdXNlIHRoYXQgdG8KZGV0ZWN0IHRoZSBicmlkZ2UgY2FzZS4K
QWx0aG91Z2ggaWYgdGhlIGJyaWRnZSBkcml2ZXIgc2hvdWxkIHJlZ2lzdGVyIHRoZSBjb25uZWN0
b3IgYW5kIHRoZW4KZmFpbHMgZm9yIHNvbWUgb3RoZXIgcmVhc29uLCB3ZSdsbCBoYXBwaWx5IHRy
eSB0byByZWdpc3RlciBvdXIgb3duLgpIbS4uLgoKPiA+ICsKPiA+ICsgICAgICAgcmV0ID0gZHJt
X2Nvbm5lY3Rvcl9pbml0KGRybSwgJmRzaS0+Y29ubiwgJm10a19kc2lfY29ubmVjdG9yX2Z1bmNz
LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX01PREVfQ09OTkVDVE9S
X0RTSSk7Cj4gPiArICAgICAgIGlmIChyZXQpIHsKPiA+ICsgICAgICAgICAgICAgICBEUk1fRVJS
T1IoIkZhaWxlZCB0byBjb25uZWN0b3IgaW5pdCB0byBkcm1cbiIpOwo+ID4gKyAgICAgICAgICAg
ICAgIGdvdG8gZXJyY29ubmVjdG9yOwo+ID4gKyAgICAgICB9Cj4gPiArCj4gPiArICAgICAgIGRy
bV9jb25uZWN0b3JfaGVscGVyX2FkZCgmZHNpLT5jb25uLCAmbXRrX2RzaV9jb25uZWN0b3JfaGVs
cGVyX2Z1bmNzKTsKPiA+ICsKPiA+ICsgICAgICAgcmV0ID0gZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rl
cigmZHNpLT5jb25uKTsKPiA+ICsgICAgICAgaWYgKHJldCkgewo+ID4gKyAgICAgICAgICAgICAg
IERSTV9FUlJPUigiRmFpbGVkIHRvIGNvbm5lY3RvciByZWdpc3RlciB0byBkcm1cbiIpOwo+ID4g
KyAgICAgICAgICAgICAgIGdvdG8gZXJyY29ubmVjdG9ycmVnOwo+ID4gKyAgICAgICB9Cj4gPiAr
Cj4gPiArICAgICAgIGRzaS0+Y29ubi5kcG1zID0gRFJNX01PREVfRFBNU19PRkY7Cj4gPiArICAg
ICAgIGRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigmZHNpLT5jb25uLCAmZHNpLT5l
bmNvZGVyKTsKPiA+ICsKPiA+ICsgICAgICAgaWYgKGRzaS0+cGFuZWwpIHsKPiA+ICsgICAgICAg
ICAgICAgICByZXQgPSBkcm1fcGFuZWxfYXR0YWNoKGRzaS0+cGFuZWwsICZkc2ktPmNvbm4pOwo+
ID4gKyAgICAgICAgICAgICAgIGlmIChyZXQpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAg
IERSTV9FUlJPUigiRmFpbGVkIHRvIGF0dGFjdCBwYW5lbCB0byBkcm1cbiIpOwo+ID4gKyAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ICsgICAgICAgICAgICAgICB9Cj4gPiAr
ICAgICAgIH0KPiA+ICsgICAgICAgcmV0dXJuIDA7Cj4gPiArCj4gPiArZXJyY29ubmVjdG9yOgo+
ID4gKyAgICAgICBkcm1fZW5jb2Rlcl9jbGVhbnVwKCZkc2ktPmVuY29kZXIpOwo+ID4gK2VycmNv
bm5lY3RvcnJlZzoKPiA+ICsgICAgICAgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKCZkc2ktPmNvbm4p
Owo+IAo+IFRoZSBjbGVhbnVwIG9yZGVyIGlzIGJhY2t3YXJkczsgY2xlYW4gdXAgZW5jb2RlciBs
YXN0IHRvIGludmVydCBpbml0IG9yZGVyLgo+IEFsc28sIHRoZXNlIGxhYmVscyBhcmUgbm90IHZl
cnkgcmVhZGFibGUuCgpJJ2xsIHJlb3JkZXIgdGhlc2UgYW5kIHJlbmFtZSB0aGUgbGFiZWxzLgoK
Wy4uLl0KPiA+ICtzdGF0aWMgdm9pZCBtdGtfZHNpX2Rlc3Ryb3lfY29ubl9lbmMoc3RydWN0IG10
a19kc2kgKmRzaSkKPiA+ICt7Cj4gPiArICAgICAgIGRybV9lbmNvZGVyX2NsZWFudXAoJmRzaS0+
ZW5jb2Rlcik7Cj4gPiArICAgICAgIGRybV9jb25uZWN0b3JfdW5yZWdpc3RlcigmZHNpLT5jb25u
KTsKPiA+ICsgICAgICAgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKCZkc2ktPmNvbm4pOwo+IAo+IHVu
cmVnaXN0ZXJpbmcgLyBjbGVhbmluZyB1cCB0aGUgY29ubmVjdG9yIHdpbGwgb29wcyBoZXJlIGlm
IHdlIHRvb2sKPiB0aGUgIlByZS1lbXB0IERQIGNvbm5lY3RvciBjcmVhdGlvbiBpZiB0aGVyZSdz
IGEgYnJpZGdlIiBjYXNlIGluCj4gbXRrX2RzaV9jcmVhdGVfY29ubl9lbmMgYW5kIG91ciBjb25u
ZWN0b3IgaXMgbm90IGluaXRpYWxpemVkLgoKSSdsbCB3cmFwIHRoZSBjb25uZWN0b3IgdW5yZWdp
c3Rlci9jbGVhbnVwOgoKCS8qIFNraXAgY29ubmVjdG9yIGNsZWFudXAgaWYgY3JlYXRpb24gd2Fz
IGRlbGVnYXRlZCB0byB0aGUgYnJpZGdlICovCglpZiAoZHNpLT5jb25uLmRldikgewoJCWRybV9j
b25uZWN0b3JfdW5yZWdpc3RlcigmZHNpLT5jb25uKTsKCQlkcm1fY29ubmVjdG9yX2NsZWFudXAo
JmRzaS0+Y29ubik7Cgl9CgpbLi4uXQo+ID4gK3N0YXRpYyB2b2lkIG10a19kc2lfdW5iaW5kKHN0
cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ID4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdm9pZCAqZGF0YSkKPiA+ICt7Cj4gPiArICAgICAgIHN0cnVjdCBkcm1f
ZGV2aWNlICpkcm0gPSBkYXRhOwo+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX2RzaSAqZHNpOwo+ID4g
Kwo+ID4gKyAgICAgICBkc2kgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YSh0b19wbGF0Zm9ybV9kZXZp
Y2UoZGV2KSk7Cj4gCj4gSnVzdDoKPiAgICAgICAgc3RydWN0IG10a19kc2kgKmRzaSA9IGRldl9n
ZXRfZHJ2ZGF0YShkZXYpOwoKT2suCgpbLi4uXQo+ID4gK3N0YXRpYyBpbnQgbXRrX2RzaV9wcm9i
ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0
IG10a19kc2kgKmRzaTsKPiA+ICsgICAgICAgc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRl
djsKPiA+ICsgICAgICAgc3RydWN0IGRldmljZV9ub2RlICpyZW1vdGVfbm9kZSwgKmVuZHBvaW50
Owo+ID4gKyAgICAgICBzdHJ1Y3QgcmVzb3VyY2UgKnJlZ3M7Cj4gPiArICAgICAgIGludCBjb21w
X2lkOwo+ID4gKyAgICAgICBpbnQgcmV0Owo+ID4gKwo+ID4gKyAgICAgICBkc2kgPSBkZXZtX2t6
YWxsb2MoZGV2LCBzaXplb2YoKmRzaSksIEdGUF9LRVJORUwpOwo+IAo+IEFsd2F5cyBOVUxMIGNo
ZWNrIGFsbG9jYXRpb25zLgoKT2suCgo+ID4gKyAgICAgICBkc2ktPm1vZGVfZmxhZ3MgPSBNSVBJ
X0RTSV9NT0RFX1ZJREVPIHwgTUlQSV9EU0lfTU9ERV9WSURFT19TWU5DX1BVTFNFOwo+ID4gKyAg
ICAgICBkc2ktPmZvcm1hdCA9IE1JUElfRFNJX0ZNVF9SR0I4ODg7Cj4gPiArICAgICAgIGRzaS0+
bGFuZXMgPSA0Owo+IAo+IEFzIGZhciBhcyBJIGNhbiB0ZWxsLCB0aGVzZSB0aHJlZSBmaWVsZHMg
YXJlIGNvbnN0YW50cywgd2hpY2ggbWVhbnMgZWl0aGVyIHdlCj4gYXJlIG1pc3NpbmcgY29kZSB0
byBwYXJzZSB0aGVzZSBmcm9tIHNvbWV3aGVyZSwgb3Igd2UgY2FuIGhhcmQgY29kZSB0aGlzCj4g
dGhyb3VnaG91dCBhbmQgc2ltcGxpZnkgdGhlIGRyaXZlci4KClRoZXNlIHVzdWFsbHkgY29tZSBm
cm9tIHRoZSBzdHJ1Y3QgcGFuZWxfZGVzY19kc2kgYW5kIGFyZSBmaWxsZWQgaW50bwpzdHJ1Y3Qg
bWlwaV9kc2lfZGV2aWNlIGZvciBEU0kgYnVzIHByb2JlZCBwYW5lbHMuIEknbSBub3Qgc3VyZSBo
b3cgd2UKY2FuIGdldCB0byB0aGlzIGluZm9ybWF0aW9uIGZvciBwbGF0Zm9ybSBkZXZpY2Ugc2lt
cGxlIHBhbmVscyBvciBJMkMgYnVzCnByb2JlZCBlbmNvZGVycy4gSW4gZmFjdCB0aGUgUFM4NjQw
IGVuY29kZXIgdXNlZCBvbiBvYWsgZG9lc24ndCBldmVuCmhhdmUgYSBmaXhlZCBtb2RlLCBidXQg
c3VwcG9ydHMgc2V2ZXJhbCBmcm9tIFJHQjU2NSB0byBSR0IxMDEwMTAuClRoaXMgc2hvdWxkIHBy
b2JhYmx5IGJlIGNob3NlbiBkeW5hbWljYWxseSwgZGVwZW5kaW5nIG9uIHRoZSBtb2RlIHNldC4K
ClsuLi5dCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19taXBp
X3R4LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguYwo+ID4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAuLjNiOTFhMzYKPiA+IC0tLSAvZGV2L251
bGwKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5jClsuLi5d
Cj4gPiArc3RhdGljIHN0cnVjdCBjbGtfb3BzIG10a19taXBpX3R4X3BsbF9vcHMgPSB7Cj4gCj4g
c3RhdGljIGNvbnN0ClsuLi5dCj4gPiArc3RhdGljIHN0cnVjdCBwaHlfb3BzIG10a19taXBpX3R4
X29wcyA9IHsKPiAKPiBzdGF0aWMgY29uc3QKCk9rLgoKdGhhbmtzClBoaWxpcHAKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu
ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk
ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=