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: Wed, 13 Jun 2018 15:23:07 -0700 Message-ID: <20180613222306.GB17137@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> <20180525004321.GC2951@ldmartin-desk.amr.corp.intel.com> <20180529234150.GA11474@ldmartin-desk.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 348036E169 for ; Wed, 13 Jun 2018 22:23:11 +0000 (UTC) Received: by mail-pf0-x243.google.com with SMTP id a63-v6so2151860pfl.1 for ; Wed, 13 Jun 2018 15:23:11 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180529234150.GA11474@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: Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMjksIDIwMTggYXQgMDU6MDQ6NThQTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIFRodSwgTWF5IDI0LCAyMDE4IGF0IDA1OjQzOjI0UE0gLTA3MDAsIEx1Y2Fz IERlIE1hcmNoaSB3cm90ZToKPiA+IE9uIFRodSwgTWF5IDI0LCAyMDE4IGF0IDA1OjQ1OjQzUE0g LTA3MDAsIERoaW5ha2FyYW4gUGFuZGl5YW4gd3JvdGU6Cj4gPiA+IE9uIFRodSwgMjAxOC0wNS0y NCBhdCAxNjo1MyAtMDcwMCwgTHVjYXMgRGUgTWFyY2hpIHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwg TWF5IDIxLCAyMDE4IGF0IDA1OjI1OjM5UE0gLTA3MDAsIFBhdWxvIFphbm9uaSB3cm90ZToKPiA+ ID4gPiA+IAo+ID4gPiA+ID4gRnJvbTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FA aW50ZWwuY29tPgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBUaGlzIHBhdGNoIGFkZHJlc3NlcyBJbnRl cnJ1cHRzIGZyb20gc291dGggZGlzcGxheSBlbmdpbmUgKFNERSkuCj4gPiA+ID4gPiAKPiA+ID4g PiA+IElDUCBoYXMgdHdvIHJlZ2lzdGVycyAtIFNIT1RQTFVHX0NUTF9EREkgYW5kIFNIT1RQTFVH X0NUTF9UQy4KPiA+ID4gPiA+IEludHJvZHVjZSB0aGVzZSByZWdpc3RlcnMgYW5kIHRoZWlyIGlu dGVuZGVkIHZhbHVlcy4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gSW50cm9kdWNlIGljcF9pcnFfaGFu ZGxlcigpLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+Cj4gPiA+ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFr YXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiA+ID4gPiBDYzogVmlsbGUgU3lyamFsYSA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbnVz aGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gPiA+ID4gPiBbUGF1bG86 IGNvZGluZyBzdHlsZSBiaWtlc2hlZHMgYW5kIHJlYmFzZXNdLgo+ID4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiA+ID4gPiAt LS0KPiA+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8IDEzNAo+ID4g PiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4gPiA+ID4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIHzCoMKgNDAgKysrKysrKysrKysrCj4g PiA+ID4gPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK PiA+ID4gPiA+IGluZGV4IDliY2VjNWZkYjlkMC4uNmIxMDk5OTE3ODZmIDEwMDY0NAo+ID4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gPiA+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gPiA+ID4gQEAgLTEyMiw2ICsxMjIs MTUgQEAgc3RhdGljIGNvbnN0IHUzMiBocGRfdGNfZ2VuMTFbSFBEX05VTV9QSU5TXSA9Cj4gPiA+ ID4gPiB7Cj4gPiA+ID4gPiDCoAlbSFBEX1BPUlRfRl0gPSBHRU4xMV9UQzRfSE9UUExVRwo+ID4g PiA+ID4gwqB9Owo+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ICtzdGF0aWMgY29uc3QgdTMyIGhwZF9p Y3BbSFBEX05VTV9QSU5TXSA9IHsKPiA+ID4gPiA+ICsJW0hQRF9QT1JUX0FdID0gSUNQX0RESUFf SE9UUExVRywKPiA+ID4gPiA+ICsJW0hQRF9QT1JUX0JdID0gSUNQX0RESUJfSE9UUExVRywKPiA+ ID4gPiA+ICsJW0hQRF9QT1JUX0NdID0gSUNQX1RDMV9IT1RQTFVHLAo+ID4gPiA+ID4gKwlbSFBE X1BPUlRfRF0gPSBJQ1BfVEMyX0hPVFBMVUcsCj4gPiA+ID4gPiArCVtIUERfUE9SVF9FXSA9IElD UF9UQzNfSE9UUExVRywKPiA+ID4gPiA+ICsJW0hQRF9QT1JUX0ZdID0gSUNQX1RDNF9IT1RQTFVH Cj4gPiA+ID4gPiArfTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+IMKgLyogSUlSIGNhbiB0aGVvcmV0 aWNhbGx5IHF1ZXVlIHVwIHR3byBldmVudHMuIEJlIHBhcmFub2lkLiAqLwo+ID4gPiA+ID4gwqAj ZGVmaW5lIEdFTjhfSVJRX1JFU0VUX05EWCh0eXBlLCB3aGljaCkgZG8geyBcCj4gPiA+ID4gPiDC oAlJOTE1X1dSSVRFKEdFTjhfIyN0eXBlIyNfSU1SKHdoaWNoKSwgMHhmZmZmZmZmZik7IFwKPiA+ ID4gPiA+IEBAIC0xNTg2LDYgKzE1OTUsMzQgQEAgc3RhdGljIGJvb2wKPiA+ID4gPiA+IGJ4dF9w b3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpCj4gPiA+ID4g PiDCoAl9Cj4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiArc3RhdGljIGJvb2wg aWNwX2RkaV9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMgo+ID4g PiA+ID4gdmFsKQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJc3dpdGNoIChwb3J0KSB7Cj4gPiA+ ID4gPiArCWNhc2UgUE9SVF9BOgo+ID4gPiA+ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9ERElBX0hQ RF9MT05HX0RFVEVDVDsKPiA+ID4gPiA+ICsJY2FzZSBQT1JUX0I6Cj4gPiA+ID4gPiArCQlyZXR1 cm4gdmFsICYgSUNQX0RESUJfSFBEX0xPTkdfREVURUNUOwo+ID4gPiA+ID4gKwlkZWZhdWx0Ogo+ ID4gPiA+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArfQo+ID4g PiA+ID4gKwo+ID4gPiA+ID4gK3N0YXRpYyBib29sIGljcF90Y19wb3J0X2hvdHBsdWdfbG9uZ19k ZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMgo+ID4gPiA+ID4gdmFsKQo+ID4gPiA+ID4gK3sKPiA+ ID4gPiA+ICsJc3dpdGNoIChwb3J0KSB7Cj4gPiA+ID4gPiArCWNhc2UgUE9SVF9DOgo+ID4gPiA+ ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9UQ19IUERfTE9OR19ERVRFQ1QoUE9SVF9UQzEpOwo+ID4g PiA+ID4gKwljYXNlIFBPUlRfRDoKPiA+ID4gPiA+ICsJCXJldHVybiB2YWwgJiBJQ1BfVENfSFBE X0xPTkdfREVURUNUKFBPUlRfVEMyKTsKPiA+ID4gPiA+ICsJY2FzZSBQT1JUX0U6Cj4gPiA+ID4g PiArCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDMyk7Cj4gPiA+ ID4gPiArCWNhc2UgUE9SVF9GOgo+ID4gPiA+ID4gKwkJcmV0dXJuIHZhbCAmIElDUF9UQ19IUERf TE9OR19ERVRFQ1QoUE9SVF9UQzQpOwo+ID4gPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiA+ID4gKwkJ cmV0dXJuIGZhbHNlOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gwqBzdGF0aWMgYm9vbCBzcHRfcG9ydF9ob3RwbHVnMl9sb25nX2RldGVjdChlbnVtIHBv cnQgcG9ydCwgdTMyIHZhbCkKPiA+ID4gPiA+IMKgewo+ID4gPiA+ID4gwqAJc3dpdGNoIChwb3J0 KSB7Cj4gPiA+ID4gPiBAQCAtMjM3Nyw2ICsyNDE0LDQzIEBAIHN0YXRpYyB2b2lkIGNwdF9pcnFf aGFuZGxlcihzdHJ1Y3QKPiA+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg cGNoX2lpcikKPiA+ID4gPiA+IMKgCQljcHRfc2Vycl9pbnRfaGFuZGxlcihkZXZfcHJpdik7Cj4g PiA+ID4gPiDCoH0KPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiArc3RhdGljIHZvaWQgaWNwX2lycV9o YW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyCj4gPiA+ID4gPiBw Y2hfaWlyKQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJdTMyIGRkaV9ob3RwbHVnX3RyaWdnZXIg PSBwY2hfaWlyICYgSUNQX1NERV9ERElfTUFTSzsKPiA+ID4gPiA+ICsJdTMyIHRjX2hvdHBsdWdf dHJpZ2dlciA9IHBjaF9paXIgJiBJQ1BfU0RFX1RDX01BU0s7Cj4gPiA+ID4gPiArCXUzMiBwaW5f bWFzayA9IDAsIGxvbmdfbWFzayA9IDA7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCWlmIChkZGlf aG90cGx1Z190cmlnZ2VyKSB7Cj4gPiA+ID4gPiArCQl1MzIgZGlnX2hvdHBsdWdfcmVnOwo+ID4g PiA+ID4gKwo+ID4gPiA+ID4gKwkJZGlnX2hvdHBsdWdfcmVnID0gSTkxNV9SRUFEKFNIT1RQTFVH X0NUTF9EREkpOwo+ID4gPiA+ID4gKwkJSTkxNV9XUklURShTSE9UUExVR19DVExfRERJLCBkaWdf aG90cGx1Z19yZWcpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkJaW50ZWxfZ2V0X2hwZF9waW5z KGRldl9wcml2LCAmcGluX21hc2ssCj4gPiA+ID4gPiAmbG9uZ19tYXNrLAo+ID4gPiA+ID4gKwkJ CQnCoMKgwqBkZGlfaG90cGx1Z190cmlnZ2VyLAo+ID4gPiA+ID4gKwkJCQnCoMKgwqBkaWdfaG90 cGx1Z19yZWcsIGhwZF9pY3AsCj4gPiA+ID4gPiArCQkJCcKgwqDCoGljcF9kZGlfcG9ydF9ob3Rw bHVnX2xvbmdfZGV0ZWMKPiA+ID4gPiA+IHQpOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArCj4g PiA+ID4gPiArCWlmICh0Y19ob3RwbHVnX3RyaWdnZXIpIHsKPiA+ID4gPiA+ICsJCXUzMiBkaWdf aG90cGx1Z19yZWc7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCQlkaWdfaG90cGx1Z19yZWcgPSBJ OTE1X1JFQUQoU0hPVFBMVUdfQ1RMX1RDKTsKPiA+ID4gPiA+ICsJCUk5MTVfV1JJVEUoU0hPVFBM VUdfQ1RMX1RDLCBkaWdfaG90cGx1Z19yZWcpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkJaW50 ZWxfZ2V0X2hwZF9waW5zKGRldl9wcml2LCAmcGluX21hc2ssCj4gPiA+ID4gPiAmbG9uZ19tYXNr LAo+ID4gPiA+ID4gKwkJCQnCoMKgwqB0Y19ob3RwbHVnX3RyaWdnZXIsCj4gPiA+ID4gPiArCQkJ CcKgwqDCoGRpZ19ob3RwbHVnX3JlZywgaHBkX2ljcCwKPiA+ID4gPiA+ICsJCQkJwqDCoMKgaWNw X3RjX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdAo+ID4gPiA+ID4gKTsKPiA+ID4gPiA+ICsJfQo+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlpZiAocGluX21hc2spCj4gPiA+ID4gPiArCQlpbnRlbF9o cGRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIHBpbl9tYXNrLAo+ID4gPiA+ID4gbG9uZ19tYXNrKTsK PiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaWYgKHBjaF9paXIgJiBJQ1BfR01CVVMpCj4gPiA+ID4g PiArCQlnbWJ1c19pcnFfaGFuZGxlcihkZXZfcHJpdik7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4g Kwo+ID4gPiA+ID4gwqBzdGF0aWMgdm9pZCBzcHRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1MzIKPiA+ID4gPiA+IHBjaF9paXIpCj4gPiA+ID4gPiDCoHsK PiA+ID4gPiA+IMKgCXUzMiBob3RwbHVnX3RyaWdnZXIgPSBwY2hfaWlyICYgU0RFX0hPVFBMVUdf TUFTS19TUFQgJgo+ID4gPiA+ID4gQEAgLTI3NzksOCArMjg1MywxMSBAQCBnZW44X2RlX2lycV9o YW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiA+ID4gPiAqZGV2X3ByaXYsIHUzMiBt YXN0ZXJfY3RsKQo+ID4gPiA+ID4gwqAJCQlJOTE1X1dSSVRFKFNERUlJUiwgaWlyKTsKPiA+ID4g PiA+IMKgCQkJcmV0ID0gSVJRX0hBTkRMRUQ7Cj4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gLQkJCWlm IChIQVNfUENIX1NQVChkZXZfcHJpdikgfHwKPiA+ID4gPiA+IEhBU19QQ0hfS0JQKGRldl9wcml2 KSB8fAo+ID4gPiA+ID4gLQkJCcKgwqDCoMKgSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQo+ID4gPiA+ ID4gKwkJCWlmIChIQVNfUENIX0lDUChkZXZfcHJpdikpCj4gPiA+ID4gPiArCQkJCWljcF9pcnFf aGFuZGxlcihkZXZfcHJpdiwgaWlyKTsKPiAKPiB0byBiZSBjbGVhciBvbiB3aGF0IEkgd2FzIHNh eWluZy4uLiBTZWUgdGhlIGNvbnRleHQganVzdCBhYm92ZTogd2UgcmVhZAo+IGFuZCB3cml0ZSBT REVJSVIgdG8gZ2V0L2NsZWFyIHRoZSBpbnRlcnJ1cHQgYml0cy4gWWV0IHlvdSBhcmUgZGVmaW5p bmcgYQo+IElDUF9TREVfSUlSIHRoYXQgaGFzIHRvIGJlIHRoZSBzYW1lIHZhbHVlLiAgVG8gYXZv aWQgYW55IGNvbmZ1c2lvbiwgSQo+IHRoaW5rIGl0J3MgYmV0dGVyIHRvIHN0YXkgd2l0aCBTREVJ SVIgYW5kIGp1c3QgY2hhbmdlIHRoZSBiaXQKPiBkZWZpbml0aW9uLgoKRGssIGFueSBuZXdzIG9u IHRoaXM/CgpMdWNhcyBEZSBNYXJjaGkKCj4gCj4gCj4gPiA+ID4gPiArCQkJZWxzZSBpZiAoSEFT X1BDSF9TUFQoZGV2X3ByaXYpIHx8Cj4gPiA+ID4gPiArCQkJCcKgSEFTX1BDSF9LQlAoZGV2X3By aXYpIHx8Cj4gPiA+ID4gPiArCQkJCcKgSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQo+ID4gPiA+ID4g wqAJCQkJc3B0X2lycV9oYW5kbGVyKGRldl9wcml2LCBpaXIpOwo+ID4gPiA+ID4gwqAJCQllbHNl Cj4gPiA+ID4gPiDCoAkJCQljcHRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIGlpcik7Cj4gPiA+ID4g PiBAQCAtMzU0OCw2ICszNjI1LDkgQEAgc3RhdGljIHZvaWQgZ2VuMTFfaXJxX3Jlc2V0KHN0cnVj dCBkcm1fZGV2aWNlCj4gPiA+ID4gPiAqZGV2KQo+ID4gPiA+ID4gwqAJR0VOM19JUlFfUkVTRVQo R0VOMTFfREVfSFBEXyk7Cj4gPiA+ID4gPiDCoAlHRU4zX0lSUV9SRVNFVChHRU4xMV9HVV9NSVND Xyk7Cj4gPiA+ID4gPiDCoAlHRU4zX0lSUV9SRVNFVChHRU44X1BDVV8pOwo+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gKwlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ID4gKwkJR0VOM19J UlFfUkVTRVQoSUNQX1NERV8pOwo+ID4gPiA+ID4gwqB9Cj4gPiA+ID4gPiDCoAo+ID4gPiA+ID4g wqB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9zdF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUKPiA+ID4gPiA+ICpkZXZfcHJpdiwKPiA+ID4gPiA+IEBAIC0zNjY0LDYgKzM3NDQsMzUg QEAgc3RhdGljIHZvaWQgaWJ4X2hwZF9pcnFfc2V0dXAoc3RydWN0Cj4gPiA+ID4gPiBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+IMKgCWlieF9ocGRfZGV0ZWN0aW9uX3NldHVw KGRldl9wcml2KTsKPiA+ID4gPiA+IMKgfQo+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ICtzdGF0aWMg dm9pZCBpY3BfaHBkX2RldGVjdGlvbl9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4g PiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJdTMyIGhvdHBsdWc7Cj4g PiA+ID4gPiArCj4gPiA+ID4gPiArCWhvdHBsdWcgPSBJOTE1X1JFQUQoU0hPVFBMVUdfQ1RMX0RE SSk7Cj4gPiA+ID4gPiArCWhvdHBsdWcgfD0gSUNQX0RESUFfSFBEX0VOQUJMRSB8Cj4gPiA+ID4g PiArCQnCoMKgwqBJQ1BfRERJQl9IUERfRU5BQkxFOwo+ID4gPiA+ID4gKwlJOTE1X1dSSVRFKFNI T1RQTFVHX0NUTF9EREksIGhvdHBsdWcpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlob3RwbHVn ID0gSTkxNV9SRUFEKFNIT1RQTFVHX0NUTF9UQyk7Cj4gPiA+ID4gPiArCWhvdHBsdWcgfD0gSUNQ X1RDX0hQRF9FTkFCTEUoUE9SVF9UQzEpIHwKPiA+ID4gPiA+ICsJCcKgwqDCoElDUF9UQ19IUERf RU5BQkxFKFBPUlRfVEMyKSB8Cj4gPiA+ID4gPiArCQnCoMKgwqBJQ1BfVENfSFBEX0VOQUJMRShQ T1JUX1RDMykgfAo+ID4gPiA+ID4gKwkJwqDCoMKgSUNQX1RDX0hQRF9FTkFCTEUoUE9SVF9UQzQp Owo+ID4gPiA+ID4gKwlJOTE1X1dSSVRFKFNIT1RQTFVHX0NUTF9UQywgaG90cGx1Zyk7Cj4gPiA+ ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGljcF9ocGRfaXJxX3Nl dHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ICt7Cj4gPiA+ ID4gPiArCXUzMiBob3RwbHVnX2lycXMsIGVuYWJsZWRfaXJxczsKPiA+ID4gPiA+ICsKPiA+ID4g PiA+ICsJaG90cGx1Z19pcnFzID0gSUNQX1NERV9ERElfTUFTSyB8IElDUF9TREVfVENfTUFTSzsK PiA+ID4gPiA+ICsJZW5hYmxlZF9pcnFzID0gaW50ZWxfaHBkX2VuYWJsZWRfaXJxcyhkZXZfcHJp diwgaHBkX2ljcCk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCWlieF9kaXNwbGF5X2ludGVycnVw dF91cGRhdGUoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywKPiA+ID4gPiA+IGVuYWJsZWRfaXJxcyk7 Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCWljcF9ocGRfZGV0ZWN0aW9uX3NldHVwKGRldl9wcml2 KTsKPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiDCoHN0YXRpYyB2b2lkIGdlbjEx X2hwZF9kZXRlY3Rpb25fc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gPiA+ICpk ZXZfcHJpdikKPiA+ID4gPiA+IMKgewo+ID4gPiA+ID4gwqAJdTMyIGhvdHBsdWc7Cj4gPiA+ID4g PiBAQCAtMzY5MCw2ICszNzk5LDkgQEAgc3RhdGljIHZvaWQgZ2VuMTFfaHBkX2lycV9zZXR1cChz dHJ1Y3QKPiA+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiA+ID4gwqAJ UE9TVElOR19SRUFEKEdFTjExX0RFX0hQRF9JTVIpOwo+ID4gPiA+ID4gwqAKPiA+ID4gPiA+IMKg CWdlbjExX2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gKwlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ID4gKwkJaWNwX2hwZF9pcnFf c2V0dXAoZGV2X3ByaXYpOwo+ID4gPiA+ID4gwqB9Cj4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gwqBz dGF0aWMgdm9pZCBzcHRfaHBkX2RldGVjdGlvbl9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZQo+ID4gPiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gQEAgLTQxMjEsMTEgKzQyMzMsMjkgQEAg c3RhdGljIHZvaWQgZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdAo+ID4gPiA+ID4gZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ID4gPiDCoAlJOTE1X1dSSVRFKEdFTjExX0dQ TV9XR0JPWFBFUkZfSU5UUl9NQVNLLMKgwqB+MCk7Cj4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+IMKg Cj4gPiA+ID4gPiArc3RhdGljIHZvaWQgaWNwX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gPiA+ID4gKwl1MzIgbWFzayA9IElDUF9H TUJVUzsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJV0FSTl9PTihJOTE1X1JFQUQoSUNQX1NERV9J RVIpICE9IDApOwo+ID4gPiA+ID4gKwlJOTE1X1dSSVRFKElDUF9TREVfSUVSLCAweGZmZmZmZmZm KTsKPiA+ID4gPiA+ICsJUE9TVElOR19SRUFEKElDUF9TREVfSUVSKTsKPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ICsJZ2VuM19hc3NlcnRfaWlyX2lzX3plcm8oZGV2X3ByaXYsIElDUF9TREVfSUlSKTsK PiA+ID4gPiA+ICsJSTkxNV9XUklURShJQ1BfU0RFX0lNUiwgfm1hc2spOwo+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gKwlpY3BfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7Cj4gPiA+ID4gPiAr fQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gwqBzdGF0aWMgaW50IGdlbjExX2lycV9wb3N0aW5zdGFs bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiDCoAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiA+ ID4gwqAJdTMyIGd1X21pc2NfbWFza2VkID0gR0VOMTFfR1VfTUlTQ19HU0U7Cj4gPiA+ID4gPiDC oAo+ID4gPiA+ID4gKwlpZiAoSEFTX1BDSF9JQ1AoZGV2X3ByaXYpKQo+ID4gPiA+ID4gKwkJaWNw X2lycV9wb3N0aW5zdGFsbChkZXYpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gwqAJZ2VuMTFfZ3Rf aXJxX3Bvc3RpbnN0YWxsKGRldl9wcml2KTsKPiA+ID4gPiA+IMKgCWdlbjhfZGVfaXJxX3Bvc3Rp bnN0YWxsKGRldl9wcml2KTsKPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCj4gPiA+ID4gPiBpbmRleCAxOTYwMDA5NzU4MWYuLjI4Y2U5NmNlMDQ4 NCAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK PiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gPiA+ IEBAIC03NDYwLDYgKzc0NjAsNDYgQEAgZW51bSB7Cj4gPiA+ID4gPiDCoCNkZWZpbmXCoMKgUE9S VEVfSE9UUExVR19TSE9SVF9ERVRFQ1QJKDEgPDwgMCkKPiA+ID4gPiA+IMKgI2RlZmluZcKgwqBQ T1JURV9IT1RQTFVHX0xPTkdfREVURUNUCSgyIDw8IDApCj4gPiA+ID4gPiDCoAo+ID4gPiA+ID4g Ky8qIElDUCAqLwo+ID4gPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9JU1IJCQlfTU1JTygweGM0MDAw KQo+ID4gPiA+ID4gKyNkZWZpbmUgSUNQX1NERV9JTVIJCQlfTU1JTygweGM0MDA0KQo+ID4gPiA+ ID4gKyNkZWZpbmUgSUNQX1NERV9JSVIJCQlfTU1JTygweGM0MDA4KQo+ID4gPiA+ID4gKyNkZWZp bmUgSUNQX1NERV9JRVIJCQlfTU1JTygweGM0MDBjKQo+ID4gPiA+IFRoZXNlIGFyZSBleGFjdGx5 IHRoZSBzYW1lIHJlZ2lzdGVycyBhcyBTREV7SVNSLElNUixJSVIsSUVSfS4gRm9yIGFsbAo+ID4g PiA+IHRoZSBvdGhlciBwbGF0Zm9ybXMgd2hhdCB3ZSBkbyBpcyByYXRoZXIgcG9zdGZpeCB0aGUg cGxhdGZvcm0gbmFtZS4KPiA+ID4gPiAKPiA+ID4gPiBJIHRoaW5rIHdlIHNob3VsZCBmb2xsb3cg d2hhdCB0aGV5IGRvIGhlcmUuCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+ ICsjZGVmaW5lwqDCoMKgSUNQX1RDNF9IT1RQTFVHCQkoMSA8PCAyNykKPiA+ID4gPiA+ICsjZGVm aW5lwqDCoMKgSUNQX1RDM19IT1RQTFVHCQkoMSA8PCAyNikKPiA+ID4gPiA+ICsjZGVmaW5lwqDC oMKgSUNQX1RDMl9IT1RQTFVHCQkoMSA8PCAyNSkKPiA+ID4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQ X1RDMV9IT1RQTFVHCQkoMSA8PCAyNCkKPiA+ID4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX0dNQlVT CQkJKDEgPDwgMjMpCj4gPiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElCX0hPVFBMVUcJCSgx IDw8IDE3KQo+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQV9IT1RQTFVHCQkoMSA8PCAx NikKPiA+ID4gPiBzbyB0aGVzZSB3b3VsZCBiZWNvbWUgU0RFX1RDNF9IT1RQTFVHX0lDUCBhbmQg c28gb24uCj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBUaGUgcmVhc29uIEkgcHJlZmVycmVkIHRoaXMg bmFtaW5nIGZvciBnZW4tMTEgaXMgaXQgaXMgc3ltbWV0cmljIHRvIHRoZQo+ID4gPiBjb3JyZXNw b25kaW5nIGRlZmluaXRpb25zIGluIHRoZSBub3J0aCBlbmdpbmUuCj4gPiA+IAo+ID4gPiBGb3Ig ZXhhbXBsZSwKPiA+ID4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lTUsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0NzApCj4gPiA+ICsjZGVmaW5lIEdFTjExX0RFX0hQRF9J TVLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfTU1JTygweDQ0NDc0KQo+ID4gPiArI2Rl ZmluZSBHRU4xMV9ERV9IUERfSUlSwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX01NSU8o MHg0NDQ3OCkKPiA+ID4gKyNkZWZpbmUgR0VOMTFfREVfSFBEX0lFUsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoF9NTUlPKDB4NDQ0N2MpCj4gPiA+ICsjZGVmaW5lwqDCoEdFTjExX1RDNF9I T1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDEgPDwgMTkp Cj4gPiA+ICsjZGVmaW5lwqDCoEdFTjExX1RDM19IT1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgKDEgPDwgMTgpCj4gPiA+ICsjZGVmaW5lwqDCoEdFTjExX1RD Ml9IT1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDEgPDwg MTcpCj4gPiA+ICsjZGVmaW5lwqDCoEdFTjExX1RDMV9IT1RQTFVHwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDEgPDwgMTYpCj4gPiA+IAo+ID4gPiBXaXRoIGludGVy cnVwdHMgZ2V0dGluZyByb3V0ZWQgdG8gbm9ydGggb3Igc291dGggZW5naW5lcyBmb3IgdGhlIHNh bWUKPiA+ID4gcG9ydCwgdGhpcyBuYW1pbmcgc2NoZW1lIG1ha2VzIHRoZSBkdWFsaXR5IGNsZWFy ZXIgSU1PLgo+ID4gCj4gPiBTdGlsbCB0aGUgcmVnaXN0ZXIgaXMgdGhlIHNhbWUgYXMgU0RFSVNS IGFuZCB0aGVyZSBhcmUgcGxhY2VzIGluIHdoaWNoIHdlCj4gPiByZWFkIGl0IGV4cGVjdGluZyB0 byBiZSB0aGUgc2FtZSBudW1iZXIuCj4gPiAKPiA+IE9ubHkgdGhlIGJpdHMgYXJlIGRpZmZlcmVu dCwgc28gbmFtZSB0aGUgYml0cyBkaWZmZXJlbnRseSBhcyBpdCBpcyBmb3IKPiA+IG90aGVyIHBs YXRmb3Jtcy4gIEkgdGhpbmsgb2YgdGhlIHN5bW1ldHJ5IGhlcmUganVzdCBhbmQgYWNjaWRlbnQg b2YKPiA+IGxpZmUgZXhwZWN0aW5nIHRvIGJlIGRpZmZlcmVudCBpZiBub3J0aCBhbmQgc291dGgg ZW5naW5lcyBkb24ndCBoYXZlIHRoZQo+ID4gc2FtZSBwb3J0cy4KPiAKPiBUaGlzIGlzIG9uIGdl bjhfZGVfaXJxX2hhbmRsZXIoKSB3aGljaCBpcyBzdGlsbCB1c2VkIGZvciBnZW4xMS4KPiAKPiBM dWNhcyBEZSBNYXJjaGkKPiAKPiA+IAo+ID4gTHVjYXMgRGUgTWFyY2hpCj4gPiAKPiA+ID4gCj4g PiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2RlZmluZSBJQ1BfU0RFX0RE SV9NQVNLCQkoSUNQX0RESUJfSE9UUExVRyB8CQo+ID4gPiA+ID4gXAo+ID4gPiA+ID4gKwkJCQkJ wqBJQ1BfRERJQV9IT1RQTFVHKQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyNkZWZpbmUgSUNQX1NE RV9UQ19NQVNLCQkJKElDUF9UQzRfSE9UUExVRyB8CQo+ID4gPiA+ID4gXAo+ID4gPiA+ID4gKwkJ CQkJwqBJQ1BfVEMzX0hPVFBMVUcgfAkKPiA+ID4gPiA+IFwKPiA+ID4gPiA+ICsJCQkJCcKgSUNQ X1RDMl9IT1RQTFVHIHwJCj4gPiA+ID4gPiBcCj4gPiA+ID4gPiArCQkJCQnCoElDUF9UQzFfSE9U UExVRykKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsjZGVmaW5lIFNIT1RQTFVHX0NUTF9EREkJCQlf TU1JTygweGM0MDMwKQkKPiA+ID4gPiA+IC8qIFNIT1RQTFVHX0NUTCAqLwo+ID4gPiA+IFRoaXMg YWxzbyBzZWVtcyB0byByZXVzZSB3aGF0IHdlIGhhdmUgZGVmaW5lZCBhcyBQQ0hfUE9SVF9IT1RQ TFVHCj4gPiA+ID4gd2l0aCBhCj4gPiA+ID4gY29tbWVudCB0byBTSE9UUExVR19DVEwgdGhlcmUs IGFsdGhvdWdoIGhlcmUgSSB0ZW5kIHRvIGJlIGluIGZhdm9yIG9mCj4gPiA+ID4gdXNpbmcgdGhl IGN1cnJlbnQgcmVhbCBuYW1lIG9mIHRoZSByZWdpc3RlciAoU0hPVFBMVUdfQ1RMKS4KPiA+ID4g Cj4gPiA+IFRoZSByZWFsIG5hbWUgSSBzZWUgaXMgU0hPVFBMVUdfQ1RMX0RESSBmb3IgSUNQLgo+ ID4gPiAKPiA+ID4gSSBkb24ndCBiZWxpZXZlIHdlIHNob3VsZCBhdHRlbXB0IHRvIG1ha2UgdGhl c2UgZGVmaW5pdGlvbnMgY29uc2lzdGVudAo+ID4gPiB3aXRoIHByZXZpb3VzIHBsYXRmb3JtcyBv dmVyIG1ha2luZyB0aGVtIGNvbnNpc3RlbnQgd2l0aCBlYWNoIG90aGVyLgo+ID4gPiDCoAo+ID4g PiAKPiA+ID4gPiAKPiA+ID4gPiBUaGUgcmVzdCBsb29rcyBnb29kIHRvIG1lLgo+ID4gPiA+IAo+ ID4gPiA+IEx1Y2FzIERlIE1hcmNoaQo+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiArI2Rl ZmluZcKgwqDCoElDUF9ERElCX0hQRF9FTkFCTEUJCQkoMSA8PCA3KQo+ID4gPiA+ID4gKyNkZWZp bmXCoMKgwqBJQ1BfRERJQl9IUERfU1RBVFVTX01BU0sJCSgzIDw8IDQpCj4gPiA+ID4gPiArI2Rl ZmluZcKgwqDCoElDUF9ERElCX0hQRF9OT19ERVRFQ1QJCSgwIDw8IDQpCj4gPiA+ID4gPiArI2Rl ZmluZcKgwqDCoElDUF9ERElCX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDQpCj4gPiA+ID4gPiAr I2RlZmluZcKgwqDCoElDUF9ERElCX0hQRF9MT05HX0RFVEVDVAkJKDIgPDwgNCkKPiA+ID4gPiA+ ICsjZGVmaW5lwqDCoMKgSUNQX0RESUJfSFBEX1NIT1JUX0xPTkdfREVURUNUCSgzIDw8IDQpCj4g PiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9FTkFCTEUJCQkoMSA8PCAzKQo+ID4g PiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1BfRERJQV9IUERfU1RBVFVTX01BU0sJCSgzIDw8IDApCj4g PiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9OT19ERVRFQ1QJCSgwIDw8IDApCj4g PiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9TSE9SVF9ERVRFQ1QJCSgxIDw8IDAp Cj4gPiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9ERElBX0hQRF9MT05HX0RFVEVDVAkJKDIgPDwg MCkKPiA+ID4gPiA+ICsjZGVmaW5lwqDCoMKgSUNQX0RESUFfSFBEX1NIT1JUX0xPTkdfREVURUNU CSgzIDw8IDApCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2RlZmluZSBTSE9UUExVR19DVExfVEMJ CQkJX01NSU8oMHhjNDAKPiA+ID4gPiA+IDM0KQo+ID4gPiA+ID4gKyNkZWZpbmXCoMKgwqBJQ1Bf VENfSFBEX0VOQUJMRSh0Y19wb3J0KQkJKDggPDwKPiA+ID4gPiA+ICh0Y19wb3J0KSAqIDQpCj4g PiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9UQ19IUERfTE9OR19ERVRFQ1QodGNfcG9ydCkJKDIg PDwgKHRjX3BvcnQpICoKPiA+ID4gPiA+IDQpCj4gPiA+ID4gPiArI2RlZmluZcKgwqDCoElDUF9U Q19IUERfU0hPUlRfREVURUNUKHRjX3BvcnQpCSgxIDw8ICh0Y19wb3J0KQo+ID4gPiA+ID4gKiA0 KQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gwqAjZGVmaW5lIFBDSF9HUElPQcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoF9NTUlPKDB4YzUwMTApCj4gPiA+ID4gPiDCoCNkZWZpbmUgUENIX0dQ SU9CwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX01NSU8oMHhjNTAxNCkKPiA+ID4gPiA+ IMKgI2RlZmluZSBQQ0hfR1BJT0PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfTU1JTygw eGM1MDE4KQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK