From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Handle pipe CRC around enabling/disabling pipe. Date: Wed, 7 Mar 2018 16:23:22 +0200 Message-ID: <20180307142322.GN5453@intel.com> References: <20180307121026.15289-1-maarten.lankhorst@linux.intel.com> <20180307132312.GM5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B1D2B6E0E7 for ; Wed, 7 Mar 2018 14:23:27 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180307132312.GM5453@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMDcsIDIwMTggYXQgMDM6MjM6MTJQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgTWFyIDA3LCAyMDE4IGF0IDAxOjEwOjI2UE0gKzAxMDAsIE1hYXJ0 ZW4gTGFua2hvcnN0IHdyb3RlOgo+ID4gVGhpcyB3aWxsIGdldCByaWQgb2YgdGhlIGZvbGxvd2lu ZyBlcnJvcjoKPiA+IFsgICA3NC43MzAyNzFdIFdBUk5JTkc6IENQVTogNCBQSUQ6IDAgYXQgZHJp dmVycy9ncHUvZHJtL2RybV92YmxhbmsuYzo2MTQgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21f c2Nhbm91dHBvcysweDEzZS8weDJmMAo+ID4gWyAgIDc0LjczMDMxMV0gTW9kdWxlcyBsaW5rZWQg aW46IHZnZW0gc25kX2hkYV9jb2RlY19oZG1pIHNuZF9oZGFfY29kZWNfcmVhbHRlayBzbmRfaGRh X2NvZGVjX2dlbmVyaWMgaTkxNSB4ODZfcGtnX3RlbXBfdGhlcm1hbCBpbnRlbF9wb3dlcmNsYW1w IGNvcmV0ZW1wIHNuZF9oZGFfaW50ZWwgY3JjdDEwZGlmX3BjbG11bCBzbmRfaGRhX2NvZGVjIGNy YzMyX3BjbG11bCBzbmRfaHdkZXAgYnJvYWRjb20gZ2hhc2hfY2xtdWxuaV9pbnRlbCBzbmRfaGRh X2NvcmUgYmNtX3BoeV9saWIgc25kX3BjbSB0ZzMgbHBjX2ljaCBtZWlfbWUgbWVpIHByaW1lX251 bWJlcnMKPiA+IFsgICA3NC43MzAzNTNdIENQVTogNCBQSUQ6IDAgQ29tbTogc3dhcHBlci80IFRh aW50ZWQ6IEcgICAgIFUgICAgICAgICAgIDQuMTYuMC1yYzItQ0ktQ0lfRFJNXzM4MjIrICMxCj4g PiBbICAgNzQuNzMwMzU1XSBIYXJkd2FyZSBuYW1lOiBEZWxsIEluYy4gWFBTIDgzMDAgIC8wWTJN UkcsIEJJT1MgQTA2IDEwLzE3LzIwMTEKPiA+IFsgICA3NC43MzAzNTldIFJJUDogMDAxMDpkcm1f Y2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKzB4MTNlLzB4MmYwCj4gPiBbICAgNzQu NzMwMzYxXSBSU1A6IDAwMTg6ZmZmZjg4MDIyZmIwM2QxMCBFRkxBR1M6IDAwMDEwMDg2Cj4gPiBb ICAgNzQuNzMwMzY1XSBSQVg6IGZmZmZmZmZmYTAyOTFkMjAgUkJYOiBmZmZmODgwMjFhMTgwMDAw IFJDWDogMDAwMDAwMDAwMDAwMDAwMQo+ID4gWyAgIDc0LjczMDM2N10gUkRYOiBmZmZmZmZmZjgy MGU3ZGI4IFJTSTogMDAwMDAwMDAwMDAwMDAwMSBSREk6IGZmZmZmZmZmODIwNjhjZWEKPiA+IFsg ICA3NC43MzAzNjldIFJCUDogZmZmZjg4MDIyZmIwM2Q3MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAg UjA5OiBmZmZmZmZmZjgxNWQyNmQwCj4gPiBbICAgNzQuNzMwMzcxXSBSMTA6IDAwMDAwMDAwMDAw MDAwMDAgUjExOiBmZmZmZmZmZmEwMTYxY2EwIFIxMjogMDAwMDAwMDAwMDAwMDAwMQo+ID4gWyAg IDc0LjczMDM3M10gUjEzOiBmZmZmODgwMjEyNDQ4MDA4IFIxNDogZmZmZjg4MDIxMjQ0ODMzMCBS MTU6IDAwMDAwMDAwMDAwMDAwMDAKPiA+IFsgICA3NC43MzAzNzZdIEZTOiAgMDAwMDAwMDAwMDAw MDAwMCgwMDAwKSBHUzpmZmZmODgwMjJmYjAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAw MDAKPiA+IFsgICA3NC43MzAzNzhdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAw MDAwMDAwODAwNTAwMzMKPiA+IFsgICA3NC43MzAzODBdIENSMjogMDAwMDU1ZWRjYmVjOTAwMCBD UjM6IDAwMDAwMDAwMDIyMTAwMDEgQ1I0OiAwMDAwMDAwMDAwMDYwNmUwCj4gPiBbICAgNzQuNzMw MzgyXSBDYWxsIFRyYWNlOgo+ID4gWyAgIDc0LjczMDM4NV0gIDxJUlE+Cj4gPiBbICAgNzQuNzMw Mzk3XSAgZHJtX2dldF9sYXN0X3ZibHRpbWVzdGFtcCsweDM2LzB4NTAKPiA+IFsgICA3NC43MzA0 MDFdICBkcm1fdXBkYXRlX3ZibGFua19jb3VudCsweDY0LzB4MjQwCj4gPiBbICAgNzQuNzMwNDA5 XSAgZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KzB4NDEvMHg5MAo+ID4gWyAgIDc0Ljcz MDQ1M10gIGRpc3BsYXlfcGlwZV9jcmNfaXJxX2hhbmRsZXIrMHgxNzYvMHgyMjAgW2k5MTVdCj4g PiBbICAgNzQuNzMwNDk3XSAgaTl4eF9waXBlX2NyY19pcnFfaGFuZGxlcisweGZlLzB4MTUwIFtp OTE1XQo+ID4gWyAgIDc0LjczMDUzN10gIGlyb25sYWtlX2lycV9oYW5kbGVyKzB4NjE4LzB4YTMw IFtpOTE1XQo+ID4gWyAgIDc0LjczMDU0OF0gIF9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgz Yy8weDM0MAo+ID4gWyAgIDc0LjczMDU1Nl0gIGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MWIv MHg1MAo+ID4gWyAgIDc0LjczMDU2MV0gIGhhbmRsZV9pcnFfZXZlbnQrMHgyZi8weDUwCj4gPiBb ICAgNzQuNzMwNTY2XSAgaGFuZGxlX2VkZ2VfaXJxKzB4ZTQvMHgxYjAKPiA+IFsgICA3NC43MzA1 NzJdICBoYW5kbGVfaXJxKzB4MTEvMHgyMAo+ID4gWyAgIDc0LjczMDU3Nl0gIGRvX0lSUSsweDVl LzB4MTIwCj4gPiBbICAgNzQuNzMwNTg0XSAgY29tbW9uX2ludGVycnVwdCsweDg0LzB4ODQKPiA+ IFsgICA3NC43MzA1ODZdICA8L0lSUT4KPiA+IFsgICA3NC43MzA1OTFdIFJJUDogMDAxMDpjcHVp ZGxlX2VudGVyX3N0YXRlKzB4YWEvMHgzNTAKPiA+IFsgICA3NC43MzA1OTNdIFJTUDogMDAxODpm ZmZmYzkwMDAwMDhiZWI4IEVGTEFHUzogMDAwMDAyMTIgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZm ZGUKPiA+IFsgICA3NC43MzA1OTddIFJBWDogZmZmZjg4MDIyNmI4MDA0MCBSQlg6IDAwMDAwMDAw MDAzMWZjM2UgUkNYOiAwMDAwMDAwMDAwMDAwMDAxCj4gPiBbICAgNzQuNzMwNTk5XSBSRFg6IDAw MDAwMDAwMDAwMDAwMDAgUlNJOiBmZmZmZmZmZjgyMTBmYjU5IFJESTogZmZmZmZmZmY4MjBjMDJl Nwo+ID4gWyAgIDc0LjczMDYwMV0gUkJQOiAwMDAwMDAwMDAwMDAwMDA0IFIwODogMDAwMDAwMDAw MDAwNDBhZiBSMDk6IDAwMDAwMDAwMDAwMDAwMTgKPiA+IFsgICA3NC43MzA2MDNdIFIxMDogMDAw MDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMDA0 Cj4gPiBbICAgNzQuNzMwNjA2XSBSMTM6IGZmZmZlOGZmZmZkMDA0MzAgUjE0OiAwMDAwMDAxMTY2 MTIwYmY0IFIxNTogZmZmZmZmZmY4MjI5NDQ2MAo+ID4gWyAgIDc0LjczMDYyMV0gID8gY3B1aWRs ZV9lbnRlcl9zdGF0ZSsweGE2LzB4MzUwCj4gPiBbICAgNzQuNzMwNjI5XSAgZG9faWRsZSsweDE4 OC8weDFkMAo+ID4gWyAgIDc0LjczMDYzNl0gIGNwdV9zdGFydHVwX2VudHJ5KzB4MTQvMHgyMAo+ ID4gWyAgIDc0LjczMDY0MV0gIHN0YXJ0X3NlY29uZGFyeSsweDEyOS8weDE2MAo+ID4gWyAgIDc0 LjczMDY0Nl0gIHNlY29uZGFyeV9zdGFydHVwXzY0KzB4YTUvMHhiMAo+ID4gWyAgIDc0LjczMDY2 MF0gQ29kZTogZTEgNDggYzcgYzIgYjggN2QgMGUgODIgYmUgMDEgMDAgMDAgMDAgNDggYzcgYzcg ZWEgOGMgMDYgODIgZTggNjQgZWMgZmYgZmYgNDggOGIgODMgYzggMDcgMDAgMDAgNDggODMgNzgg MjggMDAgMGYgODQgZTIgZmUgZmYgZmYgPDBmPiAwYiA0NSAzMSBlZCBlOSBkYiBmZSBmZiBmZiA0 MSBiOCBkMyA0ZCA2MiAxMCA4OSBjOCA2YSAwMyA0MQo+ID4gWyAgIDc0LjczMDc1NF0gLS0tWyBl bmQgdHJhY2UgMTRiMTM0NTcwNWI2ODU2NSBdLS0tCj4gPiAKPiA+IENoYW5nZXMgc2luY2UgdjE6 Cj4gPiAtIERvbid0IHRyeSB0byBhcHBseSBDUkMgd29ya2Fyb3VuZCB3aGVuIGVuYWJsaW5nIHBp cGUsIGl0IHNob3VsZCBhbHJlYWR5IGJlIGVuYWJsZWQuCj4gPiAKPiA+IENjOiBNYXJ0YSBMw7Zm c3RlZHQgPG1hcnRhLmxvZnN0ZWR0QGludGVsLmNvbT4KPiA+IFJlcG9ydGVkLWJ5OiBNYXJ0YSBM w7Zmc3RlZHQgPG1hcnRhLmxvZnN0ZWR0QGludGVsLmNvbT4KPiA+IEJ1Z3ppbGxhOiBodHRwczov L2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUxODUKPiA+IFNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgIHwg IDIgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgIHwgIDMgKysr Cj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYyB8IDQ0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gPiBpbmRleCAzMzEwODQwODI1NDUuLjY3ZDEzZmU0YzI0ZiAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTIxNDcsNiArMTIxNDcs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gPiAgCWlmIChtb2Rlc2V0KSB7Cj4gPiAgCQl1cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KGludGVs X2NydGMpOwo+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFibGUocGlwZV9jb25maWcs IHN0YXRlKTsKPiA+ICsJCWludGVsX2NydGNfZW5hYmxlX3BpcGVfY3JjKGNydGMpOwo+IAo+IEkg dGhpbmsgSSdkIHByZWZlciB0aGlzIHRvIGxpdmUgbmV4dCB0byB0aGUgdmJsYW5rIG9uL29mZiwg d2l0aCBhCj4gY29tbWVudC4gUHV0dGluZyBpdCBoZXJlIGdpdmVzIGFic29sdXRlbHkgbm8gY2x1 ZSB3aHkgd2UgaGF2ZSB0bwo+IGRvIGl0LgoKLi4ub3IgYXQgbGVhc3Qgd2UgbmVlZCBhIGNvbW1l bnQgaGVyZS4gCgo+IAo+ID4gIAl9IGVsc2Ugewo+ID4gIAkJaW50ZWxfcHJlX3BsYW5lX3VwZGF0 ZSh0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKSwKPiA+ICAJCQkJICAgICAgIHBp cGVfY29uZmlnKTsKPiA+IEBAIC0xMjMyNyw2ICsxMjMyOCw3IEBAIHN0YXRpYyB2b2lkIGludGVs X2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAg Cj4gPiAgCQlpZiAob2xkX2NydGNfc3RhdGUtPmFjdGl2ZSkgewo+ID4gIAkJCWludGVsX2NydGNf ZGlzYWJsZV9wbGFuZXMoY3J0Yywgb2xkX2NydGNfc3RhdGUtPnBsYW5lX21hc2spOwo+ID4gKwkJ CWludGVsX2NydGNfZGlzYWJsZV9waXBlX2NyYyhjcnRjKTsKPiA+ICAJCQlkZXZfcHJpdi0+ZGlz cGxheS5jcnRjX2Rpc2FibGUodG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSksIHN0 YXRlKTsKPiA+ICAJCQlpbnRlbF9jcnRjLT5hY3RpdmUgPSBmYWxzZTsKPiA+ICAJCQlpbnRlbF9m YmNfZGlzYWJsZShpbnRlbF9jcnRjKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBp bmRleCBkNDM2ODU4OWIzNTUuLjAwMjQyOTk1N2RkNSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+ID4gQEAgLTIxMzgsOCArMjEzOCwxMSBAQCBpbnQgaW50ZWxfcGlwZV9jcmNf Y3JlYXRlKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKPiA+ICAjaWZkZWYgQ09ORklHX0RFQlVH X0ZTCj4gPiAgaW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpj cnRjLCBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSwKPiA+ICAJCQkgICAgICBzaXplX3QgKnZhbHVl c19jbnQpOwo+ID4gK3ZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX3BpcGVfY3JjKHN0cnVjdCBkcm1f Y3J0YyAqY3J0Yyk7Cj4gPiArdm9pZCBpbnRlbF9jcnRjX2VuYWJsZV9waXBlX2NyYyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwoKUGFzcyBpbnRlbF9jcnRjIHBscy4KCj4gPiAgI2Vsc2UKPiA+ICAj ZGVmaW5lIGludGVsX2NydGNfc2V0X2NyY19zb3VyY2UgTlVMTAo+ID4gKyNkZWZpbmUgaW50ZWxf Y3J0Y19kaXNhYmxlX3BpcGVfY3JjKGNydGMpIGRvIHt9IHdoaWxlICgwKQoKc3RhdGljIGlubGlu ZSA/CgplbmFibGU/Cgo+ID4gICNlbmRpZgo+ID4gIGV4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9v cGVyYXRpb25zIGk5MTVfZGlzcGxheV9jcmNfY3RsX2ZvcHM7Cj4gPiAgI2VuZGlmIC8qIF9fSU5U RUxfRFJWX0hfXyAqLwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BpcGVfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiBp bmRleCAxZjVjZDU3MmE3ZmYuLjk0MjJlZDk4ZTk4NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BpcGVfY3JjLmMKPiA+IEBAIC01NjksNyArNTY5LDggQEAgc3RhdGljIHZvaWQg aHN3X3BpcGVfQV9jcmNfd2Eoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4g IHN0YXRpYyBpbnQgaXZiX3BpcGVfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gIAkJCQllbnVtIHBpcGUgcGlwZSwKPiA+ICAJCQkJZW51bSBpbnRlbF9w aXBlX2NyY19zb3VyY2UgKnNvdXJjZSwKPiA+IC0JCQkJdWludDMyX3QgKnZhbCkKPiA+ICsJCQkJ dWludDMyX3QgKnZhbCwKPiA+ICsJCQkJYm9vbCBzZXRfd2EpCj4gPiAgewo+ID4gIAlpZiAoKnNv dXJjZSA9PSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfQVVUTykKPiA+ICAJCSpzb3VyY2UgPSBJTlRF TF9QSVBFX0NSQ19TT1VSQ0VfUEY7Cj4gPiBAQCAtNTgyLDcgKzU4Myw3IEBAIHN0YXRpYyBpbnQg aXZiX3BpcGVfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ID4gIAkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NPVVJDRV9TUFJJVEVfSVZC Owo+ID4gIAkJYnJlYWs7Cj4gPiAgCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX1BGOgo+ID4g LQkJaWYgKChJU19IQVNXRUxMKGRldl9wcml2KSB8fAo+ID4gKwkJaWYgKHNldF93YSAmJiAoSVNf SEFTV0VMTChkZXZfcHJpdikgfHwKPiA+ICAJCSAgICAgSVNfQlJPQURXRUxMKGRldl9wcml2KSkg JiYgcGlwZSA9PSBQSVBFX0EpCj4gPiAgCQkJaHN3X3BpcGVfQV9jcmNfd2EoZGV2X3ByaXYsIHRy dWUpOwo+ID4gIAo+ID4gQEAgLTYwMCw3ICs2MDEsOCBAQCBzdGF0aWMgaW50IGl2Yl9waXBlX2Ny Y19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAKPiA+ICBz dGF0aWMgaW50IGdldF9uZXdfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ID4gIAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSwKPiA+IC0JCQkgICAgICAgZW51 bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwgdTMyICp2YWwpCj4gPiArCQkJICAgICAg IGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlICpzb3VyY2UsIHUzMiAqdmFsLAo+ID4gKwkJCSAg ICAgICBib29sIHNldF93YSkKPiA+ICB7Cj4gPiAgCWlmIChJU19HRU4yKGRldl9wcml2KSkKPiA+ ICAJCXJldHVybiBpOHh4X3BpcGVfY3JjX2N0bF9yZWcoc291cmNlLCB2YWwpOwo+ID4gQEAgLTYx MSw3ICs2MTMsNyBAQCBzdGF0aWMgaW50IGdldF9uZXdfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAllbHNlIGlmIChJU19HRU41KGRldl9wcml2KSB8 fCBJU19HRU42KGRldl9wcml2KSkKPiA+ICAJCXJldHVybiBpbGtfcGlwZV9jcmNfY3RsX3JlZyhz b3VyY2UsIHZhbCk7Cj4gPiAgCWVsc2UKPiA+IC0JCXJldHVybiBpdmJfcGlwZV9jcmNfY3RsX3Jl ZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwpOwo+ID4gKwkJcmV0dXJuIGl2Yl9waXBlX2Ny Y19jdGxfcmVnKGRldl9wcml2LCBwaXBlLCBzb3VyY2UsIHZhbCwgc2V0X3dhKTsKPiA+ICB9Cj4g PiAgCj4gPiAgc3RhdGljIGludCBwaXBlX2NyY19zZXRfc291cmNlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+IEBAIC02MzYsNyArNjM4LDcgQEAgc3RhdGljIGludCBwaXBl X2NyY19zZXRfc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAJ CXJldHVybiAtRUlPOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCXJldCA9IGdldF9uZXdfY3JjX2N0bF9y ZWcoZGV2X3ByaXYsIHBpcGUsICZzb3VyY2UsICZ2YWwpOwo+ID4gKwlyZXQgPSBnZXRfbmV3X2Ny Y19jdGxfcmVnKGRldl9wcml2LCBwaXBlLCAmc291cmNlLCAmdmFsLCB0cnVlKTsKPiA+ICAJaWYg KHJldCAhPSAwKQo+ID4gIAkJZ290byBvdXQ7Cj4gPiAgCj4gPiBAQCAtOTE2LDcgKzkxOCw3IEBA IGludCBpbnRlbF9waXBlX2NyY19jcmVhdGUoc3RydWN0IGRybV9taW5vciAqbWlub3IpCj4gPiAg aW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25z dCBjaGFyICpzb3VyY2VfbmFtZSwKPiA+ICAJCQkgICAgICBzaXplX3QgKnZhbHVlc19jbnQpCj4g PiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5kZXYt PmRldl9wcml2YXRlOwo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmRldik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9waXBlX2NyYyAqcGlwZV9jcmMg PSAmZGV2X3ByaXYtPnBpcGVfY3JjW2NydGMtPmluZGV4XTsKPiA+ICAJZW51bSBpbnRlbF9kaXNw bGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47Cj4gPiAgCWVudW0gaW50ZWxfcGlwZV9jcmNf c291cmNlIHNvdXJjZTsKPiA+IEBAIC05MzQsNyArOTM2LDcgQEAgaW50IGludGVsX2NydGNfc2V0 X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25zdCBjaGFyICpzb3VyY2VfbmFt ZSwKPiA+ICAJCXJldHVybiAtRUlPOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCXJldCA9IGdldF9uZXdf Y3JjX2N0bF9yZWcoZGV2X3ByaXYsIGNydGMtPmluZGV4LCAmc291cmNlLCAmdmFsKTsKPiA+ICsJ cmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhkZXZfcHJpdiwgY3J0Yy0+aW5kZXgsICZzb3VyY2Us ICZ2YWwsIHRydWUpOwo+ID4gIAlpZiAocmV0ICE9IDApCj4gPiAgCQlnb3RvIG91dDsKPiA+ICAK PiA+IEBAIC05NTksMyArOTYxLDMxIEBAIGludCBpbnRlbF9jcnRjX3NldF9jcmNfc291cmNlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3QgY2hhciAqc291cmNlX25hbWUsCj4gPiAgCj4gPiAg CXJldHVybiByZXQ7Cj4gPiAgfQo+ID4gKwo+ID4gK3ZvaWQgaW50ZWxfY3J0Y19lbmFibGVfcGlw ZV9jcmMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwo+ID4gKwllbnVtIGludGVs X3BpcGVfY3JjX3NvdXJjZSBzb3VyY2U7Cj4gPiArCXUzMiB2YWwgPSAwOwo+ID4gKwo+ID4gKwlp ZiAoIWNydGMtPmNyYy5vcGVuZWQpCj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCWlmIChkaXNw bGF5X2NyY19jdGxfcGFyc2Vfc291cmNlKGNydGMtPmNyYy5zb3VyY2UsICZzb3VyY2UpIDwgMCkK PiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJaWYgKGdldF9uZXdfY3JjX2N0bF9yZWcoZGV2X3By aXYsIGNydGMtPmluZGV4LCAmc291cmNlLCAmdmFsLCBmYWxzZSkgPCAwKQo+ID4gKwkJcmV0dXJu Owo+ID4gKwo+ID4gKwlJOTE1X1dSSVRFKFBJUEVfQ1JDX0NUTChjcnRjLT5pbmRleCksIHZhbCk7 Cj4gPiArCVBPU1RJTkdfUkVBRChQSVBFX0NSQ19DVEwoY3J0Yy0+aW5kZXgpKTsKPiA+ICt9Cj4g PiArCj4gPiArdm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVfcGlwZV9jcmMoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5kZXYpOwo+ID4gKwo+ID4gKwlJOTE1X1dSSVRFKFBJUEVfQ1JDX0NUTChj cnRjLT5pbmRleCksIDApOwo+ID4gKwlQT1NUSU5HX1JFQUQoUElQRV9DUkNfQ1RMKGNydGMtPmlu ZGV4KSk7Cj4gPiArCXN5bmNocm9uaXplX2lycShkZXZfcHJpdi0+ZHJtLmlycSk7Cj4gPiArfQo+ ID4gLS0gCj4gPiAyLjE2LjIKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4g SW50ZWwgT1RDCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK