From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 18/22] drm/i915: Use dev_priv consistently through the intel_frontbuffer interface Date: Thu, 28 Jul 2016 12:06:10 +0200 Message-ID: <20160728100610.GF6232@phenom.ffwll.local> References: <1469618100-15298-1-git-send-email-chris@chris-wilson.co.uk> <1469618100-15298-19-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id D05486E7C2 for ; Thu, 28 Jul 2016 10:06:16 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id o80so10367893wme.0 for ; Thu, 28 Jul 2016 03:06:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1469618100-15298-19-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMjcsIDIwMTYgYXQgMTI6MTQ6NTZQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFJhdGhlciB0aGFuIGEgbWlzbWFzaCBvZiBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2IGFu ZCBzdHJ1Y3QKPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiBiZWluZyB1c2VkIGZyZWVseSB3 aXRoaW4gYSBmdW5jdGlvbiwgYmUKPiBjb25zaXN0ZW50IGFuZCBvbmx5IHBhc3MgYWxvbmcgZGV2 X3ByaXYuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CgpZZWFoLCB3aXRoIHRoZSBlbWJlZGRpbmcgdGhlcmUncyByZWFsbHkgbm8gcmVh c29uIGFueSBtb3JlIG5vdCB0byB1c2UKZGV2X3ByaXYgZXZlcnl3aGVyZSBmb3IgaW50ZXJuYWwg ZnVuY3Rpb25zLgoKUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3 bGwuY2g+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAg IHwgMTAgKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAg ICB8IDE0ICsrKysrLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgICAgIHwgMjEgKysrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZnJvbnRidWZmZXIuYyB8IDM5ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyAgICAgfCAgMyArLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgICAgICAgICB8IDI2ICsrKysrKysrKy0tLS0t LS0tLS0tLQo+ICA2IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAxYzcwZjY4 MzI4YjQuLjlmMTVjZWQ2ZmM3YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiBAQCAtNDU2NSwxMiArNDU2NSwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3N0X3BsYW5l X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gIAlzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlID0gb2xkX2NydGNfc3RhdGUtPmJhc2Uuc3Rh dGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICAJCXRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5ID0gY3J0 Yy0+YmFzZS5wcmltYXJ5Owo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3ByaV9zdGF0 ZSA9Cj4gIAkJZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfcGxhbmVfc3RhdGUob2xkX3N0YXRlLCBw cmltYXJ5KTsKPiAgCj4gLQlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgcGlwZV9jb25maWct PmZiX2JpdHMpOwo+ICsJaW50ZWxfZnJvbnRidWZmZXJfZmxpcCh0b19pOTE1KGNydGMtPmJhc2Uu ZGV2KSwgcGlwZV9jb25maWctPmZiX2JpdHMpOwo+ICAKPiAgCWNydGMtPndtLmN4c3JfYWxsb3dl ZCA9IHRydWU7Cj4gIAo+IEBAIC00NjkzLDcgKzQ2OTIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgcGxhbmVf bWFzawo+ICAJICogdG8gY29tcHV0ZSB0aGUgbWFzayBvZiBmbGlwIHBsYW5lcyBwcmVjaXNlbHku IEZvciB0aGUgdGltZSBiZWluZwo+ICAJICogY29uc2lkZXIgdGhpcyBhIGZsaXAgdG8gYSBOVUxM IHBsYW5lLgo+ICAJICovCj4gLQlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgSU5URUxfRlJP TlRCVUZGRVJfQUxMX01BU0socGlwZSkpOwo+ICsJaW50ZWxfZnJvbnRidWZmZXJfZmxpcCh0b19p OTE1KGRldiksIElOVEVMX0ZST05UQlVGRkVSX0FMTF9NQVNLKHBpcGUpKTsKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ IEBAIC0xMDk1OSw3ICsxMDk1OCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3VucGluX3dvcmtfZm4o c3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCj4gIAo+ICAJaTkxNV9nZW1fcmVxdWVzdF9wdXQo d29yay0+ZmxpcF9xdWV1ZWRfcmVxKTsKPiAgCj4gLQlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX2Nv bXBsZXRlKGRldiwgdG9faW50ZWxfcGxhbmUocHJpbWFyeSktPmZyb250YnVmZmVyX2JpdCk7Cj4g KwlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX2NvbXBsZXRlKHRvX2k5MTUoZGV2KSwKPiArCQkJCQl0 b19pbnRlbF9wbGFuZShwcmltYXJ5KS0+ZnJvbnRidWZmZXJfYml0KTsKPiAgCWludGVsX2ZiY19w b3N0X3VwZGF0ZShjcnRjKTsKPiAgCWRybV9mcmFtZWJ1ZmZlcl91bnJlZmVyZW5jZSh3b3JrLT5v bGRfZmIpOwo+ICAKPiBAQCAtMTE3MzQsNyArMTE3MzQsNyBAQCBzdGF0aWMgaW50IGludGVsX2Ny dGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJICB0b19pbnRlbF9wbGFu ZShwcmltYXJ5KS0+ZnJvbnRidWZmZXJfYml0KTsKPiAgCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwo+ICAKPiAtCWludGVsX2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShkZXYsCj4g KwlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX3ByZXBhcmUodG9faTkxNShkZXYpLAo+ICAJCQkJICAg ICAgIHRvX2ludGVsX3BsYW5lKHByaW1hcnkpLT5mcm9udGJ1ZmZlcl9iaXQpOwo+ICAKPiAgCXRy YWNlX2k5MTVfZmxpcF9yZXF1ZXN0KGludGVsX2NydGMtPnBsYW5lLCBvYmopOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+IGluZGV4IDIxYjA0YzNlZGE0MS4uMmZkOTBkMTUzZmU3IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTUxODYsNyArNTE4Niw3IEBAIHVubG9jazoKPiAg Cj4gIC8qKgo+ICAgKiBpbnRlbF9lZHBfZHJyc19pbnZhbGlkYXRlIC0gRGlzYWJsZSBJZGxlbmVz cyBEUlJTCj4gLSAqIEBkZXY6IERSTSBkZXZpY2UKPiArICogQGRldl9wcml2OiBpOTE1IGRldmlj ZQo+ICAgKiBAZnJvbnRidWZmZXJfYml0czogZnJvbnRidWZmZXIgcGxhbmUgdHJhY2tpbmcgYml0 cwo+ICAgKgo+ICAgKiBUaGlzIGZ1bmN0aW9uIGdldHMgY2FsbGVkIGV2ZXJ5dGltZSByZW5kZXJp bmcgb24gdGhlIGdpdmVuIHBsYW5lcyBzdGFydC4KPiBAQCAtNTE5NCwxMCArNTE5NCw5IEBAIHVu bG9jazoKPiAgICoKPiAgICogRGlydHkgZnJvbnRidWZmZXJzIHJlbGV2YW50IHRvIERSUlMgYXJl IHRyYWNrZWQgaW4gYnVzeV9mcm9udGJ1ZmZlcl9iaXRzLgo+ICAgKi8KPiAtdm9pZCBpbnRlbF9l ZHBfZHJyc19pbnZhbGlkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJdW5zaWduZWQg ZnJvbnRidWZmZXJfYml0cykKPiArdm9pZCBpbnRlbF9lZHBfZHJyc19pbnZhbGlkYXRlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgICAgIHVuc2lnbmVkIGZyb250 YnVmZmVyX2JpdHMpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAgCWVudW0gcGlwZSBw aXBlOwo+ICAKPiBAQCAtNTIyOSw3ICs1MjI4LDcgQEAgdm9pZCBpbnRlbF9lZHBfZHJyc19pbnZh bGlkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAvKioKPiAgICogaW50ZWxfZWRw X2RycnNfZmx1c2ggLSBSZXN0YXJ0IElkbGVuZXNzIERSUlMKPiAtICogQGRldjogRFJNIGRldmlj ZQo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlCj4gICAqIEBmcm9udGJ1ZmZlcl9iaXRzOiBm cm9udGJ1ZmZlciBwbGFuZSB0cmFja2luZyBiaXRzCj4gICAqCj4gICAqIFRoaXMgZnVuY3Rpb24g Z2V0cyBjYWxsZWQgZXZlcnkgdGltZSByZW5kZXJpbmcgb24gdGhlIGdpdmVuIHBsYW5lcyBoYXMK PiBAQCAtNTIzOSwxMCArNTIzOCw5IEBAIHZvaWQgaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgKgo+ICAgKiBEaXJ0eSBmcm9udGJ1ZmZlcnMgcmVs ZXZhbnQgdG8gRFJSUyBhcmUgdHJhY2tlZCBpbiBidXN5X2Zyb250YnVmZmVyX2JpdHMuCj4gICAq Lwo+IC12b2lkIGludGVsX2VkcF9kcnJzX2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g LQkJdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cykKPiArdm9pZCBpbnRlbF9lZHBfZHJyc19mbHVz aChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCSAgdW5zaWduZWQgZnJv bnRidWZmZXJfYml0cykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ICAJZW51bSBwaXBl IHBpcGU7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNTI5NDAzOWNmMjM4 Li42ZjQ0N2Q0ODVkYjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMTM1 LDExICsxMTM1LDExIEBAIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywgYm9vbCBzdGF0ZSk7Cj4gIHVpbnQzMl90IGRkaV9zaWduYWxfbGV2 ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ICAKPiAgLyogaW50ZWxfZnJvbnRidWZm ZXIuYyAqLwo+IC12b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICt2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICAgdW5zaWduZWQgZnJvbnRi dWZmZXJfYml0cyk7Cj4gLXZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmxpcF9jb21wbGV0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICt2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfY29tcGxl dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgICB1bnNpZ25l ZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiAtdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gK3ZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmxpcChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgICB1bnNpZ25lZCBmcm9udGJ1ZmZl cl9iaXRzKTsKPiAgdW5zaWduZWQgaW50IGludGVsX2ZiX2FsaWduX2hlaWdodChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAJCQkJICAgdW5zaWduZWQgaW50IGhlaWdodCwKPiBAQCAtMTQxMywx MSArMTQxMywxMiBAQCB1aW50MzJfdCBpbnRlbF9kcF9wYWNrX2F1eChjb25zdCB1aW50OF90ICpz cmMsIGludCBzcmNfYnl0ZXMpOwo+ICB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUpOwo+ICB2b2lkIGludGVsX2VkcF9kcnJzX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKPiAgdm9pZCBpbnRlbF9lZHBfZHJyc19kaXNhYmxlKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApOwo+IC12b2lkIGludGVsX2VkcF9kcnJzX2ludmFsaWRhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQl1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiAt dm9pZCBpbnRlbF9lZHBfZHJyc19mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiArdm9pZCBpbnRlbF9lZHBfZHJyc19pbnZhbGlkYXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgICAgIHVuc2lnbmVkIGZy b250YnVmZmVyX2JpdHMpOwo+ICt2b2lkIGludGVsX2VkcF9kcnJzX2ZsdXNoKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRz KTsKPiAgYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCQkgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqcG9y dCk7Cj4gKwkJCQkgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBvcnQpOwo+ICAKPiAgdm9p ZAo+ICBpbnRlbF9kcF9wcm9ncmFtX2xpbmtfdHJhaW5pbmdfcGF0dGVybihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+IEBAIC0xNTkwLDEzICsxNTkxLDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29uCj4gIC8qIGludGVsX3Bzci5jICovCj4gIHZvaWQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiAgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKTsKPiAtdm9pZCBpbnRlbF9wc3JfaW52YWxpZGF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICt2b2lkIGludGVsX3Bzcl9pbnZhbGlkYXRlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRz KTsKPiAtdm9pZCBpbnRlbF9wc3JfZmx1c2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArdm9p ZCBpbnRlbF9wc3JfZmx1c2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJ CSAgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cywKPiAgCQkgICAgIGVudW0gZmJfb3Bfb3Jp Z2luIG9yaWdpbik7Cj4gIHZvaWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7Cj4gLXZvaWQgaW50ZWxfcHNyX3NpbmdsZV9mcmFtZV91cGRhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiArdm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9i aXRzKTsKPiAgCj4gIC8qIGludGVsX3J1bnRpbWVfcG0uYyAqLwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZnJvbnRidWZmZXIuYwo+IGluZGV4IDYzNjMyNGRhMjFjMi4uNDJmNzE4YmI1ODRj IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jCj4gQEAgLTgw LDggKzgwLDcgQEAgdm9pZCBfX2ludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCj4gIAkJCSAgICAgICBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4s Cj4gIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZnJvbnRidWZmZXJfYml0cykKPiAgewo+IC0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwo+ICAKPiAgCWlmIChvcmln aW4gPT0gT1JJR0lOX0NTKSB7Cj4gIAkJc3Bpbl9sb2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcu bG9jayk7Cj4gQEAgLTkwLDggKzg5LDggQEAgdm9pZCBfX2ludGVsX2ZiX29ial9pbnZhbGlkYXRl KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAkJc3Bpbl91bmxvY2soJmRldl9w cml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCX0KPiAgCj4gLQlpbnRlbF9wc3JfaW52YWxpZGF0 ZShkZXYsIGZyb250YnVmZmVyX2JpdHMpOwo+IC0JaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShk ZXYsIGZyb250YnVmZmVyX2JpdHMpOwo+ICsJaW50ZWxfcHNyX2ludmFsaWRhdGUoZGV2X3ByaXYs IGZyb250YnVmZmVyX2JpdHMpOwo+ICsJaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShkZXZfcHJp diwgZnJvbnRidWZmZXJfYml0cyk7Cj4gIAlpbnRlbF9mYmNfaW52YWxpZGF0ZShkZXZfcHJpdiwg ZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiAgfQo+ICAKPiBAQCAtMTA3LDEyICsxMDYsMTAg QEAgdm9pZCBfX2ludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCj4gICAqCj4gICAqIENhbiBiZSBjYWxsZWQgd2l0aG91dCBhbnkgbG9ja3MgaGVs ZC4KPiAgICovCj4gLXN0YXRpYyB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsdXNoKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gK3N0YXRpYyB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsdXNoKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgICB1bnNpZ25lZCBmcm9u dGJ1ZmZlcl9iaXRzLAo+ICAJCQkJICAgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbikKPiAgewo+ IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0K PiAgCS8qIERlbGF5IGZsdXNoaW5nIHdoZW4gcmluZ3MgYXJlIHN0aWxsIGJ1c3kuKi8KPiAgCXNw aW5fbG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICAJZnJvbnRidWZmZXJfYml0 cyAmPSB+ZGV2X3ByaXYtPmZiX3RyYWNraW5nLmJ1c3lfYml0czsKPiBAQCAtMTIxLDggKzExOCw4 IEBAIHN0YXRpYyB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAlpZiAoZnJvbnRidWZmZXJfYml0cyA9PSAwKQo+ICAJCXJldHVybjsKPiAgCj4g LQlpbnRlbF9lZHBfZHJyc19mbHVzaChkZXYsIGZyb250YnVmZmVyX2JpdHMpOwo+IC0JaW50ZWxf cHNyX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiArCWludGVsX2VkcF9k cnJzX2ZsdXNoKGRldl9wcml2LCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiArCWludGVsX3Bzcl9mbHVz aChkZXZfcHJpdiwgZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiAgCWludGVsX2ZiY19mbHVz aChkZXZfcHJpdiwgZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKPiAgfQo+ICAKPiBAQCAtMTQx LDggKzEzOCw3IEBAIHZvaWQgX19pbnRlbF9mYl9vYmpfZmx1c2goc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKPiAgCQkJICBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4sCj4gIAkJCSAg dW5zaWduZWQgaW50IGZyb250YnVmZmVyX2JpdHMpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBvYmotPmJhc2UuZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKPiAgCj4gIAlpZiAocmV0aXJlKSB7Cj4gIAkJc3Bp bl9sb2NrKCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gQEAgLTE1Myw3ICsxNDksNyBA QCB2b2lkIF9faW50ZWxfZmJfb2JqX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCj4gIAl9Cj4gIAo+ICAJaWYgKGZyb250YnVmZmVyX2JpdHMpCj4gLQkJaW50ZWxfZnJvbnRi dWZmZXJfZmx1c2goZGV2LCBmcm9udGJ1ZmZlcl9iaXRzLCBvcmlnaW4pOwo+ICsJCWludGVsX2Zy b250YnVmZmVyX2ZsdXNoKGRldl9wcml2LCBmcm9udGJ1ZmZlcl9iaXRzLCBvcmlnaW4pOwo+ICB9 Cj4gIAo+ICAvKioKPiBAQCAtMTY4LDE4ICsxNjQsMTYgQEAgdm9pZCBfX2ludGVsX2ZiX29ial9m bHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgKgo+ICAgKiBDYW4gYmUg Y2FsbGVkIHdpdGhvdXQgYW55IGxvY2tzIGhlbGQuCj4gICAqLwo+IC12b2lkIGludGVsX2Zyb250 YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICt2b2lkIGludGVs X2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gIAkJCQkgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cykKPiAgewo+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0KPiAgCXNwaW5f bG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwo+ICAJZGV2X3ByaXYtPmZiX3RyYWNr aW5nLmZsaXBfYml0cyB8PSBmcm9udGJ1ZmZlcl9iaXRzOwo+ICAJLyogUmVtb3ZlIHN0YWxlIGJ1 c3kgYml0cyBkdWUgdG8gdGhlIG9sZCBidWZmZXIuICovCj4gIAlkZXZfcHJpdi0+ZmJfdHJhY2tp bmcuYnVzeV9iaXRzICY9IH5mcm9udGJ1ZmZlcl9iaXRzOwo+ICAJc3Bpbl91bmxvY2soJmRldl9w cml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCj4gLQlpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3Vw ZGF0ZShkZXYsIGZyb250YnVmZmVyX2JpdHMpOwo+ICsJaW50ZWxfcHNyX3NpbmdsZV9mcmFtZV91 cGRhdGUoZGV2X3ByaXYsIGZyb250YnVmZmVyX2JpdHMpOwo+ICB9Cj4gIAo+ICAvKioKPiBAQCAt MTkyLDExICsxODYsOSBAQCB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgKgo+ICAgKiBDYW4gYmUgY2FsbGVkIHdpdGhvdXQgYW55 IGxvY2tzIGhlbGQuCj4gICAqLwo+IC12b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfY29tcGxl dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlw X2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgICAg dW5zaWduZWQgZnJvbnRidWZmZXJfYml0cykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0KPiAgCXNwaW5fbG9jaygmZGV2X3ByaXYt PmZiX3RyYWNraW5nLmxvY2spOwo+ICAJLyogTWFzayBhbnkgY2FuY2VsbGVkIGZsaXBzLiAqLwo+ ICAJZnJvbnRidWZmZXJfYml0cyAmPSBkZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmxpcF9iaXRzOwo+ IEBAIC0yMDQsNyArMTk2LDggQEAgdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwX2NvbXBsZXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlzcGluX3VubG9jaygmZGV2X3ByaXYtPmZiX3Ry YWNraW5nLmxvY2spOwo+ICAKPiAgCWlmIChmcm9udGJ1ZmZlcl9iaXRzKQo+IC0JCWludGVsX2Zy b250YnVmZmVyX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cywgT1JJR0lOX0ZMSVApOwo+ICsJ CWludGVsX2Zyb250YnVmZmVyX2ZsdXNoKGRldl9wcml2LAo+ICsJCQkJCWZyb250YnVmZmVyX2Jp dHMsIE9SSUdJTl9GTElQKTsKPiAgfQo+ICAKPiAgLyoqCj4gQEAgLTIxOCwxNSArMjExLDEzIEBA IHZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmxpcF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAgKgo+ICAgKiBDYW4gYmUgY2FsbGVkIHdpdGhvdXQgYW55IGxvY2tzIGhlbGQuCj4g ICAqLwo+IC12b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiArdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAgCQkJICAgIHVuc2lnbmVkIGZyb250YnVmZmVyX2JpdHMpCj4gIHsKPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCj4g IAlzcGluX2xvY2soJmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKPiAgCS8qIFJlbW92ZSBz dGFsZSBidXN5IGJpdHMgZHVlIHRvIHRoZSBvbGQgYnVmZmVyLiAqLwo+ICAJZGV2X3ByaXYtPmZi X3RyYWNraW5nLmJ1c3lfYml0cyAmPSB+ZnJvbnRidWZmZXJfYml0czsKPiAgCXNwaW5fdW5sb2Nr KCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7Cj4gIAo+IC0JaW50ZWxfZnJvbnRidWZmZXJf Zmx1c2goZGV2LCBmcm9udGJ1ZmZlcl9iaXRzLCBPUklHSU5fRkxJUCk7Cj4gKwlpbnRlbF9mcm9u dGJ1ZmZlcl9mbHVzaChkZXZfcHJpdiwgZnJvbnRidWZmZXJfYml0cywgT1JJR0lOX0ZMSVApOwo+ ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IGluZGV4IDIxN2ZlZmM0OWJm OS4uYWQwOGRmNDllZDQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+ IEBAIC04MzksOCArODM5LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2RvX3B1dF9pbWFn ZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKPiAgCW92ZXJsYXktPm9sZF92aWRfYm8g PSBvdmVybGF5LT52aWRfYm87Cj4gIAlvdmVybGF5LT52aWRfYm8gPSBuZXdfYm87Cj4gIAo+IC0J aW50ZWxfZnJvbnRidWZmZXJfZmxpcCgmZGV2X3ByaXYtPmRybSwKPiAtCQkJICAgICAgIElOVEVM X0ZST05UQlVGRkVSX09WRVJMQVkocGlwZSkpOwo+ICsJaW50ZWxfZnJvbnRidWZmZXJfZmxpcChk ZXZfcHJpdiwgSU5URUxfRlJPTlRCVUZGRVJfT1ZFUkxBWShwaXBlKSk7Cj4gIAo+ICAJcmV0dXJu IDA7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gaW5kZXggNjhiZDBiYjM0ODE3Li5h ZGYyY2UwZjM4YzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+IEBAIC02MjgsOSAr NjI4LDggQEAgdW5sb2NrOgo+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICtzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZXhpdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBkZXZfcHJpdi0+ cHNyLmVuYWJsZWQ7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkcF90b19kaWdfcG9ydChp bnRlbF9kcCktPmJhc2UuYmFzZS5jcnRjOwo+ICAJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9j cnRjKGNydGMpLT5waXBlOwo+IEBAIC02MzksNyArNjM4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf cHNyX2V4aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWlmICghZGV2X3ByaXYtPnBzci5h Y3RpdmUpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCWlmIChIQVNfRERJKGRldikpIHsKPiArCWlmIChI QVNfRERJKGRldl9wcml2KSkgewo+ICAJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7Cj4g IAo+ICAJCVdBUk5fT04oISh2YWwgJiBFRFBfUFNSX0VOQUJMRSkpOwo+IEBAIC02NzQsNyArNjcz LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2V4aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCj4gIC8qKgo+ICAgKiBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZSAtIFNpbmdsZSBG cmFtZSBVcGRhdGUKPiAtICogQGRldjogRFJNIGRldmljZQo+ICsgKiBAZGV2X3ByaXY6IGk5MTUg ZGV2aWNlCj4gICAqIEBmcm9udGJ1ZmZlcl9iaXRzOiBmcm9udGJ1ZmZlciBwbGFuZSB0cmFja2lu ZyBiaXRzCj4gICAqCj4gICAqIFNvbWUgcGxhdGZvcm1zIHN1cHBvcnQgYSBzaW5nbGUgZnJhbWUg dXBkYXRlIGZlYXR1cmUgdGhhdCBpcyB1c2VkIHRvCj4gQEAgLTY4MiwxMCArNjgxLDkgQEAgc3Rh dGljIHZvaWQgaW50ZWxfcHNyX2V4aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgICogU28g ZmFyIGl0IGlzIG9ubHkgaW1wbGVtZW50ZWQgZm9yIFZhbGxleXZpZXcgYW5kIENoZXJyeXZpZXcg YmVjYXVzZQo+ICAgKiBoYXJkd2FyZSByZXF1aXJlcyB0aGlzIHRvIGJlIGRvbmUgYmVmb3JlIGEg cGFnZSBmbGlwLgo+ICAgKi8KPiAtdm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICt2b2lkIGludGVsX3Bzcl9zaW5nbGVfZnJhbWVfdXBk YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgIHVuc2lnbmVk IGZyb250YnVmZmVyX2JpdHMpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAgCWVudW0g cGlwZSBwaXBlOwo+ICAJdTMyIHZhbDsKPiBAQCAtNjk0LDcgKzY5Miw3IEBAIHZvaWQgaW50ZWxf cHNyX3NpbmdsZV9mcmFtZV91cGRhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCSAqIFNp bmdsZSBmcmFtZSB1cGRhdGUgaXMgYWxyZWFkeSBzdXBwb3J0ZWQgb24gQkRXKyBidXQgaXQgcmVx dWlyZXMKPiAgCSAqIG1hbnkgVy9BIGFuZCBpdCBpc24ndCByZWFsbHkgbmVlZGVkLgo+ICAJICov Cj4gLQlpZiAoIUlTX1ZBTExFWVZJRVcoZGV2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXYpKQo+ICsJ aWYgKCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikp Cj4gIAkJcmV0dXJuOwo+ICAKPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5wc3IubG9jayk7Cj4g QEAgLTcyMCw3ICs3MTgsNyBAQCB2b2lkIGludGVsX3Bzcl9zaW5nbGVfZnJhbWVfdXBkYXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAvKioKPiAgICogaW50ZWxfcHNyX2ludmFsaWRh dGUgLSBJbnZhbGlkYWRlIFBTUgo+IC0gKiBAZGV2OiBEUk0gZGV2aWNlCj4gKyAqIEBkZXZfcHJp djogaTkxNSBkZXZpY2UKPiAgICogQGZyb250YnVmZmVyX2JpdHM6IGZyb250YnVmZmVyIHBsYW5l IHRyYWNraW5nIGJpdHMKPiAgICoKPiAgICogU2luY2UgdGhlIGhhcmR3YXJlIGZyb250YnVmZmVy IHRyYWNraW5nIGhhcyBnYXBzIHdlIG5lZWQgdG8gaW50ZWdyYXRlCj4gQEAgLTczMCwxMCArNzI4 LDkgQEAgdm9pZCBpbnRlbF9wc3Jfc2luZ2xlX2ZyYW1lX3VwZGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAgKgo+ICAgKiBEaXJ0eSBmcm9udGJ1ZmZlcnMgcmVsZXZhbnQgdG8gUFNSIGFy ZSB0cmFja2VkIGluIGJ1c3lfZnJvbnRidWZmZXJfYml0cy4iCj4gICAqLwo+IC12b2lkIGludGVs X3Bzcl9pbnZhbGlkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gK3ZvaWQgaW50ZWxfcHNy X2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgIHVu c2lnbmVkIGZyb250YnVmZmVyX2JpdHMpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAg CWVudW0gcGlwZSBwaXBlOwo+ICAKPiBAQCAtNzUwLDE0ICs3NDcsMTQgQEAgdm9pZCBpbnRlbF9w c3JfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJZGV2X3ByaXYtPnBzci5i dXN5X2Zyb250YnVmZmVyX2JpdHMgfD0gZnJvbnRidWZmZXJfYml0czsKPiAgCj4gIAlpZiAoZnJv bnRidWZmZXJfYml0cykKPiAtCQlpbnRlbF9wc3JfZXhpdChkZXYpOwo+ICsJCWludGVsX3Bzcl9l eGl0KGRldl9wcml2KTsKPiAgCj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT5wc3IubG9jayk7 Cj4gIH0KPiAgCj4gIC8qKgo+ICAgKiBpbnRlbF9wc3JfZmx1c2ggLSBGbHVzaCBQU1IKPiAtICog QGRldjogRFJNIGRldmljZQo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlCj4gICAqIEBmcm9u dGJ1ZmZlcl9iaXRzOiBmcm9udGJ1ZmZlciBwbGFuZSB0cmFja2luZyBiaXRzCj4gICAqIEBvcmln aW46IHdoaWNoIG9wZXJhdGlvbiBjYXVzZWQgdGhlIGZsdXNoCj4gICAqCj4gQEAgLTc2OCwxMCAr NzY1LDkgQEAgdm9pZCBpbnRlbF9wc3JfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAgKgo+ICAgKiBEaXJ0eSBmcm9udGJ1ZmZlcnMgcmVsZXZhbnQgdG8gUFNSIGFyZSB0cmFj a2VkIGluIGJ1c3lfZnJvbnRidWZmZXJfYml0cy4KPiAgICovCj4gLXZvaWQgaW50ZWxfcHNyX2Zs dXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gK3ZvaWQgaW50ZWxfcHNyX2ZsdXNoKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkgICAgIHVuc2lnbmVkIGZyb250YnVm ZmVyX2JpdHMsIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbikKPiAgewo+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGRybV9jcnRj ICpjcnRjOwo+ICAJZW51bSBwaXBlIHBpcGU7Cj4gIAo+IEBAIC03ODksNyArNzg1LDcgQEAgdm9p ZCBpbnRlbF9wc3JfZmx1c2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkvKiBCeSBk ZWZpbml0aW9uIGZsdXNoID0gaW52YWxpZGF0ZSArIGZsdXNoICovCj4gIAlpZiAoZnJvbnRidWZm ZXJfYml0cykKPiAtCQlpbnRlbF9wc3JfZXhpdChkZXYpOwo+ICsJCWludGVsX3Bzcl9leGl0KGRl dl9wcml2KTsKPiAgCj4gIAlpZiAoIWRldl9wcml2LT5wc3IuYWN0aXZlICYmICFkZXZfcHJpdi0+ cHNyLmJ1c3lfZnJvbnRidWZmZXJfYml0cykKPiAgCQlpZiAoIXdvcmtfYnVzeSgmZGV2X3ByaXYt PnBzci53b3JrLndvcmspKQo+IC0tIAo+IDIuOC4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==