From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 05/20] drm/i915: Support for GuC interrupts Date: Fri, 12 Aug 2016 12:54:31 +0100 Message-ID: <57ADB8F7.1070001@linux.intel.com> References: <1470983123-22127-1-git-send-email-akash.goel@intel.com> <1470983123-22127-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 91A616EB32 for ; Fri, 12 Aug 2016 11:54:33 +0000 (UTC) In-Reply-To: <1470983123-22127-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 Ck9uIDEyLzA4LzE2IDA3OjI1LCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBT YWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgo+Cj4gVGhlcmUgYXJl IGNlcnRhaW4gdHlwZXMgb2YgaW50ZXJydXB0cyB3aGljaCBIb3N0IGNhbiByZWNpZXZlIGZyb20g 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+IFNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBp bnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5j b20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAg fCAgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwg ICA1ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgfCAx MDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggICAgICAgICAgICB8ICAxMSArKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICAgICAgICAgfCAgIDMgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmggICAgICAgICAgIHwgICA0ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfbG9hZGVyLmMgICAgfCAgIDQgKysKPiAgIDcgZmlsZXMgY2hhbmdlZCwgMTI0IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBp bmRleCBhNjA4YTVjLi4yOGZmYWM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAg LTE3NzksNiArMTc3OSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAgIAl1MzIgcG1f aW1yOwo+ICAgCXUzMiBwbV9pZXI7Cj4gICAJdTMyIHBtX3Jwc19ldmVudHM7Cj4gKwl1MzIgcG1f Z3VjX2V2ZW50czsKPiAgIAl1MzIgcGlwZXN0YXRfaXJxX21hc2tbSTkxNV9NQVhfUElQRVNdOwo+ Cj4gICAJc3RydWN0IGk5MTVfaG90cGx1ZyBob3RwbHVnOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBpbmRleCBhZDNiNTVmLi5jN2M2NzlmIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC0xMDcxLDYg KzEwNzEsOCBAQCBpbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgIAlpZiAoZ3VjLT5ndWNfZncuZ3VjX2Z3X2xvYWRfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9T VUNDRVNTKQo+ICAgCQlyZXR1cm4gMDsKPgo+ICsJZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRz KGRldl9wcml2KTsKPiArCj4gICAJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+Cj4g ICAJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9FTlRFUl9TX1NUQVRFOwo+IEBAIC0xMDk3LDYg KzEwOTksOSBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAgCWlmIChndWMtPmd1Y19mdy5ndWNfZndfbG9hZF9zdGF0dXMgIT0gR1VDX0ZJUk1XQVJFX1NV Q0NFU1MpCj4gICAJCXJldHVybiAwOwo+Cj4gKwlpZiAoaTkxNS5ndWNfbG9nX2xldmVsID49IDAp Cj4gKwkJZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICsKPiAgIAljdHgg PSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Cj4KPiAgIAlkYXRhWzBdID0gSE9TVDJHVUNfQUNU SU9OX0VYSVRfU19TVEFURTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCA1ZjkzMzA5 Li41ZjE5NzRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gQEAgLTE3MCw2ICsxNzAs NyBAQCBzdGF0aWMgdm9pZCBnZW41X2Fzc2VydF9paXJfaXNfemVybyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gICB9IHdoaWxlICgwKQo+Cj4gICBzdGF0aWMgdm9pZCBnZW42 X3Jwc19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBw bV9paXIpOwo+ICtzdGF0aWMgdm9pZCBnZW45X2d1Y19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwbV9paXIpOwo+Cj4gICAvKiBGb3IgZGlzcGxheSBo b3RwbHVnIGludGVycnVwdCAqLwo+ICAgc3RhdGljIGlubGluZSB2b2lkCj4gQEAgLTQxMSw2ICs0 MTIsMzggQEAgdm9pZCBnZW42X2Rpc2FibGVfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCWdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoZGV2X3By aXYpOwo+ICAgfQo+Cj4gK3ZvaWQgZ2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXNwaW5fbG9ja19pcnEoJmRldl9wcml2 LT5pcnFfbG9jayk7Cj4gKwlnZW42X3Jlc2V0X3BtX2lpcihkZXZfcHJpdiwgZGV2X3ByaXYtPnBt X2d1Y19ldmVudHMpOwo+ICsJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ ICt9Cj4gKwo+ICt2b2lkIGdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKPiArCWlmICghZGV2X3ByaXYtPmd1Yy5pbnRlcnJ1cHRzX2VuYWJsZWQpIHsKPiAr CQlXQVJOX09OX09OQ0UoSTkxNV9SRUFEKGdlbjZfcG1faWlyKGRldl9wcml2KSkgJgo+ICsJCQkJ CQlkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cyk7Cj4gKwkJZGV2X3ByaXYtPmd1Yy5pbnRlcnJ1cHRz X2VuYWJsZWQgPSB0cnVlOwo+ICsJCWdlbjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwgZGV2X3By aXYtPnBtX2d1Y19ldmVudHMpOwo+ICsJfQo+ICsJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+ aXJxX2xvY2spOwo+ICt9Cj4gKwo+ICt2b2lkIGdlbjlfZGlzYWJsZV9ndWNfaW50ZXJydXB0cyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXNwaW5fbG9ja19pcnEo JmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwlkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxl ZCA9IGZhbHNlOwo+ICsKPiArCWdlbjZfZGlzYWJsZV9wbV9pcnEoZGV2X3ByaXYsIGRldl9wcml2 LT5wbV9ndWNfZXZlbnRzKTsKPiArCj4gKwlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFf bG9jayk7Cj4gKwlzeW5jaHJvbml6ZV9pcnEoZGV2X3ByaXYtPmRybS5pcnEpOwo+ICsKPiArCWdl bjlfcmVzZXRfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICt9Cj4gKwo+ICAgLyoqCj4gICAg KiBiZHdfdXBkYXRlX3BvcnRfaXJxIC0gdXBkYXRlIERFIHBvcnQgaW50ZXJydXB0Cj4gICAgKiBA ZGV2X3ByaXY6IGRyaXZlciBwcml2YXRlCj4gQEAgLTExNjcsNiArMTIwMCwyMSBAQCBzdGF0aWMg dm9pZCBnZW42X3BtX3Jwc193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgIAltdXRl eF91bmxvY2soJmRldl9wcml2LT5ycHMuaHdfbG9jayk7Cj4gICB9Cj4KPiArc3RhdGljIHZvaWQg Z2VuOV9ndWMyaG9zdF9ldmVudHNfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gK3sK PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gKwkJY29udGFpbmVyX29m KHdvcmssIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBndWMuZXZlbnRzX3dvcmspOwo+ICsKPiAr CXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwkvKiBTcGVlZCB1cCB3b3Jr IGNhbmNlbGxhdGlvbiBkdXJpbmcgZGlzYWJsaW5nIGd1YyBpbnRlcnJ1cHRzLiAqLwo+ICsJaWYg KCFkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxlZCkgewo+ICsJCXNwaW5fdW5sb2NrX2ly cSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiArCQlyZXR1cm47CgpJIHN1cHBvc2UgbG9ja2luZyBm b3IgZWFybHkgZXhpdCBpcyBzb21ldGhpbmcgYWJvdXQgZW5zdXJpbmcgdGhlIHdvcmtlciAKc2Vl cyB0aGUgdXBkYXRlIHRvIGRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFibGVkIGRvbmUgb24g YW5vdGhlciBDUFU/IApzeW5jaHJvbml6ZV9pcnEgdGhlcmUgaXMgbm90IGVub3VnaCBmb3Igc29t ZSByZWFzb24/Cgo+ICsJfQo+ICsJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2sp Owo+ICsKPiArCS8qIFRPRE86IEhhbmRsZSB0aGUgZXZlbnRzIGZvciB3aGljaCBHdUMgaW50ZXJy dXB0ZWQgaG9zdCAqLwo+ICt9Cj4KPiAgIC8qKgo+ICAgICogaXZ5YnJpZGdlX3Bhcml0eV93b3Jr IC0gV29ya3F1ZXVlIGNhbGxlZCB3aGVuIGEgcGFyaXR5IGVycm9yIGludGVycnVwdAo+IEBAIC0x MzM5LDExICsxMzg3LDEzIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2d0X2lycV9hY2soc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgCQkJRFJNX0VSUk9SKCJUaGUgbWFz dGVyIGNvbnRyb2wgaW50ZXJydXB0IGxpZWQgKEdUMykhXG4iKTsKPiAgIAl9Cj4KPiAtCWlmICht YXN0ZXJfY3RsICYgR0VOOF9HVF9QTV9JUlEpIHsKPiArCWlmIChtYXN0ZXJfY3RsICYgKEdFTjhf R1RfUE1fSVJRIHwgR0VOOF9HVF9HVUNfSVJRKSkgewo+ICAgCQlndF9paXJbMl0gPSBJOTE1X1JF QURfRlcoR0VOOF9HVF9JSVIoMikpOwo+IC0JCWlmIChndF9paXJbMl0gJiBkZXZfcHJpdi0+cG1f cnBzX2V2ZW50cykgewo+ICsJCWlmIChndF9paXJbMl0gJiAoZGV2X3ByaXYtPnBtX3Jwc19ldmVu dHMgfAo+ICsJCQkJIGRldl9wcml2LT5wbV9ndWNfZXZlbnRzKSkgewo+ICAgCQkJSTkxNV9XUklU RV9GVyhHRU44X0dUX0lJUigyKSwKPiAtCQkJCSAgICAgIGd0X2lpclsyXSAmIGRldl9wcml2LT5w bV9ycHNfZXZlbnRzKTsKPiArCQkJCSAgICAgIGd0X2lpclsyXSAmIChkZXZfcHJpdi0+cG1fcnBz X2V2ZW50cyB8Cj4gKwkJCQkJCSAgIGRldl9wcml2LT5wbV9ndWNfZXZlbnRzKSk7Cj4gICAJCQly ZXQgPSBJUlFfSEFORExFRDsKPiAgIAkJfSBlbHNlCj4gICAJCQlEUk1fRVJST1IoIlRoZSBtYXN0 ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAoUE0pIVxuIik7Cj4gQEAgLTEzNzUsNiArMTQyNSw5 IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ3RfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+Cj4gICAJaWYgKGd0X2lpclsyXSAmIGRldl9wcml2LT5wbV9ycHNfZXZl bnRzKQo+ICAgCQlnZW42X3Jwc19pcnFfaGFuZGxlcihkZXZfcHJpdiwgZ3RfaWlyWzJdKTsKPiAr Cj4gKwlpZiAoZ3RfaWlyWzJdICYgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpCj4gKwkJZ2VuOV9n dWNfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIGd0X2lpclsyXSk7Cj4gICB9Cj4KPiAgIHN0YXRpYyBi b29sIGJ4dF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwp Cj4gQEAgLTE2MjEsNiArMTY3NCw0MSBAQCBzdGF0aWMgdm9pZCBnZW42X3Jwc19pcnFfaGFuZGxl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwbV9paXIpCj4gICAJfQo+ ICAgfQo+Cj4gK3N0YXRpYyB2b2lkIGdlbjlfZ3VjX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGd0X2lpcikKPiArewo+ICsJYm9vbCBpbnRlcnJ1cHRz X2VuYWJsZWQ7Cj4gKwo+ICsJaWYgKGd0X2lpciAmIEdFTjlfR1VDX1RPX0hPU1RfSU5UX0VWRU5U KSB7Cj4gKwkJc3Bpbl9sb2NrKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICsJCWludGVycnVwdHNf ZW5hYmxlZCA9IGRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFibGVkOwo+ICsJCXNwaW5fdW5s b2NrKCZkZXZfcHJpdi0+aXJxX2xvY2spOwoKTm90IHN1cmUgdGhhdCB0YWtpbmcgYSBsb2NrIGFy b3VuZCBvbmx5IHRoaXMgcmVhZCBpcyBuZWVkZWQuCgo+ICsJCWlmIChpbnRlcnJ1cHRzX2VuYWJs ZWQpIHsKPiArCQkJLyogU2FtcGxlIHRoZSBsb2cgYnVmZmVyIGZsdXNoIHJlbGF0ZWQgYml0cyAm IGNsZWFyIHRoZW0KPiArCQkJICogb3V0IG5vdyBpdHNlbGYgZnJvbSB0aGUgbWVzc2FnZSBpZGVu dGl0eSByZWdpc3RlciB0bwo+ICsJCQkgKiBtaW5pbWl6ZSB0aGUgcHJvYmFiaWxpdHkgb2YgbG9z aW5nIGEgZmx1c2ggaW50ZXJydXB0LAo+ICsJCQkgKiB3aGVuIHRoZXJlIGFyZSBiYWNrIHRvIGJh Y2sgZmx1c2ggaW50ZXJydXB0cy4KPiArCQkJICogVGhlcmUgY2FuIGJlIGEgbmV3IGZsdXNoIGlu dGVycnVwdCwgZm9yIGRpZmZlcmVudCBsb2cKPiArCQkJICogYnVmZmVyIHR5cGUgKGxpa2UgZm9y IElTUiksIHdoaWxzdCBIb3N0IGlzIGhhbmRsaW5nCj4gKwkJCSAqIG9uZSAoZm9yIERQQykuIFNp bmNlIHNhbWUgYml0IGlzIHVzZWQgaW4gbWVzc2FnZQo+ICsJCQkgKiByZWdpc3RlciBmb3IgSVNS ICYgRFBDLCBpdCBjb3VsZCBoYXBwZW4gdGhhdCBHdUMKPiArCQkJICogc2V0cyB0aGUgYml0IGZv ciAybmQgaW50ZXJydXB0IGJ1dCBIb3N0IGNsZWFycyBvdXQKPiArCQkJICogdGhlIGJpdCBvbiBo YW5kbGluZyB0aGUgMXN0IGludGVycnVwdC4KPiArCQkJICovCj4gKwkJCXUzMiBtc2cgPSBJOTE1 X1JFQUQoU09GVF9TQ1JBVENIKDE1KSkgJgo+ICsJCQkJCShHVUMySE9TVF9NU0dfQ1JBU0hfRFVN UF9QT1NURUQgfAo+ICsJCQkJCSBHVUMySE9TVF9NU0dfRkxVU0hfTE9HX0JVRkZFUik7Cj4gKwkJ CWlmIChtc2cpIHsKPiArCQkJCS8qIENsZWFyIHRoZSBtZXNzYWdlIGJpdHMgdGhhdCBhcmUgaGFu ZGxlZCAqLwo+ICsJCQkJSTkxNV9XUklURShTT0ZUX1NDUkFUQ0goMTUpLAo+ICsJCQkJCUk5MTVf UkVBRChTT0ZUX1NDUkFUQ0goMTUpKSAmIH5tc2cpOwoKQ2FjaGUgZnVsbCB2YWx1ZSBvZiBTT0ZU X1NDUkFUQ0goMTUpIHNvIHlvdSBkb24ndCBoYXZlIHRvIG1taW8gcmVhZCBpdCAKdHdpY2U/CgpB bHNvLCBpcyB0aGUgUk1XIG91dHNpZGUgYW55IGxvY2tzIHNhZmU/Cgo+ICsKPiArCQkJCS8qIEhh bmRsZSBmbHVzaCBpbnRlcnJ1cHQgZXZlbnQgaW4gYm90dG9tIGhhbGYgKi8KPiArCQkJCXF1ZXVl X3dvcmsoZGV2X3ByaXYtPndxLCAmZGV2X3ByaXYtPmd1Yy5ldmVudHNfd29yayk7CgpJTUhPIGl0 IHdvdWxkIGJlIG5pY2VyIGlmIHRoZSBjb2RlIHN0YXJ0ZWQgc3RyYWlnaHQgYXdheSB3aXRoIGEg ZmluYWwgd3EgCnNvbHV0aW9uLgoKRXNwZWNpYWxseSBzaW5jZSB0aGUgbmV4dCBwYXRjaCBpbiB0 aGUgc2VyaWVzIGlzIGNhbGxlZCAiSGFuZGxlIGxvZyAKYnVmZmVyIGZsdXNoIGludGVycnVwdCBl dmVudCBmcm9tIEd1QyIgYW5kIHRoZSBhY3R1YWwgaGFuZGxpbmcgb2YgdGhlIApsb2cgYnVmZmVy IGZsdXNoIGludGVycnVwdCBpcyBzcGxpdCBiZXR3ZWVuIHRoaXMgb25lIAooR1VDMkhPU1RfTVNH X0ZMVVNIX0xPR19CVUZGRVIgYWJvdmUpIGFuZCB0aGF0IG9uZS4KClNvIGl0IHdvdWxkIGFsbW9z dCBiZSBuaWNlciB0aGF0IHRoZSBhYm92ZSBjaHVuayB3aGljaCBoYW5kbGVzIApHVUMySE9TVF9N U0dfRkxVU0hfTE9HX0JVRkZFUiBhbmQgdGhlIHdvcmtlciBpbml0IGlzIG9ubHkgYWRkZWQgaW4g dGhlIApuZXh0IHBhdGNoIGFuZCB0aGlzIG9uZSBvbmx5IGRvZXMgdGhlIGdlbmVyaWMgYml0cy4K CkkgZG9uJ3Qga25vdy4uIEknbGwgbGVhdmUgaXQgb24geW91ciBjb25zY2llbmNlIC0gaWYgeW91 IHRoaW5rIHRoZSBzcGxpdCAKKHNlcmllcykgY2FuJ3QgYmUgZG9uZSBhbnkgbmljZXIgb3IgaXQg bWFrZXMgc2Vuc2UgdG8gaGF2ZSBpdCBpbiB0aGlzIApvcmRlciB0aGVuIG9rLgoKPiArCQkJfQoK TWFieWU6CgoJfSBlbHNlCgpBbmQgbG9nIHNvbWV0aGluZyB1bmV4cGVjdGVkIGhhcyBoYXBwZW5l ZCBpbiB0aGUgIW1zZyBjYXNlPwoKU2luY2UgaXQgd29uJ3QgY2xlYXIgdGhlIG1lc3NhZ2UgaW4g dGhhdCBjYXNlIHNvIHdvdWxkIGl0IGtlZXAgdHJpZ2dlcmluZz8KCj4gKwkJfQo+ICsJfQo+ICt9 Cj4gKwo+ICAgc3RhdGljIGJvb2wgaW50ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAkJCQkgICAgIGVudW0gcGlwZSBwaXBlKQo+ICAg ewo+IEBAIC0zNzIyLDcgKzM4MTAsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9wb3N0aW5z dGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJR0VOOF9JUlFfSU5J VF9ORFgoR1QsIDEsIH5ndF9pbnRlcnJ1cHRzWzFdLCBndF9pbnRlcnJ1cHRzWzFdKTsKPiAgIAkv Kgo+ICAgCSAqIFJQUyBpbnRlcnJ1cHRzIHdpbGwgZ2V0IGVuYWJsZWQvZGlzYWJsZWQgb24gZGVt YW5kIHdoZW4gUlBTIGl0c2VsZgo+IC0JICogaXMgZW5hYmxlZC9kaXNhYmxlZC4KPiArCSAqIGlz IGVuYWJsZWQvZGlzYWJsZWQuIFNhbWUgd2lsIGJlIHRoZSBjYXNlIGZvciBHdUMgaW50ZXJydXB0 cy4KPiAgIAkgKi8KPiAgIAlHRU44X0lSUV9JTklUX05EWChHVCwgMiwgZGV2X3ByaXYtPnBtX2lt ciwgZGV2X3ByaXYtPnBtX2llcik7Cj4gICAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDMsIH5ndF9p bnRlcnJ1cHRzWzNdLCBndF9pbnRlcnJ1cHRzWzNdKTsKPiBAQCAtNDUwNyw2ICs0NTk1LDEwIEBA IHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ Cj4gICAJSU5JVF9XT1JLKCZkZXZfcHJpdi0+cnBzLndvcmssIGdlbjZfcG1fcnBzX3dvcmspOwo+ ICAgCUlOSVRfV09SSygmZGV2X3ByaXYtPmwzX3Bhcml0eS5lcnJvcl93b3JrLCBpdnlicmlkZ2Vf cGFyaXR5X3dvcmspOwo+ICsJSU5JVF9XT1JLKCZkZXZfcHJpdi0+Z3VjLmV2ZW50c193b3JrLCBn ZW45X2d1YzJob3N0X2V2ZW50c193b3JrKTsKPiArCj4gKwlpZiAoSEFTX0dVQ19VQ09ERShkZXYp KQo+ICsJCWRldl9wcml2LT5wbV9ndWNfZXZlbnRzID0gR0VOOV9HVUNfVE9fSE9TVF9JTlRfRVZF TlQ7Cj4KPiAgIAkvKiBMZXQncyB0cmFjayB0aGUgZW5hYmxlZCBycHMgZXZlbnRzICovCj4gICAJ aWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGlu ZGV4IGRhODI3NDQuLjYyMDQ2ZGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv 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 aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggODBjZDA1Zi4uOTYx OWNlOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTExMTksNiArMTExOSw5 IEBAIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wb3N0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlwZV9tYXNrKTsK PiAgIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wcmVfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlwZV9tYXNrKTsK PiArdm9pZCBnZW45X3Jlc2V0X2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7Cj4gK3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdm9pZCBnZW45X2Rpc2FibGVfZ3VjX2ludGVy cnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPgo+ICAgLyogaW50ZWxf Y3J0LmMgKi8KPiAgIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCA3ZTIyODAzLi5iZTFlMDRkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtMTMwLDYgKzEzMCwxMCBAQCBzdHJ1Y3Qg aW50ZWxfZ3VjIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19mdzsKPiAgIAlzdHJ1Y3Qg aW50ZWxfZ3VjX2xvZyBsb2c7Cj4KPiArCS8qIEd1QzJIb3N0IGludGVycnVwdCByZWxhdGVkIHN0 YXRlICovCj4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZXZlbnRzX3dvcms7Cj4gKwlib29sIGludGVy cnVwdHNfZW5hYmxlZDsKPiArCj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmFkc19v Ymo7Cj4KPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X3Bvb2xfb2JqOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPiBpbmRleCBmMjNiYjMzLi5iN2U5 N2NjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+IEBAIC00 NjQsNiArNDY0LDcgQEAgaW50IGludGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAgCX0KPgo+ICAgCWRpcmVjdF9pbnRlcnJ1cHRzX3RvX2hvc3QoZGV2X3ByaXYpOwo+ICsJ Z2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7Cj4KPiAgIAlndWNfZnctPmd1Y19m d19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5HOwo+Cj4gQEAgLTUxMCw2ICs1MTEs OSBAQCBpbnQgaW50ZWxfZ3VjX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCWlu dGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwo+Cj4g ICAJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7Cj4gKwkJaWYgKGk5MTUuZ3VjX2xv Z19sZXZlbCA+PSAwKQo+ICsJCQlnZW45X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7 Cj4gKwo+ICAgCQllcnIgPSBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShkZXZfcHJpdik7Cj4g ICAJCWlmIChlcnIpCj4gICAJCQlnb3RvIGZhaWw7Cj4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==