From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stu Hsieh Subject: Re: [PATCH v2 2/4] drm/mediatek: Add support for mediatek SOC MT2712 Date: Wed, 23 May 2018 17:28:16 +0800 Message-ID: <1527067696.19074.28.camel@mtksdaap41> References: <20180523022517.12103-1-stu.hsieh@mediatek.com> <20180523022517.12103-3-stu.hsieh@mediatek.com> <1527053036.10410.18.camel@mtksdaap41> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1527053036.10410.18.camel@mtksdaap41> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: CK Hu 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 T24gV2VkLCAyMDE4LTA1LTIzIGF0IDEzOjIzICswODAwLCBDSyBIdSB3cm90ZToKPiBIaSwgU3R1 Ogo+IAo+IEkndmUgc29tZSBpbmxpbmUgY29tbWVudC4KPiAKPiBPbiBXZWQsIDIwMTgtMDUtMjMg YXQgMTA6MjUgKzA4MDAsIFN0dSBIc2llaCB3cm90ZToKPiA+IFRoaXMgcGF0Y2ggYWRkIHN1cHBv cnQgZm9yIHRoZSBNZWRpYXRlayBNVDI3MTIgRElTUCBzdWJzeXN0ZW0uCj4gPiBUaGVyZSBhcmUg dHdvIE9WTCBlbmdpbmUgYW5kIHRocmVlIGRpc3Agb3V0cHV0IGluIE1UMjcxMi4KPiA+IAo+ID4g U2lnbmVkLW9mZi1ieTogU3R1IEhzaWVoIDxzdHUuaHNpZWhAbWVkaWF0ZWsuY29tPgo+ID4gLS0t Cj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgICAgICB8IDUwICsr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwX2NvbXAuYyB8ICA4ICsrKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZGRwX2NvbXAuaCB8ICA3ICsrLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKy0t Cj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICA3ICsr LS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMo LSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiA+IGluZGV4 IDgxMzBmM2RhYjY2MS4uZTU2M2RlZGQxOTk5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcC5jCj4gPiBAQCAtMjksNiArMjksOCBAQAo+ID4gICNkZWZpbmUgRElT UF9SRUdfQ09ORklHX0RJU1BfQ09MT1IwX1NFTF9JTgkweDA4NAo+ID4gICNkZWZpbmUgRElTUF9S RUdfQ09ORklHX0RJU1BfQ09MT1IxX1NFTF9JTgkweDA4OAo+ID4gICNkZWZpbmUgRElTUF9SRUdf Q09ORklHX0RQSV9TRUxfSU4JCTB4MGFjCj4gPiArI2RlZmluZSBESVNQX1JFR19DT05GSUdfRElT UF9SRE1BMl9TT1VUCQkweDBiOAo+ID4gKyNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RJU1BfUkRN QTBfTU9VVF9FTgkweDBjNAo+IAo+IFRoZXNlIHR3byBkZWZpbml0aW9uIGFyZSB1c2VsZXNzLCBz byByZW1vdmUgaXQuCm9rCgoKPiAKPiA+ICAjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19ESVNQX1JE TUExX01PVVRfRU4JMHgwYzgKPiA+ICAjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19NTVNZU19DR19D T04wCQkweDEwMAo+ID4gIAo+ID4gQEAgLTQxLDYgKzQzLDcgQEAKPiA+ICAjZGVmaW5lIERJU1Bf UkVHX01VVEVYX1JTVChuKQkoMHgyOCArIDB4MjAgKiAobikpCj4gPiAgI2RlZmluZSBESVNQX1JF R19NVVRFWF9NT0QobikJKDB4MmMgKyAweDIwICogKG4pKQo+ID4gICNkZWZpbmUgRElTUF9SRUdf TVVURVhfU09GKG4pCSgweDMwICsgMHgyMCAqIChuKSkKPiA+ICsjZGVmaW5lIERJU1BfUkVHX01V VEVYX01PRDIobikJKDB4MzQgKyAweDIwICogKG4pKQo+IAo+IE1vdmUgdGhpcyB0byB0aGUgcGF0 Y2ggJ2RybS9tZWRpYXRlazogc3VwcG9ydCBtYXhpbXVtIDY0IG11dGV4IG1vZCcgYW5kCj4gdGhh dCBwYXRjaCBzaG91bGQgYmUgYXBwbGllZCBiZWZvcmUgdGhpcyBwYXRjaC4KPiAKPiA+ICAKPiA+ ICAjZGVmaW5lIElOVF9NVVRFWAkJCQlCSVQoMSkKPiA+ICAKPiA+IEBAIC02MCw2ICs2MywyNSBA QAo+ID4gICNkZWZpbmUgTVQ4MTczX01VVEVYX01PRF9ESVNQX1BXTTEJCUJJVCgyNCkKPiA+ICAj ZGVmaW5lIE1UODE3M19NVVRFWF9NT0RfRElTUF9PRAkJQklUKDI1KQo+ID4gIAo+ID4gKyNkZWZp bmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX09WTDAJCUJJVCgxMSkKPiA+ICsjZGVmaW5lIE1UMjcx Ml9NVVRFWF9NT0RfRElTUF9PVkwxCQlCSVQoMTIpCj4gPiArI2RlZmluZSBNVDI3MTJfTVVURVhf TU9EX0RJU1BfUkRNQTAJCUJJVCgxMykKPiA+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0RfRElT UF9SRE1BMQkJQklUKDE0KQo+ID4gKyNkZWZpbmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX1JETUEy CQlCSVQoMTUpCj4gPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfV0RNQTAJCUJJVCgx NikKPiA+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0RfRElTUF9XRE1BMQkJQklUKDE3KQo+ID4g KyNkZWZpbmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX0NPTE9SMAkJQklUKDE4KQo+ID4gKyNkZWZp bmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX0NPTE9SMQkJQklUKDE5KQo+ID4gKyNkZWZpbmUgTVQy NzEyX01VVEVYX01PRF9ESVNQX0FBTDAJCUJJVCgyMCkKPiA+ICsjZGVmaW5lIE1UMjcxMl9NVVRF WF9NT0RfRElTUF9VRk9FCQlCSVQoMjIpCj4gPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJ U1BfUFdNMAkJQklUKDIzKQo+ID4gKyNkZWZpbmUgTVQyNzEyX01VVEVYX01PRF9ESVNQX1BXTTEJ CUJJVCgyNCkKPiA+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0RfRElTUF9QV00yCQlCSVQoMTAp Cj4gPiArI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EX0RJU1BfT0QwCQlCSVQoMjUpCj4gPiArLyog bW9kdWxlcyBtb3JlIHRoYW4gMzIsIGFkZCBCSVQoMzEpIHdoZW4gdXNpbmcgRElTUF9SRUdfTVVU RVhfTU9EMiBiaXQgKi8KPiA+ICsjZGVmaW5lIE1UMjcxMl9NVVRFWF9NT0QyX0RJU1BfQUFMMQkJ KEJJVCgxKSB8IEJJVCgzMSkpCj4gCj4gSSB0aGluayBhIGJldHRlciBkZWZpbml0aW9uIGlzCj4g Cj4gI2RlZmluZSBNVDI3MTJfTVVURVhfTU9EMl9ESVNQX0FBTDEJCUJJVCgzMykKPiAKPiB3aGVu IHlvdSBuZWVkIHRvIGFjY2VzcyB0aGlzIHJlZ2lzdGVyLAo+IAo+IGlmIChkZHAtPm11dGV4X21v ZFtpZF0gPCBCSVQoMzIpKSB7Cj4gCW9mZnNldCA9IERJU1BfUkVHX01VVEVYX01PRChtdXRleC0+ aWQpOwo+IAlyZWcgPSByZWFkbF9yZWxheGVkKGRkcC0+cmVncyArIG9mZnNldCk7Cj4gCXJlZyB8 PSBkZHAtPm11dGV4X21vZFtpZF07Cj4gCXdyaXRlbF9yZWxheGVkKHJlZywgZGRwLT5yZWdzICsg b2Zmc2V0KTsKPiB9IGVsc2Ugewo+IAlvZmZzZXQgPSBESVNQX1JFR19NVVRFWF9NT0QyKG11dGV4 LT5pZCk7Cj4gCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLT5yZWdzICsgb2Zmc2V0KTsKPiAJcmVn IHw9IChkZHAtPm11dGV4X21vZFtpZF0gPj4gMzIpOwo+IAl3cml0ZWxfcmVsYXhlZChyZWcsIGRk cC0+cmVncyArIG9mZnNldCk7Cj4gfQo+IAo+IGJlY2F1c2UgRElTUF9SRUdfTVVURVhfTU9EIEJJ VCgzMSkgY291bGQgYmUgdXNlZCBmb3Igc29tZSBtb2R1bGUuCgpUaGlzIG1vZGlmaWNhdGlvbiBp cyB3b3JrYWJsZSwgYnV0IHJlc3VsdCBzb21lIGJ1aWxkIHdhcm5pbmcgbGlrZQpmb2xsb3dpbmc6 CjEuICNkZWZpbmUgQklUKG5yKSAgICgxVUwgPDwgKG5yKSkgaW4gaW5jbHVkZS9saW51eC9iaXRv cHMuaAoyLiBbRERQX0NPTVBPTkVOVF9BQUwxXSA9IE1UMjcxMl9NVVRFWF9NT0QyX0RJU1BfQUFM MSwKICAgPT4gd2UgbmVlZCB0byBtb2RpZnkgdGhlIGRlZmluaXRpb24gYWJvdXQgInN0YXRpYyBj b25zdCB1bnNpZ25lZCBpbnQKbXQyNzEyX211dGV4X21vZCIKCj4gPiArI2RlZmluZSBNVDI3MTJf TVVURVhfTU9EMl9ESVNQX09EMQkJKEJJVCgyKSB8IEJJVCgzMSkpCj4gPiArCj4gPiAgI2RlZmlu ZSBNVDI3MDFfTVVURVhfTU9EX0RJU1BfT1ZMCQlCSVQoMykKPiA+ICAjZGVmaW5lIE1UMjcwMV9N VVRFWF9NT0RfRElTUF9XRE1BCQlCSVQoNikKPiA+ICAjZGVmaW5lIE1UMjcwMV9NVVRFWF9NT0Rf RElTUF9DT0xPUgkJQklUKDcpCj4gPiBAQCAtNzQsNiArOTYsNyBAQAo+ID4gIAo+ID4gICNkZWZp bmUgT1ZMMF9NT1VUX0VOX0NPTE9SMAkJMHgxCj4gPiAgI2RlZmluZSBPRF9NT1VUX0VOX1JETUEw CQkweDEKPiA+ICsjZGVmaW5lIE9EMV9NT1VUX0VOX1JETUExCQlCSVQoMTYpCj4gPiAgI2RlZmlu ZSBVRk9FX01PVVRfRU5fRFNJMAkJMHgxCj4gPiAgI2RlZmluZSBDT0xPUjBfU0VMX0lOX09WTDAJ CTB4MQo+ID4gICNkZWZpbmUgT1ZMMV9NT1VUX0VOX0NPTE9SMQkJMHgxCj4gPiBAQCAtMTA4LDEy ICsxMzEsMzIgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDI3MDFfbXV0ZXhfbW9kW0RE UF9DT01QT05FTlRfSURfTUFYXSA9IHsKPiA+ICAJW0REUF9DT01QT05FTlRfV0RNQTBdID0gTVQy NzAxX01VVEVYX01PRF9ESVNQX1dETUEsCj4gPiAgfTsKPiA+ICAKPiA+ICtzdGF0aWMgY29uc3Qg dW5zaWduZWQgaW50IG10MjcxMl9tdXRleF9tb2RbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ ID4gKwlbRERQX0NPTVBPTkVOVF9BQUwwXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9BQUwwLAo+ ID4gKwlbRERQX0NPTVBPTkVOVF9BQUwxXSA9IE1UMjcxMl9NVVRFWF9NT0QyX0RJU1BfQUFMMSwK PiA+ICsJW0REUF9DT01QT05FTlRfQ09MT1IwXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9DT0xP UjAsCj4gPiArCVtERFBfQ09NUE9ORU5UX0NPTE9SMV0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1Bf Q09MT1IxLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9PRDBdID0gTVQyNzEyX01VVEVYX01PRF9ESVNQ X09EMCwKPiA+ICsJW0REUF9DT01QT05FTlRfT0QxXSA9IE1UMjcxMl9NVVRFWF9NT0QyX0RJU1Bf T0QxLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9PVkwwXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9P VkwwLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9PVkwxXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9P VkwxLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9QV00wXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9Q V00wLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9QV00xXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9Q V00xLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9QV00yXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElTUF9Q V00yLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9SRE1BMF0gPSBNVDI3MTJfTVVURVhfTU9EX0RJU1Bf UkRNQTAsCj4gPiArCVtERFBfQ09NUE9ORU5UX1JETUExXSA9IE1UMjcxMl9NVVRFWF9NT0RfRElT UF9SRE1BMSwKPiA+ICsJW0REUF9DT01QT05FTlRfUkRNQTJdID0gTVQyNzEyX01VVEVYX01PRF9E SVNQX1JETUEyLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9VRk9FXSA9IE1UMjcxMl9NVVRFWF9NT0Rf RElTUF9VRk9FLAo+ID4gKwlbRERQX0NPTVBPTkVOVF9XRE1BMF0gPSBNVDI3MTJfTVVURVhfTU9E X0RJU1BfV0RNQTAsCj4gPiArCVtERFBfQ09NUE9ORU5UX1dETUExXSA9IE1UMjcxMl9NVVRFWF9N T0RfRElTUF9XRE1BMSwKPiA+ICt9Owo+ID4gKwo+ID4gIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBp bnQgbXQ4MTczX211dGV4X21vZFtERFBfQ09NUE9ORU5UX0lEX01BWF0gPSB7Cj4gPiAtCVtERFBf Q09NUE9ORU5UX0FBTF0gPSBNVDgxNzNfTVVURVhfTU9EX0RJU1BfQUFMLAo+ID4gKwlbRERQX0NP TVBPTkVOVF9BQUwwXSA9IE1UODE3M19NVVRFWF9NT0RfRElTUF9BQUwsCj4gPiAgCVtERFBfQ09N UE9ORU5UX0NPTE9SMF0gPSBNVDgxNzNfTVVURVhfTU9EX0RJU1BfQ09MT1IwLAo+ID4gIAlbRERQ X0NPTVBPTkVOVF9DT0xPUjFdID0gTVQ4MTczX01VVEVYX01PRF9ESVNQX0NPTE9SMSwKPiA+ICAJ W0REUF9DT01QT05FTlRfR0FNTUFdID0gTVQ4MTczX01VVEVYX01PRF9ESVNQX0dBTU1BLAo+ID4g LQlbRERQX0NPTVBPTkVOVF9PRF0gPSBNVDgxNzNfTVVURVhfTU9EX0RJU1BfT0QsCj4gPiArCVtE RFBfQ09NUE9ORU5UX09EMF0gPSBNVDgxNzNfTVVURVhfTU9EX0RJU1BfT0QsCj4gPiAgCVtERFBf Q09NUE9ORU5UX09WTDBdID0gTVQ4MTczX01VVEVYX01PRF9ESVNQX09WTDAsCj4gPiAgCVtERFBf Q09NUE9ORU5UX09WTDFdID0gTVQ4MTczX01VVEVYX01PRF9ESVNQX09WTDEsCj4gPiAgCVtERFBf Q09NUE9ORU5UX1BXTTBdID0gTVQ4MTczX01VVEVYX01PRF9ESVNQX1BXTTAsCj4gPiBAQCAtMTM4 LDcgKzE4MSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9tb3V0X2VuKGVudW0gbXRr X2RkcF9jb21wX2lkIGN1ciwKPiA+ICAJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9P VkwwICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9SRE1BMCkgewo+ID4gIAkJKmFkZHIgPSBESVNQ X1JFR19DT05GSUdfRElTUF9PVkxfTU9VVF9FTjsKPiA+ICAJCXZhbHVlID0gT1ZMX01PVVRfRU5f UkRNQTsKPiA+IC0JfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PRCAmJiBuZXh0ID09 IEREUF9DT01QT05FTlRfUkRNQTApIHsKPiA+ICsJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBP TkVOVF9PRDAgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX1JETUEwKSB7Cj4gPiAgCQkqYWRkciA9 IERJU1BfUkVHX0NPTkZJR19ESVNQX09EX01PVVRfRU47Cj4gPiAgCQl2YWx1ZSA9IE9EX01PVVRf RU5fUkRNQTA7Cj4gPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfVUZPRSAmJiBu ZXh0ID09IEREUF9DT01QT05FTlRfRFNJMCkgewo+ID4gQEAgLTQwNyw2ICs0NTAsNyBAQCBzdGF0 aWMgaW50IG10a19kZHBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiAg Cj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZGRwX2RyaXZlcl9kdF9tYXRj aFtdID0gewo+ID4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcwMS1kaXNwLW11dGV4 IiwgLmRhdGEgPSBtdDI3MDFfbXV0ZXhfbW9kfSwKPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRp YXRlayxtdDI3MTItZGlzcC1tdXRleCIsIC5kYXRhID0gbXQyNzEyX211dGV4X21vZH0sCj4gPiAg CXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtbXV0ZXgiLCAuZGF0YSA9IG10 ODE3M19tdXRleF9tb2R9LAo+ID4gIAl7fSwKPiA+ICB9Owo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgYi9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gPiBpbmRleCA0NjcyMzE3ZTNhZDEuLjg2ZThj OWU1ZGY0MSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcF9jb21wLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk cF9jb21wLmMKPiA+IEBAIC0yMTgsNyArMjE4LDggQEAgc3RydWN0IG10a19kZHBfY29tcF9tYXRj aCB7Cj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9t YXRjaCBtdGtfZGRwX21hdGNoZXNbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ID4gLQlbRERQ X0NPTVBPTkVOVF9BQUxdCT0geyBNVEtfRElTUF9BQUwsCTAsICZkZHBfYWFsIH0sCj4gPiArCVtE RFBfQ09NUE9ORU5UX0FBTDBdCT0geyBNVEtfRElTUF9BQUwsCTAsICZkZHBfYWFsIH0sCj4gPiAr CVtERFBfQ09NUE9ORU5UX0FBTDFdCT0geyBNVEtfRElTUF9BQUwsCTEsICZkZHBfYWFsIH0sCj4g PiAgCVtERFBfQ09NUE9ORU5UX0JMU10JPSB7IE1US19ESVNQX0JMUywJMCwgTlVMTCB9LAo+ID4g IAlbRERQX0NPTVBPTkVOVF9DT0xPUjBdCT0geyBNVEtfRElTUF9DT0xPUiwJMCwgTlVMTCB9LAo+ ID4gIAlbRERQX0NPTVBPTkVOVF9DT0xPUjFdCT0geyBNVEtfRElTUF9DT0xPUiwJMSwgTlVMTCB9 LAo+ID4gQEAgLTIyNiwxMCArMjI3LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9j b21wX21hdGNoIG10a19kZHBfbWF0Y2hlc1tERFBfQ09NUE9ORU5UX0lEX01BWF0gPSB7Cj4gPiAg CVtERFBfQ09NUE9ORU5UX0RTSTBdCT0geyBNVEtfRFNJLAkJMCwgTlVMTCB9LAo+ID4gIAlbRERQ X0NPTVBPTkVOVF9EU0kxXQk9IHsgTVRLX0RTSSwJCTEsIE5VTEwgfSwKPiA+ICAJW0REUF9DT01Q T05FTlRfR0FNTUFdCT0geyBNVEtfRElTUF9HQU1NQSwJMCwgJmRkcF9nYW1tYSB9LAo+ID4gLQlb RERQX0NPTVBPTkVOVF9PRF0JPSB7IE1US19ESVNQX09ELAkwLCAmZGRwX29kIH0sCj4gPiArCVtE RFBfQ09NUE9ORU5UX09EMF0JPSB7IE1US19ESVNQX09ELAkwLCAmZGRwX29kIH0sCj4gPiArCVtE RFBfQ09NUE9ORU5UX09EMV0JPSB7IE1US19ESVNQX09ELAkxLCAmZGRwX29kIH0sCj4gPiAgCVtE RFBfQ09NUE9ORU5UX09WTDBdCT0geyBNVEtfRElTUF9PVkwsCTAsIE5VTEwgfSwKPiA+ICAJW0RE UF9DT01QT05FTlRfT1ZMMV0JPSB7IE1US19ESVNQX09WTCwJMSwgTlVMTCB9LAo+ID4gIAlbRERQ X0NPTVBPTkVOVF9QV00wXQk9IHsgTVRLX0RJU1BfUFdNLAkwLCBOVUxMIH0sCj4gPiArCVtERFBf Q09NUE9ORU5UX1BXTTFdCT0geyBNVEtfRElTUF9QV00sCTEsIE5VTEwgfSwKPiA+ICsJW0REUF9D T01QT05FTlRfUFdNMl0JPSB7IE1US19ESVNQX1BXTSwJMiwgTlVMTCB9LAo+ID4gIAlbRERQX0NP TVBPTkVOVF9SRE1BMF0JPSB7IE1US19ESVNQX1JETUEsCTAsIE5VTEwgfSwKPiA+ICAJW0REUF9D T01QT05FTlRfUkRNQTFdCT0geyBNVEtfRElTUF9SRE1BLAkxLCBOVUxMIH0sCj4gPiAgCVtERFBf Q09NUE9ORU5UX1JETUEyXQk9IHsgTVRLX0RJU1BfUkRNQSwJMiwgTlVMTCB9LAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCj4gPiBpbmRleCAwODI4Y2Y4 YmY4NWMuLmUwMGMyZTc5OGFiZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcF9jb21wLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2RkcF9jb21wLmgKPiA+IEBAIC00MSw3ICs0MSw4IEBAIGVudW0gbXRrX2RkcF9j b21wX3R5cGUgewo+ID4gIH07Cj4gPiAgCj4gPiAgZW51bSBtdGtfZGRwX2NvbXBfaWQgewo+ID4g LQlERFBfQ09NUE9ORU5UX0FBTCwKPiA+ICsJRERQX0NPTVBPTkVOVF9BQUwwLAo+ID4gKwlERFBf Q09NUE9ORU5UX0FBTDEsCj4gCj4gTW92ZSB0aGlzIHRvIGEgcGF0Y2ggJ2FkZCBkZHAgY29tcG9u ZW50IEFBTDEnLgpvawoKPiAKPiA+ICAJRERQX0NPTVBPTkVOVF9CTFMsCj4gPiAgCUREUF9DT01Q T05FTlRfQ09MT1IwLAo+ID4gIAlERFBfQ09NUE9ORU5UX0NPTE9SMSwKPiA+IEBAIC00OSwxMSAr NTAsMTMgQEAgZW51bSBtdGtfZGRwX2NvbXBfaWQgewo+ID4gIAlERFBfQ09NUE9ORU5UX0RTSTAs Cj4gPiAgCUREUF9DT01QT05FTlRfRFNJMSwKPiA+ICAJRERQX0NPTVBPTkVOVF9HQU1NQSwKPiA+ IC0JRERQX0NPTVBPTkVOVF9PRCwKPiA+ICsJRERQX0NPTVBPTkVOVF9PRDAsCj4gPiArCUREUF9D T01QT05FTlRfT0QxLAo+IAo+IE1vdmUgdGhpcyB0byBhIHBhdGNoICdhZGQgZGRwIGNvbXBvbmVu dCBPRDEnLgpvawoKPiAKPiA+ICAJRERQX0NPTVBPTkVOVF9PVkwwLAo+ID4gIAlERFBfQ09NUE9O RU5UX09WTDEsCj4gPiAgCUREUF9DT01QT05FTlRfUFdNMCwKPiA+ICAJRERQX0NPTVBPTkVOVF9Q V00xLAo+ID4gKwlERFBfQ09NUE9ORU5UX1BXTTIsCj4gCj4gTW92ZSB0aGlzIHRvIGEgcGF0Y2gg J2FkZCBkZHAgY29tcG9uZW50IFBXTTInLgpvawoKPiAKPiA+ICAJRERQX0NPTVBPTkVOVF9SRE1B MCwKPiA+ICAJRERQX0NPTVBPTkVOVF9SRE1BMSwKPiA+ICAJRERQX0NPTVBPTkVOVF9SRE1BMiwK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gPiBpbmRleCBhMmNhOTBm YzQwM2MuLjNhODY2ZTFkNmFmNCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2Rydi5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9kcnYuYwo+ID4gQEAgLTE0NiwxMSArMTQ2LDM3IEBAIHN0YXRpYyBjb25zdCBlbnVtIG10 a19kZHBfY29tcF9pZCBtdDI3MDFfbXRrX2RkcF9leHRbXSA9IHsKPiA+ICAJRERQX0NPTVBPTkVO VF9EUEkwLAo+ID4gIH07Cj4gPiAgCj4gPiArc3RhdGljIGNvbnN0IGVudW0gbXRrX2RkcF9jb21w X2lkIG10MjcxMl9tdGtfZGRwX21haW5bXSA9IHsKPiA+ICsJRERQX0NPTVBPTkVOVF9PVkwwLAo+ ID4gKwlERFBfQ09NUE9ORU5UX0NPTE9SMCwKPiA+ICsJRERQX0NPTVBPTkVOVF9BQUwwLAo+ID4g KwlERFBfQ09NUE9ORU5UX09EMCwKPiA+ICsJRERQX0NPTVBPTkVOVF9SRE1BMCwKPiA+ICsJRERQ X0NPTVBPTkVOVF9EUEkwLAo+ID4gKwlERFBfQ09NUE9ORU5UX1BXTTAsCj4gPiArfTsKPiA+ICsK PiA+ICtzdGF0aWMgY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQyNzEyX210a19kZHBfZXh0 W10gPSB7Cj4gPiArCUREUF9DT01QT05FTlRfT1ZMMSwKPiA+ICsJRERQX0NPTVBPTkVOVF9DT0xP UjEsCj4gPiArCUREUF9DT01QT05FTlRfQUFMMSwKPiA+ICsJRERQX0NPTVBPTkVOVF9PRDEsCj4g PiArCUREUF9DT01QT05FTlRfUkRNQTEsCj4gPiArCUREUF9DT01QT05FTlRfRFBJMSwKPiA+ICsJ RERQX0NPTVBPTkVOVF9QV00xLAo+ID4gK307Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IGVudW0g bXRrX2RkcF9jb21wX2lkIG10MjcxMl9tdGtfZGRwX3RoaXJkW10gPSB7Cj4gPiArCUREUF9DT01Q T05FTlRfUkRNQTIsCj4gPiArCUREUF9DT01QT05FTlRfRFNJMiwKPiA+ICsJRERQX0NPTVBPTkVO VF9QV00yLAo+ID4gK307Cj4gPiArCj4gPiAgc3RhdGljIGNvbnN0IGVudW0gbXRrX2RkcF9jb21w X2lkIG10ODE3M19tdGtfZGRwX21haW5bXSA9IHsKPiA+ICAJRERQX0NPTVBPTkVOVF9PVkwwLAo+ ID4gIAlERFBfQ09NUE9ORU5UX0NPTE9SMCwKPiA+IC0JRERQX0NPTVBPTkVOVF9BQUwsCj4gPiAt CUREUF9DT01QT05FTlRfT0QsCj4gPiArCUREUF9DT01QT05FTlRfQUFMMCwKPiA+ICsJRERQX0NP TVBPTkVOVF9PRDAsCj4gPiAgCUREUF9DT01QT05FTlRfUkRNQTAsCj4gPiAgCUREUF9DT01QT05F TlRfVUZPRSwKPiA+ICAJRERQX0NPTVBPTkVOVF9EU0kwLAo+ID4gQEAgLTE3Myw2ICsxOTksMTUg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgbXQyNzAxX21tc3lz X2RyaXZlcl9kYXRhID0gewo+ID4gIAkuc2hhZG93X3JlZ2lzdGVyID0gdHJ1ZSwKPiA+ICB9Owo+ ID4gIAo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIG10Mjcx Ml9tbXN5c19kcml2ZXJfZGF0YSA9IHsKPiA+ICsJLm1haW5fcGF0aCA9IG10MjcxMl9tdGtfZGRw X21haW4sCj4gPiArCS5tYWluX2xlbiA9IEFSUkFZX1NJWkUobXQyNzEyX210a19kZHBfbWFpbiks Cj4gPiArCS5leHRfcGF0aCA9IG10MjcxMl9tdGtfZGRwX2V4dCwKPiA+ICsJLmV4dF9sZW4gPSBB UlJBWV9TSVpFKG10MjcxMl9tdGtfZGRwX2V4dCksCj4gPiArCS50aGlyZF9wYXRoID0gbXQyNzEy X210a19kZHBfdGhpcmQsCj4gPiArCS50aGlyZF9sZW4gPSBBUlJBWV9TSVpFKG10MjcxMl9tdGtf ZGRwX3RoaXJkKSwKPiA+ICt9Owo+ID4gKwo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX21t c3lzX2RyaXZlcl9kYXRhIG10ODE3M19tbXN5c19kcml2ZXJfZGF0YSA9IHsKPiA+ICAJLm1haW5f cGF0aCA9IG10ODE3M19tdGtfZGRwX21haW4sCj4gPiAgCS5tYWluX2xlbiA9IEFSUkFZX1NJWkUo bXQ4MTczX210a19kZHBfbWFpbiksCj4gPiBAQCAtMjMyLDYgKzI2NywxMSBAQCBzdGF0aWMgaW50 IG10a19kcm1fa21zX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKPiA+ICAJaWYgKHJldCA8 IDApCj4gPiAgCQlnb3RvIGVycl9jb21wb25lbnRfdW5iaW5kOwo+ID4gIAo+ID4gKwlyZXQgPSBt dGtfZHJtX2NydGNfY3JlYXRlKGRybSwgcHJpdmF0ZS0+ZGF0YS0+dGhpcmRfcGF0aCwKPiA+ICsJ CQkJICBwcml2YXRlLT5kYXRhLT50aGlyZF9sZW4pOwo+ID4gKwlpZiAocmV0IDwgMCkKPiA+ICsJ CWdvdG8gZXJyX2NvbXBvbmVudF91bmJpbmQ7Cj4gPiArCj4gCj4gTW92ZSB0aGlzIHRvIGEgcGF0 Y2ggJ2FkZCB0aGlyZCBkZHAgcGF0aCcuCm9rCgo+IAo+IFJlZ2FyZHMsCj4gQ0sKPiAKPiA+ICAJ LyogVXNlIE9WTCBkZXZpY2UgZm9yIGFsbCBETUEgbWVtb3J5IGFsbG9jYXRpb25zICovCj4gPiAg CW5wID0gcHJpdmF0ZS0+Y29tcF9ub2RlW3ByaXZhdGUtPmRhdGEtPm1haW5fcGF0aFswXV0gPzoK PiA+ICAJICAgICBwcml2YXRlLT5jb21wX25vZGVbcHJpdmF0ZS0+ZGF0YS0+ZXh0X3BhdGhbMF1d Owo+ID4gQEAgLTM3NCw2ICs0MTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9p ZCBtdGtfZGRwX2NvbXBfZHRfaWRzW10gPSB7Cj4gPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0 ZWssbXQ4MTczLWRzaSIsICAgICAgICAuZGF0YSA9ICh2b2lkICopTVRLX0RTSSB9LAo+ID4gIAl7 IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kcGkiLCAgICAgICAgLmRhdGEgPSAodm9p ZCAqKU1US19EUEkgfSwKPiA+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDI3MDEtZGlz cC1tdXRleCIsIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9NVVRFWCB9LAo+ID4gKwl7IC5jb21w YXRpYmxlID0gIm1lZGlhdGVrLG10MjcxMi1kaXNwLW11dGV4IiwgLmRhdGEgPSAodm9pZCAqKU1U S19ESVNQX01VVEVYIH0sCj4gPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRp c3AtbXV0ZXgiLCAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfTVVURVggfSwKPiA+ICAJeyAuY29t cGF0aWJsZSA9ICJtZWRpYXRlayxtdDI3MDEtZGlzcC1wd20iLCAgIC5kYXRhID0gKHZvaWQgKilN VEtfRElTUF9CTFMgfSwKPiA+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlz cC1wd20iLCAgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9QV00gfSwKPiA+IEBAIC01NTIsNiAr NTkzLDggQEAgc3RhdGljIFNJTVBMRV9ERVZfUE1fT1BTKG10a19kcm1fcG1fb3BzLCBtdGtfZHJt X3N5c19zdXNwZW5kLAo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19k cm1fb2ZfaWRzW10gPSB7Cj4gPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLW1t c3lzIiwKPiA+ICAJICAuZGF0YSA9ICZtdDI3MDFfbW1zeXNfZHJpdmVyX2RhdGF9LAo+ID4gKwl7 IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcxMi1tbXN5cyIsCj4gPiArCSAgLmRhdGEgPSAm bXQyNzEyX21tc3lzX2RyaXZlcl9kYXRhfSwKPiA+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxNzMtbW1zeXMiLAo+ID4gIAkgIC5kYXRhID0gJm10ODE3M19tbXN5c19kcml2ZXJfZGF0 YX0sCj4gPiAgCXsgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgKPiA+ IGluZGV4IGMzMzc4YzQ1MmMwYS4uZTgyMTM0MmJjMmQzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oCj4gPiBAQCAtMTcsOCArMTcsOCBAQAo+ID4gICNpbmNs dWRlIDxsaW51eC9pby5oPgo+ID4gICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiCj4gPiAg Cj4gPiAtI2RlZmluZSBNQVhfQ1JUQwkyCj4gPiAtI2RlZmluZSBNQVhfQ09OTkVDVE9SCTIKPiA+ ICsjZGVmaW5lIE1BWF9DUlRDCTMKPiA+ICsjZGVmaW5lIE1BWF9DT05ORUNUT1IJMwo+ID4gIAo+ ID4gIHN0cnVjdCBkZXZpY2U7Cj4gPiAgc3RydWN0IGRldmljZV9ub2RlOwo+ID4gQEAgLTMzLDYg KzMzLDkgQEAgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSB7Cj4gPiAgCXVuc2lnbmVkIGlu dCBtYWluX2xlbjsKPiA+ICAJY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgKmV4dF9wYXRoOwo+ ID4gIAl1bnNpZ25lZCBpbnQgZXh0X2xlbjsKPiA+ICsJZW51bSBtdGtfZGRwX2NvbXBfaWQgKnRo aXJkX3BhdGg7Cj4gPiArCXVuc2lnbmVkIGludCB0aGlyZF9sZW47Cj4gPiArCj4gPiAgCWJvb2wg c2hhZG93X3JlZ2lzdGVyOwo+ID4gIH07Cj4gPiAgCj4gCj4gCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==