From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v2 21/25] drm/mediatek: add support for mediatek SOC MT8183 Date: Thu, 11 Apr 2019 18:33:31 +0800 Message-ID: <1554978811.31912.4.camel@mtksdaap41> References: <1553667561-25447-1-git-send-email-yongqiang.niu@mediatek.com> <1553667561-25447-22-git-send-email-yongqiang.niu@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1553667561-25447-22-git-send-email-yongqiang.niu@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: yongqiang.niu@mediatek.com Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org SGksIFlvbmdxaWFuZzoKCk9uIFdlZCwgMjAxOS0wMy0yNyBhdCAxNDoxOSArMDgwMCwgeW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20gd3JvdGU6Cj4gRnJvbTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20+Cj4gCj4gVGhpcyBwYXRjaCBhZGQgc3VwcG9ydCBmb3IgbWVk aWF0ZWsgU09DIE1UODE4Mwo+IDEub3ZsXzJsIHNoYXJlIGRyaXZlciB3aXRoIG92bAo+IDIucmRt YTEgc2hhcmUgZHJpdmUgd2l0aCByZG1hMCwgYnV0IGZpZm8gc2l6ZSBpcyBkaWZmZXJlbnQKPiAz LmFkZCBtdDgxODMgbXV0ZXggcHJpdmF0ZSBkYXRhLCBhbmQgbW1zeXMgcHJpdmF0ZSBkYXRhCj4g NC5hZGQgbXQ4MTgzIG1haW4gYW5kIGV4dGVybmFsIHBhdGggbW9kdWxlIGZvciBjcnRjIGNyZWF0 ZQo+IAo+IFNpZ25lZC1vZmYtYnk6IFlvbmdxaWFuZyBOaXUgPHlvbmdxaWFuZy5uaXVAbWVkaWF0 ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMg ICAgIHwgIDI3ICsrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfcmRt YS5jICAgIHwgIDEyICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAu YyAgICAgIHwgMTMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmggICAgICB8ICAgMSArCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgIHwgIDQ3ICsrKysrKysrKysKPiAgNiBmaWxlcyBj aGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jCj4gaW5kZXggYzIyNjI4NC4uZWJhZGNmZSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKPiBAQCAtMzI4LDcgKzMy OCwxMiBAQCBzdGF0aWMgaW50IG10a19kaXNwX292bF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+ICAJaWYgKGlycSA8IDApCj4gIAkJcmV0dXJuIGlycTsKPiAgCj4gLQljb21w X2lkID0gbXRrX2RkcF9jb21wX2dldF9pZChkZXYtPm9mX25vZGUsIE1US19ESVNQX09WTCk7Cj4g Kwlwcml2LT5kYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKGRldik7Cj4gKwo+ICsJY29t cF9pZCA9IG10a19kZHBfY29tcF9nZXRfaWQoZGV2LT5vZl9ub2RlLAo+ICsJCQkJICAgICAgcHJp di0+ZGF0YS0+bGF5ZXJfbnIgPT0gNCA/Cj4gKwkJCQkgICAgICBNVEtfRElTUF9PVkwgOgo+ICsJ CQkJICAgICAgTVRLX0RJU1BfT1ZMXzJMKTsKClRoaXMgbG9vayBsaWtlIGEgZ2VuZXJhbCBvdmxf MmwgbW9kaWZpY2F0aW9uIChub3Qgb25seSBmb3IgTVQ4MTgzKSwgc28gSQp3b3VsZCBsaWtlIHlv dSBtb3ZlIHRoZSBnZW5lcmFsIHBhcnQgdG8gYW4gaW5kZXBlbmRlbnQgcGF0Y2guCgo+ICAJaWYg KGNvbXBfaWQgPCAwKSB7Cj4gIAkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaWRlbnRpZnkgYnkg YWxpYXM6ICVkXG4iLCBjb21wX2lkKTsKPiAgCQlyZXR1cm4gY29tcF9pZDsKPiBAQCAtMzQxLDgg KzM0Niw2IEBAIHN0YXRpYyBpbnQgbXRrX2Rpc3Bfb3ZsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlwcml2LT5kYXRhID0g b2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKGRldik7Cj4gLQo+ICAJcGxhdGZvcm1fc2V0X2RydmRh dGEocGRldiwgcHJpdik7Cj4gIAo+ICAJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycShkZXYsIGlycSwg bXRrX2Rpc3Bfb3ZsX2lycV9oYW5kbGVyLAo+IEBAIC0zODAsMTEgKzM4MywyOSBAQCBzdGF0aWMg aW50IG10a19kaXNwX292bF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAg CS5mbXRfcmdiNTY1X2lzXzAgPSB0cnVlLAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHN0cnVj dCBtdGtfZGlzcF9vdmxfZGF0YSBtdDgxODNfb3ZsX2RyaXZlcl9kYXRhID0gewo+ICsJLmFkZHIg PSBESVNQX1JFR19PVkxfQUREUl9NVDgxNzMsCj4gKwkuZ21jX2JpdHMgPSAxMCwKPiArCS5sYXll cl9uciA9IDQsCj4gKwkuZm10X3JnYjU2NV9pc18wID0gdHJ1ZSwKPiArfTsKPiArCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2Rpc3Bfb3ZsX2RhdGEgbXQ4MTgzX292bF8ybF9kcml2ZXJfZGF0 YSA9IHsKPiArCS5hZGRyID0gRElTUF9SRUdfT1ZMX0FERFJfTVQ4MTczLAo+ICsJLmdtY19iaXRz ID0gMTAsCj4gKwkubGF5ZXJfbnIgPSAyLAo+ICsJLmZtdF9yZ2I1NjVfaXNfMCA9IHRydWUsCj4g K307Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdGtfZGlzcF9vdmxf ZHJpdmVyX2R0X21hdGNoW10gPSB7Cj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10Mjcw MS1kaXNwLW92bCIsCj4gIAkgIC5kYXRhID0gJm10MjcwMV9vdmxfZHJpdmVyX2RhdGF9LAo+ICAJ eyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1vdmwiLAo+ICAJICAuZGF0YSA9 ICZtdDgxNzNfb3ZsX2RyaXZlcl9kYXRhfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWss bXQ4MTgzLWRpc3Atb3ZsIiwKPiArCSAgLmRhdGEgPSAmbXQ4MTgzX292bF9kcml2ZXJfZGF0YX0s Cj4gKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE4My1kaXNwLW92bC0ybCIsCj4gKwkg IC5kYXRhID0gJm10ODE4M19vdmxfMmxfZHJpdmVyX2RhdGF9LAo+ICAJe30sCj4gIH07Cj4gIE1P RFVMRV9ERVZJQ0VfVEFCTEUob2YsIG10a19kaXNwX292bF9kcml2ZXJfZHRfbWF0Y2gpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfcmRtYS5jIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3JkbWEuYwo+IGluZGV4IGVhZDM4YmEuLjYw MmY2NjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3Jk bWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMKPiBA QCAtMzQzLDExICszNDMsMjMgQEAgc3RhdGljIGludCBtdGtfZGlzcF9yZG1hX3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJLmZpZm9fc2l6ZSA9IFNaXzhLLAo+ICB9Owo+ ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZGlzcF9yZG1hX2RhdGEgbXQ4MTgzX3JkbWFf ZHJpdmVyX2RhdGEgPSB7Cj4gKwkuZmlmb19zaXplID0gNSAqIFNaXzFLLAo+ICt9Owo+ICsKPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZGlzcF9yZG1hX2RhdGEgbXQ4MTgzX3JkbWExX2RyaXZl cl9kYXRhID0gewo+ICsJLmZpZm9fc2l6ZSA9IFNaXzJLLAo+ICt9Owo+ICsKPiAgc3RhdGljIGNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX2Rpc3BfcmRtYV9kcml2ZXJfZHRfbWF0Y2hbXSA9 IHsKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRpc3AtcmRtYSIsCj4gIAkg IC5kYXRhID0gJm10MjcwMV9yZG1hX2RyaXZlcl9kYXRhfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRtYSIsCj4gIAkgIC5kYXRhID0gJm10ODE3M19yZG1hX2Ry aXZlcl9kYXRhfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLWRpc3AtcmRt YSIsCj4gKwkgIC5kYXRhID0gJm10ODE4M19yZG1hX2RyaXZlcl9kYXRhfSwKPiArCXsgLmNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLWRpc3AtcmRtYTEiLAo+ICsJICAuZGF0YSA9ICZtdDgx ODNfcmRtYTFfZHJpdmVyX2RhdGF9LAo+ICAJe30sCj4gIH07Cj4gIE1PRFVMRV9ERVZJQ0VfVEFC TEUob2YsIG10a19kaXNwX3JkbWFfZHJpdmVyX2R0X21hdGNoKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9kZHAuYwo+IGluZGV4IGVlMzk1ZDMuLjNjYjk1NjkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuYwo+IEBAIC0xMSw2ICsxMSw3IEBACj4gICAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ICAK PiArI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KPiAgI2lu Y2x1ZGUgPGxpbnV4L2lvcG9sbC5oPgo+ICAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gQEAg LTQxLDggKzQyLDM2IEBACj4gICNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RTSV9TRUwJCQkweDA1 MAo+ICAjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19EUElfU0VMCQkJMHgwNjQKPiAgCj4gKyNkZWZp bmUgTVQ4MTgzX0RJU1BfT1ZMMF9NT1VUX0VOCQkweEYwMAo+ICsjZGVmaW5lIE9WTDBfTU9VVF9F Tl9ESVNQX1BBVEgwCQkJQklUKDApCj4gKyNkZWZpbmUgT1ZMMF9NT1VUX0VOX09WTDBfMkwJCQlC SVQoNCkKPiArI2RlZmluZSBNVDgxODNfRElTUF9PVkwwXzJMX01PVVRfRU4JCTB4RjA0Cj4gKyNk ZWZpbmUgT1ZMMF8yTF9NT1VUX0VOX0RJU1BfUEFUSDAJCUJJVCgwKQo+ICsjZGVmaW5lIE1UODE4 M19ESVNQX09WTDFfMkxfTU9VVF9FTgkJMHhGMDgKPiArI2RlZmluZSBPVkwxXzJMX01PVVRfRU5f UkRNQTEJCQlCSVQoNCkKPiArI2RlZmluZSBNVDgxODNfRElTUF9ESVRIRVIwX01PVVRfRU4JCTB4 RjBDCj4gKyNkZWZpbmUgRElUSEVSMF9NT1VUX0lOX0RTSTAJCQlCSVQoMCkKPiArI2RlZmluZSBN VDgxODNfRElTUF9QQVRIMF9TRUxfSU4JCTB4RjI0Cj4gKyNkZWZpbmUgRElTUF9QQVRIMF9TRUxf SU5fT1ZMMAkJCTB4MAo+ICsjZGVmaW5lIERJU1BfUEFUSDBfU0VMX0lOX09WTDBfMkwJCTB4MQo+ ICsjZGVmaW5lIE1UODE4M19ESVNQX0RTSTBfU0VMX0lOCQkJMHhGMkMKPiArI2RlZmluZSBEU0kw X1NFTF9JTl9ESVRIRVIJCQkweDAKPiArI2RlZmluZSBEU0kwX1NFTF9JTl9SRE1BMAkJCTB4MQo+ ICsjZGVmaW5lIE1UODE4M19EU0kwX1NFTF9JTl9SRE1BMQkJMHgzCj4gKyNkZWZpbmUgTVQ4MTgz X0RJU1BfRFBJMF9TRUxfSU4JCQkweEYzMAo+ICsjZGVmaW5lIE1UODE4M19EUEkwX1NFTF9JTl9S RE1BMAkJMHgxCj4gKyNkZWZpbmUgTVQ4MTgzX0RQSTBfU0VMX0lOX1JETUExCQkweDIKPiArI2Rl ZmluZSBNVDgxODNfRElTUF9SRE1BMF9TT1VUX1NFTF9JTgkJMHhGNTAKPiArI2RlZmluZSBNVDgx ODNfUkRNQTBfU09VVF9EU0kwCQkJMHgwCj4gKyNkZWZpbmUgTVQ4MTgzX1JETUEwX1NPVVRfQ09M T1IwCQkweDEKPiArI2RlZmluZSBNVDgxODNfRElTUF9SRE1BMV9TT1VUX1NFTF9JTgkJMHhGNTQK PiArI2RlZmluZSBNVDgxODNfUkRNQTFfU09VVF9EUEkwCQkJMHgwCj4gKyNkZWZpbmUgTVQ4MTgz X1JETUExX1NPVVRfRFNJMAkJCTB4MQo+ICsKPiAgI2RlZmluZSBNVDI3MDFfRElTUF9NVVRFWDBf TU9EMCAweDJDCj4gICNkZWZpbmUgTVQyNzAxX0RJU1BfTVVURVgwX1NPRjAgIDB4MzAKPiArI2Rl ZmluZSBNVDgxODNfRElTUF9NVVRFWDBfTU9EMCAweDMwCj4gKyNkZWZpbmUgTVQ4MTgzX0RJU1Bf TVVURVgwX1NPRiAgMHgyQwo+ICAKPiAgI2RlZmluZSBESVNQX1JFR19NVVRFWF9FTihuKQkoMHgy MCArIDB4MjAgKiAobikpCj4gICNkZWZpbmUgRElTUF9SRUdfTVVURVgobikJKDB4MjQgKyAweDIw ICogKG4pKQo+IEBAIC01Myw2ICs4MiwxOCBAQAo+ICAKPiAgI2RlZmluZSBJTlRfTVVURVgJCQkJ QklUKDEpCj4gIAo+ICsjZGVmaW5lIE1UODE4M19NVVRFWF9NT0RfRElTUF9SRE1BMAkJMAo+ICsj ZGVmaW5lIE1UODE4M19NVVRFWF9NT0RfRElTUF9SRE1BMQkJMQo+ICsjZGVmaW5lIE1UODE4M19N VVRFWF9NT0RfRElTUF9PVkwwCSAgICAgICAgOQo+ICsjZGVmaW5lIE1UODE4M19NVVRFWF9NT0Rf RElTUF9PVkwwXzJMCSAgICAgICAgMTAKPiArI2RlZmluZSBNVDgxODNfTVVURVhfTU9EX0RJU1Bf T1ZMMV8yTAkJMTEKPiArI2RlZmluZSBNVDgxODNfTVVURVhfTU9EX0RJU1BfV0RNQTAJCTEyCj4g KyNkZWZpbmUgTVQ4MTgzX01VVEVYX01PRF9ESVNQX0NPTE9SMAkJMTMKPiArI2RlZmluZSBNVDgx ODNfTVVURVhfTU9EX0RJU1BfQ0NPUlIwCQkxNAo+ICsjZGVmaW5lIE1UODE4M19NVVRFWF9NT0Rf RElTUF9BQUwwCQkxNQo+ICsjZGVmaW5lIE1UODE4M19NVVRFWF9NT0RfRElTUF9HQU1NQTAJCTE2 Cj4gKyNkZWZpbmUgTVQ4MTgzX01VVEVYX01PRF9ESVNQX0RJVEhFUjAJCTE3Cj4gKwo+ICAjZGVm aW5lIE1UODE3M19NVVRFWF9NT0RfRElTUF9PVkwwCQkxMQo+ICAjZGVmaW5lIE1UODE3M19NVVRF WF9NT0RfRElTUF9PVkwxCQkxMgo+ICAjZGVmaW5lIE1UODE3M19NVVRFWF9NT0RfRElTUF9SRE1B MAkJMTMKPiBAQCAtMTAyLDYgKzE0MywxMCBAQAo+ICAjZGVmaW5lIE1VVEVYX1NPRl9EU0kyCQkJ NQo+ICAjZGVmaW5lIE1VVEVYX1NPRl9EU0kzCQkJNgo+ICAKPiArI2RlZmluZSBNVDgxODNfTVVU RVhfU09GX0RQSTAJCQkyCj4gKyNkZWZpbmUgTVQ4MTgzX01VVEVYX0VPRl9EU0kwCQkJKE1VVEVY X1NPRl9EU0kwIDw8IDYpCj4gKyNkZWZpbmUgTVQ4MTgzX01VVEVYX0VPRl9EUEkwCQkJKE1UODE4 M19NVVRFWF9TT0ZfRFBJMCA8PCA2KQo+ICsKPiAgI2RlZmluZSBPVkwwX01PVVRfRU5fQ09MT1Iw CQkweDEKPiAgI2RlZmluZSBPRF9NT1VUX0VOX1JETUEwCQkweDEKPiAgI2RlZmluZSBPRDFfTU9V VF9FTl9SRE1BMQkJQklUKDE2KQo+IEBAIC0yNDcsNiArMjkyLDIwIEBAIHN0cnVjdCBtdGtfbW1z eXNfcmVnX2RhdGEgewo+ICAJW0REUF9DT01QT05FTlRfV0RNQTFdID0gTVQ4MTczX01VVEVYX01P RF9ESVNQX1dETUExLAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDgx ODNfbXV0ZXhfbW9kW0REUF9DT01QT05FTlRfSURfTUFYXSA9IHsKPiArCVtERFBfQ09NUE9ORU5U X0FBTDBdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX0FBTDAsCj4gKwlbRERQX0NPTVBPTkVOVF9D Q09SUl0gPSBNVDgxODNfTVVURVhfTU9EX0RJU1BfQ0NPUlIwLAo+ICsJW0REUF9DT01QT05FTlRf Q09MT1IwXSA9IE1UODE4M19NVVRFWF9NT0RfRElTUF9DT0xPUjAsCj4gKwlbRERQX0NPTVBPTkVO VF9ESVRIRVJdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX0RJVEhFUjAsCj4gKwlbRERQX0NPTVBP TkVOVF9HQU1NQV0gPSBNVDgxODNfTVVURVhfTU9EX0RJU1BfR0FNTUEwLAo+ICsJW0REUF9DT01Q T05FTlRfT1ZMMF0gPSBNVDgxODNfTVVURVhfTU9EX0RJU1BfT1ZMMCwKPiArCVtERFBfQ09NUE9O RU5UX09WTDBfMkxdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX09WTDBfMkwsCj4gKwlbRERQX0NP TVBPTkVOVF9PVkwxXzJMXSA9IE1UODE4M19NVVRFWF9NT0RfRElTUF9PVkwxXzJMLAo+ICsJW0RE UF9DT01QT05FTlRfUkRNQTBdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX1JETUEwLAo+ICsJW0RE UF9DT01QT05FTlRfUkRNQTFdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX1JETUExLAo+ICsJW0RE UF9DT01QT05FTlRfV0RNQTBdID0gTVQ4MTgzX01VVEVYX01PRF9ESVNQX1dETUEwLAo+ICt9Owo+ ICsKPiAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDI3MTJfbXV0ZXhfc29mW0REUF9NVVRF WF9TT0ZfTUFYXSA9IHsKPiAgCVtERFBfTVVURVhfU09GX1NJTkdMRV9NT0RFXSA9IE1VVEVYX1NP Rl9TSU5HTEVfTU9ERSwKPiAgCVtERFBfTVVURVhfU09GX0RTSTBdID0gTVVURVhfU09GX0RTSTAs Cj4gQEAgLTI1Nyw2ICszMTYsMTIgQEAgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSB7Cj4gIAlb RERQX01VVEVYX1NPRl9EU0kzXSA9IE1VVEVYX1NPRl9EU0kzLAo+ICB9Owo+ICAKPiArc3RhdGlj IGNvbnN0IHVuc2lnbmVkIGludCBtdDgxODNfbXV0ZXhfc29mW0REUF9NVVRFWF9TT0ZfTUFYXSA9 IHsKPiArCVtERFBfTVVURVhfU09GX1NJTkdMRV9NT0RFXSA9IE1VVEVYX1NPRl9TSU5HTEVfTU9E RSwKPiArCVtERFBfTVVURVhfU09GX0RTSTBdID0gTVVURVhfU09GX0RTSTAgfCBNVDgxODNfTVVU RVhfRU9GX0RTSTAsCj4gKwlbRERQX01VVEVYX1NPRl9EUEkwXSA9IE1UODE4M19NVVRFWF9TT0Zf RFBJMCB8IE1UODE4M19NVVRFWF9FT0ZfRFBJMCwKPiArfTsKPiArCj4gIHN0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX2RkcF9kYXRhIG10MjcwMV9kZHBfZHJpdmVyX2RhdGEgPSB7Cj4gIAkubXV0ZXhf bW9kID0gbXQyNzAxX211dGV4X21vZCwKPiAgCS5tdXRleF9zb2YgPSBtdDI3MTJfbXV0ZXhfc29m LAo+IEBAIC0yNzgsNiArMzQzLDEzIEBAIHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgewo+ICAJ Lm11dGV4X3NvZl9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfU09GMCwKPiAgfTsKPiAgCj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhIG10ODE4M19kZHBfZHJpdmVyX2RhdGEgPSB7 Cj4gKwkubXV0ZXhfbW9kID0gbXQ4MTgzX211dGV4X21vZCwKPiArCS5tdXRleF9zb2YgPSBtdDgx ODNfbXV0ZXhfc29mLAo+ICsJLm11dGV4X21vZF9yZWcgPSBNVDgxODNfRElTUF9NVVRFWDBfTU9E MCwKPiArCS5tdXRleF9zb2ZfcmVnID0gTVQ4MTgzX0RJU1BfTVVURVgwX1NPRiwKPiArfTsKPiAr Cj4gIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgbXQyNzAxX21tc3lzX3JlZ19kYXRh ID0gewo+ICAJLm92bDBfbW91dF9lbiA9IERJU1BfUkVHX0NPTkZJR19ESVNQX09WTF9NT1VUX0VO LAo+ICAJLmRzaTBfc2VsX2luID0gRElTUF9SRUdfQ09ORklHX0RTSV9TRUwsCj4gQEAgLTI5NCw2 ICszNjYsMTkgQEAgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSB7Cj4gIAkuZHNpMF9zZWxfaW5f cmRtYTEgPSBEU0kwX1NFTF9JTl9SRE1BMSwKPiAgfTsKPiAgCj4gK2NvbnN0IHN0cnVjdCBtdGtf bW1zeXNfcmVnX2RhdGEgbXQ4MTgzX21tc3lzX3JlZ19kYXRhID0gewo+ICsJLm92bDBfbW91dF9l biA9IE1UODE4M19ESVNQX09WTDBfTU9VVF9FTiwKPiArCS5yZG1hMF9zb3V0X3NlbF9pbiA9IE1U ODE4M19ESVNQX1JETUEwX1NPVVRfU0VMX0lOLAo+ICsJLnJkbWEwX3NvdXRfY29sb3IwID0gTVQ4 MTgzX1JETUEwX1NPVVRfQ09MT1IwLAo+ICsJLnJkbWExX3NvdXRfc2VsX2luID0gTVQ4MTgzX0RJ U1BfUkRNQTFfU09VVF9TRUxfSU4sCj4gKwkucmRtYTFfc291dF9kcGkwID0gTVQ4MTgzX1JETUEx X1NPVVRfRFBJMCwKPiArCS5yZG1hMV9zb3V0X2RzaTAgPSBNVDgxODNfUkRNQTFfU09VVF9EU0kw LAo+ICsJLmRwaTBfc2VsX2luID0gTVQ4MTgzX0RJU1BfRFBJMF9TRUxfSU4sCj4gKwkuZHBpMF9z ZWxfaW5fcmRtYTEgPSBNVDgxODNfRFBJMF9TRUxfSU5fUkRNQTEsCj4gKwkuZHNpMF9zZWxfaW4g PSBNVDgxODNfRElTUF9EU0kwX1NFTF9JTiwKPiArCS5kc2kwX3NlbF9pbl9yZG1hMSA9IE1UODE4 M19EU0kwX1NFTF9JTl9SRE1BMSwKPiArfTsKPiArCj4gIHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRr X2RkcF9tb3V0X2VuKGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgKmRhdGEsCj4gIAkJ CQkgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLAo+ICAJCQkJICAgIGVudW0gbXRrX2RkcF9j b21wX2lkIG5leHQsCj4gQEAgLTMyMiw2ICs0MDcsMjAgQEAgc3RhdGljIHVuc2lnbmVkIGludCBt dGtfZGRwX21vdXRfZW4oY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqZGF0YSwKPiAg CX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfT0QxICYmIG5leHQgPT0gRERQX0NPTVBP TkVOVF9SRE1BMSkgewo+ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfT0RfTU9VVF9F TjsKPiAgCQl2YWx1ZSA9IE9EMV9NT1VUX0VOX1JETUExOwo+ICsJfSBlbHNlIGlmIChjdXIgPT0g RERQX0NPTVBPTkVOVF9PVkwwICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9PVkwwXzJMKSB7Cj4g KwkJKmFkZHIgPSBESVNQX1JFR19PVkwwX01PVVRfRU4oZGF0YSk7Cj4gKwkJdmFsdWUgPSBPVkww X01PVVRfRU5fT1ZMMF8yTDsKClRoaXMgbG9vayBsaWtlIGEgZ2VuZXJhbCBtb2RpZmljYXRpb24g KG5vdCBvbmx5IGZvciBNVDgxODMpLCBzbyBJIHdvdWxkCmxpa2UgeW91IG1vdmUgdGhlIGdlbmVy YWwgcGFydCB0byBhbiBpbmRlcGVuZGVudCBwYXRjaC4KCj4gKwl9IGVsc2UgaWYgKGN1ciA9PSBE RFBfQ09NUE9ORU5UX09WTDBfMkwgJiYKPiArCQkgICBuZXh0ID09IEREUF9DT01QT05FTlRfUkRN QTApIHsKPiArCQkqYWRkciA9IE1UODE4M19ESVNQX09WTDBfMkxfTU9VVF9FTjsKPiArCQl2YWx1 ZSA9IE9WTDBfMkxfTU9VVF9FTl9ESVNQX1BBVEgwOwo+ICsJfSBlbHNlIGlmIChjdXIgPT0gRERQ X0NPTVBPTkVOVF9PVkwxXzJMICYmCj4gKwkJICAgbmV4dCA9PSBERFBfQ09NUE9ORU5UX1JETUEx KSB7Cj4gKwkJKmFkZHIgPSBNVDgxODNfRElTUF9PVkwxXzJMX01PVVRfRU47Cj4gKwkJdmFsdWUg PSBPVkwxXzJMX01PVVRfRU5fUkRNQTE7Cj4gKwl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9O RU5UX0RJVEhFUiAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFNJMCkgewo+ICsJCSphZGRyID0g TVQ4MTgzX0RJU1BfRElUSEVSMF9NT1VUX0VOOwo+ICsJCXZhbHVlID0gRElUSEVSMF9NT1VUX0lO X0RTSTA7Cj4gIAl9IGVsc2Ugewo+ICAJCXZhbHVlID0gMDsKPiAgCX0KPiBAQCAtMzgxLDYgKzQ4 MCwxNiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG10a19kZHBfc2VsX2luKGNvbnN0IHN0cnVjdCBt dGtfbW1zeXNfcmVnX2RhdGEgKmRhdGEsCj4gIAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9O RU5UX0JMUyAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFNJMCkgewo+ICAJCSphZGRyID0gRElT UF9SRUdfQ09ORklHX0RTSV9TRUw7Cj4gIAkJdmFsdWUgPSBEU0lfU0VMX0lOX0JMUzsKPiArCX0g ZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfT1ZMMCAmJiBuZXh0ID09IEREUF9DT01QT05F TlRfUkRNQTApIHsKPiArCQkqYWRkciA9IE1UODE4M19ESVNQX1BBVEgwX1NFTF9JTjsKPiArCQl2 YWx1ZSA9IERJU1BfUEFUSDBfU0VMX0lOX09WTDA7Cj4gKwl9IGVsc2UgaWYgKGN1ciA9PSBERFBf Q09NUE9ORU5UX09WTDBfMkwgJiYKPiArCQkgICBuZXh0ID09IEREUF9DT01QT05FTlRfUkRNQTAp IHsKPiArCQkqYWRkciA9IE1UODE4M19ESVNQX1BBVEgwX1NFTF9JTjsKPiArCQl2YWx1ZSA9IERJ U1BfUEFUSDBfU0VMX0lOX09WTDBfMkw7Cj4gKwl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9O RU5UX1JETUEwICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kwKSB7Cj4gKwkJKmFkZHIgPSBN VDgxODNfRElTUF9EU0kwX1NFTF9JTjsKPiArCQl2YWx1ZSA9IERTSTBfU0VMX0lOX1JETUEwOwo+ ICAJfSBlbHNlIHsKPiAgCQl2YWx1ZSA9IDA7Cj4gIAl9Cj4gQEAgLTQ0Niw2ICs1NTUsMTIgQEAg c3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX3NvdXRfc2VsKGNvbnN0IHN0cnVjdCBtdGtfbW1z eXNfcmVnX2RhdGEgKmRhdGEsCj4gIAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JE TUEyICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kzKSB7Cj4gIAkJKmFkZHIgPSBESVNQX1JF R19DT05GSUdfRElTUF9SRE1BMl9TT1VUOwo+ICAJCXZhbHVlID0gUkRNQTJfU09VVF9EU0kzOwo+ ICsJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1BMCAmJiBuZXh0ID09IEREUF9D T01QT05FTlRfQ09MT1IwKSB7Cj4gKwkJKmFkZHIgPSBESVNQX1JFR19SRE1BMF9TT1VUX1NFTF9J TihkYXRhKTsKPiArCQl2YWx1ZSA9IERJU1BfUkVHX1JETUEwX1NPVVRfQ09MT1IwKGRhdGEpOwo+ ICsJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9D T01QT05FTlRfRFNJMCkgewo+ICsJCSphZGRyID0gRElTUF9SRUdfUkRNQTFfU09VVF9TRUxfSU4o ZGF0YSk7Cj4gKwkJdmFsdWUgPSBESVNQX1JFR19SRE1BMV9TT1VUX0RTSTAoZGF0YSk7CgpUaGlz IGxvb2sgbGlrZSBhIGdlbmVyYWwgbW9kaWZpY2F0aW9uIChub3Qgb25seSBmb3IgTVQ4MTgzKSwg c28gSSB3b3VsZApsaWtlIHlvdSBtb3ZlIHRoZSBnZW5lcmFsIHBhcnQgdG8gYW4gaW5kZXBlbmRl bnQgcGF0Y2guCgo+ICAJfSBlbHNlIHsKPiAgCQl2YWx1ZSA9IDA7Cj4gIAl9Cj4gQEAgLTUxMSw2 ICs2MjYsOSBAQCBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICptdGtfZGRwX2dldF9t bXN5c19kYXRhKGVudW0gbXRrX21tc3lzX2lkIGlkKQo+ICAJY2FzZSBNTVNZU19NVDgxNzM6Cj4g IAkJZGF0YSA9ICZtdDgxNzNfbW1zeXNfcmVnX2RhdGE7Cj4gIAkJYnJlYWs7Cj4gKwljYXNlIE1N U1lTX01UODE4MzoKPiArCQlkYXRhID0gJm10ODE4M19tbXN5c19yZWdfZGF0YTsKPiArCQlicmVh azsKPiAgCWRlZmF1bHQ6Cj4gIAkJcHJfaW5mbygibXRrIGRybSBub3Qgc3VwcG9ydCBtbXN5cyBp ZCAlZFxuIiwKPiAgCQkJaWQpOwo+IEBAIC02OTksMTAgKzgxNywxMiBAQCBzdGF0aWMgaW50IG10 a19kZHBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCWZvciAoaSA9IDA7 IGkgPCAxMDsgaSsrKQo+ICAJCWRkcC0+bXV0ZXhbaV0uaWQgPSBpOwo+ICAKPiAtCWRkcC0+Y2xr ID0gZGV2bV9jbGtfZ2V0KGRldiwgTlVMTCk7Cj4gLQlpZiAoSVNfRVJSKGRkcC0+Y2xrKSkgewo+ IC0JCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBjbG9ja1xuIik7Cj4gLQkJcmV0dXJuIFBU Ul9FUlIoZGRwLT5jbGspOwo+ICsJaWYgKG9mX2ZpbmRfcHJvcGVydHkoZGV2LT5vZl9ub2RlLCAi Y2xvY2tzIiwgJmkpKSB7Cj4gKwkJZGRwLT5jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCBOVUxMKTsK PiArCQlpZiAoSVNfRVJSKGRkcC0+Y2xrKSkgewo+ICsJCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0 byBnZXQgY2xvY2tcbiIpOwo+ICsJCQlyZXR1cm4gUFRSX0VSUihkZHAtPmNsayk7Cj4gKwkJfQoK VGhpcyBsb29rIGxpa2UgYSBnZW5lcmFsIG1vZGlmaWNhdGlvbiAobm90IG9ubHkgZm9yIE1UODE4 MyksIHNvIEkgd291bGQKbGlrZSB5b3UgbW92ZSB0aGUgZ2VuZXJhbCBwYXJ0IHRvIGFuIGluZGVw ZW5kZW50IHBhdGNoLgoKUmVnYXJkcywKQ0sKCj4gIAl9Cj4gIAo+ICAJcmVncyA9IHBsYXRmb3Jt X2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Cj4gQEAgLTczMSw2ICs4NTEs OCBAQCBzdGF0aWMgaW50IG10a19kZHBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCj4gIAkgIC5kYXRhID0gJm10MjcxMl9kZHBfZHJpdmVyX2RhdGF9LAo+ICAJeyAuY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1tdXRleCIsCj4gIAkgIC5kYXRhID0gJm10ODE3 M19kZHBfZHJpdmVyX2RhdGF9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMt ZGlzcC1tdXRleCIsCj4gKwkgIC5kYXRhID0gJm10ODE4M19kZHBfZHJpdmVyX2RhdGF9LAo+ICAJ e30sCj4gIH07Cj4gIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGRkcF9kcml2ZXJfZHRfbWF0Y2gp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuaCBi L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oCj4gaW5kZXggZWQyYjcwMi4u YjA1ZWQ1MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k ZHAuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oCj4gQEAg LTI0LDYgKzI0LDcgQEAgZW51bSBtdGtfbW1zeXNfaWQgewo+ICAJTU1TWVNfTVQyNzAxLAo+ICAJ TU1TWVNfTVQyNzEyLAo+ICAJTU1TWVNfTVQ4MTczLAo+ICsJTU1TWVNfTVQ4MTgzLAo+ICAJTU1T WVNfTUFYLAo+ICB9Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk cF9jb21wLmMKPiBpbmRleCAxOTNjZGI3YS4uYmI1NWQxZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYwo+IEBAIC0zODUsNiArMzg1LDcgQEAgaW50 IG10a19kZHBfY29tcF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9ub2Rl ICpub2RlLAo+ICAJLyogT25seSBETUEgY2FwYWJsZSBjb21wb25lbnRzIG5lZWQgdGhlIExBUkIg cHJvcGVydHkgKi8KPiAgCWNvbXAtPmxhcmJfZGV2ID0gTlVMTDsKPiAgCWlmICh0eXBlICE9IE1U S19ESVNQX09WTCAmJgo+ICsJICAgIHR5cGUgIT0gTVRLX0RJU1BfT1ZMXzJMICYmCj4gIAkgICAg dHlwZSAhPSBNVEtfRElTUF9SRE1BICYmCj4gIAkgICAgdHlwZSAhPSBNVEtfRElTUF9XRE1BKQo+ ICAJCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gaW5k ZXggMzU2ODUzYy4uODRjNjYyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jCj4gQEAgLTE5MSw2ICsxOTEsMjQgQEAgc3RhdGljIGludCBtdGtfYXRvbWljX2NvbW1p dChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+ICAJRERQX0NPTVBPTkVOVF9EUEkwLAo+ICB9Owo+ ICAKPiArc3RhdGljIGNvbnN0IGVudW0gbXRrX2RkcF9jb21wX2lkIG10ODE4M19tdGtfZGRwX21h aW5bXSA9IHsKPiArCUREUF9DT01QT05FTlRfT1ZMMCwKPiArCUREUF9DT01QT05FTlRfT1ZMMF8y TCwKPiArCUREUF9DT01QT05FTlRfUkRNQTAsCj4gKwlERFBfQ09NUE9ORU5UX0NPTE9SMCwKPiAr CUREUF9DT01QT05FTlRfQ0NPUlIsCj4gKwlERFBfQ09NUE9ORU5UX0FBTDAsCj4gKwlERFBfQ09N UE9ORU5UX0dBTU1BLAo+ICsJRERQX0NPTVBPTkVOVF9ESVRIRVIsCj4gKwlERFBfQ09NUE9ORU5U X0RTSTAsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgZW51bSBtdGtfZGRwX2NvbXBfaWQgbXQ4 MTgzX210a19kZHBfZXh0W10gPSB7Cj4gKwlERFBfQ09NUE9ORU5UX09WTDFfMkwsCj4gKwlERFBf Q09NUE9ORU5UX1JETUExLAo+ICsJRERQX0NPTVBPTkVOVF9EUEkwLAo+ICt9Owo+ICsKPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgbXQyNzAxX21tc3lzX2RyaXZl cl9kYXRhID0gewo+ICAJLm1haW5fcGF0aCA9IG10MjcwMV9tdGtfZGRwX21haW4sCj4gIAkubWFp bl9sZW4gPSBBUlJBWV9TSVpFKG10MjcwMV9tdGtfZGRwX21haW4pLAo+IEBAIC0yMTgsNiArMjM2 LDE0IEBAIHN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRy bSwKPiAgCS5tbXN5c19pZCA9IE1NU1lTX01UODE3MywKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIG10ODE4M19tbXN5c19kcml2ZXJfZGF0YSA9 IHsKPiArCS5tYWluX3BhdGggPSBtdDgxODNfbXRrX2RkcF9tYWluLAo+ICsJLm1haW5fbGVuID0g QVJSQVlfU0laRShtdDgxODNfbXRrX2RkcF9tYWluKSwKPiArCS5leHRfcGF0aCA9IG10ODE4M19t dGtfZGRwX2V4dCwKPiArCS5leHRfbGVuID0gQVJSQVlfU0laRShtdDgxODNfbXRrX2RkcF9leHQp LAo+ICsJLm1tc3lzX2lkID0gTU1TWVNfTVQ4MTgzLAo+ICt9Owo+ICsKPiAgc3RhdGljIGludCBt dGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4gIHsKPiAgCXN0cnVjdCBt dGtfZHJtX3ByaXZhdGUgKnByaXZhdGUgPSBkcm0tPmRldl9wcml2YXRlOwo+IEBAIC00MDcsMTIg KzQzMywyMiBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYp Cj4gIAkgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9PVkwgfSwKPiAgCXsgLmNvbXBhdGlibGUg PSAibWVkaWF0ZWssbXQ4MTczLWRpc3Atb3ZsIiwKPiAgCSAgLmRhdGEgPSAodm9pZCAqKU1US19E SVNQX09WTCB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtZGlzcC1vdmwi LAo+ICsJICAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfT1ZMIH0sCj4gKwl7IC5jb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE4My1kaXNwLW92bC0ybCIsCj4gKwkgIC5kYXRhID0gKHZvaWQgKilN VEtfRElTUF9PVkxfMkwgfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRp c3AtcmRtYSIsCj4gIAkgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9SRE1BIH0sCj4gIAl7IC5j b21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLXJkbWEiLAo+ICAJICAuZGF0YSA9ICh2 b2lkICopTVRLX0RJU1BfUkRNQSB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx ODMtZGlzcC1yZG1hIiwKPiArCSAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1JETUEgfSwKPiAr CXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLWRpc3AtcmRtYTEiLAo+ICsJICAuZGF0 YSA9ICh2b2lkICopTVRLX0RJU1BfUkRNQSB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxNzMtZGlzcC13ZG1hIiwKPiAgCSAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1dETUEg fSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLWRpc3AtY2NvcnIiLAo+ICsJ ICAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfQ0NPUlIgfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQyNzAxLWRpc3AtY29sb3IiLAo+ICAJICAuZGF0YSA9ICh2b2lkICopTVRLX0RJ U1BfQ09MT1IgfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtY29s b3IiLAo+IEBAIC00MjEsMjIgKzQ1NywzMCBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX3VuYmluZChz dHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAkgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9BQUx9LAo+ ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1nYW1tYSIsCj4gIAkgIC5k YXRhID0gKHZvaWQgKilNVEtfRElTUF9HQU1NQSwgfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVk aWF0ZWssbXQ4MTgzLWRpc3AtZGl0aGVyIiwKPiArCSAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQ X0RJVEhFUiB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC11Zm9l IiwKPiAgCSAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1VGT0UgfSwKPiAgCXsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQyNzAxLWRzaSIsCj4gIAkgIC5kYXRhID0gKHZvaWQgKilNVEtfRFNJ IH0sCj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kc2kiLAo+ICAJICAuZGF0 YSA9ICh2b2lkICopTVRLX0RTSSB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx ODMtZHNpIiwKPiArCSAgLmRhdGEgPSAodm9pZCAqKU1US19EU0kgfSwKPiAgCXsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQyNzAxLWRwaSIsCj4gIAkgIC5kYXRhID0gKHZvaWQgKilNVEtfRFBJ IH0sCj4gIAl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kcGkiLAo+ICAJICAuZGF0 YSA9ICh2b2lkICopTVRLX0RQSSB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx ODMtZHBpIiwKPiArCSAgLmRhdGEgPSAodm9pZCAqKU1US19EUEkgfSwKPiAgCXsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQyNzAxLWRpc3AtbXV0ZXgiLAo+ICAJICAuZGF0YSA9ICh2b2lkICop TVRLX0RJU1BfTVVURVggfSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzEyLWRp c3AtbXV0ZXgiLAo+ICAJICAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfTVVURVggfSwKPiAgCXsg LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtbXV0ZXgiLAo+ICAJICAuZGF0YSA9 ICh2b2lkICopTVRLX0RJU1BfTVVURVggfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWss bXQ4MTgzLWRpc3AtbXV0ZXgiLAo+ICsJICAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfTVVURVgg fSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRpc3AtcHdtIiwKPiAgCSAg LmRhdGEgPSAodm9pZCAqKU1US19ESVNQX0JMUyB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJtZWRp YXRlayxtdDgxNzMtZGlzcC1wd20iLAo+IEBAIC01MjAsNiArNTY0LDcgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAkJICovCj4gIAkJ aWYgKGNvbXBfdHlwZSA9PSBNVEtfRElTUF9DT0xPUiB8fAo+ICAJCSAgICBjb21wX3R5cGUgPT0g TVRLX0RJU1BfT1ZMIHx8Cj4gKwkJICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9PVkxfMkwgfHwK PiAgCQkgICAgY29tcF90eXBlID09IE1US19ESVNQX1JETUEgfHwKPiAgCQkgICAgY29tcF90eXBl ID09IE1US19EU0kgfHwKPiAgCQkgICAgY29tcF90eXBlID09IE1US19EUEkpIHsKPiBAQCAtNjI0 LDYgKzY2OSw4IEBAIHN0YXRpYyBTSU1QTEVfREVWX1BNX09QUyhtdGtfZHJtX3BtX29wcywgbXRr X2RybV9zeXNfc3VzcGVuZCwKPiAgCSAgLmRhdGEgPSAmbXQyNzEyX21tc3lzX2RyaXZlcl9kYXRh fSwKPiAgCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLW1tc3lzIiwKPiAgCSAgLmRh dGEgPSAmbXQ4MTczX21tc3lzX2RyaXZlcl9kYXRhfSwKPiArCXsgLmNvbXBhdGlibGUgPSAibWVk aWF0ZWssbXQ4MTgzLWRpc3BsYXkiLAo+ICsJICAuZGF0YSA9ICZtdDgxODNfbW1zeXNfZHJpdmVy X2RhdGF9LAo+ICAJeyB9Cj4gIH07Cj4gIAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==