From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/4] drm/i915: make new intel_tc.c use uncore accessors Date: Mon, 05 Aug 2019 12:48:16 +0300 Message-ID: <87wofsj63j.fsf@intel.com> References: <20190704000000.20019-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id C4BC66E3D3 for ; Mon, 5 Aug 2019 09:44:01 +0000 (UTC) In-Reply-To: <20190704000000.20019-1-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: intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi , /home/ldmartin/tmp/tgl-patches/0000-cover-letter.patch@freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwMyBKdWwgMjAxOSwgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+IHdyb3RlOgo+IExldCdzIG1ha2UgdGhlIGp1c3QgY3JlYXRlZCBpbnRlbF90Yy5jIGFs cmVhZHkgZm9sbG93IHRoZSB0cmVuZCBvZiB1c2luZwo+IGk5MTUgaW5zdGVhZCBvZiBkZXZfcHJp diBhbmQgY2FsbGluZyB0aGUgaW50ZWxfdW5jb3JlXyooKSBmdW5jdGlvbnMuCgpJJ20gbm90IHN1 cmUgd2UgYWxsIGFncmVlZCBvbiB1c2luZyBpbnRlbF91bmNvcmVfe3JlYWQsd3JpdGV9KCkgaW4K ZGlzcGxheS8gY29kZSB5ZXQgdGhvdWdoLiBUaGVyZSdzIGNvbnNpZGVyYWJseSBtb3JlIHJlZ2lz dGVyIHJlYWRzIGFuZAp3cml0ZXMgYWNyb3NzIHRoZSBib2FyZCB0aGFuIGFueXdoZXJlIGVsc2Uu CgpCUiwKSmFuaS4KCgo+Cj4gU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5k ZW1hcmNoaUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfdGMuYyB8IDU3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDMxIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfdGMuYwo+IGluZGV4IDUzMTAzYTlhYThhNy4uMWE5ZGQzMmZiMGE1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYwo+IEBAIC0yNCwx MSArMjQsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnRjX3BvcnRfbW9kZV9uYW1lKGVudW0gdGNf cG9ydF9tb2RlIG1vZGUpCj4gIAo+ICB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsK PiAtCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhkZXZfcHJpdiwgZGln X3BvcnQtPmJhc2UucG9ydCk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRv X2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICsJZW51bSB0Y19wb3J0IHRjX3BvcnQg PSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+ICsJc3RydWN0 IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKPiAgCXUzMiBsYW5lX21hc2s7 Cj4gIAo+IC0JbGFuZV9tYXNrID0gSTkxNV9SRUFEKFBPUlRfVFhfREZMRVhEUFNQKTsKPiArCWxh bmVfbWFzayA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQU1ApOwo+ ICAKPiAgCVdBUk5fT04obGFuZV9tYXNrID09IDB4ZmZmZmZmZmYpOwo+ICAKPiBAQCAtMzgsNyAr MzksNyBAQCB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0KQo+ICAKPiAgaW50IGludGVsX3RjX3BvcnRfZmlhX21heF9sYW5l X2NvdW50KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkaWdf cG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKPiAgCXUz MiBsYW5lX21hc2s7Cj4gIAo+IEBAIC00Niw3ICs0Nyw3IEBAIGludCBpbnRlbF90Y19wb3J0X2Zp YV9tYXhfbGFuZV9jb3VudChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPiAg CQlyZXR1cm4gNDsKPiAgCj4gIAlsYW5lX21hc2sgPSAwOwo+IC0Jd2l0aF9pbnRlbF9kaXNwbGF5 X3Bvd2VyKGRldl9wcml2LCBQT1dFUl9ET01BSU5fRElTUExBWV9DT1JFLCB3YWtlcmVmKQo+ICsJ d2l0aF9pbnRlbF9kaXNwbGF5X3Bvd2VyKGk5MTUsIFBPV0VSX0RPTUFJTl9ESVNQTEFZX0NPUkUs IHdha2VyZWYpCj4gIAkJbGFuZV9tYXNrID0gaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKGRp Z19wb3J0KTsKPiAgCj4gIAlzd2l0Y2ggKGxhbmVfbWFzaykgewo+IEBAIC04OSwxMiArOTAsMTMg QEAgc3RhdGljIHZvaWQgdGNfcG9ydF9maXh1cF9sZWdhY3lfZmxhZyhzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICpkaWdfcG9ydCwKPiAgCj4gIHN0YXRpYyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1 c19tYXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKPiAtCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhkZXZf cHJpdiwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICsJZW51bSB0Y19wb3J0 IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+ ICsJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmk5MTUtPnVuY29yZTsKPiAgCXUzMiBt YXNrID0gMDsKPiAgCXUzMiB2YWw7Cj4gIAo+IC0JdmFsID0gSTkxNV9SRUFEKFBPUlRfVFhfREZM RVhEUFNQKTsKPiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxF WERQU1ApOwo+ICAKPiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+ICAJCURSTV9ERUJVR19L TVMoIlBvcnQgJXM6IFBIWSBpbiBUQ0NPTEQsIG5vdGhpbmcgY29ubmVjdGVkXG4iLAo+IEBAIC0x MDcsNyArMTA5LDcgQEAgc3RhdGljIHUzMiB0Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIAlpZiAodmFsICYgVENfTElWRV9TVEFU RV9UQyh0Y19wb3J0KSkKPiAgCQltYXNrIHw9IEJJVChUQ19QT1JUX0RQX0FMVCk7Cj4gIAo+IC0J aWYgKEk5MTVfUkVBRChTREVJU1IpICYgU0RFX1RDX0hPVFBMVUdfSUNQKHRjX3BvcnQpKQo+ICsJ aWYgKGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgU0RFSVNSKSAmIFNERV9UQ19IT1RQTFVHX0lD UCh0Y19wb3J0KSkKPiAgCQltYXNrIHw9IEJJVChUQ19QT1JUX0xFR0FDWSk7Cj4gIAo+ICAJLyog VGhlIHNpbmsgY2FuIGJlIGNvbm5lY3RlZCBvbmx5IGluIGEgc2luZ2xlIG1vZGUuICovCj4gQEAg LTExOSwxMSArMTIxLDEyIEBAIHN0YXRpYyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICAKPiAgc3RhdGljIGJvb2wgaWNs X3RjX3BoeV9zdGF0dXNfY29tcGxldGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRl bF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7 Cj4gKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3Bv cnQtPmJhc2UucG9ydCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+ dW5jb3JlOwo+ICAJdTMyIHZhbDsKPiAgCj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxF WERQUE1TKTsKPiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxF WERQUE1TKTsKPiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+ICAJCURSTV9ERUJVR19LTVMo IlBvcnQgJXM6IFBIWSBpbiBUQ0NPTEQsIGFzc3VtaW5nIG5vdCBjb21wbGV0ZVxuIiwKPiAgCQkJ ICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7Cj4gQEAgLTEzNiwxMSArMTM5LDEyIEBAIHN0 YXRpYyBib29sIGljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmRpZ19wb3J0KQo+ICBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4gIAkJCQkgICAgIGJvb2wgZW5h YmxlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPiAtCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaW50 ZWxfcG9ydF90b190YyhkZXZfcHJpdiwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYp Owo+ICsJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19w b3J0LT5iYXNlLnBvcnQpOwo+ICsJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmk5MTUt PnVuY29yZTsKPiAgCXUzMiB2YWw7Cj4gIAo+IC0JdmFsID0gSTkxNV9SRUFEKFBPUlRfVFhfREZM RVhEUENTU1MpOwo+ICsJdmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JUX1RYX0RG TEVYRFBDU1NTKTsKPiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+ICAJCURSTV9ERUJVR19L TVMoIlBvcnQgJXM6IFBIWSBpbiBUQ0NPTEQsIGNhbid0IHNldCBzYWZlLW1vZGUgdG8gJXNcbiIs Cj4gIAkJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUsCj4gQEAgLTE1Myw3ICsxNTcsNyBA QCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQsCj4gIAlpZiAoIWVuYWJsZSkKPiAgCQl2YWwgfD0gRFBfUEhZX01P REVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOwo+ICAKPiAtCUk5MTVfV1JJVEUoUE9SVF9UWF9E RkxFWERQQ1NTUywgdmFsKTsKPiArCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsIFBPUlRfVFhf REZMRVhEUENTU1MsIHZhbCk7Cj4gIAo+ICAJaWYgKGVuYWJsZSAmJiB3YWl0X2ZvcighaWNsX3Rj X3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpLCAxMCkpCj4gIAkJRFJNX0RFQlVHX0tNUygi UG9ydCAlczogUEhZIGNvbXBsZXRlIGNsZWFyIHRpbWVkIG91dFxuIiwKPiBAQCAtMTY0LDExICsx NjgsMTIgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9zZXRfc2FmZV9tb2RlKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAo+ICAKPiAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9p c19pbl9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gIHsK PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQt PmJhc2UuYmFzZS5kZXYpOwo+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3Rv X3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gKwllbnVt IHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2Uu cG9ydCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwo+ ICAJdTMyIHZhbDsKPiAgCj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQQ1NTUyk7 Cj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRfVFhfREZMRVhEUENTU1Mp Owo+ICAJaWYgKHZhbCA9PSAweGZmZmZmZmZmKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiUG9ydCAl czogUEhZIGluIFRDQ09MRCwgYXNzdW1lIHNhZmUgbW9kZVxuIiwKPiAgCQkJICAgICAgZGlnX3Bv cnQtPnRjX3BvcnRfbmFtZSk7Cj4gQEAgLTMxNywxMSArMzIyLDExIEBAIGludGVsX3RjX3BvcnRf Z2V0X3RhcmdldF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICBz dGF0aWMgdm9pZCBpbnRlbF90Y19wb3J0X3Jlc2V0X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQsCj4gIAkJCQkgICAgIGludCByZXF1aXJlZF9sYW5lcykKPiAgewo+IC0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkaWdfcG9ydC0+YmFz ZS5iYXNlLmRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICAJZW51bSB0Y19wb3J0X21vZGUgb2xkX3RjX21v ZGUgPSBkaWdfcG9ydC0+dGNfbW9kZTsKPiAgCj4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2ZsdXNo X3dvcmsoZGV2X3ByaXYpOwo+IC0JV0FSTl9PTihpbnRlbF9kaXNwbGF5X3Bvd2VyX2lzX2VuYWJs ZWQoZGV2X3ByaXYsCj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2ZsdXNoX3dvcmsoaTkxNSk7Cj4g KwlXQVJOX09OKGludGVsX2Rpc3BsYXlfcG93ZXJfaXNfZW5hYmxlZChpOTE1LAo+ICAJCQkJCSAg ICAgICBpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGRpZ19wb3J0KSkpOwo+ICAKPiAgCWljbF90Y19w aHlfZGlzY29ubmVjdChkaWdfcG9ydCk7Cj4gQEAgLTQwNCwxMCArNDA5LDEwIEBAIGJvb2wgaW50 ZWxfdGNfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQp Cj4gIHN0YXRpYyB2b2lkIF9faW50ZWxfdGNfcG9ydF9sb2NrKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmRpZ19wb3J0LAo+ICAJCQkJIGludCByZXF1aXJlZF9sYW5lcykKPiAgewo+IC0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5i YXNlLmRldik7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGln X3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICAJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7Cj4gIAo+ IC0Jd2FrZXJlZiA9IGludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9ET01B SU5fRElTUExBWV9DT1JFKTsKPiArCXdha2VyZWYgPSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChp OTE1LCBQT1dFUl9ET01BSU5fRElTUExBWV9DT1JFKTsKPiAgCj4gIAltdXRleF9sb2NrKCZkaWdf cG9ydC0+dGNfbG9jayk7Cj4gIAo+IEBAIC00MjYsMTIgKzQzMSwxMiBAQCB2b2lkIGludGVsX3Rj X3BvcnRfbG9jayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPiAgCj4gIHZv aWQgaW50ZWxfdGNfcG9ydF91bmxvY2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPiAgCWludGVsX3dha2VyZWZf dCB3YWtlcmVmID0gZmV0Y2hfYW5kX3plcm8oJmRpZ19wb3J0LT50Y19sb2NrX3dha2VyZWYpOwo+ ICAKPiAgCW11dGV4X3VubG9jaygmZGlnX3BvcnQtPnRjX2xvY2spOwo+ICAKPiAtCWludGVsX2Rp c3BsYXlfcG93ZXJfcHV0X2FzeW5jKGRldl9wcml2LCBQT1dFUl9ET01BSU5fRElTUExBWV9DT1JF LAo+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXRfYXN5bmMoaTkxNSwgUE9XRVJfRE9NQUlOX0RJ U1BMQVlfQ09SRSwKPiAgCQkJCSAgICAgIHdha2VyZWYpOwo+ICB9CgotLSAKSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=