From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH 05/24] drm/i915/icp: Add Interrupt Support Date: Thu, 24 May 2018 17:45:43 -0700 Message-ID: <1527209143.2226.89.camel@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> Reply-To: dhinakaran.pandiyan@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 931E06E7DF for ; Fri, 25 May 2018 00:20:32 +0000 (UTC) In-Reply-To: <20180524235355.GA2951@ldmartin-desk.amr.corp.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 , Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE4LTA1LTI0IGF0IDE2OjUzIC0wNzAwLCBMdWNhcyBEZSBNYXJjaGkgd3JvdGU6 Cj4gT24gTW9uLCBNYXkgMjEsIDIwMTggYXQgMDU6MjU6MzlQTSAtMDcwMCwgUGF1bG8gWmFub25p IHdyb3RlOgo+ID4gCj4gPiBGcm9tOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBp bnRlbC5jb20+Cj4gPiAKPiA+IFRoaXMgcGF0Y2ggYWRkcmVzc2VzIEludGVycnVwdHMgZnJvbSBz b3V0aCBkaXNwbGF5IGVuZ2luZSAoU0RFKS4KPiA+IAo+ID4gSUNQIGhhcyB0d28gcmVnaXN0ZXJz IC0gU0hPVFBMVUdfQ1RMX0RESSBhbmQgU0hPVFBMVUdfQ1RMX1RDLgo+ID4gSW50cm9kdWNlIHRo ZXNlIHJlZ2lzdGVycyBhbmQgdGhlaXIgaW50ZW5kZWQgdmFsdWVzLgo+ID4gCj4gPiBJbnRyb2R1 Y2UgaWNwX2lycV9oYW5kbGVyKCkuCj4gPiAKPiA+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIu emFub25pQGludGVsLmNvbT4KPiA+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFu LnBhbmRpeWFuQGludGVsLmNvbT4KPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51 c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiA+IFtQYXVsbzogY29kaW5nIHN0eWxlIGJpa2VzaGVk cyBhbmQgcmViYXNlc10uCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIu emFub25pQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2lycS5jIHwgMTM0Cj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst Cj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggfMKgwqA0MCArKysrKysrKysr KysKPiA+IMKgMiBmaWxlcyBjaGFuZ2VkLCAxNzIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK PiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gaW5kZXggOWJjZWM1ZmRi OWQwLi42YjEwOTk5MTc4NmYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiBA QCAtMTIyLDYgKzEyMiwxNSBAQCBzdGF0aWMgY29uc3QgdTMyIGhwZF90Y19nZW4xMVtIUERfTlVN X1BJTlNdID0KPiA+IHsKPiA+IMKgCVtIUERfUE9SVF9GXSA9IEdFTjExX1RDNF9IT1RQTFVHCj4g PiDCoH07Cj4gPiDCoAo+ID4gK3N0YXRpYyBjb25zdCB1MzIgaHBkX2ljcFtIUERfTlVNX1BJTlNd ID0gewo+ID4gKwlbSFBEX1BPUlRfQV0gPSBJQ1BfRERJQV9IT1RQTFVHLAo+ID4gKwlbSFBEX1BP UlRfQl0gPSBJQ1BfRERJQl9IT1RQTFVHLAo+ID4gKwlbSFBEX1BPUlRfQ10gPSBJQ1BfVEMxX0hP VFBMVUcsCj4gPiArCVtIUERfUE9SVF9EXSA9IElDUF9UQzJfSE9UUExVRywKPiA+ICsJW0hQRF9Q T1JUX0VdID0gSUNQX1RDM19IT1RQTFVHLAo+ID4gKwlbSFBEX1BPUlRfRl0gPSBJQ1BfVEM0X0hP VFBMVUcKPiA+ICt9Owo+ID4gKwo+ID4gwqAvKiBJSVIgY2FuIHRoZW9yZXRpY2FsbHkgcXVldWUg dXAgdHdvIGV2ZW50cy4gQmUgcGFyYW5vaWQuICovCj4gPiDCoCNkZWZpbmUgR0VOOF9JUlFfUkVT RVRfTkRYKHR5cGUsIHdoaWNoKSBkbyB7IFwKPiA+IMKgCUk5MTVfV1JJVEUoR0VOOF8jI3R5cGUj I19JTVIod2hpY2gpLCAweGZmZmZmZmZmKTsgXAo+ID4gQEAgLTE1ODYsNiArMTU5NSwzNCBAQCBz dGF0aWMgYm9vbAo+ID4gYnh0X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9y dCwgdTMyIHZhbCkKPiA+IMKgCX0KPiA+IMKgfQo+ID4gwqAKPiA+ICtzdGF0aWMgYm9vbCBpY3Bf ZGRpX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyCj4gPiB2YWwp Cj4gPiArewo+ID4gKwlzd2l0Y2ggKHBvcnQpIHsKPiA+ICsJY2FzZSBQT1JUX0E6Cj4gPiArCQly ZXR1cm4gdmFsICYgSUNQX0RESUFfSFBEX0xPTkdfREVURUNUOwo+ID4gKwljYXNlIFBPUlRfQjoK PiA+ICsJCXJldHVybiB2YWwgJiBJQ1BfRERJQl9IUERfTE9OR19ERVRFQ1Q7Cj4gPiArCWRlZmF1 bHQ6Cj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCX0KPiA+ICt9Cj4gPiArCj4gPiArc3RhdGlj IGJvb2wgaWNwX3RjX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMy Cj4gPiB2YWwpCj4gPiArewo+ID4gKwlzd2l0Y2ggKHBvcnQpIHsKPiA+ICsJY2FzZSBQT1JUX0M6 Cj4gPiArCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDMSk7Cj4g PiArCWNhc2UgUE9SVF9EOgo+ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9UQ19IUERfTE9OR19ERVRF Q1QoUE9SVF9UQzIpOwo+ID4gKwljYXNlIFBPUlRfRToKPiA+ICsJCXJldHVybiB2YWwgJiBJQ1Bf VENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMzKTsKPiA+ICsJY2FzZSBQT1JUX0Y6Cj4gPiArCQly ZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDNCk7Cj4gPiArCWRlZmF1 bHQ6Cj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCX0KPiA+ICt9Cj4gPiArCj4gPiDCoHN0YXRp YyBib29sIHNwdF9wb3J0X2hvdHBsdWcyX2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIg dmFsKQo+ID4gwqB7Cj4gPiDCoAlzd2l0Y2ggKHBvcnQpIHsKPiA+IEBAIC0yMzc3LDYgKzI0MTQs NDMgQEAgc3RhdGljIHZvaWQgY3B0X2lycV9oYW5kbGVyKHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIHUzMiBwY2hfaWlyKQo+ID4gwqAJCWNwdF9zZXJyX2ludF9oYW5kbGVy KGRldl9wcml2KTsKPiA+IMKgfQo+ID4gwqAKPiA+ICtzdGF0aWMgdm9pZCBpY3BfaXJxX2hhbmRs ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIKPiA+IHBjaF9paXIpCj4g PiArewo+ID4gKwl1MzIgZGRpX2hvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBJQ1BfU0RFX0RE SV9NQVNLOwo+ID4gKwl1MzIgdGNfaG90cGx1Z190cmlnZ2VyID0gcGNoX2lpciAmIElDUF9TREVf VENfTUFTSzsKPiA+ICsJdTMyIHBpbl9tYXNrID0gMCwgbG9uZ19tYXNrID0gMDsKPiA+ICsKPiA+ ICsJaWYgKGRkaV9ob3RwbHVnX3RyaWdnZXIpIHsKPiA+ICsJCXUzMiBkaWdfaG90cGx1Z19yZWc7 Cj4gPiArCj4gPiArCQlkaWdfaG90cGx1Z19yZWcgPSBJOTE1X1JFQUQoU0hPVFBMVUdfQ1RMX0RE SSk7Cj4gPiArCQlJOTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9EREksIGRpZ19ob3RwbHVnX3JlZyk7 Cj4gPiArCj4gPiArCQlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2X3ByaXYsICZwaW5fbWFzaywKPiA+ ICZsb25nX21hc2ssCj4gPiArCQkJCcKgwqDCoGRkaV9ob3RwbHVnX3RyaWdnZXIsCj4gPiArCQkJ CcKgwqDCoGRpZ19ob3RwbHVnX3JlZywgaHBkX2ljcCwKPiA+ICsJCQkJwqDCoMKgaWNwX2RkaV9w b3J0X2hvdHBsdWdfbG9uZ19kZXRlYwo+ID4gdCk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJaWYgKHRj X2hvdHBsdWdfdHJpZ2dlcikgewo+ID4gKwkJdTMyIGRpZ19ob3RwbHVnX3JlZzsKPiA+ICsKPiA+ ICsJCWRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gKwkJ STkxNV9XUklURShTSE9UUExVR19DVExfVEMsIGRpZ19ob3RwbHVnX3JlZyk7Cj4gPiArCj4gPiAr CQlpbnRlbF9nZXRfaHBkX3BpbnMoZGV2X3ByaXYsICZwaW5fbWFzaywKPiA+ICZsb25nX21hc2ss Cj4gPiArCQkJCcKgwqDCoHRjX2hvdHBsdWdfdHJpZ2dlciwKPiA+ICsJCQkJwqDCoMKgZGlnX2hv dHBsdWdfcmVnLCBocGRfaWNwLAo+ID4gKwkJCQnCoMKgwqBpY3BfdGNfcG9ydF9ob3RwbHVnX2xv bmdfZGV0ZWN0Cj4gPiApOwo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChwaW5fbWFzaykKPiA+ICsJ CWludGVsX2hwZF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgcGluX21hc2ssCj4gPiBsb25nX21hc2sp Owo+ID4gKwo+ID4gKwlpZiAocGNoX2lpciAmIElDUF9HTUJVUykKPiA+ICsJCWdtYnVzX2lycV9o YW5kbGVyKGRldl9wcml2KTsKPiA+ICt9Cj4gPiArCj4gPiDCoHN0YXRpYyB2b2lkIHNwdF9pcnFf aGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMgo+ID4gcGNoX2lp cikKPiA+IMKgewo+ID4gwqAJdTMyIGhvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBTREVfSE9U UExVR19NQVNLX1NQVCAmCj4gPiBAQCAtMjc3OSw4ICsyODUzLDExIEBAIGdlbjhfZGVfaXJxX2hh bmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ICpkZXZfcHJpdiwgdTMyIG1hc3Rlcl9j dGwpCj4gPiDCoAkJCUk5MTVfV1JJVEUoU0RFSUlSLCBpaXIpOwo+ID4gwqAJCQlyZXQgPSBJUlFf SEFORExFRDsKPiA+IMKgCj4gPiAtCQkJaWYgKEhBU19QQ0hfU1BUKGRldl9wcml2KSB8fAo+ID4g SEFTX1BDSF9LQlAoZGV2X3ByaXYpIHx8Cj4gPiAtCQkJwqDCoMKgwqBIQVNfUENIX0NOUChkZXZf cHJpdikpCj4gPiArCQkJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiA+ICsJCQkJaWNwX2ly cV9oYW5kbGVyKGRldl9wcml2LCBpaXIpOwo+ID4gKwkJCWVsc2UgaWYgKEhBU19QQ0hfU1BUKGRl dl9wcml2KSB8fAo+ID4gKwkJCQnCoEhBU19QQ0hfS0JQKGRldl9wcml2KSB8fAo+ID4gKwkJCQnC oEhBU19QQ0hfQ05QKGRldl9wcml2KSkKPiA+IMKgCQkJCXNwdF9pcnFfaGFuZGxlcihkZXZfcHJp diwgaWlyKTsKPiA+IMKgCQkJZWxzZQo+ID4gwqAJCQkJY3B0X2lycV9oYW5kbGVyKGRldl9wcml2 LCBpaXIpOwo+ID4gQEAgLTM1NDgsNiArMzYyNSw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2lycV9y ZXNldChzdHJ1Y3QgZHJtX2RldmljZQo+ID4gKmRldikKPiA+IMKgCUdFTjNfSVJRX1JFU0VUKEdF TjExX0RFX0hQRF8pOwo+ID4gwqAJR0VOM19JUlFfUkVTRVQoR0VOMTFfR1VfTUlTQ18pOwo+ID4g wqAJR0VOM19JUlFfUkVTRVQoR0VOOF9QQ1VfKTsKPiA+ICsKPiA+ICsJaWYgKEhBU19QQ0hfSUNQ KGRldl9wcml2KSkKPiA+ICsJCUdFTjNfSVJRX1JFU0VUKElDUF9TREVfKTsKPiA+IMKgfQo+ID4g wqAKPiA+IMKgdm9pZCBnZW44X2lycV9wb3dlcl93ZWxsX3Bvc3RfZW5hYmxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYsCj4gPiBAQCAtMzY2NCw2ICszNzQ0LDM1IEBAIHN0 YXRpYyB2b2lkIGlieF9ocGRfaXJxX3NldHVwKHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPiDCoAlpYnhfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiDC oH0KPiA+IMKgCj4gPiArc3RhdGljIHZvaWQgaWNwX2hwZF9kZXRlY3Rpb25fc2V0dXAoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUKPiA+ICpkZXZfcHJpdikKPiA+ICt7Cj4gPiArCXUzMiBob3RwbHVn Owo+ID4gKwo+ID4gKwlob3RwbHVnID0gSTkxNV9SRUFEKFNIT1RQTFVHX0NUTF9EREkpOwo+ID4g Kwlob3RwbHVnIHw9IElDUF9ERElBX0hQRF9FTkFCTEUgfAo+ID4gKwkJwqDCoMKgSUNQX0RESUJf SFBEX0VOQUJMRTsKPiA+ICsJSTkxNV9XUklURShTSE9UUExVR19DVExfRERJLCBob3RwbHVnKTsK PiA+ICsKPiA+ICsJaG90cGx1ZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExfVEMpOwo+ID4gKwlo b3RwbHVnIHw9IElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEMxKSB8Cj4gPiArCQnCoMKgwqBJQ1Bf VENfSFBEX0VOQUJMRShQT1JUX1RDMikgfAo+ID4gKwkJwqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUo UE9SVF9UQzMpIHwKPiA+ICsJCcKgwqDCoElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEM0KTsKPiA+ ICsJSTkxNV9XUklURShTSE9UUExVR19DVExfVEMsIGhvdHBsdWcpOwo+ID4gK30KPiA+ICsKPiA+ ICtzdGF0aWMgdm9pZCBpY3BfaHBkX2lycV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPiArewo+ID4gKwl1MzIgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXM7Cj4g PiArCj4gPiArCWhvdHBsdWdfaXJxcyA9IElDUF9TREVfRERJX01BU0sgfCBJQ1BfU0RFX1RDX01B U0s7Cj4gPiArCWVuYWJsZWRfaXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2X3ByaXYs IGhwZF9pY3ApOwo+ID4gKwo+ID4gKwlpYnhfZGlzcGxheV9pbnRlcnJ1cHRfdXBkYXRlKGRldl9w cml2LCBob3RwbHVnX2lycXMsCj4gPiBlbmFibGVkX2lycXMpOwo+ID4gKwo+ID4gKwlpY3BfaHBk X2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiArfQo+ID4gKwo+ID4gwqBzdGF0aWMgdm9p ZCBnZW4xMV9ocGRfZGV0ZWN0aW9uX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiAq ZGV2X3ByaXYpCj4gPiDCoHsKPiA+IMKgCXUzMiBob3RwbHVnOwo+ID4gQEAgLTM2OTAsNiArMzc5 OSw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2hwZF9pcnFfc2V0dXAoc3RydWN0Cj4gPiBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiA+IMKgCVBPU1RJTkdfUkVBRChHRU4xMV9ERV9IUERfSU1S KTsKPiA+IMKgCj4gPiDCoAlnZW4xMV9ocGRfZGV0ZWN0aW9uX3NldHVwKGRldl9wcml2KTsKPiA+ ICsKPiA+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiA+ICsJCWljcF9ocGRfaXJxX3Nl dHVwKGRldl9wcml2KTsKPiA+IMKgfQo+ID4gwqAKPiA+IMKgc3RhdGljIHZvaWQgc3B0X2hwZF9k ZXRlY3Rpb25fc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ICpkZXZfcHJpdikKPiA+ IEBAIC00MTIxLDExICs0MjMzLDI5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2d0X2lycV9wb3N0aW5z dGFsbChzdHJ1Y3QKPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gwqAJSTkxNV9X UklURShHRU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfTUFTSyzCoMKgfjApOwo+ID4gwqB9Cj4gPiDC oAo+ID4gK3N0YXRpYyB2b2lkIGljcF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKPiA+ICsJdTMyIG1hc2sgPSBJQ1BfR01CVVM7Cj4gPiArCj4gPiArCVdBUk5f T04oSTkxNV9SRUFEKElDUF9TREVfSUVSKSAhPSAwKTsKPiA+ICsJSTkxNV9XUklURShJQ1BfU0RF X0lFUiwgMHhmZmZmZmZmZik7Cj4gPiArCVBPU1RJTkdfUkVBRChJQ1BfU0RFX0lFUik7Cj4gPiAr Cj4gPiArCWdlbjNfYXNzZXJ0X2lpcl9pc196ZXJvKGRldl9wcml2LCBJQ1BfU0RFX0lJUik7Cj4g PiArCUk5MTVfV1JJVEUoSUNQX1NERV9JTVIsIH5tYXNrKTsKPiA+ICsKPiA+ICsJaWNwX2hwZF9k ZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ID4gK30KPiA+ICsKPiA+IMKgc3RhdGljIGludCBn ZW4xMV9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+IMKgewo+ID4g wqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+IMKgCXUzMiBndV9taXNjX21hc2tlZCA9IEdFTjExX0dVX01JU0NfR1NFOwo+ID4gwqAKPiA+ ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiA+ICsJCWljcF9pcnFfcG9zdGluc3RhbGwo ZGV2KTsKPiA+ICsKPiA+IMKgCWdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChkZXZfcHJpdik7Cj4g PiDCoAlnZW44X2RlX2lycV9wb3N0aW5zdGFsbChkZXZfcHJpdik7Cj4gPiDCoAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gaW5kZXggMTk2MDAwOTc1ODFmLi4yOGNlOTZjZTA0ODQg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBAQCAtNzQ2MCw2ICs3NDYwLDQ2 IEBAIGVudW0gewo+ID4gwqAjZGVmaW5lwqDCoFBPUlRFX0hPVFBMVUdfU0hPUlRfREVURUNUCSgx IDw8IDApCj4gPiDCoCNkZWZpbmXCoMKgUE9SVEVfSE9UUExVR19MT05HX0RFVEVDVAkoMiA8PCAw KQo+ID4gwqAKPiA+ICsvKiBJQ1AgKi8KPiA+ICsjZGVmaW5lIElDUF9TREVfSVNSCQkJX01NSU8o MHhjNDAwMCkKPiA+ICsjZGVmaW5lIElDUF9TREVfSU1SCQkJX01NSU8oMHhjNDAwNCkKPiA+ICsj ZGVmaW5lIElDUF9TREVfSUlSCQkJX01NSU8oMHhjNDAwOCkKPiA+ICsjZGVmaW5lIElDUF9TREVf SUVSCQkJX01NSU8oMHhjNDAwYykKPiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSByZWdpc3Rl cnMgYXMgU0RFe0lTUixJTVIsSUlSLElFUn0uIEZvciBhbGwKPiB0aGUgb3RoZXIgcGxhdGZvcm1z IHdoYXQgd2UgZG8gaXMgcmF0aGVyIHBvc3RmaXggdGhlIHBsYXRmb3JtIG5hbWUuCj4gCj4gSSB0 aGluayB3ZSBzaG91bGQgZm9sbG93IHdoYXQgdGhleSBkbyBoZXJlLgo+IAo+IAo+ID4gCj4gPiAr I2RlZmluZcKgwqDCoElDUF9UQzRfSE9UUExVRwkJKDEgPDwgMjcpCj4gPiArI2RlZmluZcKgwqDC oElDUF9UQzNfSE9UUExVRwkJKDEgPDwgMjYpCj4gPiArI2RlZmluZcKgwqDCoElDUF9UQzJfSE9U UExVRwkJKDEgPDwgMjUpCj4gPiArI2RlZmluZcKgwqDCoElDUF9UQzFfSE9UUExVRwkJKDEgPDwg MjQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9HTUJVUwkJCSgxIDw8IDIzKQo+ID4gKyNkZWZpbmXC oMKgwqBJQ1BfRERJQl9IT1RQTFVHCQkoMSA8PCAxNykKPiA+ICsjZGVmaW5lwqDCoMKgSUNQX0RE SUFfSE9UUExVRwkJKDEgPDwgMTYpCj4gc28gdGhlc2Ugd291bGQgYmVjb21lIFNERV9UQzRfSE9U UExVR19JQ1AgYW5kIHNvIG9uLgo+IAoKVGhlIHJlYXNvbiBJIHByZWZlcnJlZCB0aGlzIG5hbWlu ZyBmb3IgZ2VuLTExIGlzIGl0IGlzIHN5bW1ldHJpYyB0byB0aGUKY29ycmVzcG9uZGluZyBkZWZp bml0aW9ucyBpbiB0aGUgbm9ydGggZW5naW5lLgoKRm9yIGV4YW1wbGUsCisjZGVmaW5lIEdFTjEx X0RFX0hQRF9JU1LCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfTU1JTygweDQ0NDcwKQor I2RlZmluZSBHRU4xMV9ERV9IUERfSU1SwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX01N SU8oMHg0NDQ3NCkKKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lJUsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoF9NTUlPKDB4NDQ0NzgpCisjZGVmaW5lIEdFTjExX0RFX0hQRF9JRVLCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfTU1JTygweDQ0NDdjKQorI2RlZmluZcKgwqBHRU4xMV9U QzRfSE9UUExVR8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxIDw8 IDE5KQorI2RlZmluZcKgwqBHRU4xMV9UQzNfSE9UUExVR8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCgxIDw8IDE4KQorI2RlZmluZcKgwqBHRU4xMV9UQzJfSE9UUExV R8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxIDw8IDE3KQorI2Rl ZmluZcKgwqBHRU4xMV9UQzFfSE9UUExVR8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCgxIDw8IDE2KQoKV2l0aCBpbnRlcnJ1cHRzIGdldHRpbmcgcm91dGVkIHRvIG5v cnRoIG9yIHNvdXRoIGVuZ2luZXMgZm9yIHRoZSBzYW1lCnBvcnQsIHRoaXMgbmFtaW5nIHNjaGVt ZSBtYWtlcyB0aGUgZHVhbGl0eSBjbGVhcmVyIElNTy4KCgo+ID4gCj4gPiArCj4gPiArI2RlZmlu ZSBJQ1BfU0RFX0RESV9NQVNLCQkoSUNQX0RESUJfSE9UUExVRyB8CQo+ID4gXAo+ID4gKwkJCQkJ wqBJQ1BfRERJQV9IT1RQTFVHKQo+ID4gKwo+ID4gKyNkZWZpbmUgSUNQX1NERV9UQ19NQVNLCQkJ KElDUF9UQzRfSE9UUExVRyB8CQo+ID4gXAo+ID4gKwkJCQkJwqBJQ1BfVEMzX0hPVFBMVUcgfAkK PiA+IFwKPiA+ICsJCQkJCcKgSUNQX1RDMl9IT1RQTFVHIHwJCj4gPiBcCj4gPiArCQkJCQnCoElD UF9UQzFfSE9UUExVRykKPiA+ICsKPiA+ICsjZGVmaW5lIFNIT1RQTFVHX0NUTF9EREkJCQlfTU1J TygweGM0MDMwKQkKPiA+IC8qIFNIT1RQTFVHX0NUTCAqLwo+IFRoaXMgYWxzbyBzZWVtcyB0byBy ZXVzZSB3aGF0IHdlIGhhdmUgZGVmaW5lZCBhcyBQQ0hfUE9SVF9IT1RQTFVHCj4gd2l0aCBhCj4g Y29tbWVudCB0byBTSE9UUExVR19DVEwgdGhlcmUsIGFsdGhvdWdoIGhlcmUgSSB0ZW5kIHRvIGJl IGluIGZhdm9yIG9mCj4gdXNpbmcgdGhlIGN1cnJlbnQgcmVhbCBuYW1lIG9mIHRoZSByZWdpc3Rl ciAoU0hPVFBMVUdfQ1RMKS4KClRoZSByZWFsIG5hbWUgSSBzZWUgaXMgU0hPVFBMVUdfQ1RMX0RE SSBmb3IgSUNQLgoKSSBkb24ndCBiZWxpZXZlIHdlIHNob3VsZCBhdHRlbXB0IHRvIG1ha2UgdGhl c2UgZGVmaW5pdGlvbnMgY29uc2lzdGVudAp3aXRoIHByZXZpb3VzIHBsYXRmb3JtcyBvdmVyIG1h a2luZyB0aGVtIGNvbnNpc3RlbnQgd2l0aCBlYWNoIG90aGVyLgrCoAoKPiAKPiBUaGUgcmVzdCBs b29rcyBnb29kIHRvIG1lLgo+IAo+IEx1Y2FzIERlIE1hcmNoaQo+IAo+ID4gCj4gPiArI2RlZmlu ZcKgwqDCoElDUF9ERElCX0hQRF9FTkFCTEUJCQkoMSA8PCA3KQo+ID4gKyNkZWZpbmXCoMKgwqBJ Q1BfRERJQl9IUERfU1RBVFVTX01BU0sJCSgzIDw8IDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9E RElCX0hQRF9OT19ERVRFQ1QJCSgwIDw8IDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElCX0hQ RF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElCX0hQRF9M T05HX0RFVEVDVAkJKDIgPDwgNCkKPiA+ICsjZGVmaW5lwqDCoMKgSUNQX0RESUJfSFBEX1NIT1JU X0xPTkdfREVURUNUCSgzIDw8IDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9FTkFC TEUJCQkoMSA8PCAzKQo+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQV9IUERfU1RBVFVTX01BU0sJ CSgzIDw8IDApCj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9OT19ERVRFQ1QJCSgwIDw8 IDApCj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDAp Cj4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9MT05HX0RFVEVDVAkJKDIgPDwgMCkKPiA+ ICsjZGVmaW5lwqDCoMKgSUNQX0RESUFfSFBEX1NIT1JUX0xPTkdfREVURUNUCSgzIDw8IDApCj4g PiArCj4gPiArI2RlZmluZSBTSE9UUExVR19DVExfVEMJCQkJX01NSU8oMHhjNDAKPiA+IDM0KQo+ ID4gKyNkZWZpbmXCoMKgwqBJQ1BfVENfSFBEX0VOQUJMRSh0Y19wb3J0KQkJKDggPDwKPiA+ICh0 Y19wb3J0KSAqIDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9UQ19IUERfTE9OR19ERVRFQ1QodGNf cG9ydCkJKDIgPDwgKHRjX3BvcnQpICoKPiA+IDQpCj4gPiArI2RlZmluZcKgwqDCoElDUF9UQ19I UERfU0hPUlRfREVURUNUKHRjX3BvcnQpCSgxIDw8ICh0Y19wb3J0KQo+ID4gKiA0KQo+ID4gKwo+ ID4gwqAjZGVmaW5lIFBDSF9HUElPQcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9NTUlP KDB4YzUwMTApCj4gPiDCoCNkZWZpbmUgUENIX0dQSU9CwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgX01NSU8oMHhjNTAxNCkKPiA+IMKgI2RlZmluZSBQQ0hfR1BJT0PCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBfTU1JTygweGM1MDE4KQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK