From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v2 1/4] drm/i915: make new intel_tc.c use uncore accessors Date: Tue, 9 Jul 2019 13:31:59 +0300 Message-ID: <20190709103159.GA15433@ideak-desk.fi.intel.com> References: <20190708172815.6814-1-lucas.demarchi@intel.com> <20190708172815.6814-2-lucas.demarchi@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 633B689D44 for ; Tue, 9 Jul 2019 10:32:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190708172815.6814-2-lucas.demarchi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMDgsIDIwMTkgYXQgMTA6Mjg6MTJBTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IExldCdzIG1ha2UgdGhlIGp1c3QgY3JlYXRlZCBpbnRlbF90Yy5jIGFscmVhZHkg Zm9sbG93IHRoZSB0cmVuZCBvZiB1c2luZwo+IGk5MTUgaW5zdGVhZCBvZiBkZXZfcHJpdiBhbmQg Y2FsbGluZyB0aGUgaW50ZWxfdW5jb3JlXyooKSBmdW5jdGlvbnMuCj4gCj4gU2lnbmVkLW9mZi1i eTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+CgpObyBjaGFuZ2Vz IHNpbmNlIHYxLCBzbyBzdGlsbCByLWIuCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3RjLmMgfCA1NyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gIDEgZmls ZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCj4gaW5kZXggNTMxMDNhOWFhOGE3Li4xYTlk ZDMyZmIwYTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF90Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCj4g QEAgLTI0LDExICsyNCwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciAqdGNfcG9ydF9tb2RlX25hbWUo ZW51bSB0Y19wb3J0X21vZGUgbW9kZSkKPiAgCj4gIHUzMiBpbnRlbF90Y19wb3J0X2dldF9sYW5l X21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIHsKPiAtCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXYpOwo+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9w cml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gKwllbnVtIHRjX3BvcnQg dGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4g KwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwo+ICAJdTMyIGxh bmVfbWFzazsKPiAgCj4gLQlsYW5lX21hc2sgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQU1Ap Owo+ICsJbGFuZV9tYXNrID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JUX1RYX0RGTEVY RFBTUCk7Cj4gIAo+ICAJV0FSTl9PTihsYW5lX21hc2sgPT0gMHhmZmZmZmZmZik7Cj4gIAo+IEBA IC0zOCw3ICszOSw3IEBAIHUzMiBpbnRlbF90Y19wb3J0X2dldF9sYW5lX21hc2soc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIAo+ICBpbnQgaW50ZWxfdGNfcG9ydF9maWFf bWF4X2xhbmVfY291bnQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIHsK PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQt PmJhc2UuYmFzZS5kZXYpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19p OTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPiAgCWludGVsX3dha2VyZWZfdCB3YWtlcmVm Owo+ICAJdTMyIGxhbmVfbWFzazsKPiAgCj4gQEAgLTQ2LDcgKzQ3LDcgQEAgaW50IGludGVsX3Rj X3BvcnRfZmlhX21heF9sYW5lX2NvdW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0KQo+ICAJCXJldHVybiA0Owo+ICAKPiAgCWxhbmVfbWFzayA9IDA7Cj4gLQl3aXRoX2ludGVs X2Rpc3BsYXlfcG93ZXIoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9ESVNQTEFZX0NPUkUsIHdha2Vy ZWYpCj4gKwl3aXRoX2ludGVsX2Rpc3BsYXlfcG93ZXIoaTkxNSwgUE9XRVJfRE9NQUlOX0RJU1BM QVlfQ09SRSwgd2FrZXJlZikKPiAgCQlsYW5lX21hc2sgPSBpbnRlbF90Y19wb3J0X2dldF9sYW5l X21hc2soZGlnX3BvcnQpOwo+ICAKPiAgCXN3aXRjaCAobGFuZV9tYXNrKSB7Cj4gQEAgLTg5LDEy ICs5MCwxMyBAQCBzdGF0aWMgdm9pZCB0Y19wb3J0X2ZpeHVwX2xlZ2FjeV9mbGFnKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAo+ICAKPiAgc3RhdGljIHUzMiB0Y19wb3J0X2xp dmVfc3RhdHVzX21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIHsK PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQt PmJhc2UuYmFzZS5kZXYpOwo+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3Rv X3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gKwllbnVt IHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2Uu cG9ydCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwo+ ICAJdTMyIG1hc2sgPSAwOwo+ICAJdTMyIHZhbDsKPiAgCj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9S VF9UWF9ERkxFWERQU1ApOwo+ICsJdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JU X1RYX0RGTEVYRFBTUCk7Cj4gIAo+ICAJaWYgKHZhbCA9PSAweGZmZmZmZmZmKSB7Cj4gIAkJRFJN X0RFQlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRDQ09MRCwgbm90aGluZyBjb25uZWN0ZWRcbiIs Cj4gQEAgLTEwNyw3ICsxMDksNyBAQCBzdGF0aWMgdTMyIHRjX3BvcnRfbGl2ZV9zdGF0dXNfbWFz ayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPiAgCWlmICh2YWwgJiBUQ19M SVZFX1NUQVRFX1RDKHRjX3BvcnQpKQo+ICAJCW1hc2sgfD0gQklUKFRDX1BPUlRfRFBfQUxUKTsK PiAgCj4gLQlpZiAoSTkxNV9SRUFEKFNERUlTUikgJiBTREVfVENfSE9UUExVR19JQ1AodGNfcG9y dCkpCj4gKwlpZiAoaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBTREVJU1IpICYgU0RFX1RDX0hP VFBMVUdfSUNQKHRjX3BvcnQpKQo+ICAJCW1hc2sgfD0gQklUKFRDX1BPUlRfTEVHQUNZKTsKPiAg Cj4gIAkvKiBUaGUgc2luayBjYW4gYmUgY29ubmVjdGVkIG9ubHkgaW4gYSBzaW5nbGUgbW9kZS4g Ki8KPiBAQCAtMTE5LDExICsxMjEsMTIgQEAgc3RhdGljIHUzMiB0Y19wb3J0X2xpdmVfc3RhdHVz X21hc2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIAo+ICBzdGF0aWMg Ym9vbCBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gLQllbnVtIHRjX3BvcnQgdGNfcG9y dCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+ICsJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKPiArCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhpOTE1 LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9 ICZpOTE1LT51bmNvcmU7Cj4gIAl1MzIgdmFsOwo+ICAKPiAtCXZhbCA9IEk5MTVfUkVBRChQT1JU X1RYX0RGTEVYRFBQTVMpOwo+ICsJdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JU X1RYX0RGTEVYRFBQTVMpOwo+ICAJaWYgKHZhbCA9PSAweGZmZmZmZmZmKSB7Cj4gIAkJRFJNX0RF QlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRDQ09MRCwgYXNzdW1pbmcgbm90IGNvbXBsZXRlXG4i LAo+ICAJCQkgICAgICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lKTsKPiBAQCAtMTM2LDExICsxMzks MTIgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIHN0YXRpYyBib29sIGljbF90Y19waHlfc2V0X3Nh ZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKPiAgCQkJCSAgICAg Ym9vbCBlbmFibGUpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+IC0JZW51bSB0Y19wb3J0IHRjX3Bv cnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiAr CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5i YXNlLmRldik7Cj4gKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkx NSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUg PSAmaTkxNS0+dW5jb3JlOwo+ICAJdTMyIHZhbDsKPiAgCj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9S VF9UWF9ERkxFWERQQ1NTUyk7Cj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBP UlRfVFhfREZMRVhEUENTU1MpOwo+ICAJaWYgKHZhbCA9PSAweGZmZmZmZmZmKSB7Cj4gIAkJRFJN X0RFQlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRDQ09MRCwgY2FuJ3Qgc2V0IHNhZmUtbW9kZSB0 byAlc1xuIiwKPiAgCQkJICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSwKPiBAQCAtMTUzLDcg KzE1Nyw3IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKPiAgCWlmICghZW5hYmxlKQo+ICAJCXZhbCB8PSBE UF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCk7Cj4gIAo+IC0JSTkxNV9XUklURShQ T1JUX1RYX0RGTEVYRFBDU1NTLCB2YWwpOwo+ICsJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwg UE9SVF9UWF9ERkxFWERQQ1NTUywgdmFsKTsKPiAgCj4gIAlpZiAoZW5hYmxlICYmIHdhaXRfZm9y KCFpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCksIDEwKSkKPiAgCQlEUk1fREVC VUdfS01TKCJQb3J0ICVzOiBQSFkgY29tcGxldGUgY2xlYXIgdGltZWQgb3V0XG4iLAo+IEBAIC0x NjQsMTEgKzE2OCwxMiBAQCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4gIAo+ICBzdGF0aWMgYm9vbCBpY2xf dGNfcGh5X2lzX2luX3NhZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk aWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gLQllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVs X3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsK PiArCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhpOTE1LCBkaWdfcG9y dC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51 bmNvcmU7Cj4gIAl1MzIgdmFsOwo+ICAKPiAtCXZhbCA9IEk5MTVfUkVBRChQT1JUX1RYX0RGTEVY RFBDU1NTKTsKPiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxF WERQQ1NTUyk7Cj4gIAlpZiAodmFsID09IDB4ZmZmZmZmZmYpIHsKPiAgCQlEUk1fREVCVUdfS01T KCJQb3J0ICVzOiBQSFkgaW4gVENDT0xELCBhc3N1bWUgc2FmZSBtb2RlXG4iLAo+ICAJCQkgICAg ICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lKTsKPiBAQCAtMzE3LDExICszMjIsMTEgQEAgaW50ZWxf dGNfcG9ydF9nZXRfdGFyZ2V0X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQpCj4gIHN0YXRpYyB2b2lkIGludGVsX3RjX3BvcnRfcmVzZXRfbW9kZShzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKPiAgCQkJCSAgICAgaW50IHJlcXVpcmVkX2xhbmVzKQo+ ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19w b3J0LT5iYXNlLmJhc2UuZGV2KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0g dG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gIAllbnVtIHRjX3BvcnRfbW9kZSBv bGRfdGNfbW9kZSA9IGRpZ19wb3J0LT50Y19tb2RlOwo+ICAKPiAtCWludGVsX2Rpc3BsYXlfcG93 ZXJfZmx1c2hfd29yayhkZXZfcHJpdik7Cj4gLQlXQVJOX09OKGludGVsX2Rpc3BsYXlfcG93ZXJf aXNfZW5hYmxlZChkZXZfcHJpdiwKPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfZmx1c2hfd29yayhp OTE1KTsKPiArCVdBUk5fT04oaW50ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVkKGk5MTUsCj4g IAkJCQkJICAgICAgIGludGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpKSk7Cj4gIAo+ICAJ aWNsX3RjX3BoeV9kaXNjb25uZWN0KGRpZ19wb3J0KTsKPiBAQCAtNDA0LDEwICs0MDksMTAgQEAg Ym9vbCBpbnRlbF90Y19wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpk aWdfcG9ydCkKPiAgc3RhdGljIHZvaWQgX19pbnRlbF90Y19wb3J0X2xvY2soc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4gIAkJCQkgaW50IHJlcXVpcmVkX2xhbmVzKQo+ICB7 Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9f aTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJl ZjsKPiAgCj4gLQl3YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBP V0VSX0RPTUFJTl9ESVNQTEFZX0NPUkUpOwo+ICsJd2FrZXJlZiA9IGludGVsX2Rpc3BsYXlfcG93 ZXJfZ2V0KGk5MTUsIFBPV0VSX0RPTUFJTl9ESVNQTEFZX0NPUkUpOwo+ICAKPiAgCW11dGV4X2xv Y2soJmRpZ19wb3J0LT50Y19sb2NrKTsKPiAgCj4gQEAgLTQyNiwxMiArNDMxLDEyIEBAIHZvaWQg aW50ZWxfdGNfcG9ydF9sb2NrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ ICAKPiAgdm9pZCBpbnRlbF90Y19wb3J0X3VubG9jayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICAJaW50ZWxf d2FrZXJlZl90IHdha2VyZWYgPSBmZXRjaF9hbmRfemVybygmZGlnX3BvcnQtPnRjX2xvY2tfd2Fr ZXJlZik7Cj4gIAo+ICAJbXV0ZXhfdW5sb2NrKCZkaWdfcG9ydC0+dGNfbG9jayk7Cj4gIAo+IC0J aW50ZWxfZGlzcGxheV9wb3dlcl9wdXRfYXN5bmMoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9ESVNQ TEFZX0NPUkUsCj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF9hc3luYyhpOTE1LCBQT1dFUl9E T01BSU5fRElTUExBWV9DT1JFLAo+ICAJCQkJICAgICAgd2FrZXJlZik7Cj4gIH0KPiAgCj4gLS0g Cj4gMi4yMS4wCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA==