From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH 1/1] drm/mediatek: Add support for mediatek SOC MT2712 Date: Tue, 15 May 2018 10:30:29 +0800 Message-ID: <1526351429.29995.21.camel@mtksdaap41> References: <20180514095910.22618-1-stu.hsieh@mediatek.com> <20180514095910.22618-2-stu.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180514095910.22618-2-stu.hsieh@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Stu Hsieh Cc: srv_heupstream@mediatek.com, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, Matthias Brugger , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFN0dToKCkkndmUgc29tZSBpbmxpbmUgY29tbWVudHMuCgpPbiBNb24sIDIwMTgtMDUtMTQg YXQgMTc6NTkgKzA4MDAsIFN0dSBIc2llaCB3cm90ZToKPiBUaGlzIHBhdGNoIGFkZCBzdXBwb3J0 IGZvciB0aGUgTWVkaWF0ZWsgTVQyNzEyIERJU1Agc3Vic3lzdGVtLgo+IFRoZXJlIGFyZSB0d28g T1ZMIGVuZ2luZSBhbmQgdGhyZWUgZGlzcCBvdXRwdXQgaW4gTVQyNzEyLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IFN0dSBIc2llaCA8c3R1LmhzaWVoQG1lZGlhdGVrLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgICAgICB8IDc3ICsrKysrKysrKysrKysr KysrKysrKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9j b21wLmMgfCAgNCArKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29t cC5oIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgICAg ICB8IDQ0ICsrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oICAgICAgfCAgNyArKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k ZHAuYwo+IGluZGV4IDgxMzBmM2RhYjY2MS4uNjQxZjQzNjFiMDA2IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiBAQCAtMjksNiArMjksOCBAQAo+ICAjZGVmaW5l IERJU1BfUkVHX0NPTkZJR19ESVNQX0NPTE9SMF9TRUxfSU4JMHgwODQKPiAgI2RlZmluZSBESVNQ X1JFR19DT05GSUdfRElTUF9DT0xPUjFfU0VMX0lOCTB4MDg4Cj4gICNkZWZpbmUgRElTUF9SRUdf Q09ORklHX0RQSV9TRUxfSU4JCTB4MGFjCj4gKyNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RJU1Bf UkRNQTJfU09VVAkJMHgwYjgKPiArI2RlZmluZSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMF9N T1VUX0VOCTB4MGM0Cj4gICNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RJU1BfUkRNQTFfTU9VVF9F TgkweDBjOAo+ICAjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19NTVNZU19DR19DT04wCQkweDEwMAo+ ICAKPiBAQCAtNDEsNiArNDMsNyBAQAo+ICAjZGVmaW5lIERJU1BfUkVHX01VVEVYX1JTVChuKQko MHgyOCArIDB4MjAgKiAobikpCj4gICNkZWZpbmUgRElTUF9SRUdfTVVURVhfTU9EKG4pCSgweDJj ICsgMHgyMCAqIChuKSkKPiAgI2RlZmluZSBESVNQX1JFR19NVVRFWF9TT0YobikJKDB4MzAgKyAw eDIwICogKG4pKQo+ICsjZGVmaW5lIERJU1BfUkVHX01VVEVYX01PRDIobikJKDB4MzQgKyAweDIw ICogKG4pKQo+ICAKPiAgI2RlZmluZSBJTlRfTVVURVgJCQkJQklUKDEpCj4gIAo+IEBAIC02MCw2 ICs2MywyNSBAQAo+ICAjZGVmaW5lIE1UODE3M19NVVRFWF9NT0RfRElTUF9QV00xCQlCSVQoMjQp Cj4gICNkZWZpbmUgTVQ4MTczX01VVEVYX01PRF9ESVNQX09ECQlCSVQoMjUpCj4gIAo+ICsjZGVm aW5lIE1UMjcxMl9NVVRFWF9NT0RfRElTUF9PVkwwCQlCSVQoMTEpCj4gKyNkZWZpbmUgTVQyNzEy X01VVEVYX01PRF9ESVNQX09WTDEJCUJJVCgxMikKPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9E X0RJU1BfUkRNQTAJCUJJVCgxMykKPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfUkRN QTEJCUJJVCgxNCkKPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfUkRNQTIJCUJJVCgx NSkKPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfV0RNQTAJCUJJVCgxNikKPiArI2Rl ZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfV0RNQTEJCUJJVCgxNykKPiArI2RlZmluZSBNVDI3 MTJfTVVURVhfTU9EX0RJU1BfQ09MT1IwCQlCSVQoMTgpCj4gKyNkZWZpbmUgTVQyNzEyX01VVEVY X01PRF9ESVNQX0NPTE9SMQkJQklUKDE5KQo+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0RfRElT UF9BQUwJCUJJVCgyMCkKPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfVUZPRQkJQklU KDIyKQo+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0RfRElTUF9QV00wCQlCSVQoMjMpCj4gKyNk ZWZpbmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX1BXTTEJCUJJVCgyNCkKPiArI2RlZmluZSBNVDI3 MTJfTVVURVhfTU9EX0RJU1BfUFdNMgkJQklUKDEwKQo+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9N T0RfRElTUF9PRAkJQklUKDI1KQo+ICsvKiBtb2R1bGVzIG1vcmUgdGhhbiAzMiwgYWRkIEJJVCgz MSkgd2hlbiB1c2luZyBESVNQX1JFR19NVVRFWF9NT0QyIGJpdCAqLwo+ICsjZGVmaW5lIE1UMjcx Ml9NVVRFWF9NT0QyX0RJU1BfQUFMMQkJKEJJVCgxKSB8IEJJVCgzMSkpCj4gKyNkZWZpbmUgTVQy NzEyX01VVEVYX01PRDJfRElTUF9PRDEJCShCSVQoMikgfCBCSVQoMzEpKQo+ICsKCkl0IGxvb2tz IGxpa2UgdGhhdCBNVVRFWF9NT0QgZGVmaW5pdGlvbiB2YXJpZXMgZm9yIGVhY2ggU29DLiBJIHRo aW5rCnN1Y2ggZGVmaW5pdGlvbiBzaG91bGQgYmUgcGFzc2VkIGZyb20gZHRzIHRvIHByZXZlbnQg bW9kaWZ5IGRyaXZlciBmb3IKZWFjaCBTb0MuIEZvciBleGFtcGxlLCB0aGUgY2xvY2sgZGVmaW5p dGlvbiB2YXJpZXMgZm9yIGVhY2ggU29DLCBhbmQgaXRzCmRlZmluaXRpb24gaXMgcGxhY2VkIGlu IFsxXS4gVGhlIGR0cyBbMl0gaW5jbHVkZSB0aGUgaGVhZGVyIGZpbGUgYW5kCnBhc3MgdGhlIGNs b2NrIGRlZmluaXRpb24gdG8gZHJpdmVyLgoKWzFdCmh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29t L2xpbnV4L3Y0LjE3LXJjNS9zb3VyY2UvaW5jbHVkZS9kdC1iaW5kaW5ncy9jbG9jay9tdDI3MTIt Y2xrLmggClsyXQpodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NC4xNy1yYzUvc291 cmNlL2FyY2gvYXJtNjQvYm9vdC9kdHMvbWVkaWF0ZWsvbXQyNzEyZS5kdHNpCgo+ICAjZGVmaW5l IE1UMjcwMV9NVVRFWF9NT0RfRElTUF9PVkwJCUJJVCgzKQo+ICAjZGVmaW5lIE1UMjcwMV9NVVRF WF9NT0RfRElTUF9XRE1BCQlCSVQoNikKPiAgI2RlZmluZSBNVDI3MDFfTVVURVhfTU9EX0RJU1Bf Q09MT1IJCUJJVCg3KQo+IEBAIC03NCw2ICs5Niw3IEBACj4gIAo+ICAjZGVmaW5lIE9WTDBfTU9V VF9FTl9DT0xPUjAJCTB4MQo+ICAjZGVmaW5lIE9EX01PVVRfRU5fUkRNQTAJCTB4MQo+ICsjZGVm aW5lIE9EMV9NT1VUX0VOX1JETUExCQlCSVQoMTYpCj4gICNkZWZpbmUgVUZPRV9NT1VUX0VOX0RT STAJCTB4MQo+ICAjZGVmaW5lIENPTE9SMF9TRUxfSU5fT1ZMMAkJMHgxCj4gICNkZWZpbmUgT1ZM MV9NT1VUX0VOX0NPTE9SMQkJMHgxCj4gQEAgLTEwOCw2ICsxMzEsMjYgQEAgc3RhdGljIGNvbnN0 IHVuc2lnbmVkIGludCBtdDI3MDFfbXV0ZXhfbW9kW0REUF9DT01QT05FTlRfSURfTUFYXSA9IHsK PiAgCVtERFBfQ09NUE9ORU5UX1dETUEwXSA9IE1UMjcwMV9NVVRFWF9NT0RfRElTUF9XRE1BLAo+ ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDI3MTJfbXV0ZXhfbW9kW0RE UF9DT01QT05FTlRfSURfTUFYXSA9IHsKPiArCVtERFBfQ09NUE9ORU5UX0FBTF0gPSBNVDI3MTJf TVVURVhfTU9EX0RJU1BfQUFMLAo+ICsJW0REUF9DT01QT05FTlRfQUFMMV0gPSBNVDI3MTJfTVVU RVhfTU9EMl9ESVNQX0FBTDEsCj4gKwlbRERQX0NPTVBPTkVOVF9DT0xPUjBdID0gTVQyNzEyX01V VEVYX01PRF9ESVNQX0NPTE9SMCwKPiArCVtERFBfQ09NUE9ORU5UX0NPTE9SMV0gPSBNVDI3MTJf TVVURVhfTU9EX0RJU1BfQ09MT1IxLAo+ICsJW0REUF9DT01QT05FTlRfT0RdID0gTVQyNzEyX01V VEVYX01PRF9ESVNQX09ELAo+ICsJW0REUF9DT01QT05FTlRfT0QxXSA9IE1UMjcxMl9NVVRFWF9N T0QyX0RJU1BfT0QxLAo+ICsJW0REUF9DT01QT05FTlRfT1ZMMF0gPSBNVDI3MTJfTVVURVhfTU9E X0RJU1BfT1ZMMCwKPiArCVtERFBfQ09NUE9ORU5UX09WTDFdID0gTVQyNzEyX01VVEVYX01PRF9E SVNQX09WTDEsCj4gKwlbRERQX0NPTVBPTkVOVF9QV00wXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElT UF9QV00wLAo+ICsJW0REUF9DT01QT05FTlRfUFdNMV0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1Bf UFdNMSwKPiArCVtERFBfQ09NUE9ORU5UX1BXTTJdID0gTVQyNzEyX01VVEVYX01PRF9ESVNQX1BX TTIsCj4gKwlbRERQX0NPTVBPTkVOVF9SRE1BMF0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfUkRN QTAsCj4gKwlbRERQX0NPTVBPTkVOVF9SRE1BMV0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfUkRN QTEsCj4gKwlbRERQX0NPTVBPTkVOVF9SRE1BMl0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfUkRN QTIsCj4gKwlbRERQX0NPTVBPTkVOVF9VRk9FXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9VRk9F LAo+ICsJW0REUF9DT01QT05FTlRfV0RNQTBdID0gTVQyNzEyX01VVEVYX01PRF9ESVNQX1dETUEw LAo+ICsJW0REUF9DT01QT05FTlRfV0RNQTFdID0gTVQyNzEyX01VVEVYX01PRF9ESVNQX1dETUEx LAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDgxNzNfbXV0ZXhfbW9k W0REUF9DT01QT05FTlRfSURfTUFYXSA9IHsKPiAgCVtERFBfQ09NUE9ORU5UX0FBTF0gPSBNVDgx NzNfTVVURVhfTU9EX0RJU1BfQUFMLAo+ICAJW0REUF9DT01QT05FTlRfQ09MT1IwXSA9IE1UODE3 M19NVVRFWF9NT0RfRElTUF9DT0xPUjAsCj4gQEAgLTE1MCw2ICsxOTMsOSBAQCBzdGF0aWMgdW5z aWduZWQgaW50IG10a19kZHBfbW91dF9lbihlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsCj4gIAl9 IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX0dBTU1BICYmIG5leHQgPT0gRERQX0NPTVBP TkVOVF9SRE1BMSkgewo+ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfR0FNTUFfTU9V VF9FTjsKPiAgCQl2YWx1ZSA9IEdBTU1BX01PVVRfRU5fUkRNQTE7Cj4gKwl9IGVsc2UgaWYgKGN1 ciA9PSBERFBfQ09NUE9ORU5UX09EMSAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfUkRNQTEpIHsK PiArCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19ESVNQX09EX01PVVRfRU47Cj4gKwkJdmFsdWUg PSBPRDFfTU9VVF9FTl9SRE1BMTsKCkkgdGhpbmsgdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gYW4g aW5kZXBlbmRlbnQgcGF0Y2ggYW5kIGl0cyB0aXRsZSBpcwonYWRkIGNvbm5lY3Rpb24gZnJvbSBP RDEgdG8gUkRNQTEnLgoKPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEg JiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsKPiAgCQkqYWRkciA9IERJU1BfUkVHX0NP TkZJR19ESVNQX1JETUExX01PVVRfRU47Cj4gIAkJdmFsdWUgPSBSRE1BMV9NT1VUX0RQSTA7Cj4g QEAgLTI3OCw2ICszMjQsNyBAQCB2b2lkIG10a19kaXNwX211dGV4X2FkZF9jb21wKHN0cnVjdCBt dGtfZGlzcF9tdXRleCAqbXV0ZXgsCj4gIAlzdHJ1Y3QgbXRrX2RkcCAqZGRwID0gY29udGFpbmVy X29mKG11dGV4LCBzdHJ1Y3QgbXRrX2RkcCwKPiAgCQkJCQkgICBtdXRleFttdXRleC0+aWRdKTsK PiAgCXVuc2lnbmVkIGludCByZWc7Cj4gKwl1bnNpZ25lZCBpbnQgb2Zmc2V0Owo+ICAKPiAgCVdB Uk5fT04oJmRkcC0+bXV0ZXhbbXV0ZXgtPmlkXSAhPSBtdXRleCk7Cj4gIAo+IEBAIC0yOTIsOSAr MzM5LDE3IEBAIHZvaWQgbXRrX2Rpc3BfbXV0ZXhfYWRkX2NvbXAoc3RydWN0IG10a19kaXNwX211 dGV4ICptdXRleCwKPiAgCQlyZWcgPSBNVVRFWF9TT0ZfRFBJMDsKPiAgCQlicmVhazsKPiAgCWRl ZmF1bHQ6Cj4gLQkJcmVnID0gcmVhZGxfcmVsYXhlZChkZHAtPnJlZ3MgKyBESVNQX1JFR19NVVRF WF9NT0QobXV0ZXgtPmlkKSk7Cj4gLQkJcmVnIHw9IGRkcC0+bXV0ZXhfbW9kW2lkXTsKPiAtCQl3 cml0ZWxfcmVsYXhlZChyZWcsIGRkcC0+cmVncyArIERJU1BfUkVHX01VVEVYX01PRChtdXRleC0+ aWQpKTsKPiArCQlpZiAoZGRwLT5tdXRleF9tb2RbaWRdIDw9IEJJVCgzMSkpIHsKCllvdSBjb3Vs ZCByZWR1Y2Ugb25lIGJ5dGUgaWYgeW91IHdyaXRlIGFzCgppZiAoZGRwLT5tdXRleF9tb2RbaWRd IDwgQklUKDMyKSkKCj4gKwkJCW9mZnNldCA9IERJU1BfUkVHX01VVEVYX01PRChtdXRleC0+aWQp Owo+ICsJCQlyZWcgPSByZWFkbF9yZWxheGVkKGRkcC0+cmVncyArIG9mZnNldCk7Cj4gKwkJCXJl ZyB8PSBkZHAtPm11dGV4X21vZFtpZF07Cj4gKwkJCXdyaXRlbF9yZWxheGVkKHJlZywgZGRwLT5y ZWdzICsgb2Zmc2V0KTsKPiArCQl9IGVsc2Ugewo+ICsJCQlvZmZzZXQgPSBESVNQX1JFR19NVVRF WF9NT0QyKG11dGV4LT5pZCk7Cj4gKwkJCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLT5yZWdzICsg b2Zmc2V0KTsKPiArCQkJcmVnIHw9IChkZHAtPm11dGV4X21vZFtpZF0gJiB+QklUKDMxKSk7Cj4g KwkJCXdyaXRlbF9yZWxheGVkKHJlZywgZGRwLT5yZWdzICsgb2Zmc2V0KTsKPiArCQl9CgpJIHRo aW5rIHRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIGFuIGluZGVwZW5kZW50IHBhdGNoIGFuZCBpdHMg dGl0bGUgaXMKJ3N1cHBvcnQgbWF4aW11bSA2NCBtdXRleCBtb2QnLgoKPiAgCQlyZXR1cm47Cj4g IAl9Cj4gIAo+IEBAIC0zMDcsNiArMzYyLDcgQEAgdm9pZCBtdGtfZGlzcF9tdXRleF9yZW1vdmVf Y29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LAo+ICAJc3RydWN0IG10a19kZHAgKmRk cCA9IGNvbnRhaW5lcl9vZihtdXRleCwgc3RydWN0IG10a19kZHAsCj4gIAkJCQkJICAgbXV0ZXhb bXV0ZXgtPmlkXSk7Cj4gIAl1bnNpZ25lZCBpbnQgcmVnOwo+ICsJdW5zaWduZWQgaW50IG9mZnNl dDsKPiAgCj4gIAlXQVJOX09OKCZkZHAtPm11dGV4W211dGV4LT5pZF0gIT0gbXV0ZXgpOwo+ICAK PiBAQCAtMzE4LDkgKzM3NCwxNyBAQCB2b2lkIG10a19kaXNwX211dGV4X3JlbW92ZV9jb21wKHN0 cnVjdCBtdGtfZGlzcF9tdXRleCAqbXV0ZXgsCj4gIAkJCSAgICAgICBkZHAtPnJlZ3MgKyBESVNQ X1JFR19NVVRFWF9TT0YobXV0ZXgtPmlkKSk7Cj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+IC0J CXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLT5yZWdzICsgRElTUF9SRUdfTVVURVhfTU9EKG11dGV4 LT5pZCkpOwo+IC0JCXJlZyAmPSB+KGRkcC0+bXV0ZXhfbW9kW2lkXSk7Cj4gLQkJd3JpdGVsX3Jl bGF4ZWQocmVnLCBkZHAtPnJlZ3MgKyBESVNQX1JFR19NVVRFWF9NT0QobXV0ZXgtPmlkKSk7Cj4g KwkJaWYgKGRkcC0+bXV0ZXhfbW9kW2lkXSA8PSBCSVQoMzEpKSB7Cj4gKwkJCW9mZnNldCA9IERJ U1BfUkVHX01VVEVYX01PRChtdXRleC0+aWQpOwo+ICsJCQlyZWcgPSByZWFkbF9yZWxheGVkKGRk cC0+cmVncyArIG9mZnNldCk7Cj4gKwkJCXJlZyAmPSB+KGRkcC0+bXV0ZXhfbW9kW2lkXSk7Cj4g KwkJCXdyaXRlbF9yZWxheGVkKHJlZywgZGRwLT5yZWdzICsgb2Zmc2V0KTsKPiArCQl9IGVsc2Ug ewo+ICsJCQlvZmZzZXQgPSBESVNQX1JFR19NVVRFWF9NT0QyKG11dGV4LT5pZCk7Cj4gKwkJCXJl ZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLT5yZWdzICsgb2Zmc2V0KTsKPiArCQkJcmVnICY9IH4oZGRw LT5tdXRleF9tb2RbaWRdICYgfkJJVCgzMSkpOwo+ICsJCQl3cml0ZWxfcmVsYXhlZChyZWcsIGRk cC0+cmVncyArIG9mZnNldCk7Cj4gKwkJfQo+ICAJCWJyZWFrOwo+ICAJfQo+ICB9Cj4gQEAgLTQw Nyw2ICs0NzEsNyBAQCBzdGF0aWMgaW50IG10a19kZHBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkZHBf ZHJpdmVyX2R0X21hdGNoW10gPSB7Cj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10Mjcw MS1kaXNwLW11dGV4IiwgLmRhdGEgPSBtdDI3MDFfbXV0ZXhfbW9kfSwKPiArCXsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQyNzEyLWRpc3AtbXV0ZXgiLCAuZGF0YSA9IG10MjcxMl9tdXRleF9t b2R9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1tdXRleCIsIC5k YXRhID0gbXQ4MTczX211dGV4X21vZH0sCj4gIAl7fSwKPiAgfTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMKPiBpbmRleCA0NjcyMzE3ZTNhZDEuLmViZThm MDAxOGIzMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k ZHBfY29tcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2Nv bXAuYwo+IEBAIC0yMTksNiArMjE5LDcgQEAgc3RydWN0IG10a19kZHBfY29tcF9tYXRjaCB7Cj4g IAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9tYXRjaCBtdGtfZGRwX21hdGNo ZXNbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ICAJW0REUF9DT01QT05FTlRfQUFMXQk9IHsg TVRLX0RJU1BfQUFMLAkwLCAmZGRwX2FhbCB9LAo+ICsJW0REUF9DT01QT05FTlRfQUFMMV0JPSB7 IE1US19ESVNQX0FBTCwJMSwgJmRkcF9hYWwgfSwKCkZvciB0aGUgbmFtaW5nIGNvbnNpc3RlbmN5 LCB0aGVyZSBhcmUgQ09MT1IwIGFuZCBDT0xPUjEsIHNvIGFmdGVyIHlvdQphZGQgJ0FBTDEnLCB5 b3Ugc2hvdWxkIGNoYW5nZSBBQUwgdG8gQUFMMC4gQW5kIHRoaXMgbW9kaWZpY2F0aW9uIHNob3Vs ZApiZSBhbiBpbmRlcGVuZGVudCBwYXRjaC4KCj4gIAlbRERQX0NPTVBPTkVOVF9CTFNdCT0geyBN VEtfRElTUF9CTFMsCTAsIE5VTEwgfSwKPiAgCVtERFBfQ09NUE9ORU5UX0NPTE9SMF0JPSB7IE1U S19ESVNQX0NPTE9SLAkwLCBOVUxMIH0sCj4gIAlbRERQX0NPTVBPTkVOVF9DT0xPUjFdCT0geyBN VEtfRElTUF9DT0xPUiwJMSwgTlVMTCB9LAo+IEBAIC0yMjcsOSArMjI4LDEyIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX21hdGNoIG10a19kZHBfbWF0Y2hlc1tERFBfQ09NUE9O RU5UX0lEX01BWF0gPSB7Cj4gIAlbRERQX0NPTVBPTkVOVF9EU0kxXQk9IHsgTVRLX0RTSSwJCTEs IE5VTEwgfSwKPiAgCVtERFBfQ09NUE9ORU5UX0dBTU1BXQk9IHsgTVRLX0RJU1BfR0FNTUEsCTAs ICZkZHBfZ2FtbWEgfSwKPiAgCVtERFBfQ09NUE9ORU5UX09EXQk9IHsgTVRLX0RJU1BfT0QsCTAs ICZkZHBfb2QgfSwKPiArCVtERFBfQ09NUE9ORU5UX09EMV0JPSB7IE1US19ESVNQX09ELAkxLCAm ZGRwX29kIH0sCgpEaXR0by4KCj4gIAlbRERQX0NPTVBPTkVOVF9PVkwwXQk9IHsgTVRLX0RJU1Bf T1ZMLAkwLCBOVUxMIH0sCj4gIAlbRERQX0NPTVBPTkVOVF9PVkwxXQk9IHsgTVRLX0RJU1BfT1ZM LAkxLCBOVUxMIH0sCj4gIAlbRERQX0NPTVBPTkVOVF9QV00wXQk9IHsgTVRLX0RJU1BfUFdNLAkw LCBOVUxMIH0sCj4gKwlbRERQX0NPTVBPTkVOVF9QV00xXQk9IHsgTVRLX0RJU1BfUFdNLAkxLCBO VUxMIH0sCj4gKwlbRERQX0NPTVBPTkVOVF9QV00yXQk9IHsgTVRLX0RJU1BfUFdNLAkyLCBOVUxM IH0sCj4gIAlbRERQX0NPTVBPTkVOVF9SRE1BMF0JPSB7IE1US19ESVNQX1JETUEsCTAsIE5VTEwg fSwKPiAgCVtERFBfQ09NUE9ORU5UX1JETUExXQk9IHsgTVRLX0RJU1BfUkRNQSwJMSwgTlVMTCB9 LAo+ICAJW0REUF9DT01QT05FTlRfUkRNQTJdCT0geyBNVEtfRElTUF9SRE1BLAkyLCBOVUxMIH0s Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21w LmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCj4gaW5kZXgg MDgyOGNmOGJmODVjLi40MzEwMGY5MjE1YWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcF9jb21wLmgKPiBAQCAtNDIsNiArNDIsNyBAQCBlbnVtIG10a19kZHBf Y29tcF90eXBlIHsKPiAgCj4gIGVudW0gbXRrX2RkcF9jb21wX2lkIHsKPiAgCUREUF9DT01QT05F TlRfQUFMLAo+ICsJRERQX0NPTVBPTkVOVF9BQUwxLAo+ICAJRERQX0NPTVBPTkVOVF9CTFMsCj4g IAlERFBfQ09NUE9ORU5UX0NPTE9SMCwKPiAgCUREUF9DT01QT05FTlRfQ09MT1IxLAo+IEBAIC01 MCwxMCArNTEsMTIgQEAgZW51bSBtdGtfZGRwX2NvbXBfaWQgewo+ICAJRERQX0NPTVBPTkVOVF9E U0kxLAo+ICAJRERQX0NPTVBPTkVOVF9HQU1NQSwKPiAgCUREUF9DT01QT05FTlRfT0QsCj4gKwlE RFBfQ09NUE9ORU5UX09EMSwKPiAgCUREUF9DT01QT05FTlRfT1ZMMCwKPiAgCUREUF9DT01QT05F TlRfT1ZMMSwKPiAgCUREUF9DT01QT05FTlRfUFdNMCwKPiAgCUREUF9DT01QT05FTlRfUFdNMSwK PiArCUREUF9DT01QT05FTlRfUFdNMiwKPiAgCUREUF9DT01QT05FTlRfUkRNQTAsCj4gIAlERFBf Q09NUE9ORU5UX1JETUExLAo+ICAJRERQX0NPTVBPTkVOVF9SRE1BMiwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+IGluZGV4IGEyY2E5MGZjNDAzYy4uNDFiYWY2NjUzYmZj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKPiBAQCAtMTQ2LDYg KzE0NiwzMiBAQCBzdGF0aWMgY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQyNzAxX210a19k ZHBfZXh0W10gPSB7Cj4gIAlERFBfQ09NUE9ORU5UX0RQSTAsCj4gIH07Cj4gIAo+ICtzdGF0aWMg Y29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQyNzEyX210a19kZHBfbWFpbltdID0gewo+ICsJ RERQX0NPTVBPTkVOVF9PVkwwLAo+ICsJRERQX0NPTVBPTkVOVF9DT0xPUjAsCj4gKwlERFBfQ09N UE9ORU5UX0FBTCwKPiArCUREUF9DT01QT05FTlRfT0QsCj4gKwlERFBfQ09NUE9ORU5UX1JETUEw LAo+ICsJRERQX0NPTVBPTkVOVF9EUEkwLAo+ICsJRERQX0NPTVBPTkVOVF9QV00wLAo+ICt9Owo+ ICsKPiArc3RhdGljIGNvbnN0IGVudW0gbXRrX2RkcF9jb21wX2lkIG10MjcxMl9tdGtfZGRwX2V4 dFtdID0gewo+ICsJRERQX0NPTVBPTkVOVF9PVkwxLAo+ICsJRERQX0NPTVBPTkVOVF9DT0xPUjEs Cj4gKwlERFBfQ09NUE9ORU5UX0FBTDEsCj4gKwlERFBfQ09NUE9ORU5UX09EMSwKPiArCUREUF9D T01QT05FTlRfUkRNQTEsCj4gKwlERFBfQ09NUE9ORU5UX0RQSTEsCj4gKwlERFBfQ09NUE9ORU5U X1BXTTEsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQy NzEyX210a19kZHBfdGhpcmRbXSA9IHsKPiArCUREUF9DT01QT05FTlRfUkRNQTIsCj4gKwlERFBf Q09NUE9ORU5UX0RTSTIsCj4gKwlERFBfQ09NUE9ORU5UX1BXTTIsCj4gK307Cj4gKwoKSXQgbG9v a3MgbGlrZSB0aGF0IHRoZSBwYXRoIGRlZmluaXRpb24gdmFyaWVzIGZvciBlYWNoIFNvQy4gSSB0 aGluayBzdWNoCmRlZmluaXRpb24gc2hvdWxkIGJlIHBhc3NlZCBmcm9tIGR0cyB0byBwcmV2ZW50 IG1vZGlmeSBkcml2ZXIgZm9yIGVhY2gKU29DLiBJbiBbM10sIGl0IGRlZmluZSB0aGUgcGFydGlh bCBjb25uZWN0aW9uIGluIGRldmljZSB0cmVlLCBidXQgSQp3b3VsZCBsaWtlIHRoaXMgdG8gYmUg bW9yZSBnZW5lcmFsLiBNeSBpZGVhIGlzOgoKMS4gRWFjaCBjb21wb25lbnQgaGFzIG9uZSBvciB0 d28gZW5kcG9pbnQgaW4gZGV2aWNlIHRyZWUuIFRoZSBmaXJzdCBhbmQKdGhlIGxhc3QgaGFzIG9u ZSwgYW5kIHRoZSBvdGhlcnMgaGFzIHR3by4KMi4gUmVtb3ZlIG10eHh4eF9tdGtfZGRwX21haW5b XSBhbmQgbXR4eHh4X210a19kZHBfZXh0W10sIHVzZSBtdWx0aXBsZQpsaW5rIGxpc3QgKE9uZSBk aXNwbGF5IHBhdGggaGFzIG9uZSBsaW5rIGxpc3QsIHR3byBkaXNwbGF5IHBhdGggaGFzIHR3bwps aW5rIGxpc3QpIHRvIGdlbmVyYXRlIGl0IGJ5IHBhcnNpbmcgZGV2aWNlIHRyZWUgaW4gbXRrX2Ry bV9wcm9iZSgpLgoKWzNdIGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvMTAzOTcz MzcvCgo+ICBzdGF0aWMgY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQ4MTczX210a19kZHBf bWFpbltdID0gewo+ICAJRERQX0NPTVBPTkVOVF9PVkwwLAo+ICAJRERQX0NPTVBPTkVOVF9DT0xP UjAsCj4gQEAgLTE3Myw2ICsxOTksMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNf ZHJpdmVyX2RhdGEgbXQyNzAxX21tc3lzX2RyaXZlcl9kYXRhID0gewo+ICAJLnNoYWRvd19yZWdp c3RlciA9IHRydWUsCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG10a19tbXN5c19k cml2ZXJfZGF0YSBtdDI3MTJfbW1zeXNfZHJpdmVyX2RhdGEgPSB7Cj4gKwkubWFpbl9wYXRoID0g bXQyNzEyX210a19kZHBfbWFpbiwKPiArCS5tYWluX2xlbiA9IEFSUkFZX1NJWkUobXQyNzEyX210 a19kZHBfbWFpbiksCj4gKwkuZXh0X3BhdGggPSBtdDI3MTJfbXRrX2RkcF9leHQsCj4gKwkuZXh0 X2xlbiA9IEFSUkFZX1NJWkUobXQyNzEyX210a19kZHBfZXh0KSwKPiArCS50aGlyZF9wYXRoID0g bXQyNzEyX210a19kZHBfdGhpcmQsCj4gKwkudGhpcmRfbGVuID0gQVJSQVlfU0laRShtdDI3MTJf bXRrX2RkcF90aGlyZCksCj4gK307Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19tbXN5 c19kcml2ZXJfZGF0YSBtdDgxNzNfbW1zeXNfZHJpdmVyX2RhdGEgPSB7Cj4gIAkubWFpbl9wYXRo ID0gbXQ4MTczX210a19kZHBfbWFpbiwKPiAgCS5tYWluX2xlbiA9IEFSUkFZX1NJWkUobXQ4MTcz X210a19kZHBfbWFpbiksCj4gQEAgLTIzMiw2ICsyNjcsMTEgQEAgc3RhdGljIGludCBtdGtfZHJt X2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4gIAlpZiAocmV0IDwgMCkKPiAgCQln b3RvIGVycl9jb21wb25lbnRfdW5iaW5kOwo+ICAKPiArCXJldCA9IG10a19kcm1fY3J0Y19jcmVh dGUoZHJtLCBwcml2YXRlLT5kYXRhLT50aGlyZF9wYXRoLAo+ICsJCQkJICBwcml2YXRlLT5kYXRh LT50aGlyZF9sZW4pOwo+ICsJaWYgKHJldCA8IDApCj4gKwkJZ290byBlcnJfY29tcG9uZW50X3Vu YmluZDsKPiArCj4gIAkvKiBVc2UgT1ZMIGRldmljZSBmb3IgYWxsIERNQSBtZW1vcnkgYWxsb2Nh dGlvbnMgKi8KPiAgCW5wID0gcHJpdmF0ZS0+Y29tcF9ub2RlW3ByaXZhdGUtPmRhdGEtPm1haW5f cGF0aFswXV0gPzoKPiAgCSAgICAgcHJpdmF0ZS0+Y29tcF9ub2RlW3ByaXZhdGUtPmRhdGEtPmV4 dF9wYXRoWzBdXTsKPiBAQCAtMzcyLDggKzQxMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBtdGtfZGRwX2NvbXBfZHRfaWRzW10gPSB7Cj4gIAl7IC5jb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE3My1kaXNwLXVmb2UiLCAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1VG T0UgfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRzaSIsCSAgICAgIC5k YXRhID0gKHZvaWQgKilNVEtfRFNJIH0sCj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE3My1kc2kiLCAgICAgICAgLmRhdGEgPSAodm9pZCAqKU1US19EU0kgfSwKPiArCXsgLmNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQyNzEyLWRwaSIsICAgICAgICAuZGF0YSA9ICh2b2lkICopTVRL X0RQSSB9LAoKTW92ZSB0aGlzIG1vZGlmaWNhdGlvbiB0byB0aGUgcGF0Y2ggd2hpY2ggbW9kaWZ5 IHRoZSBkcGkgZHJpdmVyIGZvcgptdDI3MTIuCgo+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxNzMtZHBpIiwgICAgICAgIC5kYXRhID0gKHZvaWQgKilNVEtfRFBJIH0sCj4gIAl7IC5j b21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcwMS1kaXNwLW11dGV4IiwgLmRhdGEgPSAodm9pZCAq KU1US19ESVNQX01VVEVYIH0sCj4gKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcxMi1k aXNwLW11dGV4IiwgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX01VVEVYIH0sCj4gIAl7IC5jb21w YXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW11dGV4IiwgLmRhdGEgPSAodm9pZCAqKU1U S19ESVNQX01VVEVYIH0sCj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcwMS1kaXNw LXB3bSIsICAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX0JMUyB9LAo+ICAJeyAuY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1wd20iLCAgIC5kYXRhID0gKHZvaWQgKilNVEtfRElT UF9QV00gfSwKPiBAQCAtNTUyLDYgKzU5NCw4IEBAIHN0YXRpYyBTSU1QTEVfREVWX1BNX09QUyht dGtfZHJtX3BtX29wcywgbXRrX2RybV9zeXNfc3VzcGVuZCwKPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgbXRrX2RybV9vZl9pZHNbXSA9IHsKPiAgCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQyNzAxLW1tc3lzIiwKPiAgCSAgLmRhdGEgPSAmbXQyNzAxX21tc3lzX2RyaXZl cl9kYXRhfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzEyLW1tc3lzIiwKPiAr CSAgLmRhdGEgPSAmbXQyNzEyX21tc3lzX2RyaXZlcl9kYXRhfSwKPiAgCXsgLmNvbXBhdGlibGUg PSAibWVkaWF0ZWssbXQ4MTczLW1tc3lzIiwKPiAgCSAgLmRhdGEgPSAmbXQ4MTczX21tc3lzX2Ry aXZlcl9kYXRhfSwKPiAgCXsgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5o Cj4gaW5kZXggYzMzNzhjNDUyYzBhLi5lODIxMzQyYmMyZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kcnYuaAo+IEBAIC0xNyw4ICsxNyw4IEBACj4gICNpbmNsdWRlIDxs aW51eC9pby5oPgo+ICAjaW5jbHVkZSAibXRrX2RybV9kZHBfY29tcC5oIgo+ICAKPiAtI2RlZmlu ZSBNQVhfQ1JUQwkyCj4gLSNkZWZpbmUgTUFYX0NPTk5FQ1RPUgkyCj4gKyNkZWZpbmUgTUFYX0NS VEMJMwo+ICsjZGVmaW5lIE1BWF9DT05ORUNUT1IJMwo+ICAKPiAgc3RydWN0IGRldmljZTsKPiAg c3RydWN0IGRldmljZV9ub2RlOwo+IEBAIC0zMyw2ICszMyw5IEBAIHN0cnVjdCBtdGtfbW1zeXNf ZHJpdmVyX2RhdGEgewo+ICAJdW5zaWduZWQgaW50IG1haW5fbGVuOwo+ICAJY29uc3QgZW51bSBt dGtfZGRwX2NvbXBfaWQgKmV4dF9wYXRoOwo+ICAJdW5zaWduZWQgaW50IGV4dF9sZW47Cj4gKwll bnVtIG10a19kZHBfY29tcF9pZCAqdGhpcmRfcGF0aDsKPiArCXVuc2lnbmVkIGludCB0aGlyZF9s ZW47Cj4gKwo+ICAJYm9vbCBzaGFkb3dfcmVnaXN0ZXI7Cj4gIH07Cj4gIAoKUmVnYXJkcywKQ0sK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=