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: Tue, 06 Aug 2019 11:29:54 +0300 Message-ID: <87h86uk871.fsf@intel.com> References: <20190704000000.20019-1-lucas.demarchi@intel.com> <87wofsj63j.fsf@intel.com> <20190805193630.rz7erthgef6gph2r@ldmartin-desk1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id C72456E32D for ; Tue, 6 Aug 2019 08:25:39 +0000 (UTC) In-Reply-To: <20190805193630.rz7erthgef6gph2r@ldmartin-desk1> 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 T24gTW9uLCAwNSBBdWcgMjAxOSwgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+IHdyb3RlOgo+IE9uIE1vbiwgQXVnIDA1LCAyMDE5IGF0IDEyOjQ4OjE2UE0gKzAzMDAs IEphbmkgTmlrdWxhIHdyb3RlOgo+Pk9uIFdlZCwgMDMgSnVsIDIwMTksIEx1Y2FzIERlIE1hcmNo aSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPiB3cm90ZToKPj4+IExldCdzIG1ha2UgdGhlIGp1 c3QgY3JlYXRlZCBpbnRlbF90Yy5jIGFscmVhZHkgZm9sbG93IHRoZSB0cmVuZCBvZiB1c2luZwo+ Pj4gaTkxNSBpbnN0ZWFkIG9mIGRldl9wcml2IGFuZCBjYWxsaW5nIHRoZSBpbnRlbF91bmNvcmVf KigpIGZ1bmN0aW9ucy4KPj4KPj5JJ20gbm90IHN1cmUgd2UgYWxsIGFncmVlZCBvbiB1c2luZyBp bnRlbF91bmNvcmVfe3JlYWQsd3JpdGV9KCkgaW4KPj5kaXNwbGF5LyBjb2RlIHlldCB0aG91Z2gu IFRoZXJlJ3MgY29uc2lkZXJhYmx5IG1vcmUgcmVnaXN0ZXIgcmVhZHMgYW5kCj4+d3JpdGVzIGFj cm9zcyB0aGUgYm9hcmQgdGhhbiBhbnl3aGVyZSBlbHNlLgo+Cj4gV2hhdCdzIHRoZSBhbHRlcm5h dGl2ZSB0byBjb252ZXJ0aW5nIHRvIGludGVsX3VuY29yZV8qPyBNYWtpbmcgaXQKPiBjb25zaXN0 ZW50IHdpdGggdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaXMgdGhlIG9ubHkgc2FuZSB0aGluZyBJTU8u Cj4gSXMgYW55b25lICpkaXNhZ3JlZWluZyogd2l0aCB1c2luZyBpbnRlbF91bmNvcmVfKiBmb3Ig bmV3IGNvZGU/CgpQbGVhc2UgbGV0J3MgYXQgbGVhc3Qgc2VlIGhvdyB0aGUgc2VwYXJhdGUgZGUg dW5jb3JlIHdpdGggdGhlIHNlcGFyYXRlCmFjY2Vzc29ycyB0aGF0IHRha2UgZHJtX2k5MTVfcHJp diBpbnN0ZWFkIG9mIGludGVsX3VuY29yZSBwYW4gb3V0IFsxXS4gSQp0aGluayB0aGV5J2xsIGhl bHAgdGhlIGRpc3BsYXkgY29kZSBjb25zaWRlcmFibHkgY29tcGFyZWQgdG8gdXNpbmcKaW50ZWxf dW5jb3JlXyogYW5kIGhhdmluZyB0byBwYXNzIGluIHVuY29yZSBwb2ludGVyLiBBbnkgY29udmVy c2lvbnMKYmVmb3JlIHRoYXQgd2lsbCByZXF1aXJlIGEgcmV2aXNpdC4KCkJSLApKYW5pLgoKClsx XSBodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE5MDYyNDIw MzE1Mi4xMzcyNS00LWRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20KCgoKPgo+IEx1Y2Fz IERlIE1hcmNoaQo+Cj4+Cj4+QlIsCj4+SmFuaS4KPj4KPj4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5 OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPj4+IC0tLQo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYyB8IDU3ICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0KPj4+ICAxIGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjYg ZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfdGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMu Ywo+Pj4gaW5kZXggNTMxMDNhOWFhOGE3Li4xYTlkZDMyZmIwYTUgMTAwNjQ0Cj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYwo+Pj4gQEAgLTI0LDExICsyNCwxMiBAQCBz dGF0aWMgY29uc3QgY2hhciAqdGNfcG9ydF9tb2RlX25hbWUoZW51bSB0Y19wb3J0X21vZGUgbW9k ZSkKPj4+Cj4+PiAgdTMyIGludGVsX3RjX3BvcnRfZ2V0X2xhbmVfbWFzayhzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPj4+ICB7Cj4+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gLQll bnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRpZ19wb3J0 LT5iYXNlLnBvcnQpOwo+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5 MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9 IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4+PiArCXN0cnVj dCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7Cj4+PiAgCXUzMiBsYW5lX21h c2s7Cj4+Pgo+Pj4gLQlsYW5lX21hc2sgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQU1ApOwo+ Pj4gKwlsYW5lX21hc2sgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRfVFhfREZMRVhE UFNQKTsKPj4+Cj4+PiAgCVdBUk5fT04obGFuZV9tYXNrID09IDB4ZmZmZmZmZmYpOwo+Pj4KPj4+ IEBAIC0zOCw3ICszOSw3IEBAIHUzMiBpbnRlbF90Y19wb3J0X2dldF9sYW5lX21hc2soc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4+Pgo+Pj4gIGludCBpbnRlbF90Y19wb3J0 X2ZpYV9tYXhfbGFuZV9jb3VudChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkK Pj4+ICB7Cj4+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gIAlpbnRlbF93YWtl cmVmX3Qgd2FrZXJlZjsKPj4+ICAJdTMyIGxhbmVfbWFzazsKPj4+Cj4+PiBAQCAtNDYsNyArNDcs NyBAQCBpbnQgaW50ZWxfdGNfcG9ydF9maWFfbWF4X2xhbmVfY291bnQoc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4+PiAgCQlyZXR1cm4gNDsKPj4+Cj4+PiAgCWxhbmVfbWFz ayA9IDA7Cj4+PiAtCXdpdGhfaW50ZWxfZGlzcGxheV9wb3dlcihkZXZfcHJpdiwgUE9XRVJfRE9N QUlOX0RJU1BMQVlfQ09SRSwgd2FrZXJlZikKPj4+ICsJd2l0aF9pbnRlbF9kaXNwbGF5X3Bvd2Vy KGk5MTUsIFBPV0VSX0RPTUFJTl9ESVNQTEFZX0NPUkUsIHdha2VyZWYpCj4+PiAgCQlsYW5lX21h c2sgPSBpbnRlbF90Y19wb3J0X2dldF9sYW5lX21hc2soZGlnX3BvcnQpOwo+Pj4KPj4+ICAJc3dp dGNoIChsYW5lX21hc2spIHsKPj4+IEBAIC04OSwxMiArOTAsMTMgQEAgc3RhdGljIHZvaWQgdGNf cG9ydF9maXh1cF9sZWdhY3lfZmxhZyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCwKPj4+Cj4+PiAgc3RhdGljIHUzMiB0Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4+PiAgewo+Pj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPj4+ IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdf cG9ydC0+YmFzZS5wb3J0KTsKPj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0 b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPj4+ICsJZW51bSB0Y19wb3J0IHRjX3Bv cnQgPSBpbnRlbF9wb3J0X3RvX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+Pj4gKwlz dHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmaTkxNS0+dW5jb3JlOwo+Pj4gIAl1MzIgbWFz ayA9IDA7Cj4+PiAgCXUzMiB2YWw7Cj4+Pgo+Pj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9E RkxFWERQU1ApOwo+Pj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIFBPUlRfVFhf REZMRVhEUFNQKTsKPj4+Cj4+PiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+Pj4gIAkJRFJN X0RFQlVHX0tNUygiUG9ydCAlczogUEhZIGluIFRDQ09MRCwgbm90aGluZyBjb25uZWN0ZWRcbiIs Cj4+PiBAQCAtMTA3LDcgKzEwOSw3IEBAIHN0YXRpYyB1MzIgdGNfcG9ydF9saXZlX3N0YXR1c19t YXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+Pj4gIAlpZiAodmFsICYg VENfTElWRV9TVEFURV9UQyh0Y19wb3J0KSkKPj4+ICAJCW1hc2sgfD0gQklUKFRDX1BPUlRfRFBf QUxUKTsKPj4+Cj4+PiAtCWlmIChJOTE1X1JFQUQoU0RFSVNSKSAmIFNERV9UQ19IT1RQTFVHX0lD UCh0Y19wb3J0KSkKPj4+ICsJaWYgKGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgU0RFSVNSKSAm IFNERV9UQ19IT1RQTFVHX0lDUCh0Y19wb3J0KSkKPj4+ICAJCW1hc2sgfD0gQklUKFRDX1BPUlRf TEVHQUNZKTsKPj4+Cj4+PiAgCS8qIFRoZSBzaW5rIGNhbiBiZSBjb25uZWN0ZWQgb25seSBpbiBh IHNpbmdsZSBtb2RlLiAqLwo+Pj4gQEAgLTExOSwxMSArMTIxLDEyIEBAIHN0YXRpYyB1MzIgdGNf cG9ydF9saXZlX3N0YXR1c19tYXNrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 KQo+Pj4KPj4+ICBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPj4+ICB7Cj4+PiAtCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ Pj4gLQllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRp Z19wb3J0LT5iYXNlLnBvcnQpOwo+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gKwllbnVtIHRjX3BvcnQgdGNf cG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4+PiAr CXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7Cj4+PiAgCXUzMiB2 YWw7Cj4+Pgo+Pj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQUE1TKTsKPj4+ICsJ dmFsID0gaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBQT1JUX1RYX0RGTEVYRFBQTVMpOwo+Pj4g IAlpZiAodmFsID09IDB4ZmZmZmZmZmYpIHsKPj4+ICAJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6 IFBIWSBpbiBUQ0NPTEQsIGFzc3VtaW5nIG5vdCBjb21wbGV0ZVxuIiwKPj4+ICAJCQkgICAgICBk aWdfcG9ydC0+dGNfcG9ydF9uYW1lKTsKPj4+IEBAIC0xMzYsMTEgKzEzOSwxMiBAQCBzdGF0aWMg Ym9vbCBpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKPj4+ICBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4+PiAgCQkJCSAgICAgYm9vbCBlbmFi bGUpCj4+PiAgewo+Pj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPj4+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQg PSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKPj4+ICsJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJh c2UuZGV2KTsKPj4+ICsJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGk5 MTUsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+Pj4gKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNv cmUgPSAmaTkxNS0+dW5jb3JlOwo+Pj4gIAl1MzIgdmFsOwo+Pj4KPj4+IC0JdmFsID0gSTkxNV9S RUFEKFBPUlRfVFhfREZMRVhEUENTU1MpOwo+Pj4gKwl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZCh1 bmNvcmUsIFBPUlRfVFhfREZMRVhEUENTU1MpOwo+Pj4gIAlpZiAodmFsID09IDB4ZmZmZmZmZmYp IHsKPj4+ICAJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBpbiBUQ0NPTEQsIGNhbid0IHNl dCBzYWZlLW1vZGUgdG8gJXNcbiIsCj4+PiAgCQkJICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFt ZSwKPj4+IEBAIC0xNTMsNyArMTU3LDcgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BoeV9zZXRfc2Fm ZV9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0LAo+Pj4gIAlpZiAoIWVu YWJsZSkKPj4+ICAJCXZhbCB8PSBEUF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCk7 Cj4+Pgo+Pj4gLQlJOTE1X1dSSVRFKFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7Cj4+PiArCWlu dGVsX3VuY29yZV93cml0ZSh1bmNvcmUsIFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7Cj4+Pgo+ Pj4gIAlpZiAoZW5hYmxlICYmIHdhaXRfZm9yKCFpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShk aWdfcG9ydCksIDEwKSkKPj4+ICAJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBjb21wbGV0 ZSBjbGVhciB0aW1lZCBvdXRcbiIsCj4+PiBAQCAtMTY0LDExICsxNjgsMTIgQEAgc3RhdGljIGJv b2wgaWNsX3RjX3BoeV9zZXRfc2FmZV9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0LAo+Pj4KPj4+ICBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X2lzX2luX3NhZmVfbW9kZShz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPj4+ICB7Cj4+PiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5k ZXYpOwo+Pj4gLQllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3By aXYsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOwo+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+Pj4gKwllbnVtIHRjX3Bv cnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCk7 Cj4+PiArCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7Cj4+PiAg CXUzMiB2YWw7Cj4+Pgo+Pj4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQQ1NTUyk7 Cj4+PiArCXZhbCA9IGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgUE9SVF9UWF9ERkxFWERQQ1NT Uyk7Cj4+PiAgCWlmICh2YWwgPT0gMHhmZmZmZmZmZikgewo+Pj4gIAkJRFJNX0RFQlVHX0tNUygi UG9ydCAlczogUEhZIGluIFRDQ09MRCwgYXNzdW1lIHNhZmUgbW9kZVxuIiwKPj4+ICAJCQkgICAg ICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lKTsKPj4+IEBAIC0zMTcsMTEgKzMyMiwxMSBAQCBpbnRl bF90Y19wb3J0X2dldF90YXJnZXRfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdf cG9ydCkKPj4+ICBzdGF0aWMgdm9pZCBpbnRlbF90Y19wb3J0X3Jlc2V0X21vZGUoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4+PiAgCQkJCSAgICAgaW50IHJlcXVpcmVkX2xh bmVzKQo+Pj4gIHsKPj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4+PiAgCWVudW0g dGNfcG9ydF9tb2RlIG9sZF90Y19tb2RlID0gZGlnX3BvcnQtPnRjX21vZGU7Cj4+Pgo+Pj4gLQlp bnRlbF9kaXNwbGF5X3Bvd2VyX2ZsdXNoX3dvcmsoZGV2X3ByaXYpOwo+Pj4gLQlXQVJOX09OKGlu dGVsX2Rpc3BsYXlfcG93ZXJfaXNfZW5hYmxlZChkZXZfcHJpdiwKPj4+ICsJaW50ZWxfZGlzcGxh eV9wb3dlcl9mbHVzaF93b3JrKGk5MTUpOwo+Pj4gKwlXQVJOX09OKGludGVsX2Rpc3BsYXlfcG93 ZXJfaXNfZW5hYmxlZChpOTE1LAo+Pj4gIAkJCQkJICAgICAgIGludGVsX2F1eF9wb3dlcl9kb21h aW4oZGlnX3BvcnQpKSk7Cj4+Pgo+Pj4gIAlpY2xfdGNfcGh5X2Rpc2Nvbm5lY3QoZGlnX3BvcnQp Owo+Pj4gQEAgLTQwNCwxMCArNDA5LDEwIEBAIGJvb2wgaW50ZWxfdGNfcG9ydF9jb25uZWN0ZWQo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4+PiAgc3RhdGljIHZvaWQgX19p bnRlbF90Y19wb3J0X2xvY2soc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCj4+ PiAgCQkJCSBpbnQgcmVxdWlyZWRfbGFuZXMpCj4+PiAgewo+Pj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKPj4+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpZ19wb3J0LT5iYXNl LmJhc2UuZGV2KTsKPj4+ICAJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7Cj4+Pgo+Pj4gLQl3YWtl cmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9ESVNQ TEFZX0NPUkUpOwo+Pj4gKwl3YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoaTkxNSwg UE9XRVJfRE9NQUlOX0RJU1BMQVlfQ09SRSk7Cj4+Pgo+Pj4gIAltdXRleF9sb2NrKCZkaWdfcG9y dC0+dGNfbG9jayk7Cj4+Pgo+Pj4gQEAgLTQyNiwxMiArNDMxLDEyIEBAIHZvaWQgaW50ZWxfdGNf cG9ydF9sb2NrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+Pj4KPj4+ICB2 b2lkIGludGVsX3RjX3BvcnRfdW5sb2NrKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0KQo+Pj4gIHsKPj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4+PiAgCWludGVs X3dha2VyZWZfdCB3YWtlcmVmID0gZmV0Y2hfYW5kX3plcm8oJmRpZ19wb3J0LT50Y19sb2NrX3dh a2VyZWYpOwo+Pj4KPj4+ICAJbXV0ZXhfdW5sb2NrKCZkaWdfcG9ydC0+dGNfbG9jayk7Cj4+Pgo+ Pj4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF9hc3luYyhkZXZfcHJpdiwgUE9XRVJfRE9NQUlO X0RJU1BMQVlfQ09SRSwKPj4+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXRfYXN5bmMoaTkxNSwg UE9XRVJfRE9NQUlOX0RJU1BMQVlfQ09SRSwKPj4+ICAJCQkJICAgICAgd2FrZXJlZik7Cj4+PiAg fQo+Pgo+Pi0tIAo+PkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50 ZXIKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==