From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 05/19] drm/i915: Support for GuC interrupts Date: Wed, 17 Aug 2016 11:51:39 +0100 Message-ID: <57B441BB.9060209@linux.intel.com> References: <1471428859-10339-1-git-send-email-akash.goel@intel.com> <1471428859-10339-6-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 36B4B6E80D for ; Wed, 17 Aug 2016 10:51:41 +0000 (UTC) In-Reply-To: <1471428859-10339-6-git-send-email-akash.goel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE3LzA4LzE2IDExOjE0LCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBT YWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgo+Cj4gVGhlcmUgYXJl IGNlcnRhaW4gdHlwZXMgb2YgaW50ZXJydXB0cyB3aGljaCBIb3N0IGNhbiByZWNlaXZlIGZyb20g R3VDLgo+IEd1QyB1a2VybmVsIHNlbmRzIGFuIGludGVycnVwdCB0byBIb3N0IGZvciBjZXJ0YWlu IGV2ZW50cywgbGlrZSBmb3IKPiBleGFtcGxlIHJldHJpZXZlL2NvbnN1bWUgdGhlIGxvZ3MgZ2Vu ZXJhdGVkIGJ5IHVrZXJuZWwuCj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgdG8gcmVjZWl2ZSBp bnRlcnJ1cHRzIGZyb20gR3VDIGJ1dCBjdXJyZW50bHkKPiBlbmFibGVzICYgcGFydGlhbGx5IGhh bmRsZXMgb25seSB0aGUgaW50ZXJydXB0IHNlbnQgYnkgR3VDIHVrZXJuZWwuCj4gRnV0dXJlIHBh dGNoZXMgd2lsbCBhZGQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgb3RoZXIgaW50ZXJydXB0IHR5cGVz Lgo+Cj4gdjI6Cj4gLSBVc2UgY29tbW9uIGxvdyBsZXZlbCByb3V0aW5lcyBmb3IgUE0gSUVSL0lJ UiBwcm9ncmFtbWluZyAoQ2hyaXMpCj4gLSBSZW5hbWUgaW50ZXJydXB0IGZ1bmN0aW9ucyB0byBn ZW45X3h4eCBmcm9tIGdlbjhfeHh4IChDaHJpcykKPiAtIFJlcGxhY2UgZGlzYWJsaW5nIG9mIHdh a2UgcmVmIGFzc2VydHMgd2l0aCBycG0gZ2V0L3B1dCAoQ2hyaXMpCj4KPiB2MzoKPiAtIFVwZGF0 ZSBjb21tZW50cyBmb3IgbW9yZSBjbGFyaXR5LiAoVHZydGtvKQo+IC0gUmVtb3ZlIHRoZSBtYXNr aW5nIG9mIEd1QyBpbnRlcnJ1cHQsIHdoaWNoIHdhcyBrZXB0IG1hc2tlZCB0aWxsIHRoZQo+ICAg IHN0YXJ0IG9mIGJvdHRvbSBoYWxmLCBpdHMgbm90IHJlYWxseSBuZWVkZWQgYXMgdGhlcmUgaXMg b25seSBhCj4gICAgc2luZ2xlIGluc3RhbmNlIG9mIHdvcmsgaXRlbSAmIHdxIGlzIG9yZGVyZWQu IChUdnJ0a28pCj4KPiB2NDoKPiAtIFJlYmFzZS4KPiAtIFJlbmFtZSBndWNfZXZlbnRzIHRvIHBt X2d1Y19ldmVudHMgc28gYXMgdG8gYmUgaW5kaWNhdGl2ZSBvZiB0aGUKPiAgICByZWdpc3Rlci9j b250cm9sIGJsb2NrIGl0IGlzIGFzc29jaWF0ZWQgd2l0aC4gKENocmlzKQo+IC0gQWRkIGhhbmRs aW5nIGZvciBiYWNrIHRvIGJhY2sgbG9nIGJ1ZmZlciBmbHVzaCBpbnRlcnJ1cHRzLgo+Cj4gdjU6 Cj4gLSBNb3ZlIHRoZSByZWFkICYgY2xlYXJpbmcgb2YgcmVnaXN0ZXIsIGNvbnRhaW5pbmcgR3Vj Mkhvc3QgbWVzc2FnZQo+ICAgIGJpdHMsIG91dHNpZGUgdGhlIGlycSBzcGlubG9jay4gKFR2cnRr bykKPgo+IHY2Ogo+IC0gTW92ZSB0aGUgbG9nIGJ1ZmZlciBmbHVzaCBpbnRlcnJ1cHQgcmVsYXRl ZCBzdHVmZiB0byB0aGUgZm9sbG93aW5nCj4gICAgcGF0Y2ggc28gYXMgdG8gZG8gb25seSBnZW5l cmljIGJpdHMgaW4gdGhpcyBwYXRjaC4gKFR2cnRrbykKPiAtIFJlYmFzZS4KPgo+IHY3Ogo+IC0g UmVtb3ZlIHRoZSBpbnRlcnJ1cHRzX2VuYWJsZWQgY2hlY2sgZnJvbSBnZW45X2d1Y19pcnFfaGFu ZGxlciwgd2FudCB0bwo+ICAgIHByb2Nlc3MgdGhhdCBsYXN0IGludGVycnVwdCBhbHNvIGJlZm9y ZSBkaXNhYmxpbmcgdGhlIGludGVycnVwdCwgc3luYwo+ICAgIGFnYWluc3QgdGhlIHdvcmsgcXVl dWVkIGJ5IGlycSBoYW5kbGVyIHdpbGwgYmUgZG9uZSBieSBjYWxsZXIgZGlzYWJsaW5nCj4gICAg dGhlIGludGVycnVwdC4KPgo+IFNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdh ci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQWthc2ggR29lbCA8YWthc2gu Z29lbEBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJt aXNzaW9uLmMgfCAgNSArKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAg ICAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgMTEgKysrKysrCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgfCAgMyArKwo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgIDMgKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyAgICB8ICA0ICsrKwo+ICAgNyBmaWxlcyBjaGFu Z2VkLCA3OSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gaW5kZXggYTE4N2VhNy4uMDg1NTNiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IEBAIC0xNzgzLDYgKzE3ODMsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4g ICAJdTMyIHBtX2ltcjsKPiAgIAl1MzIgcG1faWVyOwo+ICAgCXUzMiBwbV9ycHNfZXZlbnRzOwo+ ICsJdTMyIHBtX2d1Y19ldmVudHM7Cj4gICAJdTMyIHBpcGVzdGF0X2lycV9tYXNrW0k5MTVfTUFY X1BJUEVTXTsKPgo+ICAgCXN0cnVjdCBpOTE1X2hvdHBsdWcgaG90cGx1ZzsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXggMzRmYjg5My4uYjA2MmRh NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9u LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBA QCAtMTA1NSw2ICsxMDU1LDggQEAgaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gICAJaWYgKGd1Yy0+Z3VjX2Z3Lmd1Y19md19sb2FkX3N0YXR1cyAhPSBHVUNf RklSTVdBUkVfU1VDQ0VTUykKPiAgIAkJcmV0dXJuIDA7Cj4KPiArCWdlbjlfZGlzYWJsZV9ndWNf aW50ZXJydXB0cyhkZXZfcHJpdik7Cj4gKwo+ICAgCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29u dGV4dDsKPgo+ICAgCWRhdGFbMF0gPSBIT1NUMkdVQ19BQ1RJT05fRU5URVJfU19TVEFURTsKPiBA QCAtMTA4MSw2ICsxMDgzLDkgQEAgaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPiAgIAlpZiAoZ3VjLT5ndWNfZncuZ3VjX2Z3X2xvYWRfc3RhdHVzICE9IEdVQ19G SVJNV0FSRV9TVUNDRVNTKQo+ICAgCQlyZXR1cm4gMDsKPgo+ICsJaWYgKGk5MTUuZ3VjX2xvZ19s ZXZlbCA+PSAwKQo+ICsJCWdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKPiAr Cj4gICAJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+Cj4gICAJZGF0YVswXSA9IEhP U1QyR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gaW5k ZXggODNkNzA4YS4uZmMxZmU3MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBAIC0x NzAsNiArMTcwLDcgQEAgc3RhdGljIHZvaWQgZ2VuNV9hc3NlcnRfaWlyX2lzX3plcm8oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgfSB3aGlsZSAoMCkKPgo+ICAgc3RhdGlj IHZvaWQgZ2VuNl9ycHNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MzIgcG1faWlyKTsKPiArc3RhdGljIHZvaWQgZ2VuOV9ndWNfaXJxX2hhbmRsZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcG1faWlyKTsKPgo+ICAgLyogRm9y IGRpc3BsYXkgaG90cGx1ZyBpbnRlcnJ1cHQgKi8KPiAgIHN0YXRpYyBpbmxpbmUgdm9pZAo+IEBA IC00MTEsNiArNDEyLDM4IEBAIHZvaWQgZ2VuNl9kaXNhYmxlX3Jwc19pbnRlcnJ1cHRzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAlnZW42X3Jlc2V0X3Jwc19pbnRlcnJ1 cHRzKGRldl9wcml2KTsKPiAgIH0KPgo+ICt2b2lkIGdlbjlfcmVzZXRfZ3VjX2ludGVycnVwdHMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlzcGluX2xvY2tfaXJx KCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICsJZ2VuNl9yZXNldF9wbV9paXIoZGV2X3ByaXYsIGRl dl9wcml2LT5wbV9ndWNfZXZlbnRzKTsKPiArCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKPiArfQo+ICsKPiArdm9pZCBnZW45X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXNwaW5fbG9ja19pcnEoJmRl dl9wcml2LT5pcnFfbG9jayk7Cj4gKwlpZiAoIWRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFi bGVkKSB7Cj4gKwkJV0FSTl9PTl9PTkNFKEk5MTVfUkVBRChnZW42X3BtX2lpcihkZXZfcHJpdikp ICYKPiArCQkJCSAgICAgICBkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cyk7Cj4gKwkJZGV2X3ByaXYt Pmd1Yy5pbnRlcnJ1cHRzX2VuYWJsZWQgPSB0cnVlOwo+ICsJCWdlbjZfZW5hYmxlX3BtX2lycShk ZXZfcHJpdiwgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpOwo+ICsJfQo+ICsJc3Bpbl91bmxvY2tf aXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICt9Cj4gKwo+ICt2b2lkIGdlbjlfZGlzYWJsZV9n dWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiAr CXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwlkZXZfcHJpdi0+Z3VjLmlu dGVycnVwdHNfZW5hYmxlZCA9IGZhbHNlOwo+ICsKPiArCWdlbjZfZGlzYWJsZV9wbV9pcnEoZGV2 X3ByaXYsIGRldl9wcml2LT5wbV9ndWNfZXZlbnRzKTsKPiArCj4gKwlzcGluX3VubG9ja19pcnEo JmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwlzeW5jaHJvbml6ZV9pcnEoZGV2X3ByaXYtPmRybS5p cnEpOwo+ICsKPiArCWdlbjlfcmVzZXRfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICt9Cj4g Kwo+ICAgLyoqCj4gICAgKiBiZHdfdXBkYXRlX3BvcnRfaXJxIC0gdXBkYXRlIERFIHBvcnQgaW50 ZXJydXB0Cj4gICAgKiBAZGV2X3ByaXY6IGRyaXZlciBwcml2YXRlCj4gQEAgLTEzMzksMTEgKzEz NzIsMTMgQEAgc3RhdGljIGlycXJldHVybl90IGdlbjhfZ3RfaXJxX2FjayhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJv bCBpbnRlcnJ1cHQgbGllZCAoR1QzKSFcbiIpOwo+ICAgCX0KPgo+IC0JaWYgKG1hc3Rlcl9jdGwg JiBHRU44X0dUX1BNX0lSUSkgewo+ICsJaWYgKG1hc3Rlcl9jdGwgJiAoR0VOOF9HVF9QTV9JUlEg fCBHRU44X0dUX0dVQ19JUlEpKSB7Cj4gICAJCWd0X2lpclsyXSA9IEk5MTVfUkVBRF9GVyhHRU44 X0dUX0lJUigyKSk7Cj4gLQkJaWYgKGd0X2lpclsyXSAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRz KSB7Cj4gKwkJaWYgKGd0X2lpclsyXSAmIChkZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyB8Cj4gKwkJ CQkgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpKSB7Cj4gICAJCQlJOTE1X1dSSVRFX0ZXKEdFTjhf R1RfSUlSKDIpLAo+IC0JCQkJICAgICAgZ3RfaWlyWzJdICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVu dHMpOwo+ICsJCQkJICAgICAgZ3RfaWlyWzJdICYgKGRldl9wcml2LT5wbV9ycHNfZXZlbnRzIHwK PiArCQkJCQkJICAgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpKTsKPiAgIAkJCXJldCA9IElSUV9I QU5ETEVEOwo+ICAgCQl9IGVsc2UKPiAgIAkJCURSTV9FUlJPUigiVGhlIG1hc3RlciBjb250cm9s IGludGVycnVwdCBsaWVkIChQTSkhXG4iKTsKPiBAQCAtMTM3NSw2ICsxNDEwLDkgQEAgc3RhdGlj IHZvaWQgZ2VuOF9ndF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4KPiAgIAlpZiAoZ3RfaWlyWzJdICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpCj4gICAJ CWdlbjZfcnBzX2lycV9oYW5kbGVyKGRldl9wcml2LCBndF9paXJbMl0pOwo+ICsKPiArCWlmIChn dF9paXJbMl0gJiBkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cykKPiArCQlnZW45X2d1Y19pcnFfaGFu ZGxlcihkZXZfcHJpdiwgZ3RfaWlyWzJdKTsKPiAgIH0KPgo+ICAgc3RhdGljIGJvb2wgYnh0X3Bv cnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiBAQCAtMTYy MSw2ICsxNjU5LDEzIEBAIHN0YXRpYyB2b2lkIGdlbjZfcnBzX2lycV9oYW5kbGVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHBtX2lpcikKPiAgIAl9Cj4gICB9Cj4KPiAr c3RhdGljIHZvaWQgZ2VuOV9ndWNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCB1MzIgZ3RfaWlyKQo+ICt7Cj4gKwlpZiAoZ3RfaWlyICYgR0VOOV9HVUNfVE9f SE9TVF9JTlRfRVZFTlQpIHsKPiArCQkvKiBUT0RPOiBIYW5kbGUgZXZlbnRzIGZvciB3aGljaCBH dUMgaW50ZXJydXB0ZWQgaG9zdCAqLwo+ICsJfQo+ICt9Cj4gKwo+ICAgc3RhdGljIGJvb2wgaW50 ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAgIAkJCQkgICAgIGVudW0gcGlwZSBwaXBlKQo+ICAgewo+IEBAIC0zNzIyLDcgKzM3NjcsNyBA QCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gICAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDEsIH5ndF9pbnRlcnJ1 cHRzWzFdLCBndF9pbnRlcnJ1cHRzWzFdKTsKPiAgIAkvKgo+ICAgCSAqIFJQUyBpbnRlcnJ1cHRz IHdpbGwgZ2V0IGVuYWJsZWQvZGlzYWJsZWQgb24gZGVtYW5kIHdoZW4gUlBTIGl0c2VsZgo+IC0J ICogaXMgZW5hYmxlZC9kaXNhYmxlZC4KPiArCSAqIGlzIGVuYWJsZWQvZGlzYWJsZWQuIFNhbWUg d2lsIGJlIHRoZSBjYXNlIGZvciBHdUMgaW50ZXJydXB0cy4KPiAgIAkgKi8KPiAgIAlHRU44X0lS UV9JTklUX05EWChHVCwgMiwgZGV2X3ByaXYtPnBtX2ltciwgZGV2X3ByaXYtPnBtX2llcik7Cj4g ICAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDMsIH5ndF9pbnRlcnJ1cHRzWzNdLCBndF9pbnRlcnJ1 cHRzWzNdKTsKPiBAQCAtNDUwOCw2ICs0NTUzLDkgQEAgdm9pZCBpbnRlbF9pcnFfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJSU5JVF9XT1JLKCZkZXZfcHJpdi0+ cnBzLndvcmssIGdlbjZfcG1fcnBzX3dvcmspOwo+ICAgCUlOSVRfV09SSygmZGV2X3ByaXYtPmwz X3Bhcml0eS5lcnJvcl93b3JrLCBpdnlicmlkZ2VfcGFyaXR5X3dvcmspOwo+Cj4gKwlpZiAoSEFT X0dVQ19TQ0hFRChkZXYpKQo+ICsJCWRldl9wcml2LT5wbV9ndWNfZXZlbnRzID0gR0VOOV9HVUNf VE9fSE9TVF9JTlRfRVZFTlQ7Cj4gKwo+ICAgCS8qIExldCdzIHRyYWNrIHRoZSBlbmFibGVkIHJw cyBldmVudHMgKi8KPiAgIAlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpCj4gICAJCS8qIFdh R3N2UkMwUmVzaWRlbmN5TWV0aG9kOnZsdiAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGlu ZGV4IGQ0YWRmMjguLmNhYjA4OWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAt NjAxMSw2ICs2MDExLDcgQEAgZW51bSB7Cj4gICAjZGVmaW5lICBHRU44X0RFX1BJUEVfQV9JUlEJ CSgxPDwxNikKPiAgICNkZWZpbmUgIEdFTjhfREVfUElQRV9JUlEocGlwZSkJCSgxPDwoMTYrKHBp cGUpKSkKPiAgICNkZWZpbmUgIEdFTjhfR1RfVkVDU19JUlEJCSgxPDw2KQo+ICsjZGVmaW5lICBH RU44X0dUX0dVQ19JUlEJCSgxPDw1KQo+ICAgI2RlZmluZSAgR0VOOF9HVF9QTV9JUlEJCQkoMTw8 NCkKPiAgICNkZWZpbmUgIEdFTjhfR1RfVkNTMl9JUlEJCSgxPDwzKQo+ICAgI2RlZmluZSAgR0VO OF9HVF9WQ1MxX0lSUQkJKDE8PDIpCj4gQEAgLTYwMjIsNiArNjAyMywxNiBAQCBlbnVtIHsKPiAg ICNkZWZpbmUgR0VOOF9HVF9JSVIod2hpY2gpIF9NTUlPKDB4NDQzMDggKyAoMHgxMCAqICh3aGlj aCkpKQo+ICAgI2RlZmluZSBHRU44X0dUX0lFUih3aGljaCkgX01NSU8oMHg0NDMwYyArICgweDEw ICogKHdoaWNoKSkpCj4KPiArI2RlZmluZSBHRU45X0dVQ19UT19IT1NUX0lOVF9FVkVOVAkoMTw8 MzEpCj4gKyNkZWZpbmUgR0VOOV9HVUNfRVhFQ19FUlJPUl9FVkVOVAkoMTw8MzApCj4gKyNkZWZp bmUgR0VOOV9HVUNfRElTUExBWV9FVkVOVAkJKDE8PDI5KQo+ICsjZGVmaW5lIEdFTjlfR1VDX1NF TUFfU0lHTkFMX0VWRU5UCSgxPDwyOCkKPiArI2RlZmluZSBHRU45X0dVQ19JT01NVV9NU0dfRVZF TlQJKDE8PDI3KQo+ICsjZGVmaW5lIEdFTjlfR1VDX0RCX1JJTkdfRVZFTlQJCSgxPDwyNikKPiAr I2RlZmluZSBHRU45X0dVQ19ETUFfRE9ORV9FVkVOVAkJKDE8PDI1KQo+ICsjZGVmaW5lIEdFTjlf R1VDX0ZBVEFMX0VSUk9SX0VWRU5UCSgxPDwyNCkKPiArI2RlZmluZSBHRU45X0dVQ19OT1RJRklD QVRJT05fRVZFTlQJKDE8PDIzKQo+ICsKPiAgICNkZWZpbmUgR0VOOF9SQ1NfSVJRX1NISUZUIDAK PiAgICNkZWZpbmUgR0VOOF9CQ1NfSVJRX1NISUZUIDE2Cj4gICAjZGVmaW5lIEdFTjhfVkNTMV9J UlFfU0hJRlQgMAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggOWI5OWE4NC4uZjdm MTZhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTExMjAsNiArMTEyMCw5 IEBAIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wb3N0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlwZV9tYXNrKTsK PiAgIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wcmVfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlwZV9tYXNrKTsK PiArdm9pZCBnZW45X3Jlc2V0X2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7Cj4gK3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdm9pZCBnZW45X2Rpc2FibGVfZ3VjX2ludGVy cnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPgo+ICAgLyogaW50ZWxf Y3J0LmMgKi8KPiAgIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCBkMzIwMjNjLi4xZmM2M2ZlIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtMTMwLDYgKzEzMCw5IEBAIHN0cnVjdCBp bnRlbF9ndWMgewo+ICAgCXN0cnVjdCBpbnRlbF9ndWNfZncgZ3VjX2Z3Owo+ICAgCXN0cnVjdCBp bnRlbF9ndWNfbG9nIGxvZzsKPgo+ICsJLyogR3VDMkhvc3QgaW50ZXJydXB0IHJlbGF0ZWQgc3Rh dGUgKi8KPiArCWJvb2wgaW50ZXJydXB0c19lbmFibGVkOwo+ICsKPiAgIAlzdHJ1Y3QgaTkxNV92 bWEgKmFkc192bWE7Cj4gICAJc3RydWN0IGk5MTVfdm1hICpjdHhfcG9vbF92bWE7Cj4gICAJc3Ry dWN0IGlkYSBjdHhfaWRzOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMK PiBpbmRleCA2ZmQyNGQ5Li5lZjM1ZTk5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2FkZXIuYwo+IEBAIC00NjQsNiArNDY0LDcgQEAgaW50IGludGVsX2d1Y19zZXR1cChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCX0KPgo+ICAgCWRpcmVjdF9pbnRlcnJ1cHRzX3Rv X2hvc3QoZGV2X3ByaXYpOwo+ICsJZ2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7 Cj4KPiAgIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5H Owo+Cj4gQEAgLTUxMCw2ICs1MTEsOSBAQCBpbnQgaW50ZWxfZ3VjX3NldHVwKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gICAJCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19m d19sb2FkX3N0YXR1cykpOwo+Cj4gICAJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7 Cj4gKwkJaWYgKGk5MTUuZ3VjX2xvZ19sZXZlbCA+PSAwKQo+ICsJCQlnZW45X2VuYWJsZV9ndWNf aW50ZXJydXB0cyhkZXZfcHJpdik7Cj4gKwo+ICAgCQllcnIgPSBpOTE1X2d1Y19zdWJtaXNzaW9u X2VuYWJsZShkZXZfcHJpdik7Cj4gICAJCWlmIChlcnIpCj4gICAJCQlnb3RvIGZhaWw7Cj4KClJl dmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVn YXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK