From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH] drm/i915/icp: Add Interrupt Support Date: Tue, 26 Jun 2018 16:38:23 -0700 Message-ID: <1530056303.2574.8.camel@intel.com> References: <1530046343-30649-1-git-send-email-anusha.srivatsa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 25F736E69A for ; Tue, 26 Jun 2018 23:38:28 +0000 (UTC) In-Reply-To: <1530046343-30649-1-git-send-email-anusha.srivatsa@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Anusha Srivatsa , intel-gfx@lists.freedesktop.org Cc: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org RW0gVGVyLCAyMDE4LTA2LTI2IMOgcyAxMzo1MiAtMDcwMCwgQW51c2hhIFNyaXZhdHNhIGVzY3Jl dmV1Ogo+IFRoaXMgcGF0Y2ggYWRkcmVzc2VzIEludGVycnVwdHMgZnJvbSBzb3V0aCBkaXNwbGF5 IGVuZ2luZSAoU0RFKS4KPiAKPiBJQ1AgaGFzIHR3byByZWdpc3RlcnMgLSBTSE9UUExVR19DVExf RERJIGFuZCBTSE9UUExVR19DVExfVEMuCj4gSW50cm9kdWNlIHRoZXNlIHJlZ2lzdGVycyBhbmQg dGhlaXIgaW50ZW5kZWQgdmFsdWVzLgo+IAo+IEludHJvZHVjZSBpY3BfaXJxX2hhbmRsZXIoKS4K PiAKPiBUaGUgaWNwX2lycV9wb3N0aW5zdGFsbCgpIHRha2VzIGNhcmUgb2YKPiBlbmFibGluZyBh bGwgUENIIGludGVycnVwdCBzb3VyY2VzLCB0byB1bm1hc2sKPiB0aGVtIGFzIG5lZWRlZCB3aXRo IFNERUlNUiwgYXMgaXMgZG9uZQo+IGRvbmUgYnkgaWJ4X2lycV9wcmVfcG9zdGluc3RhbGwoKSBm b3IgZWFybGllciBwbGF0Zm9ybXMuCj4gV2UgZG8gbm90IG5lZWQgdG8gZXhwbGljaXRseSBjYWxs IHRoZSBpYnhfaXJxX3ByZV9wb3N0aW5zdGFsbCgpLgo+IAo+IEFsc28sIHdoaWxlIGNoYW5naW5n IHRoZXNlLAo+IHMvQ1BUL1BQVC9DUFQtQ05QIGNvbW1lbnQuCj4gCj4gdjI6Cj4gLSByZW1vdmUg cmVkdW5kYW50IHJlZ2lzdGVyIGRlZmluZXMuKEx1Y2FzKQo+IC0gQ2hhbmdlIHJlZ2lzdGVyIG5h bWVzIHRvIGJlIG1vcmUgY29uc2lzdGVudCB3aXRoCj4gcHJldmlvdXMgcGxhdGZvcm1zIChMdWNh cykKPiAKPiB2MzoKPiAtUmVvcmRlciBiaXQgZGVmaW5lcyB0byBhIG1vcmUgYXBwcm9wcmlhdGUg bG9jYXRpb24uCj4gIENoYW5nZSB0aGUgY29tbWVudHMuIENvbmZpcm0gaW4gdGhlIGNvbW1pdCBt ZXNzYWdlIHRoYXQKPiAgaWNwX2lycV9wb3N0aW5zdGFsbCgpIG5lZWQgbm90IGdvIHRvCj4gIGli eF9pcnFfcHJlX3Bvc3RpbnN0YWxsKCkgYW5kIGlieF9pcnFfcG9zdGluc3RhbGwoKQo+ICBhcyBp biBlYXJsaWVyIHBsYXRmb3Jtcy4gKFBhdWxvKQo+IAo+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1 Y2FzLmRlLm1hcmNoaUBnbWFpbC5jb20+Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5v bmlAaW50ZWwuY29tPgo+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRp eWFuQGludGVsLmNvbT4KPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0 c2FAaW50ZWwuY29tPgo+IFtQYXVsbzogY29kaW5nIHN0eWxlIGJpa2VzaGVkcyBhbmQgcmViYXNl c10uCj4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5j b20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgfCAxMzQKPiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggfCAgNDIgKysrKysrKysrKysrLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDE3 MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCj4gaW5kZXggNDZhYWVmNS4uN2E3YzRhMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu Ywo+IEBAIC0xMjIsNiArMTIyLDE1IEBAIHN0YXRpYyBjb25zdCB1MzIgaHBkX2dlbjExW0hQRF9O VU1fUElOU10gPSB7Cj4gIAlbSFBEX1BPUlRfRl0gPSBHRU4xMV9UQzRfSE9UUExVRyB8IEdFTjEx X1RCVDRfSE9UUExVRwo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHUzMiBocGRfaWNwW0hQRF9O VU1fUElOU10gPSB7Cj4gKwlbSFBEX1BPUlRfQV0gPSBTREVfRERJQV9IT1RQTFVHX0lDUCwKPiAr CVtIUERfUE9SVF9CXSA9IFNERV9ERElCX0hPVFBMVUdfSUNQLAo+ICsJW0hQRF9QT1JUX0NdID0g U0RFX1RDMV9IT1RQTFVHX0lDUCwKPiArCVtIUERfUE9SVF9EXSA9IFNERV9UQzJfSE9UUExVR19J Q1AsCj4gKwlbSFBEX1BPUlRfRV0gPSBTREVfVEMzX0hPVFBMVUdfSUNQLAo+ICsJW0hQRF9QT1JU X0ZdID0gU0RFX1RDNF9IT1RQTFVHX0lDUAo+ICt9Owo+ICsKPiAgLyogSUlSIGNhbiB0aGVvcmV0 aWNhbGx5IHF1ZXVlIHVwIHR3byBldmVudHMuIEJlIHBhcmFub2lkLiAqLwo+ICAjZGVmaW5lIEdF TjhfSVJRX1JFU0VUX05EWCh0eXBlLCB3aGljaCkgZG8geyBcCj4gIAlJOTE1X1dSSVRFKEdFTjhf IyN0eXBlIyNfSU1SKHdoaWNoKSwgMHhmZmZmZmZmZik7IFwKPiBAQCAtMTU4Niw2ICsxNTk1LDM0 IEBAIHN0YXRpYyBib29sIGJ4dF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bQo+IHBvcnQg cG9ydCwgdTMyIHZhbCkKPiAgCX0KPiAgfQo+ICAKPiArc3RhdGljIGJvb2wgaWNwX2RkaV9wb3J0 X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMgo+IHZhbCkKPiArewo+ICsJ c3dpdGNoIChwb3J0KSB7Cj4gKwljYXNlIFBPUlRfQToKPiArCQlyZXR1cm4gdmFsICYgSUNQX0RE SUFfSFBEX0xPTkdfREVURUNUOwo+ICsJY2FzZSBQT1JUX0I6Cj4gKwkJcmV0dXJuIHZhbCAmIElD UF9ERElCX0hQRF9MT05HX0RFVEVDVDsKPiArCWRlZmF1bHQ6Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBpY3BfdGNfcG9ydF9ob3RwbHVnX2xvbmdfZGV0 ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFsKQo+ICt7Cj4gKwlzd2l0Y2ggKHBvcnQpIHsKPiAr CWNhc2UgUE9SVF9DOgo+ICsJCXJldHVybiB2YWwgJiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBP UlRfVEMxKTsKPiArCWNhc2UgUE9SVF9EOgo+ICsJCXJldHVybiB2YWwgJiBJQ1BfVENfSFBEX0xP TkdfREVURUNUKFBPUlRfVEMyKTsKPiArCWNhc2UgUE9SVF9FOgo+ICsJCXJldHVybiB2YWwgJiBJ Q1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEMzKTsKPiArCWNhc2UgUE9SVF9GOgo+ICsJCXJl dHVybiB2YWwgJiBJQ1BfVENfSFBEX0xPTkdfREVURUNUKFBPUlRfVEM0KTsKPiArCWRlZmF1bHQ6 Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICt9Cj4gKwo+ICBzdGF0aWMgYm9vbCBzcHRfcG9y dF9ob3RwbHVnMl9sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiAgewo+ICAJ c3dpdGNoIChwb3J0KSB7Cj4gQEAgLTIzODUsNiArMjQyMiw0MyBAQCBzdGF0aWMgdm9pZCBjcHRf aXJxX2hhbmRsZXIoc3RydWN0Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwY2hf aWlyKQo+ICAJCWNwdF9zZXJyX2ludF9oYW5kbGVyKGRldl9wcml2KTsKPiAgfQo+ICAKPiArc3Rh dGljIHZvaWQgaWNwX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgdTMyCj4gcGNoX2lpcikKPiArewo+ICsJdTMyIGRkaV9ob3RwbHVnX3RyaWdnZXIgPSBwY2hf aWlyICYgU0RFX0RESV9NQVNLX0lDUDsKPiArCXUzMiB0Y19ob3RwbHVnX3RyaWdnZXIgPSBwY2hf aWlyICYgU0RFX1RDX01BU0tfSUNQOwo+ICsJdTMyIHBpbl9tYXNrID0gMCwgbG9uZ19tYXNrID0g MDsKPiArCj4gKwlpZiAoZGRpX2hvdHBsdWdfdHJpZ2dlcikgewo+ICsJCXUzMiBkaWdfaG90cGx1 Z19yZWc7Cj4gKwo+ICsJCWRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChTSE9UUExVR19DVExf RERJKTsKPiArCQlJOTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9EREksIGRpZ19ob3RwbHVnX3JlZyk7 Cj4gKwo+ICsJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNrLCAmbG9uZ19t YXNrLAo+ICsJCQkJICAgZGRpX2hvdHBsdWdfdHJpZ2dlciwKPiArCQkJCSAgIGRpZ19ob3RwbHVn X3JlZywgaHBkX2ljcCwKPiArCQkJCSAgIGljcF9kZGlfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0 KQo+IDsKPiArCX0KPiArCj4gKwlpZiAodGNfaG90cGx1Z190cmlnZ2VyKSB7Cj4gKwkJdTMyIGRp Z19ob3RwbHVnX3JlZzsKPiArCj4gKwkJZGlnX2hvdHBsdWdfcmVnID0gSTkxNV9SRUFEKFNIT1RQ TFVHX0NUTF9UQyk7Cj4gKwkJSTkxNV9XUklURShTSE9UUExVR19DVExfVEMsIGRpZ19ob3RwbHVn X3JlZyk7Cj4gKwo+ICsJCWludGVsX2dldF9ocGRfcGlucyhkZXZfcHJpdiwgJnBpbl9tYXNrLCAm bG9uZ19tYXNrLAo+ICsJCQkJICAgdGNfaG90cGx1Z190cmlnZ2VyLAo+ICsJCQkJICAgZGlnX2hv dHBsdWdfcmVnLCBocGRfaWNwLAo+ICsJCQkJICAgaWNwX3RjX3BvcnRfaG90cGx1Z19sb25nX2Rl dGVjdCk7Cj4gKwl9Cj4gKwo+ICsJaWYgKHBpbl9tYXNrKQo+ICsJCWludGVsX2hwZF9pcnFfaGFu ZGxlcihkZXZfcHJpdiwgcGluX21hc2ssCj4gbG9uZ19tYXNrKTsKPiArCj4gKwlpZiAocGNoX2lp ciAmIFNERV9HTUJVU19JQ1ApCj4gKwkJZ21idXNfaXJxX2hhbmRsZXIoZGV2X3ByaXYpOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgdm9pZCBzcHRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIKPiBwY2hfaWlyKQo+ICB7Cj4gIAl1MzIgaG90cGx1Z190cmlnZ2Vy ID0gcGNoX2lpciAmIFNERV9IT1RQTFVHX01BU0tfU1BUICYKPiBAQCAtMjgwNCw4ICsyODc4LDEx IEBAIGdlbjhfZGVfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiAqZGV2X3By aXYsIHUzMiBtYXN0ZXJfY3RsKQo+ICAJCQlJOTE1X1dSSVRFKFNERUlJUiwgaWlyKTsKPiAgCQkJ cmV0ID0gSVJRX0hBTkRMRUQ7Cj4gIAo+IC0JCQlpZiAoSEFTX1BDSF9TUFQoZGV2X3ByaXYpIHx8 Cj4gSEFTX1BDSF9LQlAoZGV2X3ByaXYpIHx8Cj4gLQkJCSAgICBIQVNfUENIX0NOUChkZXZfcHJp dikpCj4gKwkJCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gKwkJCQlpY3BfaXJxX2hhbmRs ZXIoZGV2X3ByaXYsIGlpcik7Cj4gKwkJCWVsc2UgaWYgKEhBU19QQ0hfU1BUKGRldl9wcml2KSB8 fAo+ICsJCQkJIEhBU19QQ0hfS0JQKGRldl9wcml2KSB8fAo+ICsJCQkJIEhBU19QQ0hfQ05QKGRl dl9wcml2KSkKPiAgCQkJCXNwdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKPiAgCQkJZWxz ZQo+ICAJCQkJY3B0X2lycV9oYW5kbGVyKGRldl9wcml2LCBpaXIpOwo+IEBAIC0zNTg0LDYgKzM2 NjEsOSBAQCBzdGF0aWMgdm9pZCBnZW4xMV9pcnFfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UKPiAq ZGV2KQo+ICAJR0VOM19JUlFfUkVTRVQoR0VOMTFfREVfSFBEXyk7Cj4gIAlHRU4zX0lSUV9SRVNF VChHRU4xMV9HVV9NSVNDXyk7Cj4gIAlHRU4zX0lSUV9SRVNFVChHRU44X1BDVV8pOwo+ICsKPiAr CWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gKwkJR0VOM19JUlFfUkVTRVQoU0RFKTsKPiAg fQo+ICAKPiAgdm9pZCBnZW44X2lycV9wb3dlcl93ZWxsX3Bvc3RfZW5hYmxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlCj4gKmRldl9wcml2LAo+IEBAIC0zNzAwLDYgKzM3ODAsMzUgQEAgc3RhdGlj IHZvaWQgaWJ4X2hwZF9pcnFfc2V0dXAoc3RydWN0Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gIAlpYnhfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gIH0KPiAgCj4gK3N0 YXRpYyB2b2lkIGljcF9ocGRfZGV0ZWN0aW9uX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl Cj4gKmRldl9wcml2KQo+ICt7Cj4gKwl1MzIgaG90cGx1ZzsKPiArCj4gKwlob3RwbHVnID0gSTkx NV9SRUFEKFNIT1RQTFVHX0NUTF9EREkpOwo+ICsJaG90cGx1ZyB8PSBJQ1BfRERJQV9IUERfRU5B QkxFIHwKPiArCQkgICBJQ1BfRERJQl9IUERfRU5BQkxFOwo+ICsJSTkxNV9XUklURShTSE9UUExV R19DVExfRERJLCBob3RwbHVnKTsKPiArCj4gKwlob3RwbHVnID0gSTkxNV9SRUFEKFNIT1RQTFVH X0NUTF9UQyk7Cj4gKwlob3RwbHVnIHw9IElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEMxKSB8Cj4g KwkJICAgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzIpIHwKPiArCQkgICBJQ1BfVENfSFBEX0VO QUJMRShQT1JUX1RDMykgfAo+ICsJCSAgIElDUF9UQ19IUERfRU5BQkxFKFBPUlRfVEM0KTsKPiAr CUk5MTVfV1JJVEUoU0hPVFBMVUdfQ1RMX1RDLCBob3RwbHVnKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgaWNwX2hwZF9pcnFfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ICt7Cj4gKwl1MzIgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXM7Cj4gKwo+ICsJaG90cGx1 Z19pcnFzID0gU0RFX0RESV9NQVNLX0lDUCB8IFNERV9UQ19NQVNLX0lDUDsKPiArCWVuYWJsZWRf aXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2X3ByaXYsIGhwZF9pY3ApOwo+ICsKPiAr CWlieF9kaXNwbGF5X2ludGVycnVwdF91cGRhdGUoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywKPiBl bmFibGVkX2lycXMpOwo+ICsKPiArCWljcF9ocGRfZGV0ZWN0aW9uX3NldHVwKGRldl9wcml2KTsK PiArfQo+ICsKPiAgc3RhdGljIHZvaWQgZ2VuMTFfaHBkX2RldGVjdGlvbl9zZXR1cChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZQo+ICpkZXZfcHJpdikKPiAgewo+ICAJdTMyIGhvdHBsdWc7Cj4gQEAg LTM3MzMsNiArMzg0Miw5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2hwZF9pcnFfc2V0dXAoc3RydWN0 Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlQT1NUSU5HX1JFQUQoR0VOMTFfREVf SFBEX0lNUik7Cj4gIAo+ICAJZ2VuMTFfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4g Kwo+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiArCQlpY3BfaHBkX2lycV9zZXR1cChk ZXZfcHJpdik7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHNwdF9ocGRfZGV0ZWN0aW9uX3NldHVw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gKmRldl9wcml2KQo+IEBAIC00MTY4LDExICs0Mjgw LDI5IEBAIHN0YXRpYyB2b2lkIGdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QKPiBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCUk5MTVfV1JJVEUoR0VOMTFfR1BNX1dHQk9YUEVS Rl9JTlRSX01BU0ssICB+MCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGljcF9pcnFfcG9zdGlu c3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsJdTMyIG1hc2sgPSBTREVfR01CVVNf SUNQOwo+ICsKPiArCVdBUk5fT04oSTkxNV9SRUFEKFNERUlFUikgIT0gMCk7Cj4gKwlJOTE1X1dS SVRFKFNERUlFUiwgMHhmZmZmZmZmZik7Cj4gKwlQT1NUSU5HX1JFQUQoU0RFSUVSKTsKPiArCj4g KwlnZW4zX2Fzc2VydF9paXJfaXNfemVybyhkZXZfcHJpdiwgU0RFSUlSKTsKPiArCUk5MTVfV1JJ VEUoU0RFSU1SLCB+bWFzayk7Cj4gKwo+ICsJaWNwX2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3By aXYpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGdlbjExX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJdTMyIGd1X21pc2NfbWFza2VkID0gR0VOMTFfR1Vf TUlTQ19HU0U7Cj4gIAo+ICsJaWYgKEhBU19QQ0hfSUNQKGRldl9wcml2KSkKPiArCQlpY3BfaXJx X3Bvc3RpbnN0YWxsKGRldik7Cj4gKwo+ICAJZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKGRldl9w cml2KTsKPiAgCWdlbjhfZGVfaXJxX3Bvc3RpbnN0YWxsKGRldl9wcml2KTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCBjYWFkMTlmLi5jZjVkNjdiIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCj4gQEAgLTc0MTcsNyArNzQxNyw3IEBAIGVudW0gewo+ICAjZGVmaW5l IFNERV9UUkFOU0FfRklGT19VTkRFUgkoMSA8PCAwKQo+ICAjZGVmaW5lIFNERV9UUkFOU19NQVNL CQkoMHgzZikKPiAgCj4gLS8qIHNvdXRoIGRpc3BsYXkgZW5naW5lIGludGVycnVwdDogQ1BUL1BQ VCAqLwo+ICsvKiBzb3V0aCBkaXNwbGF5IGVuZ2luZSBpbnRlcnJ1cHQ6IENQVCAtIENOUCAqLwo+ ICAjZGVmaW5lIFNERV9BVURJT19QT1dFUl9EX0NQVAkoMSA8PCAzMSkKPiAgI2RlZmluZSBTREVf QVVESU9fUE9XRVJfQ19DUFQJKDEgPDwgMzApCj4gICNkZWZpbmUgU0RFX0FVRElPX1BPV0VSX0Jf Q1BUCSgxIDw8IDI5KQo+IEBAIC03NDY1LDYgKzc0NjUsMjIgQEAgZW51bSB7Cj4gIAkJCQkgU0RF X0ZESV9SWEJfQ1BUIHwgXAo+ICAJCQkJIFNERV9GRElfUlhBX0NQVCkKPiAgCj4gKy8qIHNvdXRo IGRpc3BsYXkgZW5naW5lIGludGVycnVwdDogSUNQICovCj4gKyNkZWZpbmUgICBTREVfVEM0X0hP VFBMVUdfSUNQCQkoMSA8PCAyNykKPiArI2RlZmluZSAgIFNERV9UQzNfSE9UUExVR19JQ1AJCSgx IDw8IDI2KQo+ICsjZGVmaW5lICAgU0RFX1RDMl9IT1RQTFVHX0lDUAkJKDEgPDwgMjUpCj4gKyNk ZWZpbmUgICBTREVfVEMxX0hPVFBMVUdfSUNQCQkoMSA8PCAyNCkKPiArI2RlZmluZSAgIFNERV9H TUJVU19JQ1AJCQkoMSA8PCAyMykKPiArI2RlZmluZSAgIFNERV9ERElCX0hPVFBMVUdfSUNQCQko MSA8PCAxNykKPiArI2RlZmluZSAgIFNERV9ERElBX0hPVFBMVUdfSUNQCQkoMSA8PCAxNikKPiAr Cj4gKyNkZWZpbmUgU0RFX0RESV9NQVNLX0lDUAkJKFNERV9ERElCX0hPVFBMVUdfSUNQIHwJCj4g XAo+ICsJCQkJCSBTREVfRERJQV9IT1RQTFVHX0lDUCkKPiArCj4gKyNkZWZpbmUgU0RFX1RDX01B U0tfSUNQCQkJKFNERV9UQzRfSE9UUExVR19JQ1AKPiB8CVwKPiArCQkJCQkgU0RFX1RDM19IT1RQ TFVHX0lDUCB8CQo+IFwKPiArCQkJCQkgU0RFX1RDMl9IT1RQTFVHX0lDUCB8CQo+IFwKPiArCQkJ CQkgU0RFX1RDMV9IT1RQTFVHX0lDUCkKCk1pc3NpbmcgbmV3IGxpbmUgaGVyZS4gSSBjYW4gZml4 IHRoaXMgd2hpbGUgYXBwbHlpbmcuCgpSZXZpZXdlZC1ieTogUGF1bG8gWmFub25pIDxwYXVsby5y Lnphbm9uaUBpbnRlbC5jb20+Cgo+ICAjZGVmaW5lIFNERUlTUiAgX01NSU8oMHhjNDAwMCkKPiAg I2RlZmluZSBTREVJTVIgIF9NTUlPKDB4YzQwMDQpCj4gICNkZWZpbmUgU0RFSUlSICBfTU1JTygw eGM0MDA4KQo+IEBAIC03NTI1LDYgKzc1NDEsMzAgQEAgZW51bSB7Cj4gICNkZWZpbmUgIFBPUlRF X0hPVFBMVUdfU0hPUlRfREVURUNUCSgxIDw8IDApCj4gICNkZWZpbmUgIFBPUlRFX0hPVFBMVUdf TE9OR19ERVRFQ1QJKDIgPDwgMCkKPiAgCj4gKy8qIFRoaXMgcmVnaXN0ZXIgaXMgYSByZXVzZSBv ZiBQQ0hfUE9SVF9IT1RQTFVHIHJlZ2lzdGVyLiBUaGUKPiArICogZnVuY3Rpb25hbGl0eSBjb3Zl cmVkIGluIFBDSF9QT1JUX0hPVFBMVUcgaXMgc3BsaXQgaW50bwo+ICsgKiBTSE9UUExVR19DVExf RERJIGFuZCBTSE9UUExVR19DVExfVEMuCj4gKyAqLwo+ICsKPiArI2RlZmluZSBTSE9UUExVR19D VExfRERJCQkJX01NSU8oMHhjNDAzMCkKPiArI2RlZmluZSAgIElDUF9ERElCX0hQRF9FTkFCTEUJ CQkoMSA8PCA3KQo+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBEX1NUQVRVU19NQVNLCQkoMyA8PCA0 KQo+ICsjZGVmaW5lICAgSUNQX0RESUJfSFBEX05PX0RFVEVDVAkJKDAgPDwgNCkKPiArI2RlZmlu ZSAgIElDUF9ERElCX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDQpCj4gKyNkZWZpbmUgICBJQ1Bf RERJQl9IUERfTE9OR19ERVRFQ1QJCSgyIDw8IDQpCj4gKyNkZWZpbmUgICBJQ1BfRERJQl9IUERf U0hPUlRfTE9OR19ERVRFQ1QJKDMgPDwgNCkKPiArI2RlZmluZSAgIElDUF9ERElBX0hQRF9FTkFC TEUJCQkoMSA8PCAzKQo+ICsjZGVmaW5lICAgSUNQX0RESUFfSFBEX1NUQVRVU19NQVNLCQkoMyA8 PCAwKQo+ICsjZGVmaW5lICAgSUNQX0RESUFfSFBEX05PX0RFVEVDVAkJKDAgPDwgMCkKPiArI2Rl ZmluZSAgIElDUF9ERElBX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDApCj4gKyNkZWZpbmUgICBJ Q1BfRERJQV9IUERfTE9OR19ERVRFQ1QJCSgyIDw8IDApCj4gKyNkZWZpbmUgICBJQ1BfRERJQV9I UERfU0hPUlRfTE9OR19ERVRFQ1QJKDMgPDwgMCkKPiArCj4gKyNkZWZpbmUgU0hPVFBMVUdfQ1RM X1RDCQkJCV9NTUlPKDB4YzQwMzQKPiApCj4gKyNkZWZpbmUgICBJQ1BfVENfSFBEX0VOQUJMRSh0 Y19wb3J0KQkJKDggPDwgKHRjX3BvcnQpCj4gKiA0KQo+ICsjZGVmaW5lICAgSUNQX1RDX0hQRF9M T05HX0RFVEVDVCh0Y19wb3J0KQkoMiA8PCAodGNfcG9ydCkgKgo+IDQpCj4gKyNkZWZpbmUgICBJ Q1BfVENfSFBEX1NIT1JUX0RFVEVDVCh0Y19wb3J0KQkoMSA8PCAodGNfcG9ydCkgKgo+IDQpCj4g Kwo+ICAjZGVmaW5lIFBDSF9HUElPQSAgICAgICAgICAgICAgIF9NTUlPKDB4YzUwMTApCj4gICNk ZWZpbmUgUENIX0dQSU9CICAgICAgICAgICAgICAgX01NSU8oMHhjNTAxNCkKPiAgI2RlZmluZSBQ Q0hfR1BJT0MgICAgICAgICAgICAgICBfTU1JTygweGM1MDE4KQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK