From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Goel, Akash" Subject: Re: [PATCH 04/11] drm/i915: Support for GuC interrupts Date: Tue, 28 Jun 2016 16:42:41 +0530 Message-ID: References: <1467029818-3417-1-git-send-email-akash.goel@intel.com> <1467029818-3417-5-git-send-email-akash.goel@intel.com> <57724B70.4010303@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E9E46E557 for ; Tue, 28 Jun 2016 11:12:50 +0000 (UTC) In-Reply-To: <57724B70.4010303@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org CgpPbiA2LzI4LzIwMTYgMzozMyBQTSwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4KPiBPbiAyNy8w Ni8xNiAxMzoxNiwgYWthc2guZ29lbEBpbnRlbC5jb20gd3JvdGU6Cj4+IEZyb206IFNhZ2FyIEFy dW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4+Cj4+IFRoZXJlIGFyZSBjZXJ0 YWluIHR5cGVzIG9mIGludGVycnVwdHMgd2hpY2ggSG9zdCBjYW4gcmVjaWV2ZSBmcm9tIEd1Qy4K Pj4gR3VDIHVrZXJuZWwgc2VuZHMgYW4gaW50ZXJydXB0IHRvIEhvc3QgZm9yIGNlcnRhaW4gZXZl bnRzLCBsaWtlIGZvcgo+PiBleGFtcGxlIHJldHJpZXZlL2NvbnN1bWUgdGhlIGxvZ3MgZ2VuZXJh dGVkIGJ5IHVrZXJuZWwuCj4+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IHRvIHJlY2VpdmUgaW50 ZXJydXB0cyBmcm9tIEd1QyBidXQgY3VycmVudGx5Cj4+IGVuYWJsZXMgJiBwYXJ0aWFsbHkgaGFu ZGxlcyBvbmx5IHRoZSBpbnRlcnJ1cHQgc2VudCBieSBHdUMgdWtlcm5lbC4KPj4gRnV0dXJlIHBh dGNoZXMgd2lsbCBhZGQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgb3RoZXIgaW50ZXJydXB0IHR5cGVz Lgo+Pgo+PiB2MjogVXNlIGNvbW1vbiBsb3cgbGV2ZWwgcm91dGluZXMgZm9yIFBNIElFUi9JSVIg cHJvZ3JhbW1pbmcgKENocmlzKQo+PiAgICAgIFJlbmFtZSBpbnRlcnJ1cHQgZnVuY3Rpb25zIHRv IGdlbjlfeHh4IGZyb20gZ2VuOF94eHggKENocmlzKQo+PiAgICAgIFJlcGxhY2UgZGlzYWJsaW5n IG9mIHdha2UgcmVmIGFzc2VydHMgd2l0aCBycG0gZ2V0L3B1dCAoQ2hyaXMpCj4+Cj4+IFNpZ25l ZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4+ IFNpZ25lZC1vZmYtYnk6IEFrYXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgo+PiAtLS0K Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMSArCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgIDUgKysKPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgfCA5NQo+PiArKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICAgICAgICAgICAgfCAxMSArKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgICAgICAgIHwgIDMgKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oICAgICAgICAgICB8ICA1ICsrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvYWRlci5jICAgIHwgIDQgKysKPj4gICA3IGZpbGVzIGNoYW5nZWQsIDEyMCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQo+Pj4+Cj4+ICtzdGF0aWMgdm9pZCBnZW45X2d1YzJob3N0 X2V2ZW50c193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPj4gK3sKPj4gKyAgICBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+PiArICAgICAgICBjb250YWluZXJfb2Yo d29yaywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIGd1Yy5ldmVudHNfd29yayk7Cj4+ICsKPj4g KyAgICBzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+PiArICAgIC8qIFNwZWVk IHVwIHdvcmsgY2FuY2VsYXRpb24gZHVyaW5nIGRpc2FibGluZyBndWMgaW50ZXJydXB0cy4gKi8K Pj4gKyAgICBpZiAoIWRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFibGVkKSB7Cj4+ICsgICAg ICAgIHNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPj4gKyAgICAgICAgcmV0 dXJuOwo+PiArICAgIH0KPj4gKwo+PiArICAgIC8qIFRob3VnaCB0aGlzIHdvcmsgaXRlbSBnZXRz IHN5bmNlZCBkdXJpbmcgcnBtIHN1c3BlbmQsIGJ1dAo+PiBzdGlsbCBuZWVkCj4+ICsgICAgICog YSBycG0gZ2V0L3B1dCB0byBhdm9pZCB0aGUgd2FybmluZywgYXMgaXQgY291bGQgZ2V0IGV4ZWN1 dGVkIGluIGEKPj4gKyAgICAgKiB3aW5kb3csIHdoZXJlIHJwbSByZWYgY291bnQgaGFzIGRyb3Bw ZWQgdG8gemVybyBidXQgcnBtCj4+IHN1c3BlbmQgaGFzCj4+ICsgICAgICogbm90IGtpY2tlZCBp bi4gR2VuZXJhbGx5IGRldmljZSBpcyBleHBlY3RlZCB0byBiZSBhY3RpdmUgb25seQo+PiBhdCB0 aGlzCj4+ICsgICAgICogdGltZSBzbyBnZXQvcHV0IHNob3VsZCBiZSByZWFsbHkgcXVpY2suCj4+ ICsgICAgICovCj4+ICsgICAgaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwo+PiArCj4+ ICsgICAgZ2VuNl9lbmFibGVfcG1faXJxKGRldl9wcml2LCBHRU45X0dVQ19UT19IT1NUX0lOVF9F VkVOVCk7Cj4+ICsgICAgc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+PiAr Cj4+ICsgICAgLyogVE9ETzogSGFuZGxlIHRoZSBldmVudHMgZm9yIHdoaWNoIEd1QyBpbnRlcnJ1 cHRlZCBob3N0ICovCj4+ICsKPj4gKyAgICBpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7 Cj4+ICt9Cj4+Cj4+ICAgLyoqCj4+ICAgICogaXZ5YnJpZGdlX3Bhcml0eV93b3JrIC0gV29ya3F1 ZXVlIGNhbGxlZCB3aGVuIGEgcGFyaXR5IGVycm9yCj4+IGludGVycnVwdAo+PiBAQCAtMTM3MSwx MSArMTQzNSwxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZ2VuOF9ndF9pcnFfYWNrKHN0cnVjdAo+ PiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gICAgICAgICAgICAgICBEUk1fRVJST1Io IlRoZSBtYXN0ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAoR1QzKSFcbiIpOwo+PiAgICAgICB9 Cj4+Cj4+IC0gICAgaWYgKG1hc3Rlcl9jdGwgJiBHRU44X0dUX1BNX0lSUSkgewo+PiArICAgIGlm IChtYXN0ZXJfY3RsICYgKEdFTjhfR1RfUE1fSVJRIHwgR0VOOF9HVF9HVUNfSVJRKSkgewo+PiAg ICAgICAgICAgZ3RfaWlyWzJdID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDIpKTsKPj4gLSAg ICAgICAgaWYgKGd0X2lpclsyXSAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKSB7Cj4+ICsgICAg ICAgIGlmIChndF9paXJbMl0gJiAoZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMgfAo+PiArICAgICAg ICAgICAgICAgICBkZXZfcHJpdi0+Z3VjX2V2ZW50cykpIHsKPj4gICAgICAgICAgICAgICBJOTE1 X1dSSVRFX0ZXKEdFTjhfR1RfSUlSKDIpLAo+PiAtICAgICAgICAgICAgICAgICAgICAgIGd0X2lp clsyXSAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKPj4gKyAgICAgICAgICAgICAgICAgICAg ICBndF9paXJbMl0gJiAoZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMgfAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGV2X3ByaXYtPmd1Y19ldmVudHMpKTsKPj4gICAgICAgICAgICAgICBy ZXQgPSBJUlFfSEFORExFRDsKPj4gICAgICAgICAgIH0gZWxzZQo+PiAgICAgICAgICAgICAgIERS TV9FUlJPUigiVGhlIG1hc3RlciBjb250cm9sIGludGVycnVwdCBsaWVkIChQTSkhXG4iKTsKPj4g QEAgLTE0MDcsNiArMTQ3Myw5IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ3RfaXJxX2hhbmRsZXIoc3Ry dWN0Cj4+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Pgo+PiAgICAgICBpZiAoZ3RfaWly WzJdICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpCj4+ICAgICAgICAgICBnZW42X3Jwc19pcnFf aGFuZGxlcihkZXZfcHJpdiwgZ3RfaWlyWzJdKTsKPj4gKwo+PiArICAgIGlmIChndF9paXJbMl0g JiBkZXZfcHJpdi0+Z3VjX2V2ZW50cykKPj4gKyAgICAgICAgZ2VuOV9ndWNfaXJxX2hhbmRsZXIo ZGV2X3ByaXYsIGd0X2lpclsyXSk7Cj4+ICAgfQo+Pgo+PiAgIHN0YXRpYyBib29sIGJ4dF9wb3J0 X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpCj4+IEBAIC0xNjUz LDYgKzE3MjIsMjAgQEAgc3RhdGljIHZvaWQgZ2VuNl9ycHNfaXJxX2hhbmRsZXIoc3RydWN0Cj4+ IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcG1faWlyKQo+PiAgICAgICB9Cj4+ICAg fQo+Pgo+PiArc3RhdGljIHZvaWQgZ2VuOV9ndWNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+PiB1MzIgZ3RfaWlyKQo+PiArewo+PiArICAgIGlmIChndF9p aXIgJiBHRU45X0dVQ19UT19IT1NUX0lOVF9FVkVOVCkgewo+PiArICAgICAgICBzcGluX2xvY2so JmRldl9wcml2LT5pcnFfbG9jayk7Cj4+ICsgICAgICAgIGlmIChkZXZfcHJpdi0+Z3VjLmludGVy cnVwdHNfZW5hYmxlZCkgewo+Cj4gU28gaXQgaXMgZXhwZWN0ZWQgaW50ZXJydXB0cyB3aWxsIGFs d2F5cyBiZSBlbmFibGVkIHdoZW4KPiBpOTE1Lmd1Y19sb2dfbGV2ZWwgaXMgc2V0LCBjb3JyZWN0 Pwo+ClllcyBjdXJyZW50bHkgb25seSB3aGVuIGd1Y19sb2dfbGV2ZWwgPiAwLCBpbnRlcnJ1cHQg c2hvdWxkIGJlIGVuYWJsZWQuCgpCdXQgd2UgbmVlZCB0byBkaXNhYmxlL2VuYWJsZSB0aGUgaW50 ZXJydXB0IHVwb24gc3VzcGVuZC9yZXN1bWUgYW5kCmFjcm9zcyBHUFUgcmVzZXQuClNvIGludGVy cnVwdCBtYXkgbm90IGJlIGFsd2F5cyBpbiBhIGVuYWJsZWQgc3RhdGUgd2hlbiBndWNfbG9nX2xl dmVsPjAuCgo+IEFsc28gZG8geW91IG5lZWQgdG8gY2hlY2sgYWdhaW5zdCBkZXZfcHJpdi0+Z3Vj LmludGVycnVwdHNfZW5hYmxlZCBhdAo+IGFsbCB0aGVuPyBPciBmcm9tIGFuIG9wcG9zaXRlIGFu Z2xlLCB3b3VsZCB5b3UgaW5zdGVhZCBuZWVkIHRvIGxvZyB0aGUKPiBmYWN0IHVuZXhwZWN0ZWQg aW50ZXJydXB0IHdhcyByZWNlaXZlZCBoZXJlPwoKSSB0aGluayB0aGlzIGNoZWNrIGlzIG5lZWRl ZCwgdG8gYXZvaWQgdGhlIHJhY2UgaW4gZGlzYWJsaW5nIGludGVycnVwdC4KUGxlYXNlIHJlZmVy IHRoZSBzZXF1ZW5jZSBpbiBpbnRlcnJ1cHQgZGlzYWJsaW5nIGZ1bmN0aW9uIChzYW1lIGFzIHJw cwpkaXNhYmxpbmcpLCB0aGVyZSB3ZSBmaXJzdCBzZXQgdGhlIGludGVycnVwdHNfZW5hYmxlZCBm bGFnIHRvIGZhbHNlLAp0aGVuIHdhaXQgZm9yIHRoZSB3b3JrIGl0ZW0gdG8gZmluaXNoIGV4ZWN1 dGlvbiBhbmQgdGhlbiBwcm9ncmFtIHRoZSBJTVIgCnJlZ2lzdGVyLgoKPgo+PiArICAgICAgICAg ICAgLyogUHJvY2VzcyBhbGwgdGhlIEd1QyB0byBIb3N0IGV2ZW50cyBpbiBib3R0b20gaGFsZiAq Lwo+PiArICAgICAgICAgICAgZ2VuNl9kaXNhYmxlX3BtX2lycShkZXZfcHJpdiwKPj4gKyAgICAg ICAgICAgICAgICBHRU45X0dVQ19UT19IT1NUX0lOVF9FVkVOVCk7Cj4KPiBXaHkgaXQgaXMgaW1w b3J0YW50IHRvIGRpc2FibGUgdGhlIGludGVycnVwdCBoZXJlPyBOb3QgZm9yIHRoZSBxdWV1ZQo+ IHdvcmsgSSB0aGluay4KCldlIHdhbnQgdG8gJiBjYW4gaGFuZGxlIG9uZSBpbnRlcnJ1cHQgYXQg YSB0aW1lLCB1bmxlc3MgdGhlIHF1ZXVlZCB3b3JrCml0ZW0gaXMgZXhlY3V0ZWQgd2UgY2FuJ3Qg cHJvY2VzcyB0aGUgbmV4dCBpbnRlcnJ1cHQsIHNvIGJldHRlciB0byBrZWVwIAp0aGUgaW50ZXJy dXB0IG1hc2tlZC4KU29ycnkgdGhpcyBpcyB3aGF0IGlzIG15IHVuZGVyc3RhbmRpbmcuCgo+Cj4g QWxzbywgaXMgaXQgc2FmZSB3aXRoIHJlZ2FyZHMgdG8gcG90ZW50aWFsbHkgbG9zaW5nIHRoZSBp bnRlcnJ1cHQ/Cj4KUGFydGljdWxhcmx5IGZvciB0aGUgRkxVU0hfTE9HX0JVRkZFUiBjYXNlLCBH dUMgd29uJ3Qgc2VuZCBhIG5ldyBmbHVzaAppbnRlcnJ1cHQgdW5sZXNzIGl0cyBnZXRzIGFuIGFj a25vd2xlZGdlbWVudCAoZmx1c2ggc2lnbmFsKSBvZiB0aGUgCnByZXZpb3VzIG9uZSBmcm9tIEhv c3QuCgo+PiArICAgICAgICAgICAgcXVldWVfd29yayhkZXZfcHJpdi0+d3EsICZkZXZfcHJpdi0+ Z3VjLmV2ZW50c193b3JrKTsKPgo+IEJlY2F1c2UgZGV2X3ByaXYtPndxIGlzIGEgb25lIGEgdGlt ZSBpbiBvcmRlciB3cSBzbyBpZiBzb21ldGhpbmcgZWxzZSBpcwo+IHJ1bm5pbmcgb24gaXQgYW5k IHRha2luZyB0aW1lLCBjYW4gdGhhdCBhbHNvIGJlIGEgY2F1c2Ugb2YgZHJvcHBpbmcgYW4KPiBp bnRlcnJ1cHQgb3IgYmVpbmcgbGF0ZSB3aXRoIHNlbmRpbmcgdGhlIGZsdXNoIHNpZ25hbCB0byB0 aGUgZ3VjIGFuZCBzbwo+IGxvc2luZyBzb21lIGxvZ3M/CgpJdHMgYSBEcml2ZXIncyBwcml2YXRl IHdvcmtxdWV1ZSBhbmQgVHVyYm8gd29yayBpdGVtIGlzIGFsc28gcXVldWVkCmluc2lkZSB0aGlz IHdvcmtxdWV1ZSB3aGljaCB0b28gbmVlZHMgdG8gYmUgZXhlY3V0ZWQgd2l0aG91dCBtdWNoIGRl bGF5LgpCdXQgeWVzIHRoZSBmbHVzaCB3b3JrIGl0ZW0gY2FuIGdldCBzdWJzdGFudGlhbGx5IGRl bGF5ZWQgaW4gY2FzZSBpZiAKdGhlcmUgYXJlIG90aGVyIHdvcmsgaXRlbXMgcXVldWVkIGJlZm9y ZSBpdCwgZXNwZWNpYWxseSB0aGUgCm1tLnJldGlyZV93b3JrIChidXQgZ2VuZXJhbGx5IGV4ZWN1 dGVzIGV2ZXJ5IH4xIHNlY29uZCkuCgpCZXN0IHdvdWxkIGJlIGlmIHRoZSBsb2cgYnVmZmVyICg0 NEtCIGRhdGEpIGNhbiBiZSBzYW1wbGVkIGluIElSUQpjb250ZXh0IChvciBUYXNrbGV0IGNvbnRl eHQpIGl0c2VsZi4KCkJlc3QgcmVnYXJkcwpBa2FzaAo+Cj4+ICsgICAgICAgIH0KPj4gKyAgICAg ICAgc3Bpbl91bmxvY2soJmRldl9wcml2LT5pcnFfbG9jayk7Cj4+ICsgICAgfQo+PiArfQo+PiAr Cj4+ICAgc3RhdGljIGJvb2wgaW50ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPj4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHBpcGUg cGlwZSkKPj4gICB7Cj4+IEBAIC0zODA5LDcgKzM4OTIsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d0 X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QKPj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ ICAgICAgIEdFTjhfSVJRX0lOSVRfTkRYKEdULCAxLCB+Z3RfaW50ZXJydXB0c1sxXSwgZ3RfaW50 ZXJydXB0c1sxXSk7Cj4+ICAgICAgIC8qCj4+ICAgICAgICAqIFJQUyBpbnRlcnJ1cHRzIHdpbGwg Z2V0IGVuYWJsZWQvZGlzYWJsZWQgb24gZGVtYW5kIHdoZW4gUlBTCj4+IGl0c2VsZgo+PiAtICAg ICAqIGlzIGVuYWJsZWQvZGlzYWJsZWQuCj4+ICsgICAgICogaXMgZW5hYmxlZC9kaXNhYmxlZC4g U2FtZSB3aWwgYmUgdGhlIGNhc2UgZm9yIEd1QyBpbnRlcnJ1cHRzLgo+PiAgICAgICAgKi8KPj4g ICAgICAgR0VOOF9JUlFfSU5JVF9ORFgoR1QsIDIsIGRldl9wcml2LT5wbV9pcnFfbWFzaywgMCk7 Cj4+ICAgICAgIEdFTjhfSVJRX0lOSVRfTkRYKEdULCAzLCB+Z3RfaW50ZXJydXB0c1szXSwgZ3Rf aW50ZXJydXB0c1szXSk7Cj4+IEBAIC00NTk0LDYgKzQ2NzcsMTAgQEAgdm9pZCBpbnRlbF9pcnFf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+PiAqZGV2X3ByaXYpCj4+Cj4+ICAgICAgIElO SVRfV09SSygmZGV2X3ByaXYtPnJwcy53b3JrLCBnZW42X3BtX3Jwc193b3JrKTsKPj4gICAgICAg SU5JVF9XT1JLKCZkZXZfcHJpdi0+bDNfcGFyaXR5LmVycm9yX3dvcmssIGl2eWJyaWRnZV9wYXJp dHlfd29yayk7Cj4+ICsgICAgSU5JVF9XT1JLKCZkZXZfcHJpdi0+Z3VjLmV2ZW50c193b3JrLCBn ZW45X2d1YzJob3N0X2V2ZW50c193b3JrKTsKPj4gKwo+PiArICAgIGlmIChIQVNfR1VDX1VDT0RF KGRldikpCj4+ICsgICAgICAgIGRldl9wcml2LT5ndWNfZXZlbnRzID0gR0VOOV9HVUNfVE9fSE9T VF9JTlRfRVZFTlQ7Cj4+Cj4+ICAgICAgIC8qIExldCdzIHRyYWNrIHRoZSBlbmFibGVkIHJwcyBl dmVudHMgKi8KPj4gICAgICAgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpKQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPj4gaW5kZXggYzZiZmJmOC4uNDQ0MTkxOCAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4+IEBAIC01OTYzLDYgKzU5NjMsNyBAQCBlbnVtIHsKPj4gICAj ZGVmaW5lICBHRU44X0RFX1BJUEVfQV9JUlEgICAgICAgICgxPDwxNikKPj4gICAjZGVmaW5lICBH RU44X0RFX1BJUEVfSVJRKHBpcGUpICAgICAgICAoMTw8KDE2KyhwaXBlKSkpCj4+ICAgI2RlZmlu ZSAgR0VOOF9HVF9WRUNTX0lSUSAgICAgICAgKDE8PDYpCj4+ICsjZGVmaW5lICBHRU44X0dUX0dV Q19JUlEgICAgICAgICgxPDw1KQo+PiAgICNkZWZpbmUgIEdFTjhfR1RfUE1fSVJRICAgICAgICAg ICAgKDE8PDQpCj4+ICAgI2RlZmluZSAgR0VOOF9HVF9WQ1MyX0lSUSAgICAgICAgKDE8PDMpCj4+ ICAgI2RlZmluZSAgR0VOOF9HVF9WQ1MxX0lSUSAgICAgICAgKDE8PDIpCj4+IEBAIC01OTc0LDYg KzU5NzUsMTYgQEAgZW51bSB7Cj4+ICAgI2RlZmluZSBHRU44X0dUX0lJUih3aGljaCkgX01NSU8o MHg0NDMwOCArICgweDEwICogKHdoaWNoKSkpCj4+ICAgI2RlZmluZSBHRU44X0dUX0lFUih3aGlj aCkgX01NSU8oMHg0NDMwYyArICgweDEwICogKHdoaWNoKSkpCj4+Cj4+ICsjZGVmaW5lIEdFTjlf R1VDX1RPX0hPU1RfSU5UX0VWRU5UICAgICgxPDwzMSkKPj4gKyNkZWZpbmUgR0VOOV9HVUNfRVhF Q19FUlJPUl9FVkVOVCAgICAoMTw8MzApCj4+ICsjZGVmaW5lIEdFTjlfR1VDX0RJU1BMQVlfRVZF TlQgICAgICAgICgxPDwyOSkKPj4gKyNkZWZpbmUgR0VOOV9HVUNfU0VNQV9TSUdOQUxfRVZFTlQg ICAgKDE8PDI4KQo+PiArI2RlZmluZSBHRU45X0dVQ19JT01NVV9NU0dfRVZFTlQgICAgKDE8PDI3 KQo+PiArI2RlZmluZSBHRU45X0dVQ19EQl9SSU5HX0VWRU5UICAgICAgICAoMTw8MjYpCj4+ICsj ZGVmaW5lIEdFTjlfR1VDX0RNQV9ET05FX0VWRU5UICAgICAgICAoMTw8MjUpCj4+ICsjZGVmaW5l IEdFTjlfR1VDX0ZBVEFMX0VSUk9SX0VWRU5UICAgICgxPDwyNCkKPj4gKyNkZWZpbmUgR0VOOV9H VUNfTk9USUZJQ0FUSU9OX0VWRU5UICAgICgxPDwyMykKPj4gKwo+PiAgICNkZWZpbmUgR0VOOF9S Q1NfSVJRX1NISUZUIDAKPj4gICAjZGVmaW5lIEdFTjhfQkNTX0lSUV9TSElGVCAxNgo+PiAgICNk ZWZpbmUgR0VOOF9WQ1MxX0lSUV9TSElGVCAwCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4+IGluZGV4IDJhMDEzZmMuLjY5NjZmZmUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4+IEBAIC0xMDgzLDYgKzEwODMsOSBAQCB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9z dF9lbmFibGUoc3RydWN0Cj4+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwaXBlX21hc2spOwo+PiAgIHZvaWQgZ2VuOF9p cnFfcG93ZXJfd2VsbF9wcmVfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBpcGVfbWFzayk7Cj4+ ICt2b2lkIGdlbjlfcmVzZXRfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPj4gK3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4gK3ZvaWQgZ2VuOV9kaXNhYmxlX2d1Y19pbnRl cnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+Cj4+ICAgLyogaW50 ZWxfY3J0LmMgKi8KPj4gICB2b2lkIGludGVsX2NydF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+PiBpbmRleCAzZTNlNzQzLi5hZTc4 N2UyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+PiBAQCAtMTI2LDYgKzEyNiwx MSBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKPj4gICAgICAgc3RydWN0IGludGVsX2d1Y19mdyBndWNf Znc7Cj4+ICAgICAgIHVpbnQzMl90IGxvZ19mbGFnczsKPj4gICAgICAgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmxvZ19vYmo7Cj4+ICsgICAgLyoKPj4gKyAgICAgKiB3b3JrLCBpbnRlcnJ1 cHRzX2VuYWJsZWQgYXJlIHByb3RlY3RlZCBieSBkZXZfcHJpdi0+aXJxX2xvY2sKPj4gKyAgICAg Ki8KPj4gKyAgICBzdHJ1Y3Qgd29ya19zdHJ1Y3QgZXZlbnRzX3dvcms7Cj4+ICsgICAgYm9vbCBp bnRlcnJ1cHRzX2VuYWJsZWQ7Cj4+Cj4+ICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICphZHNfb2JqOwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvYWRlci5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5j Cj4+IGluZGV4IGRiM2M4OTcuLmZjZjM2YTIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfbG9hZGVyLmMKPj4gQEAgLTQ0OCw2ICs0NDgsNyBAQCBpbnQgaW50ZWxfZ3VjX3Nl dHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAgICAgIH0KPj4KPj4gICAgICAgZGlyZWN0 X2ludGVycnVwdHNfdG9faG9zdChkZXZfcHJpdik7Cj4+ICsgICAgZ2VuOV9yZXNldF9ndWNfaW50 ZXJydXB0cyhkZXZfcHJpdik7Cj4+Cj4+ICAgICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVz ID0gR1VDX0ZJUk1XQVJFX1BFTkRJTkc7Cj4+Cj4+IEBAIC00OTQsNiArNDk1LDkgQEAgaW50IGlu dGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgICAgICAgICAgaW50ZWxf Z3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7Cj4+Cj4+ICAg ICAgIGlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikgewo+PiArICAgICAgICBpZiAoaTkx NS5ndWNfbG9nX2xldmVsID49IDApCj4+ICsgICAgICAgICAgICBnZW45X2VuYWJsZV9ndWNfaW50 ZXJydXB0cyhkZXZfcHJpdik7Cj4+ICsKPj4gICAgICAgICAgIGVyciA9IGk5MTVfZ3VjX3N1Ym1p c3Npb25fZW5hYmxlKGRldl9wcml2KTsKPj4gICAgICAgICAgIGlmIChlcnIpCj4+ICAgICAgICAg ICAgICAgZ290byBmYWlsOwo+Pgo+Cj4gUmVnYXJkcywKPgo+IFR2cnRrbwo+Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=