From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH v2 07/10] drm/i915: move regs pointer inside the uncore structure Date: Tue, 19 Mar 2019 17:03:42 -0700 Message-ID: <01be4facfa8dacaedf75fbf53dda210377f79994.camel@intel.com> References: <20190319183543.13679-1-daniele.ceraolospurio@intel.com> <20190319183543.13679-8-daniele.ceraolospurio@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1267489581 for ; Wed, 20 Mar 2019 00:03:44 +0000 (UTC) In-Reply-To: <20190319183543.13679-8-daniele.ceraolospurio@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniele Ceraolo Spurio , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gdGVyLCAyMDE5LTAzLTE5IMOgcyAxMTozNSAtMDcwMCwgRGFuaWVsZSBDZXJhb2xvIFNwdXJp byBlc2NyZXZldToKPiBUaGlzIHdpbGwgYWxsb3cgZnV0aGVyIHNpbXBsaWZpY2F0aW9ucyBpbiB0 aGUgdW5jb3JlIGhhbmRsaW5nLgo+IAo+IHYyOiBtb3ZlIHJlZ2lzdGVyIGFjY2VzcyBzZXR1cCB1 bmRlciB1bmNvcmUgKENocmlzKQoKUmV2aWV3ZWQtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56 YW5vbmlAaW50ZWwuY29tPgoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1 cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+IENjOiBQYXVsbyBaYW5vbmkg PHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMg ICAgIHwgNDkgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCAgICAgfCAgNiArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMgICAgIHwgMjIgKysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jICAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3VuY29yZS5oIHwgIDQgKystCj4gIDYgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0 aW9ucygrKSwgNjcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5k ZXggNTU2MTQ4OGVjZmNkLi5jYTQxYTNkYTE5MTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKPiBAQCAtOTMwLDQ2ICs5MzAsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9jbGVhbnVw X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWk5MTVfZW5naW5l c19jbGVhbnVwKGRldl9wcml2KTsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBpOTE1X21taW9fc2V0 dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC17Cj4gLQlzdHJ1Y3QgcGNp X2RldiAqcGRldiA9IGRldl9wcml2LT5kcm0ucGRldjsKPiAtCWludCBtbWlvX2JhcjsKPiAtCWlu dCBtbWlvX3NpemU7Cj4gLQo+IC0JbW1pb19iYXIgPSBJU19HRU4oZGV2X3ByaXYsIDIpID8gMSA6 IDA7Cj4gLQkvKgo+IC0JICogQmVmb3JlIGdlbjQsIHRoZSByZWdpc3RlcnMgYW5kIHRoZSBHVFQg YXJlIGJlaGluZCBkaWZmZXJlbnQgQkFScy4KPiAtCSAqIEhvd2V2ZXIsIGZyb20gZ2VuNCBvbndh cmRzLCB0aGUgcmVnaXN0ZXJzIGFuZCB0aGUgR1RUIGFyZSBzaGFyZWQKPiAtCSAqIGluIHRoZSBz YW1lIEJBUiwgc28gd2Ugd2FudCB0byByZXN0cmljdCB0aGlzIGlvcmVtYXAgZnJvbQo+IC0JICog Y2xvYmJlcmluZyB0aGUgR1RUIHdoaWNoIHdlIHdhbnQgaW9yZW1hcF93YyBpbnN0ZWFkLiBGb3J0 dW5hdGVseSwKPiAtCSAqIHRoZSByZWdpc3RlciBCQVIgcmVtYWlucyB0aGUgc2FtZSBzaXplIGZv ciBhbGwgdGhlIGVhcmxpZXIKPiAtCSAqIGdlbmVyYXRpb25zIHVwIHRvIElyb25sYWtlLgo+IC0J ICovCj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUpCj4gLQkJbW1pb19zaXplID0gNTEy ICogMTAyNDsKPiAtCWVsc2UKPiAtCQltbWlvX3NpemUgPSAyICogMTAyNCAqIDEwMjQ7Cj4gLQlk ZXZfcHJpdi0+cmVncyA9IHBjaV9pb21hcChwZGV2LCBtbWlvX2JhciwgbW1pb19zaXplKTsKPiAt CWlmIChkZXZfcHJpdi0+cmVncyA9PSBOVUxMKSB7Cj4gLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8g bWFwIHJlZ2lzdGVyc1xuIik7Cj4gLQo+IC0JCXJldHVybiAtRUlPOwo+IC0JfQo+IC0KPiAtCS8q IFRyeSB0byBtYWtlIHN1cmUgTUNIQkFSIGlzIGVuYWJsZWQgYmVmb3JlIHBva2luZyBhdCBpdCAq Lwo+IC0JaW50ZWxfc2V0dXBfbWNoYmFyKGRldl9wcml2KTsKPiAtCj4gLQlyZXR1cm4gMDsKPiAt fQo+IC0KPiAtc3RhdGljIHZvaWQgaTkxNV9tbWlvX2NsZWFudXAoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+IC17Cj4gLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldl9wcml2 LT5kcm0ucGRldjsKPiAtCj4gLQlpbnRlbF90ZWFyZG93bl9tY2hiYXIoZGV2X3ByaXYpOwo+IC0J cGNpX2lvdW5tYXAocGRldiwgZGV2X3ByaXYtPnJlZ3MpOwo+IC19Cj4gLQo+ICAvKioKPiAgICog aTkxNV9kcml2ZXJfaW5pdF9tbWlvIC0gc2V0dXAgZGV2aWNlIE1NSU8KPiAgICogQGRldl9wcml2 OiBkZXZpY2UgcHJpdmF0ZQo+IEBAIC05ODksMTEgKzk0OSwxMiBAQCBzdGF0aWMgaW50IGk5MTVf ZHJpdmVyX2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlp ZiAoaTkxNV9nZXRfYnJpZGdlX2RldihkZXZfcHJpdikpCj4gIAkJcmV0dXJuIC1FSU87Cj4gIAo+ IC0JcmV0ID0gaTkxNV9tbWlvX3NldHVwKGRldl9wcml2KTsKPiArCXJldCA9IGludGVsX3VuY29y ZV9pbml0KCZkZXZfcHJpdi0+dW5jb3JlKTsKPiAgCWlmIChyZXQgPCAwKQo+ICAJCWdvdG8gZXJy X2JyaWRnZTsKPiAgCj4gLQlpbnRlbF91bmNvcmVfaW5pdCgmZGV2X3ByaXYtPnVuY29yZSk7Cj4g KwkvKiBUcnkgdG8gbWFrZSBzdXJlIE1DSEJBUiBpcyBlbmFibGVkIGJlZm9yZSBwb2tpbmcgYXQg aXQgKi8KPiArCWludGVsX3NldHVwX21jaGJhcihkZXZfcHJpdik7Cj4gIAo+ICAJaW50ZWxfZGV2 aWNlX2luZm9faW5pdF9tbWlvKGRldl9wcml2KTsKPiAgCj4gQEAgLTEwMTAsOCArOTcxLDggQEAg c3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X21taW8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICAJcmV0dXJuIDA7Cj4gIAo+ICBlcnJfdW5jb3JlOgo+ICsJaW50ZWxfdGVh cmRvd25fbWNoYmFyKGRldl9wcml2KTsKPiAgCWludGVsX3VuY29yZV9maW5pKCZkZXZfcHJpdi0+ dW5jb3JlKTsKPiAtCWk5MTVfbW1pb19jbGVhbnVwKGRldl9wcml2KTsKPiAgZXJyX2JyaWRnZToK PiAgCXBjaV9kZXZfcHV0KGRldl9wcml2LT5icmlkZ2VfZGV2KTsKPiAgCj4gQEAgLTEwMjQsOCAr OTg1LDggQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X21taW8oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgKi8KPiAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfY2xl YW51cF9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+ICsJaW50 ZWxfdGVhcmRvd25fbWNoYmFyKGRldl9wcml2KTsKPiAgCWludGVsX3VuY29yZV9maW5pKCZkZXZf cHJpdi0+dW5jb3JlKTsKPiAtCWk5MTVfbW1pb19jbGVhbnVwKGRldl9wcml2KTsKPiAgCXBjaV9k ZXZfcHV0KGRldl9wcml2LT5icmlkZ2VfZGV2KTsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiBpbmRleCA2NGYwZTEzZDY5MTIuLjU4YTc3YjAxZmU3MSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IEBAIC0xNTA1LDggKzE1MDUsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSB7Cj4gIAkgKi8KPiAgCXJlc291cmNlX3NpemVfdCBzdG9sZW5fdXNhYmxlX3NpemU7CS8q IFRvdGFsIHNpemUgbWludXMgcmVzZXJ2ZWQgcmFuZ2VzICovCj4gIAo+IC0Jdm9pZCBfX2lvbWVt ICpyZWdzOwo+IC0KPiAgCXN0cnVjdCBpbnRlbF91bmNvcmUgdW5jb3JlOwo+ICAKPiAgCXN0cnVj dCBpOTE1X3ZpcnR1YWxfZ3B1IHZncHU7Cj4gQEAgLTM0ODgsMTQgKzM0ODYsMTQgQEAgc3RhdGlj IGlubGluZSB1NjQgaW50ZWxfcmM2X3Jlc2lkZW5jeV91cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIHN0YXRpYyBpbmxpbmUgdWludCMjeCMjX3QgX19yYXdfaTkxNV9yZWFk IyN4KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgXAo+ICAJCQkJCSAg ICAgaTkxNV9yZWdfdCByZWcpIFwKPiAgeyBcCj4gLQlyZXR1cm4gcmVhZCMjcyhkZXZfcHJpdi0+ cmVncyArIGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZykpOyBcCj4gKwlyZXR1cm4gcmVhZCMjcyhk ZXZfcHJpdi0+dW5jb3JlLnJlZ3MgKyBpOTE1X21taW9fcmVnX29mZnNldChyZWcpKTsgXAo+ICB9 Cj4gIAo+ICAjZGVmaW5lIF9fcmF3X3dyaXRlKHgsIHMpIFwKPiAgc3RhdGljIGlubGluZSB2b2lk IF9fcmF3X2k5MTVfd3JpdGUjI3goY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBcCj4gIAkJCQkgICAgICAgaTkxNV9yZWdfdCByZWcsIHVpbnQjI3gjI190IHZhbCkgXAo+ ICB7IFwKPiAtCXdyaXRlIyNzKHZhbCwgZGV2X3ByaXYtPnJlZ3MgKyBpOTE1X21taW9fcmVnX29m ZnNldChyZWcpKTsgXAo+ICsJd3JpdGUjI3ModmFsLCBkZXZfcHJpdi0+dW5jb3JlLnJlZ3MgKyBp OTE1X21taW9fcmVnX29mZnNldChyZWcpKTsgXAo+ICB9Cj4gIF9fcmF3X3JlYWQoOCwgYikKPiAg X19yYXdfcmVhZCgxNiwgdykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCA4MmQ0ODcx ODlhMzQuLjE2ODZjMGM5NzNmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBAIC0y NjgsNyArMjY4LDcgQEAgc3RhdGljIGJvb2wgZ2VuMTFfcmVzZXRfb25lX2lpcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqIGNvbnN0IGk5MTUsCj4gIAkJCQljb25zdCB1bnNpZ25lZCBpbnQgYmFu aywKPiAgCQkJCWNvbnN0IHVuc2lnbmVkIGludCBiaXQpCj4gIHsKPiAtCXZvaWQgX19pb21lbSAq IGNvbnN0IHJlZ3MgPSBpOTE1LT5yZWdzOwo+ICsJdm9pZCBfX2lvbWVtICogY29uc3QgcmVncyA9 IGk5MTUtPnVuY29yZS5yZWdzOwo+ICAJdTMyIGR3Owo+ICAKPiAgCWxvY2tkZXBfYXNzZXJ0X2hl bGQoJmk5MTUtPmlycV9sb2NrKTsKPiBAQCAtMTQ3MSw3ICsxNDcxLDcgQEAgZ2VuOF9jc19pcnFf aGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBpaXIpCj4gIHN0YXRp YyB2b2lkIGdlbjhfZ3RfaXJxX2FjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAg CQkJICAgIHUzMiBtYXN0ZXJfY3RsLCB1MzIgZ3RfaWlyWzRdKQo+ICB7Cj4gLQl2b2lkIF9faW9t ZW0gKiBjb25zdCByZWdzID0gaTkxNS0+cmVnczsKPiArCXZvaWQgX19pb21lbSAqIGNvbnN0IHJl Z3MgPSBpOTE1LT51bmNvcmUucmVnczsKPiAgCj4gICNkZWZpbmUgR0VOOF9HVF9JUlFTIChHRU44 X0dUX1JDU19JUlEgfCBcCj4gIAkJICAgICAgR0VOOF9HVF9CQ1NfSVJRIHwgXAo+IEBAIC0yODY4 LDcgKzI4NjgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2VuOF9tYXN0ZXJfaW50cl9lbmFibGUo dm9pZCBfX2lvbWVtICogY29uc3QgcmVncykKPiAgc3RhdGljIGlycXJldHVybl90IGdlbjhfaXJx X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGFyZyk7Cj4gLQl2b2lkIF9faW9tZW0gKiBjb25zdCBy ZWdzID0gZGV2X3ByaXYtPnJlZ3M7Cj4gKwl2b2lkIF9faW9tZW0gKiBjb25zdCByZWdzID0gZGV2 X3ByaXYtPnVuY29yZS5yZWdzOwo+ICAJdTMyIG1hc3Rlcl9jdGw7Cj4gIAl1MzIgZ3RfaWlyWzRd Owo+ICAKPiBAQCAtMjkwMiw3ICsyOTAyLDcgQEAgc3RhdGljIHUzMgo+ICBnZW4xMV9ndF9lbmdp bmVfaWRlbnRpdHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKiBjb25zdCBpOTE1LAo+ICAJCQkg Y29uc3QgdW5zaWduZWQgaW50IGJhbmssIGNvbnN0IHVuc2lnbmVkIGludCBiaXQpCj4gIHsKPiAt CXZvaWQgX19pb21lbSAqIGNvbnN0IHJlZ3MgPSBpOTE1LT5yZWdzOwo+ICsJdm9pZCBfX2lvbWVt ICogY29uc3QgcmVncyA9IGk5MTUtPnVuY29yZS5yZWdzOwo+ICAJdTMyIHRpbWVvdXRfdHM7Cj4g IAl1MzIgaWRlbnQ7Cj4gIAo+IEBAIC0yOTg2LDcgKzI5ODYsNyBAQCBzdGF0aWMgdm9pZAo+ICBn ZW4xMV9ndF9iYW5rX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKiBjb25zdCBpOTE1 LAo+ICAJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBiYW5rKQo+ICB7Cj4gLQl2b2lkIF9faW9t ZW0gKiBjb25zdCByZWdzID0gaTkxNS0+cmVnczsKPiArCXZvaWQgX19pb21lbSAqIGNvbnN0IHJl Z3MgPSBpOTE1LT51bmNvcmUucmVnczsKPiAgCXVuc2lnbmVkIGxvbmcgaW50cl9kdzsKPiAgCXVu c2lnbmVkIGludCBiaXQ7Cj4gIAo+IEBAIC0zMDI5LDcgKzMwMjksNyBAQCBnZW4xMV9ndF9pcnFf aGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqIGNvbnN0IGk5MTUsCj4gIHN0YXRpYyB1 MzIKPiAgZ2VuMTFfZ3VfbWlzY19pcnFfYWNrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgY29uc3QgdTMyIG1hc3Rlcl9jdGwpCj4gIHsKPiAtCXZvaWQgX19pb21lbSAqIGNvbnN0 IHJlZ3MgPSBkZXZfcHJpdi0+cmVnczsKPiArCXZvaWQgX19pb21lbSAqIGNvbnN0IHJlZ3MgPSBk ZXZfcHJpdi0+dW5jb3JlLnJlZ3M7Cj4gIAl1MzIgaWlyOwo+ICAKPiAgCWlmICghKG1hc3Rlcl9j dGwgJiBHRU4xMV9HVV9NSVNDX0lSUSkpCj4gQEAgLTMwNzAsNyArMzA3MCw3IEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBnZW4xMV9tYXN0ZXJfaW50cl9lbmFibGUodm9pZCBfX2lvbWVtICogY29uc3Qg cmVncykKPiAgc3RhdGljIGlycXJldHVybl90IGdlbjExX2lycV9oYW5kbGVyKGludCBpcnEsIHZv aWQgKmFyZykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKiBjb25zdCBpOTE1ID0g dG9faTkxNShhcmcpOwo+IC0Jdm9pZCBfX2lvbWVtICogY29uc3QgcmVncyA9IGk5MTUtPnJlZ3M7 Cj4gKwl2b2lkIF9faW9tZW0gKiBjb25zdCByZWdzID0gaTkxNS0+dW5jb3JlLnJlZ3M7Cj4gIAl1 MzIgbWFzdGVyX2N0bDsKPiAgCXUzMiBndV9taXNjX2lpcjsKPiAgCj4gQEAgLTMzNTEsNyArMzM1 MSw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfaXJxX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4g IAlpbnQgcGlwZTsKPiAgCj4gLQlnZW44X21hc3Rlcl9pbnRyX2Rpc2FibGUoZGV2X3ByaXYtPnJl Z3MpOwo+ICsJZ2VuOF9tYXN0ZXJfaW50cl9kaXNhYmxlKGRldl9wcml2LT51bmNvcmUucmVncyk7 Cj4gIAo+ICAJZ2VuOF9ndF9pcnFfcmVzZXQoZGV2X3ByaXYpOwo+ICAKPiBAQCAtMzM5Myw3ICsz MzkzLDcgQEAgc3RhdGljIHZvaWQgZ2VuMTFfaXJxX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+ICAJaW50IHBpcGU7Cj4gIAo+IC0JZ2VuMTFfbWFzdGVyX2ludHJfZGlzYWJsZShkZXZf cHJpdi0+cmVncyk7Cj4gKwlnZW4xMV9tYXN0ZXJfaW50cl9kaXNhYmxlKGRldl9wcml2LT51bmNv cmUucmVncyk7Cj4gIAo+ICAJZ2VuMTFfZ3RfaXJxX3Jlc2V0KGRldl9wcml2KTsKPiAgCj4gQEAg LTM5OTgsNyArMzk5OCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9pcnFfcG9zdGluc3RhbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKPiAgCQlp YnhfaXJxX3Bvc3RpbnN0YWxsKGRldik7Cj4gIAo+IC0JZ2VuOF9tYXN0ZXJfaW50cl9lbmFibGUo ZGV2X3ByaXYtPnJlZ3MpOwo+ICsJZ2VuOF9tYXN0ZXJfaW50cl9lbmFibGUoZGV2X3ByaXYtPnVu Y29yZS5yZWdzKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IEBAIC00MDYwLDcgKzQwNjAsNyBA QCBzdGF0aWMgaW50IGdlbjExX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAKPiAgCUk5MTVfV1JJVEUoR0VOMTFfRElTUExBWV9JTlRfQ1RMLCBHRU4xMV9ESVNQTEFZ X0lSUV9FTkFCTEUpOwo+ICAKPiAtCWdlbjExX21hc3Rlcl9pbnRyX2VuYWJsZShkZXZfcHJpdi0+ cmVncyk7Cj4gKwlnZW4xMV9tYXN0ZXJfaW50cl9lbmFibGUoZGV2X3ByaXYtPnVuY29yZS5yZWdz KTsKPiAgCVBPU1RJTkdfUkVBRChHRU4xMV9HRlhfTVNUUl9JUlEpOwo+ICAKPiAgCXJldHVybiAw Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggZTU0ZTAwNjRiMmQ2Li43MjFhZTRi MTY2ZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0yNDEzLDEyICsyNDEz LDEyIEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQo+ICAJaW50ZWxfZW5naW5lX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKPiAg Cj4gIAlpZiAoSEFTX0xPR0lDQUxfUklOR19FTFNRKGk5MTUpKSB7Cj4gLQkJZXhlY2xpc3RzLT5z dWJtaXRfcmVnID0gaTkxNS0+cmVncyArCj4gKwkJZXhlY2xpc3RzLT5zdWJtaXRfcmVnID0gaTkx NS0+dW5jb3JlLnJlZ3MgKwo+ICAJCQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VYRUNMSVNU X1NRX0NPTlRFTlRTKGVuZ2luZSkpOwo+IC0JCWV4ZWNsaXN0cy0+Y3RybF9yZWcgPSBpOTE1LT5y ZWdzICsKPiArCQlleGVjbGlzdHMtPmN0cmxfcmVnID0gaTkxNS0+dW5jb3JlLnJlZ3MgKwo+ICAJ CQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5lKSk7Cj4g IAl9IGVsc2Ugewo+IC0JCWV4ZWNsaXN0cy0+c3VibWl0X3JlZyA9IGk5MTUtPnJlZ3MgKwo+ICsJ CWV4ZWNsaXN0cy0+c3VibWl0X3JlZyA9IGk5MTUtPnVuY29yZS5yZWdzICsKPiAgCQkJaTkxNV9t bWlvX3JlZ19vZmZzZXQoUklOR19FTFNQKGVuZ2luZSkpOwo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYwo+IGluZGV4IGJiOWExMGNjNjkwNC4uZTYwODU2MDY5OTcxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPiBAQCAtMTMzMCw3ICsxMzMwLDYg QEAgc3RhdGljIHZvaWQgZndfZG9tYWluX2luaXQoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3Jl LAo+ICAJCQkgICBpOTE1X3JlZ190IHJlZ19hY2spCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF91bmNv cmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gdW5jb3JlX3RvX2k5MTUodW5jb3JlKTsKPiAgCj4gIAlpZiAoV0FSTl9PTihkb21haW5faWQg Pj0gRldfRE9NQUlOX0lEX0NPVU5UKSkKPiAgCQlyZXR1cm47Cj4gQEAgLTEzNDMsOCArMTM0Miw4 IEBAIHN0YXRpYyB2b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29y ZSwKPiAgCVdBUk5fT04oIWk5MTVfbW1pb19yZWdfdmFsaWQocmVnX2FjaykpOwo+ICAKPiAgCWQt Pndha2VfY291bnQgPSAwOwo+IC0JZC0+cmVnX3NldCA9IGk5MTUtPnJlZ3MgKyBpOTE1X21taW9f cmVnX29mZnNldChyZWdfc2V0KTsKPiAtCWQtPnJlZ19hY2sgPSBpOTE1LT5yZWdzICsgaTkxNV9t bWlvX3JlZ19vZmZzZXQocmVnX2Fjayk7Cj4gKwlkLT5yZWdfc2V0ID0gdW5jb3JlLT5yZWdzICsg aTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnX3NldCk7Cj4gKwlkLT5yZWdfYWNrID0gdW5jb3JlLT5y ZWdzICsgaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVnX2Fjayk7Cj4gIAo+ICAJZC0+aWQgPSBkb21h aW5faWQ7Cj4gIAo+IEBAIC0xNTM5LDkgKzE1MzgsNTMgQEAgc3RhdGljIGludCBpOTE1X3BtaWNf YnVzX2FjY2Vzc19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+ICAJcmV0dXJu IE5PVElGWV9PSzsKPiAgfQo+ICAKPiAtdm9pZCBpbnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgaW50 ZWxfdW5jb3JlICp1bmNvcmUpCj4gK3N0YXRpYyBpbnQgdW5jb3JlX21taW9fc2V0dXAoc3RydWN0 IGludGVsX3VuY29yZSAqdW5jb3JlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHVuY29yZV90b19pOTE1KHVuY29yZSk7Cj4gKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9 IGk5MTUtPmRybS5wZGV2Owo+ICsJaW50IG1taW9fYmFyOwo+ICsJaW50IG1taW9fc2l6ZTsKPiAr Cj4gKwltbWlvX2JhciA9IElTX0dFTihpOTE1LCAyKSA/IDEgOiAwOwo+ICsJLyoKPiArCSAqIEJl Zm9yZSBnZW40LCB0aGUgcmVnaXN0ZXJzIGFuZCB0aGUgR1RUIGFyZSBiZWhpbmQgZGlmZmVyZW50 IEJBUnMuCj4gKwkgKiBIb3dldmVyLCBmcm9tIGdlbjQgb253YXJkcywgdGhlIHJlZ2lzdGVycyBh bmQgdGhlIEdUVCBhcmUgc2hhcmVkCj4gKwkgKiBpbiB0aGUgc2FtZSBCQVIsIHNvIHdlIHdhbnQg dG8gcmVzdHJpY3QgdGhpcyBpb3JlbWFwIGZyb20KPiArCSAqIGNsb2JiZXJpbmcgdGhlIEdUVCB3 aGljaCB3ZSB3YW50IGlvcmVtYXBfd2MgaW5zdGVhZC4gRm9ydHVuYXRlbHksCj4gKwkgKiB0aGUg cmVnaXN0ZXIgQkFSIHJlbWFpbnMgdGhlIHNhbWUgc2l6ZSBmb3IgYWxsIHRoZSBlYXJsaWVyCj4g KwkgKiBnZW5lcmF0aW9ucyB1cCB0byBJcm9ubGFrZS4KPiArCSAqLwo+ICsJaWYgKElOVEVMX0dF TihpOTE1KSA8IDUpCj4gKwkJbW1pb19zaXplID0gNTEyICogMTAyNDsKPiArCWVsc2UKPiArCQlt bWlvX3NpemUgPSAyICogMTAyNCAqIDEwMjQ7Cj4gKwl1bmNvcmUtPnJlZ3MgPSBwY2lfaW9tYXAo cGRldiwgbW1pb19iYXIsIG1taW9fc2l6ZSk7Cj4gKwlpZiAodW5jb3JlLT5yZWdzID09IE5VTEwp IHsKPiArCQlEUk1fRVJST1IoImZhaWxlZCB0byBtYXAgcmVnaXN0ZXJzXG4iKTsKPiArCj4gKwkJ cmV0dXJuIC1FSU87Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIHVuY29yZV9tbWlvX2NsZWFudXAoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlKQo+ICt7 Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHVuY29yZV90b19pOTE1KHVuY29y ZSk7Cj4gKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2Owo+ICsKPiArCXBj aV9pb3VubWFwKHBkZXYsIHVuY29yZS0+cmVncyk7Cj4gK30KPiArCj4gKwo+ICtpbnQgaW50ZWxf dW5jb3JlX2luaXQoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlKQo+ICt7Cj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHVuY29yZV90b19pOTE1KHVuY29yZSk7Cj4gKwlpbnQg cmV0Owo+ICsKPiArCXJldCA9IHVuY29yZV9tbWlvX3NldHVwKHVuY29yZSk7Cj4gKwlpZiAocmV0 KQo+ICsJCXJldHVybiByZXQ7Cj4gIAo+ICAJaTkxNV9jaGVja192Z3B1KGk5MTUpOwo+ICAKPiBA QCAtMTU4OSw2ICsxNjMyLDggQEAgdm9pZCBpbnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgaW50ZWxf dW5jb3JlICp1bmNvcmUpCj4gIAl9Cj4gIAo+ICAJaW9zZl9tYmlfcmVnaXN0ZXJfcG1pY19idXNf YWNjZXNzX25vdGlmaWVyKCZ1bmNvcmUtPnBtaWNfYnVzX2FjY2Vzc19uYik7Cj4gKwo+ICsJcmV0 dXJuIDA7Cj4gIH0KPiAgCj4gIC8qCj4gQEAgLTE2MzcsNiArMTY4Miw3IEBAIHZvaWQgaW50ZWxf dW5jb3JlX2Zpbmkoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlKQo+ICAJCSZ1bmNvcmUtPnBt aWNfYnVzX2FjY2Vzc19uYik7Cj4gIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KHVuY29y ZSk7Cj4gIAlpb3NmX21iaV9wdW5pdF9yZWxlYXNlKCk7Cj4gKwl1bmNvcmVfbW1pb19jbGVhbnVw KHVuY29yZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX3doaXRlbGlzdCB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKPiBpbmRleCBiMWI1OTZjODE0NTEuLmQz NDVlNWFiMDRhNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5oCj4gQEAgLTkz LDYgKzkzLDggQEAgc3RydWN0IGludGVsX2ZvcmNld2FrZV9yYW5nZSB7Cj4gIH07Cj4gIAo+ICBz dHJ1Y3QgaW50ZWxfdW5jb3JlIHsKPiArCXZvaWQgX19pb21lbSAqcmVnczsKPiArCj4gIAlzcGlu bG9ja190IGxvY2s7IC8qKiBsb2NrIGlzIGFsc28gdGFrZW4gaW4gaXJxIGNvbnRleHRzLiAqLwo+ ICAKPiAgCWNvbnN0IHN0cnVjdCBpbnRlbF9mb3JjZXdha2VfcmFuZ2UgKmZ3X2RvbWFpbnNfdGFi bGU7Cj4gQEAgLTE0Miw3ICsxNDQsNyBAQCBmb3JjZXdha2VfZG9tYWluX3RvX3VuY29yZShjb25z dCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCj4gIH0KPiAgCj4gIHZv aWQgaW50ZWxfdW5jb3JlX3Nhbml0aXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7Cj4gLXZvaWQgaW50ZWxfdW5jb3JlX2luaXQoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3Jl KTsKPiAraW50IGludGVsX3VuY29yZV9pbml0KHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSk7 Cj4gIHZvaWQgaW50ZWxfdW5jb3JlX3BydW5lKHN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSk7 Cj4gIGJvb2wgaW50ZWxfdW5jb3JlX3VuY2xhaW1lZF9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gIGJvb2wgaW50ZWxfdW5jb3JlX2FybV91bmNsYWltZWRfbW1pb19k ZXRlY3Rpb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==