From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/i915/bxt: Fix DSI HW state readout Date: Thu, 24 Mar 2016 11:15:26 +0200 Message-ID: <87poukdyoh.fsf@intel.com> References: <1458767983-6473-1-git-send-email-imre.deak@intel.com> <1458770210-16383-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 176CD6E569 for ; Thu, 24 Mar 2016 09:15:29 +0000 (UTC) In-Reply-To: <1458770210-16383-1-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMyBNYXIgMjAxNiwgSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPiB3cm90 ZToKPiBDdXJyZW50bHkgdGhlIG1hY2hpbmUgaGFuZ3MgZHVyaW5nIGJvb3Rpbmcgd2hpbGUgYWNj ZXNzaW5nIHRoZQo+IEJYVF9NSVBJX1BPUlRfQ1RSTCByZWdpc3RlciBkdXJpbmcgcGlwZSBIVyBz dGF0ZSByZWFkb3V0LiBBZnRlciBzb21lCj4gZXhwZXJpbWVudGF0aW9uIEkgZm91bmQgdGhhdCB0 aGUgaGFuZyBpcyBjYXVzZWQgYnkgdGhlIERTSSBQTEwgYmVpbmcKPiBkaXNhYmxlZCwgb3IgaXQg YmVpbmcgZW5hYmxlZCBidXQgd2l0aCBhbiBpbmNvcnJlY3QgZGl2aWRlcgo+IGNvbmZpZ3VyYXRp b24uIEVuYWJsaW5nIHRoZSBQTEwgZ290IHJpZCBvZiB0aGUgYm9vdCBwcm9ibGVtLCBzbyBmaXgK PiB0aGlzIGJ5IGNoZWNraW5nIHRoZSBQTEwgZW5hYmxlZCBzdGF0ZS9jb25maWd1cmF0aW9uIGJl Zm9yZSBhdHRlbXB0aW5nCj4gdG8gcmVhZCBvdXQgdGhlIEhXIHN0YXRlLgo+Cj4gVGhlIERTSV9Q TExfRU5BQkxFIHJlZ2lzdGVyIGlzIGluIHRoZSBhbHdheXMtb24gcG93ZXIgd2VsbCwgd2hpbGUg dGhlCj4gQlhUX0RTSV9QTExfQ1RMIGlzIGluIHBvd2VyIHdlbGwgMC4gVGhpcyBpc24ndCBleGFj dGx5IG1hdGNoZWQgYnkgdGhlCj4gdHJhbnNjb2RlciBwb3dlciBkb21haW4sIGJ1dCB3aGF0IHdl IHJlYWxseSBuZWVkIGlzIGp1c3QgYSBydW50aW1lIFBNCj4gcmVmZXJlbmNlLCB3aGljaCBpcyBw cm92aWRlZCBieSBhbnkgcG93ZXIgZG9tYWluLgo+Cj4gVmlsbGUgYWxzbyBmb3VuZCB0aGlzIGRl cGVuZGVuY3kgc3BlY2lmaWVkIGluIEJTcGVjLCBzbyBJIGFkZGVkIGEKPiByZWZlcmVuY2UgdG8g dGhhdCB0b28uCj4KPiB2MjoKPiAtIE1ha2Ugc3VyZSB3ZSBob2xkIGEgcG93ZXIgcmVmZXJlbmNl IHdoaWxlIGFjY2Vzc2luZyB0aGUgUExMIHJlZ2lzdGVycy4KPgo+IENDOiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gQ0M6IFVtYSBTaGFua2FyIDx1bWEuc2hh bmthckBpbnRlbC5jb20+Cj4gQ0M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ Cj4gRml4ZXM6IGM2Yzc5NGEyZmM1ZSAoImRybS9pOTE1L2J4dDogSW5pdGlhbGl6ZSBNSVBJIERT SSBmb3IgQlhUIikKCkkgZmlndXJlZCB0aGlzIG1pZ2h0IGJsb3cgc29tZXRoaW5nIHVwIG5vdywg YnV0IHRoZW4gYWdhaW4gd2UgbmVlZGVkIHRvCmRvIGl0IHRvIGZpbmQgb3V0IGFsbCB0aGUgd2F5 cyBpdCB3b3VsZCBibG93IHVwLiBBcG9sb2dpZXMgYW5kCnRoYW5rcy4gOykKCj4gU2lnbmVkLW9m Zi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAxMyArKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5jICAgICB8ICA5ICsrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2kuaCAgICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rz aV9wbGwuYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICA1IGZp bGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ IGluZGV4IGYzYmE0M2MuLmM4MzljZTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBA QCAtNzgxMSw5ICs3ODExLDExIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVm aW5lICBCWFRfRFNJQ18xNlhfQlkyCQkoMSA8PCAxMCkKPiAgI2RlZmluZSAgQlhUX0RTSUNfMTZY X0JZMwkJKDIgPDwgMTApCj4gICNkZWZpbmUgIEJYVF9EU0lDXzE2WF9CWTQJCSgzIDw8IDEwKQo+ ICsjZGVmaW5lICBCWFRfRFNJQ18xNlhfTUFTSwkJKDMgPDwgMTApCj4gICNkZWZpbmUgIEJYVF9E U0lBXzE2WF9CWTIJCSgxIDw8IDgpCj4gICNkZWZpbmUgIEJYVF9EU0lBXzE2WF9CWTMJCSgyIDw8 IDgpCj4gICNkZWZpbmUgIEJYVF9EU0lBXzE2WF9CWTQJCSgzIDw8IDgpCj4gKyNkZWZpbmUgIEJY VF9EU0lBXzE2WF9NQVNLCQkoMyA8PCA4KQo+ICAjZGVmaW5lICBCWFRfRFNJX0ZSRVFfU0VMX1NI SUZUCQk4Cj4gICNkZWZpbmUgIEJYVF9EU0lfRlJFUV9TRUxfTUFTSwkJKDB4RiA8PCBCWFRfRFNJ X0ZSRVFfU0VMX1NISUZUKQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g aW5kZXggMDA5YjAzYi4uNmZkOTRjNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBAQCAtMzYsNiArMzYsNyBAQAo+ICAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gICNp bmNsdWRlIDxkcm0vaTkxNV9kcm0uaD4KPiAgI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4gKyNpbmNs dWRlICJpbnRlbF9kc2kuaCIKPiAgI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKPiAgI2luY2x1ZGUg PGRybS9kcm1fYXRvbWljLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4K PiBAQCAtOTg1MiwxMCArOTg1MywxMiBAQCBzdGF0aWMgYm9vbCBieHRfZ2V0X2RzaV90cmFuc2Nv ZGVyX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJZW51bSBpbnRlbF9kaXNwbGF5 X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47Cj4gIAllbnVtIHBvcnQgcG9ydDsKPiAgCWVudW0g dHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsKPiArCWJvb2wgcGxsX2VuYWJsZWQ7Cj4gIAl1MzIg dG1wOwo+ICAKPiAgCXBpcGVfY29uZmlnLT5oYXNfZHNpX2VuY29kZXIgPSBmYWxzZTsKPiAgCj4g KwlwbGxfZW5hYmxlZCA9IGZhbHNlOwoKSXQgc2VlbXMgdG8gbWUgeW91IGNvdWxkIGp1c3QgYmFp bCBvdXQgZWFybHkgaGVyZSBpZiB0aGUgZHNpIHBsbCBpcwpkaXNhYmxlZC4KCkknbSBndWVzc2lu ZyB5b3UgcHV0IHRoZSBjaGVjayBpbiB0aGUgbG9vcCBiZWNhdXNlIG9mIHRoZSBwb3dlciBkb21h aW4KcmVmZXJlbmNlLiBUd28gdGhvdWdodHMgb24gdGhhdDoKCmEpIEJYVF9EU0lfUExMX0VOQUJM RSBpcyBpbiBhbHdheXMgb24gcG93ZXIuIElmIHlvdSBkcm9wcGVkIHRoZSBwYXJhbm9pYQppbiBi eHRfZHNpX3BsbF9pc19lbmFibGVkKCkgYWJvdXQgdmFsaWQgQlhUX0RTSV9QTExfQ1RMIHZhbHVl cywgeW91CmNvdWxkIHNpbXBsaWZ5IGNvZGUgaGVyZSBhbmQgaW4gaW50ZWxfZHNpX2dldF9od19z dGF0ZSgpLgoKYikgQlhUX0RTSV9QTExfQ1RMIGlzIGluIFBHMC4gSGVyZSwgeW91IGltcGxpY2l0 bHkgdHJ1c3QgdGhlIHRyYW5zY29kZXIKcG93ZXIgZG9tYWluIHRvIG1hdGNoIHRoYXQuIEluIGlu dGVsX2RzaV9nZXRfaHdfc3RhdGUoKSB5b3UgaW1wbGljaXRseQp0cnVzdCB0aGUgRFNJIHBvcnQg cG93ZXIgZG9tYWluIHRvIG1hdGNoIHRoYXQuIFRoZXkgYm90aCBkbywgYnV0IHRoaXMKc2VlbXMg YSBzb21ld2hhdCBjb2luY2lkZW50YWwgY2hvaWNlLgoKPiAgCWZvcl9lYWNoX3BvcnRfbWFza2Vk KHBvcnQsIEJJVChQT1JUX0EpIHwgQklUKFBPUlRfQykpIHsKPiAgCQlpZiAocG9ydCA9PSBQT1JU X0EpCj4gIAkJCWNwdV90cmFuc2NvZGVyID0gVFJBTlNDT0RFUl9EU0lfQTsKPiBAQCAtOTg2Nyw2 ICs5ODcwLDE2IEBAIHN0YXRpYyBib29sIGJ4dF9nZXRfZHNpX3RyYW5zY29kZXJfc3RhdGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCj4gIAkJCWNvbnRpbnVlOwo+ICAJCSpwb3dlcl9kb21haW5f bWFzayB8PSBCSVQocG93ZXJfZG9tYWluKTsKPiAgCj4gKwkJLyoKPiArCQkgKiBUaGUgUExMIG5l ZWRzIHRvIGJlIGVuYWJsZWQgd2l0aCBhIHZhbGlkIGRpdmlkZXIKPiArCQkgKiBjb25maWd1cmF0 aW9uLCBvdGhlcndpc2UgYWNjZXNzaW5nIERTSSByZWdpc3RlcnMgd2lsbCBoYW5nCj4gKwkJICog dGhlIG1hY2hpbmUuIFNlZSBCU3BlYyBOb3J0aCBEaXNwbGF5IEVuZ2luZQo+ICsJCSAqIHJlZ2lz dGVycy9NSVBJW0JYVF0uCj4gKwkJICovCj4gKwkJcGxsX2VuYWJsZWQgPSBwbGxfZW5hYmxlZCB8 fCBpbnRlbF9kc2lfcGxsX2lzX2VuYWJsZWQoZGV2X3ByaXYpOwo+ICsJCWlmICghcGxsX2VuYWJs ZWQpCj4gKwkJCWJyZWFrOwo+ICsKCkkgZ3Vlc3MgaWYgd2Ugd2FudCB0byBrZWVwIHRoZSBwYXJh bm9pYSBhbmQgd2UgYXJlIGhhcHB5IHdpdGggaG93IHRoZQpwb3dlciBkb21haW4gcmVmZXJlbmNl cyBtYXAgdG8gdGhlIHBvd2VyIHdlbGwgb2YgQlhUX0RTSV9QTExfQ1RMLCB0aGUKc2ltcGxlc3Qg eW91IGNvdWxkIGRvIGlzIHRocm93IGF3YXkgdGhlIGxvY2FsIHZhcmlhYmxlIGFuZCBqdXN0IGRv IHRoaXM6CgoJCWlmICghaW50ZWxfZHNpX3BsbF9pc19lbmFibGVkKGRldl9wcml2KSkKCQkJY29u dGludWU7CgpUaGlzIHBvdGVudGlhbGx5IGxlYWRzIHRvIGFuIGV4dHJhIGxvb3AgaGVyZSwgYnV0 IGF0IGxlYXN0IHRoZSBjb2RlIGdldHMKc2ltcGxlciBhbmQgZWFzaWVyIHRvIGdyYXNwLgoKPiAg CQkvKiBYWFg6IHRoaXMgd29ya3MgZm9yIHZpZGVvIG1vZGUgb25seSAqLwo+ICAJCXRtcCA9IEk5 MTVfUkVBRChCWFRfTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+ICAJCWlmICghKHRtcCAmIERQSV9F TkFCTEUpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gaW5kZXggOTZlYTNmNy4uMGRlNzRl MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gQEAgLTY4NCw2ICs2ODQsMTQgQEAg c3RhdGljIGJvb2wgaW50ZWxfZHNpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiAgCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZf cHJpdiwgcG93ZXJfZG9tYWluKSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICsJLyoKPiArCSAq IE9uIEJyb3h0b24gdGhlIFBMTCBuZWVkcyB0byBiZSBlbmFibGVkIHdpdGggYSB2YWxpZCBkaXZp ZGVyCj4gKwkgKiBjb25maWd1cmF0aW9uLCBvdGhlcndpc2UgYWNjZXNzaW5nIERTSSByZWdpc3Rl cnMgd2lsbCBoYW5nIHRoZQo+ICsJICogbWFjaGluZS4gU2VlIEJTcGVjIE5vcnRoIERpc3BsYXkg RW5naW5lIHJlZ2lzdGVycy9NSVBJW0JYVF0uCj4gKwkgKi8KPiArCWlmIChJU19CUk9YVE9OKGRl dl9wcml2KSAmJiAhaW50ZWxfZHNpX3BsbF9pc19lbmFibGVkKGRldl9wcml2KSkKPiArCQlnb3Rv IG91dF9wdXRfcG93ZXI7Cj4gKwo+ICAJLyogWFhYOiB0aGlzIG9ubHkgd29ya3MgZm9yIG9uZSBE U0kgb3V0cHV0ICovCj4gIAlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRz KSB7Cj4gIAkJaTkxNV9yZWdfdCBjdHJsX3JlZyA9IElTX0JST1hUT04oZGV2KSA/Cj4gQEAgLTcy Niw2ICs3MzQsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kc2lfZ2V0X2h3X3N0YXRlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiArb3V0X3B1dF9w b3dlcjoKPiAgCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4p Owo+ICAKPiAgCXJldHVybiBhY3RpdmU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiBpbmRl eCBlNTgyZWY4Li5lYzU4ZWFkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiBAQCAt MTI2LDYgKzEyNiw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2RzaSAqZW5jX3RvX2lu dGVsX2RzaShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAlyZXR1cm4gY29udGFpbmVy X29mKGVuY29kZXIsIHN0cnVjdCBpbnRlbF9kc2ksIGJhc2UuYmFzZSk7Cj4gIH0KPiAgCj4gK2Jv b2wgaW50ZWxfZHNpX3BsbF9pc19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4gIGV4dGVybiB2b2lkIGludGVsX2VuYWJsZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKTsKPiAgZXh0ZXJuIHZvaWQgaW50ZWxfZGlzYWJsZV9kc2lfcGxsKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiAgZXh0ZXJuIHUzMiBpbnRlbF9kc2lfZ2V0 X3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCBwaXBlX2JwcCk7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+IGluZGV4IGUzZTM0M2MuLmU1YjA2MjUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4gQEAgLTE5Miw2ICsxOTIsMzMg QEAgc3RhdGljIHZvaWQgdmx2X2Rpc2FibGVfZHNpX3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgYm9vbCBieHRfZHNpX3BsbF9pc19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiArewo+ICsJYm9vbCBlbmFibGVkOwo+ICsJdTMyIHZhbDsKPiArCXUz MiBtYXNrOwo+ICsKPiArCW1hc2sgPSBCWFRfRFNJX1BMTF9ET19FTkFCTEUgfCBCWFRfRFNJX1BM TF9MT0NLRUQ7Cj4gKwl2YWwgPSBJOTE1X1JFQUQoQlhUX0RTSV9QTExfRU5BQkxFKTsKPiArCWVu YWJsZWQgPSAodmFsICYgbWFzaykgPT0gbWFzazsKPiArCj4gKwlpZiAoIWVuYWJsZWQpCj4gKwkJ cmV0dXJuIGZhbHNlOwo+ICsKPiArCS8qCj4gKwkgKiBCb3RoIGRpdmlkZXJzIG11c3QgYmUgcHJv Z3JhbW1lZCB3aXRoIHZhbGlkIHZhbHVlcyBldmVuIGlmIG9ubHkgb25lCj4gKwkgKiBvZiB0aGUg UExMIGlzIHVzZWQuIFNlZSBCU3BlYy9Ccm94dG9uIENsb2Nrcy4KPiArCSAqLwo+ICsJdmFsID0g STkxNV9SRUFEKEJYVF9EU0lfUExMX0NUTCk7Cj4gKwlpZiAoISh2YWwgJiBCWFRfRFNJQV8xNlhf TUFTSykgfHwgISh2YWwgJiBCWFRfRFNJQ18xNlhfTUFTSykpIHsKPiArCQlEUk1fREVCVUdfRFJJ VkVSKCJQTEwgaXMgZW5hYmxlZCB3aXRoIGludmFsaWQgZGl2aWRlciBzZXR0aW5ncyAiCj4gKwkJ CQkgIiglMDh4KVxuIiwgdmFsKTsKPiArCQllbmFibGVkID0gZmFsc2U7Cj4gKwl9CgpEbyB3ZSBy ZWFsbHkgbmVlZCB0aGlzIGxldmVsIG9mIHBhcmFub2lhPwoKPiArCj4gKwlyZXR1cm4gZW5hYmxl ZDsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgYnh0X2Rpc2FibGVfZHNpX3BsbChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZW5jb2Rlci0+YmFzZS5kZXYtPmRldl9wcml2YXRlOwo+IEBAIC00ODYsNiArNTEz LDE2IEBAIHN0YXRpYyB2b2lkIGJ4dF9lbmFibGVfZHNpX3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPiAgCURSTV9ERUJVR19LTVMoIkRTSSBQTEwgbG9ja2VkXG4iKTsKPiAgfQo+ ICAKPiArYm9vbCBpbnRlbF9kc2lfcGxsX2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICt7Cj4gKwlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpCj4gKwkJcmV0 dXJuIGJ4dF9kc2lfcGxsX2lzX2VuYWJsZWQoZGV2X3ByaXYpOwo+ICsKPiArCU1JU1NJTkdfQ0FT RShJTlRFTF9ERVZJRChkZXZfcHJpdikpOwo+ICsKPiArCXJldHVybiBmYWxzZTsKPiArfQo+ICsK PiAgdm9pZCBpbnRlbF9lbmFibGVfZHNpX3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwoK LS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK