From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: Re: [PATCH 05/24] drm/i915/icp: Add Interrupt Support Date: Thu, 24 May 2018 17:43:24 -0700 Message-ID: <20180525004321.GC2951@ldmartin-desk.amr.corp.intel.com> References: <20180522002558.29262-1-paulo.r.zanoni@intel.com> <20180522002558.29262-6-paulo.r.zanoni@intel.com> <20180524235355.GA2951@ldmartin-desk.amr.corp.intel.com> <1527209143.2226.89.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3985C6E828 for ; Fri, 25 May 2018 00:43:28 +0000 (UTC) Received: by mail-pg0-x241.google.com with SMTP id k2-v6so1518984pgc.1 for ; Thu, 24 May 2018 17:43:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1527209143.2226.89.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXkgMjQsIDIwMTggYXQgMDU6NDU6NDNQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBPbiBUaHUsIDIwMTgtMDUtMjQgYXQgMTY6NTMgLTA3MDAsIEx1Y2FzIERl IE1hcmNoaSB3cm90ZToKPiA+IE9uIE1vbiwgTWF5IDIxLCAyMDE4IGF0IDA1OjI1OjM5UE0gLTA3 MDAsIFBhdWxvIFphbm9uaSB3cm90ZToKPiA+ID4gCj4gPiA+IEZyb206IEFudXNoYSBTcml2YXRz YSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiA+ID4gCj4gPiA+IFRoaXMgcGF0Y2ggYWRk cmVzc2VzIEludGVycnVwdHMgZnJvbSBzb3V0aCBkaXNwbGF5IGVuZ2luZSAoU0RFKS4KPiA+ID4g Cj4gPiA+IElDUCBoYXMgdHdvIHJlZ2lzdGVycyAtIFNIT1RQTFVHX0NUTF9EREkgYW5kIFNIT1RQ TFVHX0NUTF9UQy4KPiA+ID4gSW50cm9kdWNlIHRoZXNlIHJlZ2lzdGVycyBhbmQgdGhlaXIgaW50 ZW5kZWQgdmFsdWVzLgo+ID4gPiAKPiA+ID4gSW50cm9kdWNlIGljcF9pcnFfaGFuZGxlcigpLgo+ ID4gPiAKPiA+ID4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+Cj4gPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FA aW50ZWwuY29tPgo+ID4gPiBbUGF1bG86IGNvZGluZyBzdHlsZSBiaWtlc2hlZHMgYW5kIHJlYmFz ZXNdLgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGlu dGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YyB8IDEzNAo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4g PiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCB8wqDCoDQwICsrKysrKysrKysr Kwo+ID4gPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+ID4gaW5kZXgg OWJjZWM1ZmRiOWQwLi42YjEwOTk5MTc4NmYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwo+ID4gPiBAQCAtMTIyLDYgKzEyMiwxNSBAQCBzdGF0aWMgY29uc3QgdTMyIGhwZF90 Y19nZW4xMVtIUERfTlVNX1BJTlNdID0KPiA+ID4gewo+ID4gPiDCoAlbSFBEX1BPUlRfRl0gPSBH RU4xMV9UQzRfSE9UUExVRwo+ID4gPiDCoH07Cj4gPiA+IMKgCj4gPiA+ICtzdGF0aWMgY29uc3Qg dTMyIGhwZF9pY3BbSFBEX05VTV9QSU5TXSA9IHsKPiA+ID4gKwlbSFBEX1BPUlRfQV0gPSBJQ1Bf RERJQV9IT1RQTFVHLAo+ID4gPiArCVtIUERfUE9SVF9CXSA9IElDUF9ERElCX0hPVFBMVUcsCj4g PiA+ICsJW0hQRF9QT1JUX0NdID0gSUNQX1RDMV9IT1RQTFVHLAo+ID4gPiArCVtIUERfUE9SVF9E XSA9IElDUF9UQzJfSE9UUExVRywKPiA+ID4gKwlbSFBEX1BPUlRfRV0gPSBJQ1BfVEMzX0hPVFBM VUcsCj4gPiA+ICsJW0hQRF9QT1JUX0ZdID0gSUNQX1RDNF9IT1RQTFVHCj4gPiA+ICt9Owo+ID4g PiArCj4gPiA+IMKgLyogSUlSIGNhbiB0aGVvcmV0aWNhbGx5IHF1ZXVlIHVwIHR3byBldmVudHMu IEJlIHBhcmFub2lkLiAqLwo+ID4gPiDCoCNkZWZpbmUgR0VOOF9JUlFfUkVTRVRfTkRYKHR5cGUs IHdoaWNoKSBkbyB7IFwKPiA+ID4gwqAJSTkxNV9XUklURShHRU44XyMjdHlwZSMjX0lNUih3aGlj aCksIDB4ZmZmZmZmZmYpOyBcCj4gPiA+IEBAIC0xNTg2LDYgKzE1OTUsMzQgQEAgc3RhdGljIGJv b2wKPiA+ID4gYnh0X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMy IHZhbCkKPiA+ID4gwqAJfQo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gK3N0YXRpYyBib29sIGlj cF9kZGlfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIKPiA+ID4g dmFsKQo+ID4gPiArewo+ID4gPiArCXN3aXRjaCAocG9ydCkgewo+ID4gPiArCWNhc2UgUE9SVF9B Ogo+ID4gPiArCQlyZXR1cm4gdmFsICYgSUNQX0RESUFfSFBEX0xPTkdfREVURUNUOwo+ID4gPiAr CWNhc2UgUE9SVF9COgo+ID4gPiArCQlyZXR1cm4gdmFsICYgSUNQX0RESUJfSFBEX0xPTkdfREVU RUNUOwo+ID4gPiArCWRlZmF1bHQ6Cj4gPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ID4gKwl9Cj4g PiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBib29sIGljcF90Y19wb3J0X2hvdHBsdWdfbG9u Z19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMgo+ID4gPiB2YWwpCj4gPiA+ICt7Cj4gPiA+ICsJ c3dpdGNoIChwb3J0KSB7Cj4gPiA+ICsJY2FzZSBQT1JUX0M6Cj4gPiA+ICsJCXJldHVybiB2YWwg JiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMxKTsKPiA+ID4gKwljYXNlIFBPUlRfRDoK PiA+ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9UQ19IUERfTE9OR19ERVRFQ1QoUE9SVF9UQzIpOwo+ ID4gPiArCWNhc2UgUE9SVF9FOgo+ID4gPiArCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05H X0RFVEVDVChQT1JUX1RDMyk7Cj4gPiA+ICsJY2FzZSBQT1JUX0Y6Cj4gPiA+ICsJCXJldHVybiB2 YWwgJiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEM0KTsKPiA+ID4gKwlkZWZhdWx0Ogo+ ID4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ICsJfQo+ID4gPiArfQo+ID4gPiArCj4gPiA+IMKg c3RhdGljIGJvb2wgc3B0X3BvcnRfaG90cGx1ZzJfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQs IHUzMiB2YWwpCj4gPiA+IMKgewo+ID4gPiDCoAlzd2l0Y2ggKHBvcnQpIHsKPiA+ID4gQEAgLTIz NzcsNiArMjQxNCw0MyBAQCBzdGF0aWMgdm9pZCBjcHRfaXJxX2hhbmRsZXIoc3RydWN0Cj4gPiA+ IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcGNoX2lpcikKPiA+ID4gwqAJCWNwdF9z ZXJyX2ludF9oYW5kbGVyKGRldl9wcml2KTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4gPiA+ICtzdGF0 aWMgdm9pZCBpY3BfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MzIKPiA+ID4gcGNoX2lpcikKPiA+ID4gK3sKPiA+ID4gKwl1MzIgZGRpX2hvdHBsdWdfdHJp Z2dlciA9IHBjaF9paXIgJiBJQ1BfU0RFX0RESV9NQVNLOwo+ID4gPiArCXUzMiB0Y19ob3RwbHVn X3RyaWdnZXIgPSBwY2hfaWlyICYgSUNQX1NERV9UQ19NQVNLOwo+ID4gPiArCXUzMiBwaW5fbWFz ayA9IDAsIGxvbmdfbWFzayA9IDA7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoZGRpX2hvdHBsdWdfdHJp Z2dlcikgewo+ID4gPiArCQl1MzIgZGlnX2hvdHBsdWdfcmVnOwo+ID4gPiArCj4gPiA+ICsJCWRp Z19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExfRERJKTsKPiA+ID4gKwkJSTkx NV9XUklURShTSE9UUExVR19DVExfRERJLCBkaWdfaG90cGx1Z19yZWcpOwo+ID4gPiArCj4gPiA+ ICsJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNrLAo+ID4gPiAmbG9uZ19t YXNrLAo+ID4gPiArCQkJCcKgwqDCoGRkaV9ob3RwbHVnX3RyaWdnZXIsCj4gPiA+ICsJCQkJwqDC oMKgZGlnX2hvdHBsdWdfcmVnLCBocGRfaWNwLAo+ID4gPiArCQkJCcKgwqDCoGljcF9kZGlfcG9y dF9ob3RwbHVnX2xvbmdfZGV0ZWMKPiA+ID4gdCk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJ aWYgKHRjX2hvdHBsdWdfdHJpZ2dlcikgewo+ID4gPiArCQl1MzIgZGlnX2hvdHBsdWdfcmVnOwo+ ID4gPiArCj4gPiA+ICsJCWRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExf VEMpOwo+ID4gPiArCQlJOTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9UQywgZGlnX2hvdHBsdWdfcmVn KTsKPiA+ID4gKwo+ID4gPiArCQlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2X3ByaXYsICZwaW5fbWFz aywKPiA+ID4gJmxvbmdfbWFzaywKPiA+ID4gKwkJCQnCoMKgwqB0Y19ob3RwbHVnX3RyaWdnZXIs Cj4gPiA+ICsJCQkJwqDCoMKgZGlnX2hvdHBsdWdfcmVnLCBocGRfaWNwLAo+ID4gPiArCQkJCcKg wqDCoGljcF90Y19wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QKPiA+ID4gKTsKPiA+ID4gKwl9Cj4g PiA+ICsKPiA+ID4gKwlpZiAocGluX21hc2spCj4gPiA+ICsJCWludGVsX2hwZF9pcnFfaGFuZGxl cihkZXZfcHJpdiwgcGluX21hc2ssCj4gPiA+IGxvbmdfbWFzayk7Cj4gPiA+ICsKPiA+ID4gKwlp ZiAocGNoX2lpciAmIElDUF9HTUJVUykKPiA+ID4gKwkJZ21idXNfaXJxX2hhbmRsZXIoZGV2X3By aXYpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+IMKgc3RhdGljIHZvaWQgc3B0X2lycV9oYW5kbGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyCj4gPiA+IHBjaF9paXIpCj4g PiA+IMKgewo+ID4gPiDCoAl1MzIgaG90cGx1Z190cmlnZ2VyID0gcGNoX2lpciAmIFNERV9IT1RQ TFVHX01BU0tfU1BUICYKPiA+ID4gQEAgLTI3NzksOCArMjg1MywxMSBAQCBnZW44X2RlX2lycV9o YW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdiwgdTMyIG1hc3Rl cl9jdGwpCj4gPiA+IMKgCQkJSTkxNV9XUklURShTREVJSVIsIGlpcik7Cj4gPiA+IMKgCQkJcmV0 ID0gSVJRX0hBTkRMRUQ7Cj4gPiA+IMKgCj4gPiA+IC0JCQlpZiAoSEFTX1BDSF9TUFQoZGV2X3By aXYpIHx8Cj4gPiA+IEhBU19QQ0hfS0JQKGRldl9wcml2KSB8fAo+ID4gPiAtCQkJwqDCoMKgwqBI QVNfUENIX0NOUChkZXZfcHJpdikpCj4gPiA+ICsJCQlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYp KQo+ID4gPiArCQkJCWljcF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKPiA+ID4gKwkJCWVs c2UgaWYgKEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAo+ID4gPiArCQkJCcKgSEFTX1BDSF9LQlAo ZGV2X3ByaXYpIHx8Cj4gPiA+ICsJCQkJwqBIQVNfUENIX0NOUChkZXZfcHJpdikpCj4gPiA+IMKg CQkJCXNwdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKPiA+ID4gwqAJCQllbHNlCj4gPiA+ IMKgCQkJCWNwdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKPiA+ID4gQEAgLTM1NDgsNiAr MzYyNSw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2lycV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZQo+ ID4gPiAqZGV2KQo+ID4gPiDCoAlHRU4zX0lSUV9SRVNFVChHRU4xMV9ERV9IUERfKTsKPiA+ID4g wqAJR0VOM19JUlFfUkVTRVQoR0VOMTFfR1VfTUlTQ18pOwo+ID4gPiDCoAlHRU4zX0lSUV9SRVNF VChHRU44X1BDVV8pOwo+ID4gPiArCj4gPiA+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkK PiA+ID4gKwkJR0VOM19JUlFfUkVTRVQoSUNQX1NERV8pOwo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ ID4gwqB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9zdF9lbmFibGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2LAo+ID4gPiBAQCAtMzY2NCw2ICszNzQ0LDM1IEBAIHN0 YXRpYyB2b2lkIGlieF9ocGRfaXJxX3NldHVwKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ID4gwqAJaWJ4X2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9ocGRfZGV0ZWN0aW9uX3Nl dHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gK3sKPiA+ ID4gKwl1MzIgaG90cGx1ZzsKPiA+ID4gKwo+ID4gPiArCWhvdHBsdWcgPSBJOTE1X1JFQUQoU0hP VFBMVUdfQ1RMX0RESSk7Cj4gPiA+ICsJaG90cGx1ZyB8PSBJQ1BfRERJQV9IUERfRU5BQkxFIHwK PiA+ID4gKwkJwqDCoMKgSUNQX0RESUJfSFBEX0VOQUJMRTsKPiA+ID4gKwlJOTE1X1dSSVRFKFNI T1RQTFVHX0NUTF9EREksIGhvdHBsdWcpOwo+ID4gPiArCj4gPiA+ICsJaG90cGx1ZyA9IEk5MTVf UkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gPiArCWhvdHBsdWcgfD0gSUNQX1RDX0hQRF9FTkFC TEUoUE9SVF9UQzEpIHwKPiA+ID4gKwkJwqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzIp IHwKPiA+ID4gKwkJwqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzMpIHwKPiA+ID4gKwkJ wqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzQpOwo+ID4gPiArCUk5MTVfV1JJVEUoU0hP VFBMVUdfQ1RMX1RDLCBob3RwbHVnKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZv aWQgaWNwX2hwZF9pcnFfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ID4gPiArewo+ID4gPiArCXUzMiBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJxczsKPiA+ID4gKwo+ ID4gPiArCWhvdHBsdWdfaXJxcyA9IElDUF9TREVfRERJX01BU0sgfCBJQ1BfU0RFX1RDX01BU0s7 Cj4gPiA+ICsJZW5hYmxlZF9pcnFzID0gaW50ZWxfaHBkX2VuYWJsZWRfaXJxcyhkZXZfcHJpdiwg aHBkX2ljcCk7Cj4gPiA+ICsKPiA+ID4gKwlpYnhfZGlzcGxheV9pbnRlcnJ1cHRfdXBkYXRlKGRl dl9wcml2LCBob3RwbHVnX2lycXMsCj4gPiA+IGVuYWJsZWRfaXJxcyk7Cj4gPiA+ICsKPiA+ID4g KwlpY3BfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ ID4gwqBzdGF0aWMgdm9pZCBnZW4xMV9ocGRfZGV0ZWN0aW9uX3NldHVwKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gwqB7Cj4gPiA+IMKgCXUzMiBob3RwbHVn Owo+ID4gPiBAQCAtMzY5MCw2ICszNzk5LDkgQEAgc3RhdGljIHZvaWQgZ2VuMTFfaHBkX2lycV9z ZXR1cChzdHJ1Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+IMKgCVBP U1RJTkdfUkVBRChHRU4xMV9ERV9IUERfSU1SKTsKPiA+ID4gwqAKPiA+ID4gwqAJZ2VuMTFfaHBk X2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoSEFTX1BDSF9J Q1AoZGV2X3ByaXYpKQo+ID4gPiArCQlpY3BfaHBkX2lycV9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ IMKgfQo+ID4gPiDCoAo+ID4gPiDCoHN0YXRpYyB2b2lkIHNwdF9ocGRfZGV0ZWN0aW9uX3NldHVw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdikKPiA+ID4gQEAgLTQxMjEs MTEgKzQyMzMsMjkgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVj dAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gwqAJSTkxNV9XUklURShH RU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfTUFTSyzCoMKgfjApOwo+ID4gPiDCoH0KPiA+ID4gwqAK PiA+ID4gK3N0YXRpYyB2b2lkIGljcF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7Cj4gPiA+ICsJdTMyIG1hc2sgPSBJQ1BfR01CVVM7Cj4gPiA+ICsKPiA+ ID4gKwlXQVJOX09OKEk5MTVfUkVBRChJQ1BfU0RFX0lFUikgIT0gMCk7Cj4gPiA+ICsJSTkxNV9X UklURShJQ1BfU0RFX0lFUiwgMHhmZmZmZmZmZik7Cj4gPiA+ICsJUE9TVElOR19SRUFEKElDUF9T REVfSUVSKTsKPiA+ID4gKwo+ID4gPiArCWdlbjNfYXNzZXJ0X2lpcl9pc196ZXJvKGRldl9wcml2 LCBJQ1BfU0RFX0lJUik7Cj4gPiA+ICsJSTkxNV9XUklURShJQ1BfU0RFX0lNUiwgfm1hc2spOwo+ ID4gPiArCj4gPiA+ICsJaWNwX2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ID4gPiAr fQo+ID4gPiArCj4gPiA+IMKgc3RhdGljIGludCBnZW4xMV9pcnFfcG9zdGluc3RhbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiA+ID4gwqB7Cj4gPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+IMKgCXUzMiBndV9taXNjX21h c2tlZCA9IEdFTjExX0dVX01JU0NfR1NFOwo+ID4gPiDCoAo+ID4gPiArCWlmIChIQVNfUENIX0lD UChkZXZfcHJpdikpCj4gPiA+ICsJCWljcF9pcnFfcG9zdGluc3RhbGwoZGV2KTsKPiA+ID4gKwo+ ID4gPiDCoAlnZW4xMV9ndF9pcnFfcG9zdGluc3RhbGwoZGV2X3ByaXYpOwo+ID4gPiDCoAlnZW44 X2RlX2lycV9wb3N0aW5zdGFsbChkZXZfcHJpdik7Cj4gPiA+IMKgCj4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+ID4gPiBpbmRleCAxOTYwMDA5NzU4MWYuLjI4Y2U5NmNlMDQ4NCAx MDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IEBAIC03NDYwLDYgKzc0 NjAsNDYgQEAgZW51bSB7Cj4gPiA+IMKgI2RlZmluZcKgwqBQT1JURV9IT1RQTFVHX1NIT1JUX0RF VEVDVAkoMSA8PCAwKQo+ID4gPiDCoCNkZWZpbmXCoMKgUE9SVEVfSE9UUExVR19MT05HX0RFVEVD VAkoMiA8PCAwKQo+ID4gPiDCoAo+ID4gPiArLyogSUNQICovCj4gPiA+ICsjZGVmaW5lIElDUF9T REVfSVNSCQkJX01NSU8oMHhjNDAwMCkKPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9JTVIJCQlfTU1J TygweGM0MDA0KQo+ID4gPiArI2RlZmluZSBJQ1BfU0RFX0lJUgkJCV9NTUlPKDB4YzQwMDgpCj4g PiA+ICsjZGVmaW5lIElDUF9TREVfSUVSCQkJX01NSU8oMHhjNDAwYykKPiA+IFRoZXNlIGFyZSBl eGFjdGx5IHRoZSBzYW1lIHJlZ2lzdGVycyBhcyBTREV7SVNSLElNUixJSVIsSUVSfS4gRm9yIGFs bAo+ID4gdGhlIG90aGVyIHBsYXRmb3JtcyB3aGF0IHdlIGRvIGlzIHJhdGhlciBwb3N0Zml4IHRo ZSBwbGF0Zm9ybSBuYW1lLgo+ID4gCj4gPiBJIHRoaW5rIHdlIHNob3VsZCBmb2xsb3cgd2hhdCB0 aGV5IGRvIGhlcmUuCj4gPiAKPiA+IAo+ID4gPiAKPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfVEM0 X0hPVFBMVUcJCSgxIDw8IDI3KQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9UQzNfSE9UUExVRwkJ KDEgPDwgMjYpCj4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX1RDMl9IT1RQTFVHCQkoMSA8PCAyNSkK PiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfVEMxX0hPVFBMVUcJCSgxIDw8IDI0KQo+ID4gPiArI2Rl ZmluZcKgwqDCoElDUF9HTUJVUwkJCSgxIDw8IDIzKQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9E RElCX0hPVFBMVUcJCSgxIDw8IDE3KQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hPVFBM VUcJCSgxIDw8IDE2KQo+ID4gc28gdGhlc2Ugd291bGQgYmVjb21lIFNERV9UQzRfSE9UUExVR19J Q1AgYW5kIHNvIG9uLgo+ID4gCj4gCj4gVGhlIHJlYXNvbiBJIHByZWZlcnJlZCB0aGlzIG5hbWlu ZyBmb3IgZ2VuLTExIGlzIGl0IGlzIHN5bW1ldHJpYyB0byB0aGUKPiBjb3JyZXNwb25kaW5nIGRl ZmluaXRpb25zIGluIHRoZSBub3J0aCBlbmdpbmUuCj4gCj4gRm9yIGV4YW1wbGUsCj4gKyNkZWZp bmUgR0VOMTFfREVfSFBEX0lTUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4 NDQ0NzApCj4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lNUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoF9NTUlPKDB4NDQ0NzQpCj4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lJUsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0NzgpCj4gKyNkZWZpbmUgR0VOMTFfREVf SFBEX0lFUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0N2MpCj4gKyNk ZWZpbmXCoMKgR0VOMTFfVEM0X0hPVFBMVUfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAoMSA8PCAxOSkKPiArI2RlZmluZcKgwqBHRU4xMV9UQzNfSE9UUExVR8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxIDw8IDE4KQo+ICsjZGVmaW5l wqDCoEdFTjExX1RDMl9IT1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgKDEgPDwgMTcpCj4gKyNkZWZpbmXCoMKgR0VOMTFfVEMxX0hPVFBMVUfCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMSA8PCAxNikKPiAKPiBXaXRoIGludGVy cnVwdHMgZ2V0dGluZyByb3V0ZWQgdG8gbm9ydGggb3Igc291dGggZW5naW5lcyBmb3IgdGhlIHNh bWUKPiBwb3J0LCB0aGlzIG5hbWluZyBzY2hlbWUgbWFrZXMgdGhlIGR1YWxpdHkgY2xlYXJlciBJ TU8uCgpTdGlsbCB0aGUgcmVnaXN0ZXIgaXMgdGhlIHNhbWUgYXMgU0RFSVNSIGFuZCB0aGVyZSBh cmUgcGxhY2VzIGluIHdoaWNoIHdlCnJlYWQgaXQgZXhwZWN0aW5nIHRvIGJlIHRoZSBzYW1lIG51 bWJlci4KCk9ubHkgdGhlIGJpdHMgYXJlIGRpZmZlcmVudCwgc28gbmFtZSB0aGUgYml0cyBkaWZm ZXJlbnRseSBhcyBpdCBpcyBmb3IKb3RoZXIgcGxhdGZvcm1zLiAgSSB0aGluayBvZiB0aGUgc3lt bWV0cnkgaGVyZSBqdXN0IGFuZCBhY2NpZGVudCBvZgpsaWZlIGV4cGVjdGluZyB0byBiZSBkaWZm ZXJlbnQgaWYgbm9ydGggYW5kIHNvdXRoIGVuZ2luZXMgZG9uJ3QgaGF2ZSB0aGUKc2FtZSBwb3J0 cy4KCkx1Y2FzIERlIE1hcmNoaQoKPiAKPiAKPiA+ID4gCj4gPiA+ICsKPiA+ID4gKyNkZWZpbmUg SUNQX1NERV9ERElfTUFTSwkJKElDUF9ERElCX0hPVFBMVUcgfAkKPiA+ID4gXAo+ID4gPiArCQkJ CQnCoElDUF9ERElBX0hPVFBMVUcpCj4gPiA+ICsKPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9UQ19N QVNLCQkJKElDUF9UQzRfSE9UUExVRyB8CQo+ID4gPiBcCj4gPiA+ICsJCQkJCcKgSUNQX1RDM19I T1RQTFVHIHwJCj4gPiA+IFwKPiA+ID4gKwkJCQkJwqBJQ1BfVEMyX0hPVFBMVUcgfAkKPiA+ID4g XAo+ID4gPiArCQkJCQnCoElDUF9UQzFfSE9UUExVRykKPiA+ID4gKwo+ID4gPiArI2RlZmluZSBT SE9UUExVR19DVExfRERJCQkJX01NSU8oMHhjNDAzMCkJCj4gPiA+IC8qIFNIT1RQTFVHX0NUTCAq Lwo+ID4gVGhpcyBhbHNvIHNlZW1zIHRvIHJldXNlIHdoYXQgd2UgaGF2ZSBkZWZpbmVkIGFzIFBD SF9QT1JUX0hPVFBMVUcKPiA+IHdpdGggYQo+ID4gY29tbWVudCB0byBTSE9UUExVR19DVEwgdGhl cmUsIGFsdGhvdWdoIGhlcmUgSSB0ZW5kIHRvIGJlIGluIGZhdm9yIG9mCj4gPiB1c2luZyB0aGUg Y3VycmVudCByZWFsIG5hbWUgb2YgdGhlIHJlZ2lzdGVyIChTSE9UUExVR19DVEwpLgo+IAo+IFRo ZSByZWFsIG5hbWUgSSBzZWUgaXMgU0hPVFBMVUdfQ1RMX0RESSBmb3IgSUNQLgo+IAo+IEkgZG9u J3QgYmVsaWV2ZSB3ZSBzaG91bGQgYXR0ZW1wdCB0byBtYWtlIHRoZXNlIGRlZmluaXRpb25zIGNv bnNpc3RlbnQKPiB3aXRoIHByZXZpb3VzIHBsYXRmb3JtcyBvdmVyIG1ha2luZyB0aGVtIGNvbnNp c3RlbnQgd2l0aCBlYWNoIG90aGVyLgo+IMKgCj4gCj4gPiAKPiA+IFRoZSByZXN0IGxvb2tzIGdv b2QgdG8gbWUuCj4gPiAKPiA+IEx1Y2FzIERlIE1hcmNoaQo+ID4gCj4gPiA+IAo+ID4gPiArI2Rl ZmluZcKgwqDCoElDUF9ERElCX0hQRF9FTkFCTEUJCQkoMSA8PCA3KQo+ID4gPiArI2RlZmluZcKg wqDCoElDUF9ERElCX0hQRF9TVEFUVVNfTUFTSwkJKDMgPDwgNCkKPiA+ID4gKyNkZWZpbmXCoMKg wqBJQ1BfRERJQl9IUERfTk9fREVURUNUCQkoMCA8PCA0KQo+ID4gPiArI2RlZmluZcKgwqDCoElD UF9ERElCX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDQpCj4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQ X0RESUJfSFBEX0xPTkdfREVURUNUCQkoMiA8PCA0KQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9E RElCX0hQRF9TSE9SVF9MT05HX0RFVEVDVAkoMyA8PCA0KQo+ID4gPiArI2RlZmluZcKgwqDCoElD UF9ERElBX0hQRF9FTkFCTEUJCQkoMSA8PCAzKQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElB X0hQRF9TVEFUVVNfTUFTSwkJKDMgPDwgMCkKPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQV9I UERfTk9fREVURUNUCQkoMCA8PCAwKQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9T SE9SVF9ERVRFQ1QJCSgxIDw8IDApCj4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX0RESUFfSFBEX0xP TkdfREVURUNUCQkoMiA8PCAwKQo+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9TSE9S VF9MT05HX0RFVEVDVAkoMyA8PCAwKQo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIFNIT1RQTFVHX0NU TF9UQwkJCQlfTU1JTygweGM0MAo+ID4gPiAzNCkKPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfVENf SFBEX0VOQUJMRSh0Y19wb3J0KQkJKDggPDwKPiA+ID4gKHRjX3BvcnQpICogNCkKPiA+ID4gKyNk ZWZpbmXCoMKgwqBJQ1BfVENfSFBEX0xPTkdfREVURUNUKHRjX3BvcnQpCSgyIDw8ICh0Y19wb3J0 KSAqCj4gPiA+IDQpCj4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX1RDX0hQRF9TSE9SVF9ERVRFQ1Qo dGNfcG9ydCkJKDEgPDwgKHRjX3BvcnQpCj4gPiA+ICogNCkKPiA+ID4gKwo+ID4gPiDCoCNkZWZp bmUgUENIX0dQSU9BwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX01NSU8oMHhjNTAxMCkK PiA+ID4gwqAjZGVmaW5lIFBDSF9HUElPQsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9N TUlPKDB4YzUwMTQpCj4gPiA+IMKgI2RlZmluZSBQQ0hfR1BJT0PCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBfTU1JTygweGM1MDE4KQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK