From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH 01/19] drm/i915: Make HAS_DDI and HAS_PCH_LPT_LP only take dev_priv Date: Wed, 12 Oct 2016 13:40:23 +0300 Message-ID: <20161012093639.jynuxueispybyetd@boom> References: <1476192112-25336-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1476192112-25336-2-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE19B6E59B for ; Wed, 12 Oct 2016 10:40:25 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1476192112-25336-2-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMTEsIDIwMTYgYXQgMDI6MjE6MzRQTSArMDEwMCwgVHZydGtvIFVyc3VsaW4g d3JvdGU6Cj4gRnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K PiAKPiBUaGlzIHNhdmVzIDMyNDggYnl0ZXMgb2YgLnJvZGF0YSBzdHJpbmdzLgo+IAo+IHYyOiBB ZGQgcGFyYW50aGVzZXMgYXJvdW5kIGRldl9wcml2LiAoVmlsbGUgU3lyamFsYSkKClJldmlld2Vk LWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5jb20+CgpI b3cgY29tZSB5b3UgZGlkbid0IGRvIEhBU19QQ0hfTFBUX3tMUCxIfSB0b2dldGhlciB3aXRoCnRo ZSByZXN0IG9mIHRoZSBQQ0gtbWFjcm9zLCBCVFc/Cgo+IAo+IFNpZ25lZC1vZmYtYnk6IFR2cnRr byBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgfCAgOCArKystLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY3J0LmMgICAgICB8IDEwICsrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jICB8IDQ5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAgfCAxNiArKysrKyst LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyB8ICA0ICstLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgIHwgMTAgKysrLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAgfCAgOCArKystLS0KPiAgOCBmaWxlcyBjaGFu Z2VkLCA1NiBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCA1NGQ4NjBlMWMwZmMuLjUxZGQxMGYyNWY1OSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yODE1LDcgKzI4MTUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVf Y21kX3RhYmxlIHsKPiAgCj4gICNkZWZpbmUgSEFTX0RQX01TVChkZXYpCShJTlRFTF9JTkZPKGRl diktPmhhc19kcF9tc3QpCj4gIAo+IC0jZGVmaW5lIEhBU19EREkoZGV2KQkJKElOVEVMX0lORk8o ZGV2KS0+aGFzX2RkaSkKPiArI2RlZmluZSBIQVNfRERJKGRldl9wcml2KQkoKGRldl9wcml2KS0+ aW5mby5oYXNfZGRpKQo+ICAjZGVmaW5lIEhBU19GUEdBX0RCR19VTkNMQUlNRUQoZGV2KQkoSU5U RUxfSU5GTyhkZXYpLT5oYXNfZnBnYV9kYmcpCj4gICNkZWZpbmUgSEFTX1BTUihkZXYpCQkoSU5U RUxfSU5GTyhkZXYpLT5oYXNfcHNyKQo+ICAjZGVmaW5lIEhBU19SVU5USU1FX1BNKGRldikJKElO VEVMX0lORk8oZGV2KS0+aGFzX3J1bnRpbWVfcG0pCj4gQEAgLTI4NTQsOCArMjg1NCwxMCBAQCBz dHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKPiAgI2RlZmluZSBIQVNfUENIX0tCUChkZXYpIChJ TlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9LQlApCj4gICNkZWZpbmUgSEFTX1BDSF9TUFQoZGV2 KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfU1BUKQo+ICAjZGVmaW5lIEhBU19QQ0hfTFBU KGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX0xQVCkKPiAtI2RlZmluZSBIQVNfUENI X0xQVF9MUChkZXYpIChfX0k5MTVfXyhkZXYpLT5wY2hfaWQgPT0gSU5URUxfUENIX0xQVF9MUF9E RVZJQ0VfSURfVFlQRSkKPiAtI2RlZmluZSBIQVNfUENIX0xQVF9IKGRldikgKF9fSTkxNV9fKGRl diktPnBjaF9pZCA9PSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9JRF9UWVBFKQo+ICsjZGVmaW5lIEhB U19QQ0hfTFBUX0xQKGRldl9wcml2KSBcCj4gKwkoKGRldl9wcml2KS0+cGNoX2lkID09IElOVEVM X1BDSF9MUFRfTFBfREVWSUNFX0lEX1RZUEUpCj4gKyNkZWZpbmUgSEFTX1BDSF9MUFRfSChkZXZf cHJpdikgXAo+ICsJKChkZXZfcHJpdiktPnBjaF9pZCA9PSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9J RF9UWVBFKQo+ICAjZGVmaW5lIEhBU19QQ0hfQ1BUKGRldikgKElOVEVMX1BDSF9UWVBFKGRldikg PT0gUENIX0NQVCkKPiAgI2RlZmluZSBIQVNfUENIX0lCWChkZXYpIChJTlRFTF9QQ0hfVFlQRShk ZXYpID09IFBDSF9JQlgpCj4gICNkZWZpbmUgSEFTX1BDSF9OT1AoZGV2KSAoSU5URUxfUENIX1RZ UEUoZGV2KSA9PSBQQ0hfTk9QKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gaW5kZXggNGE3 YjZjNTk1ZWMyLi5kNGI5YjE2NmRlNWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY3J0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+ IEBAIC0yODAsMTMgKzI4MCwxMyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCQkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBl bmNvZGVyLT5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAKPiAtCWlmIChIQVNfUENIX1NQTElUKGRl dikpCj4gKwlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikpCj4gIAkJcGlwZV9jb25maWctPmhh c19wY2hfZW5jb2RlciA9IHRydWU7Cj4gIAo+ICAJLyogTFBUIEZESSBSWCBvbmx5IHN1cHBvcnRz IDhicGMuICovCj4gLQlpZiAoSEFTX1BDSF9MUFQoZGV2KSkgewo+ICsJaWYgKEhBU19QQ0hfTFBU KGRldl9wcml2KSkgewo+ICAJCWlmIChwaXBlX2NvbmZpZy0+YndfY29uc3RyYWluZWQgJiYgcGlw ZV9jb25maWctPnBpcGVfYnBwIDwgMjQpIHsKPiAgCQkJRFJNX0RFQlVHX0tNUygiTFBUIG9ubHkg c3VwcG9ydHMgMjRicHBcbiIpOwo+ICAJCQlyZXR1cm4gZmFsc2U7Cj4gQEAgLTI5Niw3ICsyOTYs NyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIAl9Cj4gIAo+ICAJLyogRkRJIG11c3QgYWx3YXlzIGJlIDIuNyBH SHogKi8KPiAtCWlmIChIQVNfRERJKGRldikpCj4gKwlpZiAoSEFTX0RESShkZXZfcHJpdikpCj4g IAkJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSAxMzUwMDAgKiAyOwo+ICAKPiAgCXJldHVybiB0 cnVlOwo+IEBAIC05MTcsNyArOTE3LDcgQEAgdm9pZCBpbnRlbF9jcnRfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAJaWYgKEk5MTVfSEFTX0hPVFBMVUcoZGV2KSAmJgo+ICAJICAgICFk bWlfY2hlY2tfc3lzdGVtKGludGVsX3NwdXJpb3VzX2NydF9kZXRlY3QpKQo+ICAJCWNydC0+YmFz ZS5ocGRfcGluID0gSFBEX0NSVDsKPiAtCWlmIChIQVNfRERJKGRldikpIHsKPiArCWlmIChIQVNf RERJKGRldl9wcml2KSkgewo+ICAJCWNydC0+YmFzZS5wb3J0ID0gUE9SVF9FOwo+ICAJCWNydC0+ YmFzZS5nZXRfY29uZmlnID0gaHN3X2NydF9nZXRfY29uZmlnOwo+ICAJCWNydC0+YmFzZS5nZXRf aHdfc3RhdGUgPSBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiBpbmRleCAyM2E2YzcyMTNlY2EuLjZlNDQ3YjU3NTQxMyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTE4NywxOSArMTE4NywxNyBAQCB2 b2lkIGFzc2VydF9mZGlfcnhfcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAgCQkJb25vZmYoc3RhdGUpLCBvbm9mZihjdXJfc3RhdGUpKTsKPiAgfQo+ICAKPiAtdm9pZCBh c3NlcnRfcGFuZWxfdW5sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ IC0JCQkgICBlbnVtIHBpcGUgcGlwZSkKPiArdm9pZCBhc3NlcnRfcGFuZWxfdW5sb2NrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKPiAgewo+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwo+ICAJaTkxNV9yZWdfdCBw cF9yZWc7Cj4gIAl1MzIgdmFsOwo+ICAJZW51bSBwaXBlIHBhbmVsX3BpcGUgPSBQSVBFX0E7Cj4g IAlib29sIGxvY2tlZCA9IHRydWU7Cj4gIAo+IC0JaWYgKFdBUk5fT04oSEFTX0RESShkZXYpKSkK PiArCWlmIChXQVJOX09OKEhBU19EREkoZGV2X3ByaXYpKSkKPiAgCQlyZXR1cm47Cj4gIAo+IC0J aWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ICsJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYp KSB7Cj4gIAkJdTMyIHBvcnRfc2VsOwo+ICAKPiAgCQlwcF9yZWcgPSBQUF9DT05UUk9MKDApOwo+ IEBAIC0xMjA5LDcgKzEyMDcsNyBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJICAgIEk5MTVfUkVBRChQQ0hfTFZEUykg JiBMVkRTX1BJUEVCX1NFTEVDVCkKPiAgCQkJcGFuZWxfcGlwZSA9IFBJUEVfQjsKPiAgCQkvKiBY WFg6IGVsc2UgZml4IGZvciBlRFAgKi8KPiAtCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYp IHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewo+ICsJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRl dl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ICAJCS8qIHByZXN1bWFibHkg d3JpdGUgbG9jayBkZXBlbmRzIG9uIHBpcGUsIG5vdCBwb3J0IHNlbGVjdCAqLwo+ICAJCXBwX3Jl ZyA9IFBQX0NPTlRST0wocGlwZSk7Cj4gIAkJcGFuZWxfcGlwZSA9IHBpcGU7Cj4gQEAgLTU2OTgs MTMgKzU2OTYsMTMgQEAgc3RhdGljIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG9y dF90b19hdXhfcG93ZXJfZG9tYWluKGVudW0gcG9ydCBwb3J0KQo+ICBlbnVtIGludGVsX2Rpc3Bs YXlfcG93ZXJfZG9tYWluCj4gIGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4gIAo+ICAJc3dpdGNoIChp bnRlbF9lbmNvZGVyLT50eXBlKSB7Cj4gIAljYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgo+ICAJ CS8qIE9ubHkgRERJIHBsYXRmb3JtcyBzaG91bGQgZXZlciB1c2UgdGhpcyBvdXRwdXQgdHlwZSAq Lwo+IC0JCVdBUk5fT05fT05DRSghSEFTX0RESShkZXYpKTsKPiArCQlXQVJOX09OX09OQ0UoIUhB U19EREkoZGV2X3ByaXYpKTsKPiAgCWNhc2UgSU5URUxfT1VUUFVUX0RQOgo+ICAJY2FzZSBJTlRF TF9PVVRQVVRfSERNSToKPiAgCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPiBAQCAtNTcyNSw3ICs1 NzIzLDcgQEAgaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlcikKPiAgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbgo+ ICBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlcikKPiAgewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVs X2VuY29kZXItPmJhc2UuZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsKPiAgCj4gIAlzd2l0Y2ggKGludGVsX2VuY29kZXIt PnR5cGUpIHsKPiBAQCAtNTczOCw3ICs1NzM2LDcgQEAgaW50ZWxfZGlzcGxheV9wb3J0X2F1eF9w b3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIAkJICog d2hhdCdzIHRoZSBzdGF0dXMgb2YgdGhlIGdpdmVuIGNvbm5lY3RvcnMsIHBsYXkgc2FmZSBhbmQK PiAgCQkgKiBydW4gdGhlIERQIGRldGVjdGlvbiB0b28uCj4gIAkJICovCj4gLQkJV0FSTl9PTl9P TkNFKCFIQVNfRERJKGRldikpOwo+ICsJCVdBUk5fT05fT05DRSghSEFTX0RESShkZXZfcHJpdikp Owo+ICAJY2FzZSBJTlRFTF9PVVRQVVRfRFA6Cj4gIAljYXNlIElOVEVMX09VVFBVVF9FRFA6Cj4g IAkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2VuY29kZXItPmJhc2Up Owo+IEBAIC05MTk4LDcgKzkxOTYsOCBAQCBzdGF0aWMgdm9pZCBscHRfZW5hYmxlX2Nsa291dF9k cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHdpdGhfc3ByZWFkLAo+ICAKPiAgCWlmIChX QVJOKHdpdGhfZmRpICYmICF3aXRoX3NwcmVhZCwgIkZESSByZXF1aXJlcyBkb3duc3ByZWFkXG4i KSkKPiAgCQl3aXRoX3NwcmVhZCA9IHRydWU7Cj4gLQlpZiAoV0FSTihIQVNfUENIX0xQVF9MUChk ZXYpICYmIHdpdGhfZmRpLCAiTFAgUENIIGRvZXNuJ3QgaGF2ZSBGRElcbiIpKQo+ICsJaWYgKFdB Uk4oSEFTX1BDSF9MUFRfTFAoZGV2X3ByaXYpICYmCj4gKwkgICAgd2l0aF9mZGksICJMUCBQQ0gg ZG9lc24ndCBoYXZlIEZESVxuIikpCj4gIAkJd2l0aF9mZGkgPSBmYWxzZTsKPiAgCj4gIAltdXRl eF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7Cj4gQEAgLTkyMjEsNyArOTIyMCw3IEBAIHN0YXRp YyB2b2lkIGxwdF9lbmFibGVfY2xrb3V0X2RwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wg d2l0aF9zcHJlYWQsCj4gIAkJfQo+ICAJfQo+ICAKPiAtCXJlZyA9IEhBU19QQ0hfTFBUX0xQKGRl dikgPyBTQklfR0VOMCA6IFNCSV9EQlVGRjA7Cj4gKwlyZWcgPSBIQVNfUENIX0xQVF9MUChkZXZf cHJpdikgPyBTQklfR0VOMCA6IFNCSV9EQlVGRjA7Cj4gIAl0bXAgPSBpbnRlbF9zYmlfcmVhZChk ZXZfcHJpdiwgcmVnLCBTQklfSUNMSyk7Cj4gIAl0bXAgfD0gU0JJX0dFTjBfQ0ZHX0JVRkZFTkFC TEVfRElTQUJMRTsKPiAgCWludGVsX3NiaV93cml0ZShkZXZfcHJpdiwgcmVnLCB0bXAsIFNCSV9J Q0xLKTsKPiBAQCAtOTIzNyw3ICs5MjM2LDcgQEAgc3RhdGljIHZvaWQgbHB0X2Rpc2FibGVfY2xr b3V0X2RwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJbXV0ZXhfbG9jaygmZGV2X3By aXYtPnNiX2xvY2spOwo+ICAKPiAtCXJlZyA9IEhBU19QQ0hfTFBUX0xQKGRldikgPyBTQklfR0VO MCA6IFNCSV9EQlVGRjA7Cj4gKwlyZWcgPSBIQVNfUENIX0xQVF9MUChkZXZfcHJpdikgPyBTQklf R0VOMCA6IFNCSV9EQlVGRjA7Cj4gIAl0bXAgPSBpbnRlbF9zYmlfcmVhZChkZXZfcHJpdiwgcmVn LCBTQklfSUNMSyk7Cj4gIAl0bXAgJj0gflNCSV9HRU4wX0NGR19CVUZGRU5BQkxFX0RJU0FCTEU7 Cj4gIAlpbnRlbF9zYmlfd3JpdGUoZGV2X3ByaXYsIHJlZywgdG1wLCBTQklfSUNMSyk7Cj4gQEAg LTEwMjA1LDcgKzEwMjA0LDcgQEAgdm9pZCBoc3dfZW5hYmxlX3BjOChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiRW5hYmxpbmcgcGFja2Fn ZSBDOCtcbiIpOwo+ICAKPiAtCWlmIChIQVNfUENIX0xQVF9MUChkZXYpKSB7Cj4gKwlpZiAoSEFT X1BDSF9MUFRfTFAoZGV2X3ByaXYpKSB7Cj4gIAkJdmFsID0gSTkxNV9SRUFEKFNPVVRIX0RTUENM S19HQVRFX0QpOwo+ICAJCXZhbCAmPSB+UENIX0xQX1BBUlRJVElPTl9MRVZFTF9ESVNBQkxFOwo+ ICAJCUk5MTVfV1JJVEUoU09VVEhfRFNQQ0xLX0dBVEVfRCwgdmFsKTsKPiBAQCAtMTAyMjUsNyAr MTAyMjQsNyBAQCB2b2lkIGhzd19kaXNhYmxlX3BjOChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAloc3dfcmVzdG9yZV9sY3BsbChkZXZfcHJpdik7Cj4gIAlscHRfaW5pdF9w Y2hfcmVmY2xrKGRldik7Cj4gIAo+IC0JaWYgKEhBU19QQ0hfTFBUX0xQKGRldikpIHsKPiArCWlm IChIQVNfUENIX0xQVF9MUChkZXZfcHJpdikpIHsKPiAgCQl2YWwgPSBJOTE1X1JFQUQoU09VVEhf RFNQQ0xLX0dBVEVfRCk7Cj4gIAkJdmFsIHw9IFBDSF9MUF9QQVJUSVRJT05fTEVWRUxfRElTQUJM RTsKPiAgCQlJOTE1X1dSSVRFKFNPVVRIX0RTUENMS19HQVRFX0QsIHZhbCk7Cj4gQEAgLTEwODQ3 LDcgKzEwODQ2LDcgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywgdTMyIGJhc2UsCj4gIAkJfQo+ICAJCWNudGwgfD0gcGlwZSA8PCAyODsgLyog Q29ubmVjdCB0byBjb3JyZWN0IHBpcGUgKi8KPiAgCj4gLQkJaWYgKEhBU19EREkoZGV2KSkKPiAr CQlpZiAoSEFTX0RESShkZXZfcHJpdikpCj4gIAkJCWNudGwgfD0gQ1VSU09SX1BJUEVfQ1NDX0VO QUJMRTsKPiAgCj4gIAkJaWYgKHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uID09IERSTV9ST1RB VEVfMTgwKQo+IEBAIC0xMjc0Nyw2ICsxMjc0Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBf cGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAkJCQkgICBjb25zdCBjaGFy ICpjb250ZXh0KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50 ZWxfcGxhbmU7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlOwo+IEBAIC0xMjgy OSw3ICsxMjgyOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoc3RydWN0 IGludGVsX2NydGMgKmNydGMsCj4gIAkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRl LmN0cmwxLAo+ICAJCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5jZmdjcjEsCj4g IAkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmNmZ2NyMik7Cj4gLQl9IGVsc2Ug aWYgKEhBU19EREkoZGV2KSkgewo+ICsJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2KSkgewo+ ICAJCURSTV9ERUJVR19LTVMoImRwbGxfaHdfc3RhdGU6IHdycGxsOiAweCV4IHNwbGw6IDB4JXhc biIsCj4gIAkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLndycGxsLAo+ICAJCQkg ICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5zcGxsKTsKPiBAQCAtMTI5MDcsNyArMTI5 MDcsNyBAQCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCQlzd2l0Y2ggKGVuY29kZXItPnR5cGUpIHsKPiAg CQkJdW5zaWduZWQgaW50IHBvcnRfbWFzazsKPiAgCQljYXNlIElOVEVMX09VVFBVVF9VTktOT1dO Ogo+IC0JCQlpZiAoV0FSTl9PTighSEFTX0RESShkZXYpKSkKPiArCQkJaWYgKFdBUk5fT04oIUhB U19EREkodG9faTkxNShkZXYpKSkpCj4gIAkJCQlicmVhazsKPiAgCQljYXNlIElOVEVMX09VVFBV VF9EUDoKPiAgCQljYXNlIElOVEVMX09VVFBVVF9IRE1JOgo+IEBAIC0xMzczMSw3ICsxMzczMSw3 IEBAIGludGVsX21vZGVzZXRfdmVyaWZ5X2Rpc2FibGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAo+ICBzdGF0aWMgdm9pZCB1cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5k ZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmJhc2UuZGV2KTsKPiAgCj4gIAkvKgo+ICAJICogVGhlIHNjYW5saW5lIGNvdW50ZXIgaW5jcmVt ZW50cyBhdCB0aGUgbGVhZGluZyBlZGdlIG9mIGhzeW5jLgo+IEBAIC0xMzc1MSw3ICsxMzc1MSw3 IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9zY2FubGluZV9vZmZzZXQoc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIAkgKiB0aGVyZSdzIGFuIGV4dHJhIDEgbGluZSBkaWZmZXJlbmNlLiBTbyB3ZSBu ZWVkIHRvIGFkZCB0d28gaW5zdGVhZCBvZgo+ICAJICogb25lIHRvIHRoZSB2YWx1ZS4KPiAgCSAq Lwo+IC0JaWYgKElTX0dFTjIoZGV2KSkgewo+ICsJaWYgKElTX0dFTjIoZGV2X3ByaXYpKSB7Cj4g IAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmY3J0Yy0+ Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAkJaW50IHZ0b3RhbDsKPiAgCj4gQEAgLTEz NzYwLDcgKzEzNzYwLDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3NjYW5saW5lX29mZnNldChzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQkJdnRvdGFsIC89IDI7Cj4gIAo+ICAJCWNydGMtPnNj YW5saW5lX29mZnNldCA9IHZ0b3RhbCAtIDE7Cj4gLQl9IGVsc2UgaWYgKEhBU19EREkoZGV2KSAm Jgo+ICsJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2KSAmJgo+ICAJCSAgIGludGVsX2NydGNf aGFzX3R5cGUoY3J0Yy0+Y29uZmlnLCBJTlRFTF9PVVRQVVRfSERNSSkpIHsKPiAgCQljcnRjLT5z Y2FubGluZV9vZmZzZXQgPSAyOwo+ICAJfSBlbHNlCj4gQEAgLTE1MzI5LDExICsxNTMyOSwxMiBA QCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfcHJlc2VudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+IC0JaWYg KEhBU19QQ0hfTFBUX0goZGV2KSAmJiBJOTE1X1JFQUQoU0ZVU0VfU1RSQVApICYgU0ZVU0VfU1RS QVBfQ1JUX0RJU0FCTEVEKQo+ICsJaWYgKEhBU19QQ0hfTFBUX0goZGV2X3ByaXYpICYmCj4gKwkg ICAgSTkxNV9SRUFEKFNGVVNFX1NUUkFQKSAmIFNGVVNFX1NUUkFQX0NSVF9ESVNBQkxFRCkKPiAg CQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICAJLyogRERJIEUgY2FuJ3QgYmUgdXNlZCBpZiBEREkgQSBy ZXF1aXJlcyA0IGxhbmVzICovCj4gLQlpZiAoSEFTX0RESShkZXYpICYmIEk5MTVfUkVBRChERElf QlVGX0NUTChQT1JUX0EpKSAmIERESV9BXzRfTEFORVMpCj4gKwlpZiAoSEFTX0RESShkZXZfcHJp dikgJiYgSTkxNV9SRUFEKERESV9CVUZfQ1RMKFBPUlRfQSkpICYgRERJX0FfNF9MQU5FUykKPiAg CQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICAJaWYgKCFkZXZfcHJpdi0+dmJ0LmludF9jcnRfc3VwcG9y dCkKPiBAQCAtMTU0MDcsNyArMTU0MDgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRw dXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJaW50ZWxfZGRpX2luaXQoZGV2LCBQT1JU X0MpOwo+ICAKPiAgCQlpbnRlbF9kc2lfaW5pdChkZXYpOwo+IC0JfSBlbHNlIGlmIChIQVNfRERJ KGRldikpIHsKPiArCX0gZWxzZSBpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKPiAgCQlpbnQgZm91 bmQ7Cj4gIAo+ICAJCS8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggNTk5MjA5M2Ux ODE0Li5lZGFmMzViOTc1YzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtMTU2 NSw3ICsxNTY1LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAo+ICAJbWF4X2Nsb2NrID0gY29tbW9uX2xlbiAtIDE7Cj4gIAo+IC0J aWYgKEhBU19QQ0hfU1BMSVQoZGV2KSAmJiAhSEFTX0RESShkZXYpICYmIHBvcnQgIT0gUE9SVF9B KQo+ICsJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpICYmICFIQVNfRERJKGRldl9wcml2KSAm JiBwb3J0ICE9IFBPUlRfQSkKPiAgCQlwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyID0gdHJ1 ZTsKPiAgCj4gIAlwaXBlX2NvbmZpZy0+aGFzX2RycnMgPSBmYWxzZTsKPiBAQCAtMTcwNyw3ICsx NzA3LDcgQEAgZm91bmQ6Cj4gIAkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHBpcGVfY29uZmlnLT5i YXNlLnN0YXRlKS0+Y2RjbGtfcGxsX3ZjbyA9IHZjbzsKPiAgCX0KPiAgCj4gLQlpZiAoIUhBU19E REkoZGV2KSkKPiArCWlmICghSEFTX0RESShkZXZfcHJpdikpCj4gIAkJaW50ZWxfZHBfc2V0X2Ns b2NrKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKPiAgCj4gIAlyZXR1cm4gdHJ1ZTsKPiBAQCAtMjYz Miw3ICsyNjMyLDcgQEAgX2ludGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCj4gIAkJRFJNX0RFQlVHX0tNUygiVXNpbmcgRFAgdHJhaW5pbmcgcGF0dGVybiBU UFMlZFxuIiwKPiAgCQkJICAgICAgZHBfdHJhaW5fcGF0ICYgRFBfVFJBSU5JTkdfUEFUVEVSTl9N QVNLKTsKPiAgCj4gLQlpZiAoSEFTX0RESShkZXYpKSB7Cj4gKwlpZiAoSEFTX0RESShkZXZfcHJp dikpIHsKPiAgCQl1aW50MzJfdCB0ZW1wID0gSTkxNV9SRUFEKERQX1RQX0NUTChwb3J0KSk7Cj4g IAo+ICAJCWlmIChkcF90cmFpbl9wYXQgJiBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkKPiBA QCAtMzMzOSw3ICszMzM5LDcgQEAgaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKPiAgCXVpbnQzMl90IHNpZ25hbF9sZXZlbHMsIG1hc2sgPSAwOwo+ ICAJdWludDhfdCB0cmFpbl9zZXQgPSBpbnRlbF9kcC0+dHJhaW5fc2V0WzBdOwo+ICAKPiAtCWlm IChIQVNfRERJKGRldikpIHsKPiArCWlmIChIQVNfRERJKGRldl9wcml2KSkgewo+ICAJCXNpZ25h bF9sZXZlbHMgPSBkZGlfc2lnbmFsX2xldmVscyhpbnRlbF9kcCk7Cj4gIAo+ICAJCWlmIChJU19C Uk9YVE9OKGRldikpCj4gQEAgLTMzOTgsNyArMzM5OCw3IEBAIHZvaWQgaW50ZWxfZHBfc2V0X2lk bGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJZW51bSBwb3J0IHBv cnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKPiAgCXVpbnQzMl90IHZhbDsKPiAgCj4gLQlpZiAo IUhBU19EREkoZGV2KSkKPiArCWlmICghSEFTX0RESShkZXZfcHJpdikpCj4gIAkJcmV0dXJuOwo+ ICAKPiAgCXZhbCA9IEk5MTVfUkVBRChEUF9UUF9DVEwocG9ydCkpOwo+IEBAIC0zNDMzLDcgKzM0 MzMsNyBAQCBpbnRlbF9kcF9saW5rX2Rvd24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXVp bnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwo+ICAKPiAtCWlmIChXQVJOX09OKEhBU19EREkoZGV2 KSkpCj4gKwlpZiAoV0FSTl9PTihIQVNfRERJKGRldl9wcml2KSkpCj4gIAkJcmV0dXJuOwo+ICAK PiAgCWlmIChXQVJOX09OKChJOTE1X1JFQUQoaW50ZWxfZHAtPm91dHB1dF9yZWcpICYgRFBfUE9S VF9FTikgPT0gMCkpCj4gQEAgLTU2NTksNyArNTY1OSw3IEBAIGludGVsX2RwX2luaXRfY29ubmVj dG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAJZWxzZQo+ ICAJCWludGVsX2RwLT5nZXRfYXV4X3NlbmRfY3RsID0gZzR4X2dldF9hdXhfc2VuZF9jdGw7Cj4g IAo+IC0JaWYgKEhBU19EREkoZGV2KSkKPiArCWlmIChIQVNfRERJKGRldl9wcml2KSkKPiAgCQlp bnRlbF9kcC0+cHJlcGFyZV9saW5rX3JldHJhaW4gPSBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3Jl dHJhaW47Cj4gIAo+ICAJLyogUHJlc2VydmUgdGhlIGN1cnJlbnQgaHcgc3RhdGUuICovCj4gQEAg LTU3MDEsNyArNTcwMSw3IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAKPiAgCWludGVsX2Nvbm5lY3Rvcl9hdHRh Y2hfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwo+ICAKPiAtCWlmIChI QVNfRERJKGRldikpCj4gKwlpZiAoSEFTX0RESShkZXZfcHJpdikpCj4gIAkJaW50ZWxfY29ubmVj dG9yLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9kZGlfY29ubmVjdG9yX2dldF9od19zdGF0ZTsKPiAg CWVsc2UKPiAgCQlpbnRlbF9jb25uZWN0b3ItPmdldF9od19zdGF0ZSA9IGludGVsX2Nvbm5lY3Rv cl9nZXRfaHdfc3RhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gaW5k ZXggMWM1OWNhNTBjNDMwLi5kMGM1OWMxNzkzZWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwbGxfbWdyLmMKPiBAQCAtMTg1NSw3ICsxODU1LDcgQEAgdm9pZCBpbnRlbF9zaGFyZWRf ZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJZHBsbF9tZ3IgPSAmc2tsX3Bs bF9tZ3I7Cj4gIAllbHNlIGlmIChJU19CUk9YVE9OKGRldikpCj4gIAkJZHBsbF9tZ3IgPSAmYnh0 X3BsbF9tZ3I7Cj4gLQllbHNlIGlmIChIQVNfRERJKGRldikpCj4gKwllbHNlIGlmIChIQVNfRERJ KGRldl9wcml2KSkKPiAgCQlkcGxsX21nciA9ICZoc3dfcGxsX21ncjsKPiAgCWVsc2UgaWYgKEhB U19QQ0hfSUJYKGRldikgfHwgSEFTX1BDSF9DUFQoZGV2KSkKPiAgCQlkcGxsX21nciA9ICZwY2hf cGxsX21ncjsKPiBAQCAtMTg4Myw3ICsxODgzLDcgQEAgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlCVUdfT04oZGV2X3ByaXYtPm51bV9zaGFy ZWRfZHBsbCA+IEk5MTVfTlVNX1BMTFMpOwo+ICAKPiAgCS8qIEZJWE1FOiBNb3ZlIHRoaXMgdG8g YSBtb3JlIHN1aXRhYmxlIHBsYWNlICovCj4gLQlpZiAoSEFTX0RESShkZXYpKQo+ICsJaWYgKEhB U19EREkoZGV2X3ByaXYpKQo+ICAJCWludGVsX2RkaV9wbGxfaW5pdChkZXYpOwo+ICB9Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBpbmRleCA4ZDQ2ZjU4MzY3NDYuLjA5YjIxNDZm MTU3ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBAQCAtNTAsNyArNTAsNyBA QCBhc3NlcnRfaGRtaV9wb3J0X2Rpc2FibGVkKHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1p KQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ ICAJdWludDMyX3QgZW5hYmxlZF9iaXRzOwo+ICAKPiAtCWVuYWJsZWRfYml0cyA9IEhBU19EREko ZGV2KSA/IERESV9CVUZfQ1RMX0VOQUJMRSA6IFNEVk9fRU5BQkxFOwo+ICsJZW5hYmxlZF9iaXRz ID0gSEFTX0RESShkZXZfcHJpdikgPyBERElfQlVGX0NUTF9FTkFCTEUgOiBTRFZPX0VOQUJMRTsK PiAgCj4gIAlXQVJOKEk5MTVfUkVBRChpbnRlbF9oZG1pLT5oZG1pX3JlZykgJiBlbmFibGVkX2Jp dHMsCj4gIAkgICAgICJIRE1JIHBvcnQgZW5hYmxlZCwgZXhwZWN0aW5nIGRpc2FibGVkXG4iKTsK PiBAQCAtMTMxMiw3ICsxMzEyLDcgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRl bF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwo+IC0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1 c3RlZF9tb2RlOwo+ICAJaW50IGNsb2NrXzhicGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3Rl ZF9tb2RlLmNydGNfY2xvY2s7Cj4gIAlpbnQgY2xvY2tfMTJicGMgPSBjbG9ja184YnBjICogMyAv IDI7Cj4gQEAgLTEzMzksNyArMTMzOSw3IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQljbG9ja18xMmJwYyAqPSAyOwo+ ICAJfQo+ICAKPiAtCWlmIChIQVNfUENIX1NQTElUKGRldikgJiYgIUhBU19EREkoZGV2KSkKPiAr CWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJpdikpCj4gIAkJ cGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4gIAo+ICAJaWYgKHBpcGVfY29u ZmlnLT5oYXNfaGRtaV9zaW5rICYmIGludGVsX2hkbWktPmhhc19hdWRpbykKPiBAQCAtMTg5Miw3 ICsxODkyLDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAJCWludGVsX2hkbWktPndyaXRlX2luZm9m cmFtZSA9IGc0eF93cml0ZV9pbmZvZnJhbWU7Cj4gIAkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFt ZXMgPSBnNHhfc2V0X2luZm9mcmFtZXM7Cj4gIAkJaW50ZWxfaGRtaS0+aW5mb2ZyYW1lX2VuYWJs ZWQgPSBnNHhfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4gLQl9IGVsc2UgaWYgKEhBU19EREkoZGV2KSkg ewo+ICsJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2KSkgewo+ICAJCWludGVsX2hkbWktPndy aXRlX2luZm9mcmFtZSA9IGhzd193cml0ZV9pbmZvZnJhbWU7Cj4gIAkJaW50ZWxfaGRtaS0+c2V0 X2luZm9mcmFtZXMgPSBoc3dfc2V0X2luZm9mcmFtZXM7Cj4gIAkJaW50ZWxfaGRtaS0+aW5mb2Zy YW1lX2VuYWJsZWQgPSBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4gQEAgLTE5MDYsNyArMTkwNiw3 IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgCQlpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCA9 IGNwdF9pbmZvZnJhbWVfZW5hYmxlZDsKPiAgCX0KPiAgCj4gLQlpZiAoSEFTX0RESShkZXYpKQo+ ICsJaWYgKEhBU19EREkoZGV2X3ByaXYpKQo+ICAJCWludGVsX2Nvbm5lY3Rvci0+Z2V0X2h3X3N0 YXRlID0gaW50ZWxfZGRpX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGU7Cj4gIAllbHNlCj4gIAkJaW50 ZWxfY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9jb25uZWN0b3JfZ2V0X2h3X3N0YXRl Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDdmMTc0OGExZTYxNC4uZTdiM2U2ZjM5 MjgxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTcxMzIsNyArNzEzMiw3IEBA IHN0YXRpYyB2b2lkIGxwdF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAJICogVE9ETzogdGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgZW5hYmxlZCB3aGVuIHJlYWxs eSBuZWVkZWQsIHRoZW4KPiAgCSAqIGRpc2FibGVkIHdoZW4gbm90IG5lZWRlZCBhbnltb3JlIGlu IG9yZGVyIHRvIHNhdmUgcG93ZXIuCj4gIAkgKi8KPiAtCWlmIChIQVNfUENIX0xQVF9MUChkZXYp KQo+ICsJaWYgKEhBU19QQ0hfTFBUX0xQKGRldl9wcml2KSkKPiAgCQlJOTE1X1dSSVRFKFNPVVRI X0RTUENMS19HQVRFX0QsCj4gIAkJCSAgIEk5MTVfUkVBRChTT1VUSF9EU1BDTEtfR0FURV9EKSB8 Cj4gIAkJCSAgIFBDSF9MUF9QQVJUSVRJT05fTEVWRUxfRElTQUJMRSk7Cj4gQEAgLTcxNDcsNyAr NzE0Nyw3IEBAIHN0YXRpYyB2b2lkIGxwdF9zdXNwZW5kX2h3KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKPiAgCj4gLQlpZiAoSEFTX1BDSF9MUFRfTFAoZGV2KSkgewo+ICsJaWYgKEhBU19QQ0hf TFBUX0xQKGRldl9wcml2KSkgewo+ICAJCXVpbnQzMl90IHZhbCA9IEk5MTVfUkVBRChTT1VUSF9E U1BDTEtfR0FURV9EKTsKPiAgCj4gIAkJdmFsICY9IH5QQ0hfTFBfUEFSVElUSU9OX0xFVkVMX0RJ U0FCTEU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiBpbmRleCAxMDhiYTFlNWQ2NTguLjll MmZiYWM5Nzc2ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTM0NCw3ICsz NDQsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wc3JfbWF0Y2hfY29uZGl0aW9ucyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+ICAJICogb25lcy4gU2luY2UgYnkgRGlzcGxheSBkZXNpZ24gdHJh bnNjb2RlciBFRFAgaXMgdGllZCB0byBwb3J0IEEKPiAgCSAqIHdlIGNhbiBzYWZlbHkgZXNjYXBl IGJhc2VkIG9uIHRoZSBwb3J0IEEuCj4gIAkgKi8KPiAtCWlmIChIQVNfRERJKGRldikgJiYgZGln X3BvcnQtPnBvcnQgIT0gUE9SVF9BKSB7Cj4gKwlpZiAoSEFTX0RESShkZXZfcHJpdikgJiYgZGln X3BvcnQtPnBvcnQgIT0gUE9SVF9BKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiUFNSIGNvbmRpdGlv biBmYWlsZWQ6IFBvcnQgbm90IHN1cHBvcnRlZFxuIik7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAJ fQo+IEBAIC00MDIsNyArNDAyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2FjdGl2YXRlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJp di0+cHNyLmxvY2spOwo+ICAKPiAgCS8qIEVuYWJsZS9SZS1lbmFibGUgUFNSIG9uIHRoZSBob3N0 ICovCj4gLQlpZiAoSEFTX0RESShkZXYpKQo+ICsJaWYgKEhBU19EREkoZGV2X3ByaXYpKQo+ICAJ CS8qIE9uIEhTVysgYWZ0ZXIgd2UgZW5hYmxlIFBTUiBvbiBzb3VyY2UgaXQgd2lsbCBhY3RpdmF0 ZSBpdAo+ICAJCSAqIGFzIHNvb24gYXMgaXQgbWF0Y2ggY29uZmlndXJlIGlkbGVfZnJhbWUgY291 bnQuIFNvCj4gIAkJICogd2UganVzdCBhY3R1YWxseSBlbmFibGUgaXQgaGVyZSBvbiBhY3RpdmF0 aW9uIHRpbWUuCj4gQEAgLTQ0OCw3ICs0NDgsNyBAQCB2b2lkIGludGVsX3Bzcl9lbmFibGUoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCj4gIAlkZXZfcHJpdi0+cHNyLmJ1c3lfZnJvbnRi dWZmZXJfYml0cyA9IDA7Cj4gIAo+IC0JaWYgKEhBU19EREkoZGV2KSkgewo+ICsJaWYgKEhBU19E REkoZGV2X3ByaXYpKSB7Cj4gIAkJaHN3X3Bzcl9zZXR1cF92c2MoaW50ZWxfZHApOwo+ICAKPiAg CQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpIHsKPiBAQCAtNTgwLDcgKzU4MCw3IEBA IHZvaWQgaW50ZWxfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCX0K PiAgCj4gIAkvKiBEaXNhYmxlIFBTUiBvbiBTb3VyY2UgKi8KPiAtCWlmIChIQVNfRERJKGRldikp Cj4gKwlpZiAoSEFTX0RESShkZXZfcHJpdikpCj4gIAkJaHN3X3Bzcl9kaXNhYmxlKGludGVsX2Rw KTsKPiAgCWVsc2UKPiAgCQl2bHZfcHNyX2Rpc2FibGUoaW50ZWxfZHApOwo+IC0tIAo+IDIuNy40 Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=