From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 05/18] drm/i915: Support for GuC interrupts Date: Mon, 15 Aug 2016 15:54:49 +0100 Message-ID: <57B1D7B9.7000408@linux.intel.com> References: <1471272599-14586-1-git-send-email-akash.goel@intel.com> <1471272599-14586-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E5A76E551 for ; Mon, 15 Aug 2016 14:55:00 +0000 (UTC) In-Reply-To: <1471272599-14586-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 Ck9uIDE1LzA4LzE2IDE1OjQ5LCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBT 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+IFNpZ25lZC1v ZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gU2ln bmVkLW9mZi1ieTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+Cj4gLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMSArCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgNSArKysKPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICB8IDYzICsrKysrKysrKysrKysr KysrKysrKysrKysrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAg ICAgICAgIHwgMTEgKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgICAgICAgfCAgMyArKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAg ICAgICAgIHwgIDMgKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIu YyAgICB8ICA0ICsrCj4gICA3IGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCBhMTg3ZWE3Li4wODU1 M2I5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE3ODMsNiArMTc4Myw3IEBA IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAgIAl1MzIgcG1faW1yOwo+ICAgCXUzMiBwbV9p ZXI7Cj4gICAJdTMyIHBtX3Jwc19ldmVudHM7Cj4gKwl1MzIgcG1fZ3VjX2V2ZW50czsKPiAgIAl1 MzIgcGlwZXN0YXRfaXJxX21hc2tbSTkxNV9NQVhfUElQRVNdOwo+Cj4gICAJc3RydWN0IGk5MTVf aG90cGx1ZyBob3RwbHVnOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMKPiBpbmRleCAzNGZiODkzLi5iMDYyZGE2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC0xMDU1LDYgKzEwNTUsOCBAQCBpbnQgaW50 ZWxfZ3VjX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlpZiAoZ3VjLT5ndWNf ZncuZ3VjX2Z3X2xvYWRfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQo+ICAgCQlyZXR1 cm4gMDsKPgo+ICsJZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKPiArCj4g ICAJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+Cj4gICAJZGF0YVswXSA9IEhPU1Qy R1VDX0FDVElPTl9FTlRFUl9TX1NUQVRFOwo+IEBAIC0xMDgxLDYgKzEwODMsOSBAQCBpbnQgaW50 ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCWlmIChndWMtPmd1Y19m dy5ndWNfZndfbG9hZF9zdGF0dXMgIT0gR1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCj4gICAJCXJldHVy biAwOwo+Cj4gKwlpZiAoaTkxNS5ndWNfbG9nX2xldmVsID49IDApCj4gKwkJZ2VuOV9lbmFibGVf Z3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICsKPiAgIAljdHggPSBkZXZfcHJpdi0+a2VybmVs X2NvbnRleHQ7Cj4KPiAgIAlkYXRhWzBdID0gSE9TVDJHVUNfQUNUSU9OX0VYSVRfU19TVEFURTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCA4M2Q3MDhhLi5lYjQ3NzRmIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gQEAgLTE3MCw2ICsxNzAsNyBAQCBzdGF0aWMgdm9pZCBn ZW41X2Fzc2VydF9paXJfaXNfemVybyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gICB9IHdoaWxlICgwKQo+Cj4gICBzdGF0aWMgdm9pZCBnZW42X3Jwc19pcnFfaGFuZGxlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwbV9paXIpOwo+ICtzdGF0aWMg dm9pZCBnZW45X2d1Y19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHUzMiBwbV9paXIpOwo+Cj4gICAvKiBGb3IgZGlzcGxheSBob3RwbHVnIGludGVycnVwdCAq Lwo+ICAgc3RhdGljIGlubGluZSB2b2lkCj4gQEAgLTQxMSw2ICs0MTIsMzggQEAgdm9pZCBnZW42 X2Rpc2FibGVfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ICAgCWdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICAgfQo+Cj4gK3Zv aWQgZ2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gK3sKPiArCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwln ZW42X3Jlc2V0X3BtX2lpcihkZXZfcHJpdiwgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpOwo+ICsJ c3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICt9Cj4gKwo+ICt2b2lkIGdl bjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiArewo+ICsJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiArCWlmICgh ZGV2X3ByaXYtPmd1Yy5pbnRlcnJ1cHRzX2VuYWJsZWQpIHsKPiArCQlXQVJOX09OX09OQ0UoSTkx NV9SRUFEKGdlbjZfcG1faWlyKGRldl9wcml2KSkgJgo+ICsJCQkJICAgICAgIGRldl9wcml2LT5w bV9ndWNfZXZlbnRzKTsKPiArCQlkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxlZCA9IHRy dWU7Cj4gKwkJZ2VuNl9lbmFibGVfcG1faXJxKGRldl9wcml2LCBkZXZfcHJpdi0+cG1fZ3VjX2V2 ZW50cyk7Cj4gKwl9Cj4gKwlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4g K30KPiArCj4gK3ZvaWQgZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKPiArCWRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFibGVkID0gZmFsc2U7Cj4g Kwo+ICsJZ2VuNl9kaXNhYmxlX3BtX2lycShkZXZfcHJpdiwgZGV2X3ByaXYtPnBtX2d1Y19ldmVu dHMpOwo+ICsKPiArCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiArCXN5 bmNocm9uaXplX2lycShkZXZfcHJpdi0+ZHJtLmlycSk7Cj4gKwo+ICsJZ2VuOV9yZXNldF9ndWNf aW50ZXJydXB0cyhkZXZfcHJpdik7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIGJkd191cGRhdGVf cG9ydF9pcnEgLSB1cGRhdGUgREUgcG9ydCBpbnRlcnJ1cHQKPiAgICAqIEBkZXZfcHJpdjogZHJp dmVyIHByaXZhdGUKPiBAQCAtMTMzOSwxMSArMTM3MiwxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg Z2VuOF9ndF9pcnFfYWNrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAkJ CURSTV9FUlJPUigiVGhlIG1hc3RlciBjb250cm9sIGludGVycnVwdCBsaWVkIChHVDMpIVxuIik7 Cj4gICAJfQo+Cj4gLQlpZiAobWFzdGVyX2N0bCAmIEdFTjhfR1RfUE1fSVJRKSB7Cj4gKwlpZiAo bWFzdGVyX2N0bCAmIChHRU44X0dUX1BNX0lSUSB8IEdFTjhfR1RfR1VDX0lSUSkpIHsKPiAgIAkJ Z3RfaWlyWzJdID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDIpKTsKPiAtCQlpZiAoZ3RfaWly WzJdICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpIHsKPiArCQlpZiAoZ3RfaWlyWzJdICYgKGRl dl9wcml2LT5wbV9ycHNfZXZlbnRzIHwKPiArCQkJCSBkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cykp IHsKPiAgIAkJCUk5MTVfV1JJVEVfRlcoR0VOOF9HVF9JSVIoMiksCj4gLQkJCQkgICAgICBndF9p aXJbMl0gJiBkZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyk7Cj4gKwkJCQkgICAgICBndF9paXJbMl0g JiAoZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMgfAo+ICsJCQkJCQkgICBkZXZfcHJpdi0+cG1fZ3Vj X2V2ZW50cykpOwo+ICAgCQkJcmV0ID0gSVJRX0hBTkRMRUQ7Cj4gICAJCX0gZWxzZQo+ICAgCQkJ RFJNX0VSUk9SKCJUaGUgbWFzdGVyIGNvbnRyb2wgaW50ZXJydXB0IGxpZWQgKFBNKSFcbiIpOwo+ IEBAIC0xMzc1LDYgKzE0MTAsOSBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9oYW5kbGVyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPgo+ICAgCWlmIChndF9paXJbMl0gJiBk ZXZfcHJpdi0+cG1fcnBzX2V2ZW50cykKPiAgIAkJZ2VuNl9ycHNfaXJxX2hhbmRsZXIoZGV2X3By aXYsIGd0X2lpclsyXSk7Cj4gKwo+ICsJaWYgKGd0X2lpclsyXSAmIGRldl9wcml2LT5wbV9ndWNf ZXZlbnRzKQo+ICsJCWdlbjlfZ3VjX2lycV9oYW5kbGVyKGRldl9wcml2LCBndF9paXJbMl0pOwo+ ICAgfQo+Cj4gICBzdGF0aWMgYm9vbCBieHRfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0g cG9ydCBwb3J0LCB1MzIgdmFsKQo+IEBAIC0xNjIxLDYgKzE2NTksMjAgQEAgc3RhdGljIHZvaWQg Z2VuNl9ycHNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1 MzIgcG1faWlyKQo+ICAgCX0KPiAgIH0KPgo+ICtzdGF0aWMgdm9pZCBnZW45X2d1Y19pcnFfaGFu ZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBndF9paXIpCj4gK3sK PiArCWJvb2wgaW50ZXJydXB0c19lbmFibGVkOwo+ICsKPiArCWlmIChndF9paXIgJiBHRU45X0dV Q19UT19IT1NUX0lOVF9FVkVOVCkgewo+ICsJCXNwaW5fbG9jaygmZGV2X3ByaXYtPmlycV9sb2Nr KTsKPiArCQlpbnRlcnJ1cHRzX2VuYWJsZWQgPSBkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5h YmxlZDsKPiArCQlzcGluX3VubG9jaygmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiArCQlpZiAoaW50 ZXJydXB0c19lbmFibGVkKSB7Cj4gKwkJCS8qIFRPRE86IEhhbmRsZSBldmVudHMgZm9yIHdoaWNo IEd1QyBpbnRlcnJ1cHRlZCBob3N0ICovCj4gKwkJfQo+ICsJfQo+ICt9Cj4gKwo+ICAgc3RhdGlj IGJvb2wgaW50ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgIAkJCQkgICAgIGVudW0gcGlwZSBwaXBlKQo+ICAgewo+IEBAIC0zNzIyLDcg KzM3NzQsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDEsIH5n dF9pbnRlcnJ1cHRzWzFdLCBndF9pbnRlcnJ1cHRzWzFdKTsKPiAgIAkvKgo+ICAgCSAqIFJQUyBp bnRlcnJ1cHRzIHdpbGwgZ2V0IGVuYWJsZWQvZGlzYWJsZWQgb24gZGVtYW5kIHdoZW4gUlBTIGl0 c2VsZgo+IC0JICogaXMgZW5hYmxlZC9kaXNhYmxlZC4KPiArCSAqIGlzIGVuYWJsZWQvZGlzYWJs ZWQuIFNhbWUgd2lsIGJlIHRoZSBjYXNlIGZvciBHdUMgaW50ZXJydXB0cy4KPiAgIAkgKi8KPiAg IAlHRU44X0lSUV9JTklUX05EWChHVCwgMiwgZGV2X3ByaXYtPnBtX2ltciwgZGV2X3ByaXYtPnBt X2llcik7Cj4gICAJR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDMsIH5ndF9pbnRlcnJ1cHRzWzNdLCBn dF9pbnRlcnJ1cHRzWzNdKTsKPiBAQCAtNDUwOCw2ICs0NTYwLDkgQEAgdm9pZCBpbnRlbF9pcnFf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJSU5JVF9XT1JLKCZk ZXZfcHJpdi0+cnBzLndvcmssIGdlbjZfcG1fcnBzX3dvcmspOwo+ICAgCUlOSVRfV09SSygmZGV2 X3ByaXYtPmwzX3Bhcml0eS5lcnJvcl93b3JrLCBpdnlicmlkZ2VfcGFyaXR5X3dvcmspOwo+Cj4g KwlpZiAoSEFTX0dVQ19TQ0hFRChkZXYpKQo+ICsJCWRldl9wcml2LT5wbV9ndWNfZXZlbnRzID0g R0VOOV9HVUNfVE9fSE9TVF9JTlRfRVZFTlQ7Cj4gKwo+ICAgCS8qIExldCdzIHRyYWNrIHRoZSBl bmFibGVkIHJwcyBldmVudHMgKi8KPiAgIAlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpCj4g ICAJCS8qIFdhR3N2UkMwUmVzaWRlbmN5TWV0aG9kOnZsdiAqLwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+IGluZGV4IGQ0YWRmMjguLmNhYjA4OWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiBAQCAtNjAxMSw2ICs2MDExLDcgQEAgZW51bSB7Cj4gICAjZGVmaW5lICBHRU44X0RFX1BJ UEVfQV9JUlEJCSgxPDwxNikKPiAgICNkZWZpbmUgIEdFTjhfREVfUElQRV9JUlEocGlwZSkJCSgx PDwoMTYrKHBpcGUpKSkKPiAgICNkZWZpbmUgIEdFTjhfR1RfVkVDU19JUlEJCSgxPDw2KQo+ICsj ZGVmaW5lICBHRU44X0dUX0dVQ19JUlEJCSgxPDw1KQo+ICAgI2RlZmluZSAgR0VOOF9HVF9QTV9J UlEJCQkoMTw8NCkKPiAgICNkZWZpbmUgIEdFTjhfR1RfVkNTMl9JUlEJCSgxPDwzKQo+ICAgI2Rl ZmluZSAgR0VOOF9HVF9WQ1MxX0lSUQkJKDE8PDIpCj4gQEAgLTYwMjIsNiArNjAyMywxNiBAQCBl bnVtIHsKPiAgICNkZWZpbmUgR0VOOF9HVF9JSVIod2hpY2gpIF9NTUlPKDB4NDQzMDggKyAoMHgx MCAqICh3aGljaCkpKQo+ICAgI2RlZmluZSBHRU44X0dUX0lFUih3aGljaCkgX01NSU8oMHg0NDMw YyArICgweDEwICogKHdoaWNoKSkpCj4KPiArI2RlZmluZSBHRU45X0dVQ19UT19IT1NUX0lOVF9F VkVOVAkoMTw8MzEpCj4gKyNkZWZpbmUgR0VOOV9HVUNfRVhFQ19FUlJPUl9FVkVOVAkoMTw8MzAp Cj4gKyNkZWZpbmUgR0VOOV9HVUNfRElTUExBWV9FVkVOVAkJKDE8PDI5KQo+ICsjZGVmaW5lIEdF TjlfR1VDX1NFTUFfU0lHTkFMX0VWRU5UCSgxPDwyOCkKPiArI2RlZmluZSBHRU45X0dVQ19JT01N VV9NU0dfRVZFTlQJKDE8PDI3KQo+ICsjZGVmaW5lIEdFTjlfR1VDX0RCX1JJTkdfRVZFTlQJCSgx PDwyNikKPiArI2RlZmluZSBHRU45X0dVQ19ETUFfRE9ORV9FVkVOVAkJKDE8PDI1KQo+ICsjZGVm aW5lIEdFTjlfR1VDX0ZBVEFMX0VSUk9SX0VWRU5UCSgxPDwyNCkKPiArI2RlZmluZSBHRU45X0dV Q19OT1RJRklDQVRJT05fRVZFTlQJKDE8PDIzKQo+ICsKPiAgICNkZWZpbmUgR0VOOF9SQ1NfSVJR X1NISUZUIDAKPiAgICNkZWZpbmUgR0VOOF9CQ1NfSVJRX1NISUZUIDE2Cj4gICAjZGVmaW5lIEdF TjhfVkNTMV9JUlFfU0hJRlQgMAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggOWI5 OWE4NC4uZjdmMTZhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTExMjAs NiArMTEyMCw5IEBAIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wb3N0X2VuYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlw ZV9tYXNrKTsKPiAgIHZvaWQgZ2VuOF9pcnFfcG93ZXJfd2VsbF9wcmVfZGlzYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgICB1bnNpZ25lZCBpbnQgcGlw ZV9tYXNrKTsKPiArdm9pZCBnZW45X3Jlc2V0X2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiArdm9pZCBnZW45X2Rpc2FibGVf Z3VjX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPgo+ICAg LyogaW50ZWxfY3J0LmMgKi8KPiAgIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCBkMzIwMjNjLi4xZmM2 M2ZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBAQCAtMTMwLDYgKzEzMCw5IEBA IHN0cnVjdCBpbnRlbF9ndWMgewo+ICAgCXN0cnVjdCBpbnRlbF9ndWNfZncgZ3VjX2Z3Owo+ICAg CXN0cnVjdCBpbnRlbF9ndWNfbG9nIGxvZzsKPgo+ICsJLyogR3VDMkhvc3QgaW50ZXJydXB0IHJl bGF0ZWQgc3RhdGUgKi8KPiArCWJvb2wgaW50ZXJydXB0c19lbmFibGVkOwo+ICsKPiAgIAlzdHJ1 Y3QgaTkxNV92bWEgKmFkc192bWE7Cj4gICAJc3RydWN0IGk5MTVfdm1hICpjdHhfcG9vbF92bWE7 Cj4gICAJc3RydWN0IGlkYSBjdHhfaWRzOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9hZGVyLmMKPiBpbmRleCA2ZmQyNGQ5Li5lZjM1ZTk5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+IEBAIC00NjQsNiArNDY0LDcgQEAgaW50IGludGVsX2d1 Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCX0KPgo+ICAgCWRpcmVjdF9pbnRl cnJ1cHRzX3RvX2hvc3QoZGV2X3ByaXYpOwo+ICsJZ2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhk ZXZfcHJpdik7Cj4KPiAgIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FS RV9QRU5ESU5HOwo+Cj4gQEAgLTUxMCw2ICs1MTEsOSBAQCBpbnQgaW50ZWxfZ3VjX3NldHVwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNf ZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwo+Cj4gICAJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJt aXNzaW9uKSB7Cj4gKwkJaWYgKGk5MTUuZ3VjX2xvZ19sZXZlbCA+PSAwKQo+ICsJCQlnZW45X2Vu YWJsZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7Cj4gKwo+ICAgCQllcnIgPSBpOTE1X2d1Y19z dWJtaXNzaW9uX2VuYWJsZShkZXZfcHJpdik7Cj4gICAJCWlmIChlcnIpCj4gICAJCQlnb3RvIGZh aWw7Cj4KCkkgc3RpbGwgZG9uJ3Qgc2VlIHRoYXQgc2FtcGxpbmcgaW50ZXJydXB0c19lbmFibGVk IHVuZGVyIGEgc3BpbmxvY2sgZG9lcyAKYW55dGhpbmcgdXNlZnVsLiBCdXQgaXQgaXMgbm90IHdy b25nIHNvIG9uIHRoZSBiYXNpcyBvZiB0aGF0OgoKUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=