From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH] drm/i915: Handle pipe CRC around enabling/disabling pipe. Date: Wed, 7 Mar 2018 17:40:38 +0100 Message-ID: <8dff0fff-f098-16f1-9bf1-7d677b2ff77e@linux.intel.com> References: <20180307142322.GN5453@intel.com> <20180307150432.47000-1-maarten.lankhorst@linux.intel.com> <20180307152140.GP5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 776ED6E15F for ; Wed, 7 Mar 2018 16:40:41 +0000 (UTC) In-Reply-To: <20180307152140.GP5453@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMDctMDMtMTggb20gMTY6MjEgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gV2VkLCBN YXIgMDcsIDIwMTggYXQgMDQ6MDQ6MzJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IFRoaXMgd2lsbCBnZXQgcmlkIG9mIHRoZSBmb2xsb3dpbmcgZXJyb3I6Cj4+IFsgICA3NC43 MzAyNzFdIFdBUk5JTkc6IENQVTogNCBQSUQ6IDAgYXQgZHJpdmVycy9ncHUvZHJtL2RybV92Ymxh bmsuYzo2MTQgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcysweDEzZS8weDJm MAo+PiBbICAgNzQuNzMwMzExXSBNb2R1bGVzIGxpbmtlZCBpbjogdmdlbSBzbmRfaGRhX2NvZGVj X2hkbWkgc25kX2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfY29kZWNfZ2VuZXJpYyBpOTE1IHg4 Nl9wa2dfdGVtcF90aGVybWFsIGludGVsX3Bvd2VyY2xhbXAgY29yZXRlbXAgc25kX2hkYV9pbnRl bCBjcmN0MTBkaWZfcGNsbXVsIHNuZF9oZGFfY29kZWMgY3JjMzJfcGNsbXVsIHNuZF9od2RlcCBi cm9hZGNvbSBnaGFzaF9jbG11bG5pX2ludGVsIHNuZF9oZGFfY29yZSBiY21fcGh5X2xpYiBzbmRf cGNtIHRnMyBscGNfaWNoIG1laV9tZSBtZWkgcHJpbWVfbnVtYmVycwo+PiBbICAgNzQuNzMwMzUz XSBDUFU6IDQgUElEOiAwIENvbW06IHN3YXBwZXIvNCBUYWludGVkOiBHICAgICBVICAgICAgICAg ICA0LjE2LjAtcmMyLUNJLUNJX0RSTV8zODIyKyAjMQo+PiBbICAgNzQuNzMwMzU1XSBIYXJkd2Fy ZSBuYW1lOiBEZWxsIEluYy4gWFBTIDgzMDAgIC8wWTJNUkcsIEJJT1MgQTA2IDEwLzE3LzIwMTEK Pj4gWyAgIDc0LjczMDM1OV0gUklQOiAwMDEwOmRybV9jYWxjX3ZibHRpbWVzdGFtcF9mcm9tX3Nj YW5vdXRwb3MrMHgxM2UvMHgyZjAKPj4gWyAgIDc0LjczMDM2MV0gUlNQOiAwMDE4OmZmZmY4ODAy MmZiMDNkMTAgRUZMQUdTOiAwMDAxMDA4Ngo+PiBbICAgNzQuNzMwMzY1XSBSQVg6IGZmZmZmZmZm YTAyOTFkMjAgUkJYOiBmZmZmODgwMjFhMTgwMDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMQo+PiBb ICAgNzQuNzMwMzY3XSBSRFg6IGZmZmZmZmZmODIwZTdkYjggUlNJOiAwMDAwMDAwMDAwMDAwMDAx IFJESTogZmZmZmZmZmY4MjA2OGNlYQo+PiBbICAgNzQuNzMwMzY5XSBSQlA6IGZmZmY4ODAyMmZi MDNkNzAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogZmZmZmZmZmY4MTVkMjZkMAo+PiBbICAg NzQuNzMwMzcxXSBSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiBmZmZmZmZmZmEwMTYxY2EwIFIx MjogMDAwMDAwMDAwMDAwMDAwMQo+PiBbICAgNzQuNzMwMzczXSBSMTM6IGZmZmY4ODAyMTI0NDgw MDggUjE0OiBmZmZmODgwMjEyNDQ4MzMwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAo+PiBbICAgNzQu NzMwMzc2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDIyZmIwMDAwMCgw MDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4+IFsgICA3NC43MzAzNzhdIENTOiAgMDAxMCBE UzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKPj4gWyAgIDc0LjczMDM4MF0g Q1IyOiAwMDAwNTVlZGNiZWM5MDAwIENSMzogMDAwMDAwMDAwMjIxMDAwMSBDUjQ6IDAwMDAwMDAw MDAwNjA2ZTAKPj4gWyAgIDc0LjczMDM4Ml0gQ2FsbCBUcmFjZToKPj4gWyAgIDc0LjczMDM4NV0g IDxJUlE+Cj4+IFsgICA3NC43MzAzOTddICBkcm1fZ2V0X2xhc3RfdmJsdGltZXN0YW1wKzB4MzYv MHg1MAo+PiBbICAgNzQuNzMwNDAxXSAgZHJtX3VwZGF0ZV92YmxhbmtfY291bnQrMHg2NC8weDI0 MAo+PiBbICAgNzQuNzMwNDA5XSAgZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KzB4NDEv MHg5MAo+PiBbICAgNzQuNzMwNDUzXSAgZGlzcGxheV9waXBlX2NyY19pcnFfaGFuZGxlcisweDE3 Ni8weDIyMCBbaTkxNV0KPj4gWyAgIDc0LjczMDQ5N10gIGk5eHhfcGlwZV9jcmNfaXJxX2hhbmRs ZXIrMHhmZS8weDE1MCBbaTkxNV0KPj4gWyAgIDc0LjczMDUzN10gIGlyb25sYWtlX2lycV9oYW5k bGVyKzB4NjE4LzB4YTMwIFtpOTE1XQo+PiBbICAgNzQuNzMwNTQ4XSAgX19oYW5kbGVfaXJxX2V2 ZW50X3BlcmNwdSsweDNjLzB4MzQwCj4+IFsgICA3NC43MzA1NTZdICBoYW5kbGVfaXJxX2V2ZW50 X3BlcmNwdSsweDFiLzB4NTAKPj4gWyAgIDc0LjczMDU2MV0gIGhhbmRsZV9pcnFfZXZlbnQrMHgy Zi8weDUwCj4+IFsgICA3NC43MzA1NjZdICBoYW5kbGVfZWRnZV9pcnErMHhlNC8weDFiMAo+PiBb ICAgNzQuNzMwNTcyXSAgaGFuZGxlX2lycSsweDExLzB4MjAKPj4gWyAgIDc0LjczMDU3Nl0gIGRv X0lSUSsweDVlLzB4MTIwCj4+IFsgICA3NC43MzA1ODRdICBjb21tb25faW50ZXJydXB0KzB4ODQv MHg4NAo+PiBbICAgNzQuNzMwNTg2XSAgPC9JUlE+Cj4+IFsgICA3NC43MzA1OTFdIFJJUDogMDAx MDpjcHVpZGxlX2VudGVyX3N0YXRlKzB4YWEvMHgzNTAKPj4gWyAgIDc0LjczMDU5M10gUlNQOiAw MDE4OmZmZmZjOTAwMDAwOGJlYjggRUZMQUdTOiAwMDAwMDIxMiBPUklHX1JBWDogZmZmZmZmZmZm ZmZmZmZkZQo+PiBbICAgNzQuNzMwNTk3XSBSQVg6IGZmZmY4ODAyMjZiODAwNDAgUkJYOiAwMDAw MDAwMDAwMzFmYzNlIFJDWDogMDAwMDAwMDAwMDAwMDAwMQo+PiBbICAgNzQuNzMwNTk5XSBSRFg6 IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiBmZmZmZmZmZjgyMTBmYjU5IFJESTogZmZmZmZmZmY4MjBj MDJlNwo+PiBbICAgNzQuNzMwNjAxXSBSQlA6IDAwMDAwMDAwMDAwMDAwMDQgUjA4OiAwMDAwMDAw MDAwMDA0MGFmIFIwOTogMDAwMDAwMDAwMDAwMDAxOAo+PiBbICAgNzQuNzMwNjAzXSBSMTA6IDAw MDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogMDAwMDAwMDAwMDAwMDAw NAo+PiBbICAgNzQuNzMwNjA2XSBSMTM6IGZmZmZlOGZmZmZkMDA0MzAgUjE0OiAwMDAwMDAxMTY2 MTIwYmY0IFIxNTogZmZmZmZmZmY4MjI5NDQ2MAo+PiBbICAgNzQuNzMwNjIxXSAgPyBjcHVpZGxl X2VudGVyX3N0YXRlKzB4YTYvMHgzNTAKPj4gWyAgIDc0LjczMDYyOV0gIGRvX2lkbGUrMHgxODgv MHgxZDAKPj4gWyAgIDc0LjczMDYzNl0gIGNwdV9zdGFydHVwX2VudHJ5KzB4MTQvMHgyMAo+PiBb ICAgNzQuNzMwNjQxXSAgc3RhcnRfc2Vjb25kYXJ5KzB4MTI5LzB4MTYwCj4+IFsgICA3NC43MzA2 NDZdICBzZWNvbmRhcnlfc3RhcnR1cF82NCsweGE1LzB4YjAKPj4gWyAgIDc0LjczMDY2MF0gQ29k ZTogZTEgNDggYzcgYzIgYjggN2QgMGUgODIgYmUgMDEgMDAgMDAgMDAgNDggYzcgYzcgZWEgOGMg MDYgODIgZTggNjQgZWMgZmYgZmYgNDggOGIgODMgYzggMDcgMDAgMDAgNDggODMgNzggMjggMDAg MGYgODQgZTIgZmUgZmYgZmYgPDBmPiAwYiA0NSAzMSBlZCBlOSBkYiBmZSBmZiBmZiA0MSBiOCBk MyA0ZCA2MiAxMCA4OSBjOCA2YSAwMyA0MQo+PiBbICAgNzQuNzMwNzU0XSAtLS1bIGVuZCB0cmFj ZSAxNGIxMzQ1NzA1YjY4NTY1IF0tLS0KPj4KPj4gQ2hhbmdlcyBzaW5jZSB2MToKPj4gLSBEb24n dCB0cnkgdG8gYXBwbHkgQ1JDIHdvcmthcm91bmQgd2hlbiBlbmFibGluZyBwaXBlLCBpdCBzaG91 bGQgYWxyZWFkeSBiZSBlbmFibGVkLgo+PiBDaGFuZ2VzIHNpbmNlIHYyOgo+PiAtIE1ha2UgY3Jj IGZ1bmN0aW9ucyBmb3IgIURFQlVHRlMgY2FzZSBpbmxpbmUuCj4+IC0gUGFzcyBpbnRlbF9jcnRj IHRvIGNyYyBmdW5jdGlvbnMuCj4+IC0gQWRkIGNvbW1lbnRzIHRvIGNhbGxzaXRlcy4KPj4KPj4g Q2M6IE1hcnRhIEzDtmZzdGVkdCA8bWFydGEubG9mc3RlZHRAaW50ZWwuY29tPgo+PiBSZXBvcnRl ZC1ieTogTWFydGEgTMO2ZnN0ZWR0IDxtYXJ0YS5sb2ZzdGVkdEBpbnRlbC5jb20+Cj4+IEJ1Z3pp bGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUxODUK Pj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgIHwgMTAgKysrKysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICAgfCAgOSArKysrKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2Ny Yy5jIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KPj4gIDMgZmlsZXMg Y2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCAzMzEwODQwODI1NDUuLjI5MzNhZDM4MDk0 ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtMTIxNDcs NiArMTIxNDcsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4+ICAJaWYgKG1vZGVzZXQpIHsKPj4gIAkJdXBkYXRlX3NjYW5saW5lX29mZnNl dChpbnRlbF9jcnRjKTsKPj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFibGUocGlwZV9j b25maWcsIHN0YXRlKTsKPj4gKwo+PiArCQkvKiB2YmxhbmtzIHdvcmsgYWdhaW4sIHJlLWVuYWJs ZSBwaXBlIENSQy4gKi8KPj4gKwkJaW50ZWxfY3J0Y19lbmFibGVfcGlwZV9jcmMoaW50ZWxfY3J0 Yyk7Cj4+ICAJfSBlbHNlIHsKPj4gIAkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZSh0b19pbnRlbF9j cnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKSwKPj4gIAkJCQkgICAgICAgcGlwZV9jb25maWcpOwo+ PiBAQCAtMTIzMjcsNiArMTIzMzAsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1p dF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPj4gIAo+PiAgCQlpZiAob2xk X2NydGNfc3RhdGUtPmFjdGl2ZSkgewo+PiAgCQkJaW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhj cnRjLCBvbGRfY3J0Y19zdGF0ZS0+cGxhbmVfbWFzayk7Cj4+ICsKPj4gKwkJCS8qCj4+ICsJCQkg KiBXZSBuZWVkIHRvIGRpc2FibGUgcGlwZSBDUkMgYmVmb3JlIGRpc2FibGluZyB0aGUgcGlwZSwK Pj4gKwkJCSAqIG9yIHdlIHJhY2UgYWdhaW5zdCB2Ymxhbmsgb2ZmLgo+PiArCQkJICovCj4+ICsJ CQlpbnRlbF9jcnRjX2Rpc2FibGVfcGlwZV9jcmMoaW50ZWxfY3J0Yyk7Cj4+ICsKPj4gIAkJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSh0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRj X3N0YXRlKSwgc3RhdGUpOwo+PiAgCQkJaW50ZWxfY3J0Yy0+YWN0aXZlID0gZmFsc2U7Cj4+ICAJ CQlpbnRlbF9mYmNfZGlzYWJsZShpbnRlbF9jcnRjKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPj4gaW5kZXggZDQzNjg1ODliMzU1Li4zMWY5ODU5Y2RkZmMgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4+IEBAIC0yMTM4LDggKzIxMzgsMTcgQEAgaW50IGludGVsX3BpcGVf Y3JjX2NyZWF0ZShzdHJ1Y3QgZHJtX21pbm9yICptaW5vcik7Cj4+ICAjaWZkZWYgQ09ORklHX0RF QlVHX0ZTCj4+ICBpbnQgaW50ZWxfY3J0Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLAo+PiAgCQkJICAgICAgc2l6ZV90ICp2YWx1 ZXNfY250KTsKPj4gK3ZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX3BpcGVfY3JjKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKTsKPj4gK3ZvaWQgaW50ZWxfY3J0Y19lbmFibGVfcGlwZV9jcmMoc3RydWN0 IGludGVsX2NydGMgKmNydGMpOwo+PiAgI2Vsc2UKPj4gICNkZWZpbmUgaW50ZWxfY3J0Y19zZXRf Y3JjX3NvdXJjZSBOVUxMCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxl X3BpcGVfY3JjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+PiArewo+PiArfQo+PiArCj4+ICtz dGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfY3J0Y19lbmFibGVfcGlwZV9jcmMoc3RydWN0IGludGVs X2NydGMgKmNydGMpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4gRXh0cmEgJzsnCj4KPj4gK3sKPj4g K30KPj4gICNlbmRpZgo+PiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkx NV9kaXNwbGF5X2NyY19jdGxfZm9wczsKPj4gICNlbmRpZiAvKiBfX0lOVEVMX0RSVl9IX18gKi8K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4+IGluZGV4IDFmNWNkNTcyYTdm Zi4uMmM3YTQ4YjVhNTcxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9waXBlX2NyYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3Jj LmMKPj4gQEAgLTU2OSw3ICs1NjksOCBAQCBzdGF0aWMgdm9pZCBoc3dfcGlwZV9BX2NyY193YShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICBzdGF0aWMgaW50IGl2Yl9waXBl X2NyY19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gIAkJCQll bnVtIHBpcGUgcGlwZSwKPj4gIAkJCQllbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSAqc291cmNl LAo+PiAtCQkJCXVpbnQzMl90ICp2YWwpCj4+ICsJCQkJdWludDMyX3QgKnZhbCwKPj4gKwkJCQli b29sIHNldF93YSkKPj4gIHsKPj4gIAlpZiAoKnNvdXJjZSA9PSBJTlRFTF9QSVBFX0NSQ19TT1VS Q0VfQVVUTykKPj4gIAkJKnNvdXJjZSA9IElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QRjsKPj4gQEAg LTU4Miw3ICs1ODMsNyBAQCBzdGF0aWMgaW50IGl2Yl9waXBlX2NyY19jdGxfcmVnKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gIAkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8 IFBJUEVfQ1JDX1NPVVJDRV9TUFJJVEVfSVZCOwo+PiAgCQlicmVhazsKPj4gIAljYXNlIElOVEVM X1BJUEVfQ1JDX1NPVVJDRV9QRjoKPj4gLQkJaWYgKChJU19IQVNXRUxMKGRldl9wcml2KSB8fAo+ PiArCQlpZiAoc2V0X3dhICYmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fAo+PiAgCQkgICAgIElT X0JST0FEV0VMTChkZXZfcHJpdikpICYmIHBpcGUgPT0gUElQRV9BKQo+PiAgCQkJaHN3X3BpcGVf QV9jcmNfd2EoZGV2X3ByaXYsIHRydWUpOwo+PiAgCj4+IEBAIC02MDAsNyArNjAxLDggQEAgc3Rh dGljIGludCBpdmJfcGlwZV9jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4+ICAKPj4gIHN0YXRpYyBpbnQgZ2V0X25ld19jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJCQkgICAgICAgZW51bSBwaXBlIHBpcGUsCj4+ IC0JCQkgICAgICAgZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwgdTMyICp2YWwp Cj4+ICsJCQkgICAgICAgZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwgdTMyICp2 YWwsCj4+ICsJCQkgICAgICAgYm9vbCBzZXRfd2EpCj4+ICB7Cj4+ICAJaWYgKElTX0dFTjIoZGV2 X3ByaXYpKQo+PiAgCQlyZXR1cm4gaTh4eF9waXBlX2NyY19jdGxfcmVnKHNvdXJjZSwgdmFsKTsK Pj4gQEAgLTYxMSw3ICs2MTMsNyBAQCBzdGF0aWMgaW50IGdldF9uZXdfY3JjX2N0bF9yZWcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCWVsc2UgaWYgKElTX0dFTjUoZGV2 X3ByaXYpIHx8IElTX0dFTjYoZGV2X3ByaXYpKQo+PiAgCQlyZXR1cm4gaWxrX3BpcGVfY3JjX2N0 bF9yZWcoc291cmNlLCB2YWwpOwo+PiAgCWVsc2UKPj4gLQkJcmV0dXJuIGl2Yl9waXBlX2NyY19j dGxfcmVnKGRldl9wcml2LCBwaXBlLCBzb3VyY2UsIHZhbCk7Cj4+ICsJCXJldHVybiBpdmJfcGlw ZV9jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwsIHNldF93YSk7Cj4+ICB9 Cj4+ICAKPj4gIHN0YXRpYyBpbnQgcGlwZV9jcmNfc2V0X3NvdXJjZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4+IEBAIC02MzYsNyArNjM4LDcgQEAgc3RhdGljIGludCBwaXBl X2NyY19zZXRfc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gIAkJ cmV0dXJuIC1FSU87Cj4+ICAJfQo+PiAgCj4+IC0JcmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhk ZXZfcHJpdiwgcGlwZSwgJnNvdXJjZSwgJnZhbCk7Cj4+ICsJcmV0ID0gZ2V0X25ld19jcmNfY3Rs X3JlZyhkZXZfcHJpdiwgcGlwZSwgJnNvdXJjZSwgJnZhbCwgdHJ1ZSk7Cj4+ICAJaWYgKHJldCAh PSAwKQo+PiAgCQlnb3RvIG91dDsKPj4gIAo+PiBAQCAtOTE2LDcgKzkxOCw3IEBAIGludCBpbnRl bF9waXBlX2NyY19jcmVhdGUoc3RydWN0IGRybV9taW5vciAqbWlub3IpCj4+ICBpbnQgaW50ZWxf Y3J0Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNoYXIgKnNv dXJjZV9uYW1lLAo+PiAgCQkJICAgICAgc2l6ZV90ICp2YWx1ZXNfY250KQo+PiAgewo+PiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7 Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5k ZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9waXBlX2NyYyAqcGlwZV9jcmMgPSAmZGV2X3ByaXYtPnBp cGVfY3JjW2NydGMtPmluZGV4XTsKPj4gIAllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWlu IHBvd2VyX2RvbWFpbjsKPj4gIAllbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSBzb3VyY2U7Cj4+ IEBAIC05MzQsNyArOTM2LDcgQEAgaW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0 IGRybV9jcnRjICpjcnRjLCBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSwKPj4gIAkJcmV0dXJuIC1F SU87Cj4+ICAJfQo+PiAgCj4+IC0JcmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhkZXZfcHJpdiwg Y3J0Yy0+aW5kZXgsICZzb3VyY2UsICZ2YWwpOwo+PiArCXJldCA9IGdldF9uZXdfY3JjX2N0bF9y ZWcoZGV2X3ByaXYsIGNydGMtPmluZGV4LCAmc291cmNlLCAmdmFsLCB0cnVlKTsKPj4gIAlpZiAo cmV0ICE9IDApCj4+ICAJCWdvdG8gb3V0Owo+PiAgCj4+IEBAIC05NTksMyArOTYxLDMzIEBAIGlu dCBpbnRlbF9jcnRjX3NldF9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3Qg Y2hhciAqc291cmNlX25hbWUsCj4+ICAKPj4gIAlyZXR1cm4gcmV0Owo+PiAgfQo+PiArCj4+ICt2 b2lkIGludGVsX2NydGNfZW5hYmxlX3BpcGVfY3JjKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjKQo+PiArewo+PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNl Owo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ ZGV2KTsKPj4gKwllbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSBzb3VyY2U7Cj4+ICsJdTMyIHZh bCA9IDA7Cj4+ICsKPj4gKwlpZiAoIWNydGMtPmNyYy5vcGVuZWQpCj4+ICsJCXJldHVybjsKPj4g Kwo+PiArCWlmIChkaXNwbGF5X2NyY19jdGxfcGFyc2Vfc291cmNlKGNydGMtPmNyYy5zb3VyY2Us ICZzb3VyY2UpIDwgMCkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJaWYgKGdldF9uZXdfY3JjX2N0 bF9yZWcoZGV2X3ByaXYsIGNydGMtPmluZGV4LCAmc291cmNlLCAmdmFsLCBmYWxzZSkgPCAwKQo+ PiArCQlyZXR1cm47Cj4+ICsKPj4gKwlJOTE1X1dSSVRFKFBJUEVfQ1JDX0NUTChjcnRjLT5pbmRl eCksIHZhbCk7Cj4+ICsJUE9TVElOR19SRUFEKFBJUEVfQ1JDX0NUTChjcnRjLT5pbmRleCkpOwo+ IEkgd29uZGVyIHdoYXQncyBnb2luZyB0byBoYXBwZW4gd2l0aCB0aGUgc2NyYW1ibGVyIHJlc2V0 IHN0dWZmIHdoaWxlIHRoZQo+IHBpcGUgaXMgb2ZmLiBBdCBsZWFzdCB0aGUgcG93ZXIgd2VsbCBn b2luZyBvZmYgb24gVkxWL0NIViBjb3VsZAo+IHBvdGVudGlhbGx5IGNsb2JiZXIgdGhhdCBzdGF0 ZS4gQnV0IEkgZ3Vlc3Mgd2UgYWxyZWFkeSBoYXZlIHRoYXQKPiBwcm9ibGVtIHNvIHByb2JhYmx5 IG5vIHBvaW50IGluIHdvcnJ5aW5nIGFib3V0IGl0IG5vdy4KSG0gd2UgZG9uJ3QgZXhwbGljaXRs eSBkaXNhYmxlIHRoZSBzY3JhbWJsZXIgcmVzZXQsIGJ1dCBnZXRfbmV3X2NyY19jdGxfcmVnCndp bGwgcmUtYXBwbHkgdGhlIHNjcmFtYmxlciByZXNldCBpbiBpbnRlbF9jcnRjX2VuYWJsZV9waXBl X2NyYywKc28gdGhhdCBwYXJ0IHdpbGwgd29yayBhcyBwcmV2aW91c2x5LiBXaWxsIGFwcGx5IGFm dGVyIENJIHJlc3VsdHMgYXJlIGluLiA6KQo+PiArfQo+PiArCj4+ICt2b2lkIGludGVsX2NydGNf ZGlzYWJsZV9waXBlX2NyYyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKPj4gK3sKPj4g KwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7Cj4+ICsKPj4g KwlJOTE1X1dSSVRFKFBJUEVfQ1JDX0NUTChjcnRjLT5pbmRleCksIDApOwo+IEkgd29uZGVyIHdo ZXRoZXIgd2Ugc2hvdWxkIHRydXN0IDAgdG8gYmUgIm9mZiIuIFNob3VsZCBtYWtlIHVzZQo+IGdl dF9uZXdfY3JjX2N0bF9yZWcoKSBoZXJlIGFzIHdlbGw/IER1bm5vLgo+Cj4gQW55d2F5cywgd2l0 aCB0aGUgJzsnIGZpeGVkIHRoaXMgaXMKPiBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=