From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 3/4] drm/i915: Remove the broken DP CRC support for g4x Date: Mon, 18 Feb 2019 19:57:19 +0200 Message-ID: <20190218175719.GV20097@intel.com> References: <20190214192219.3858-1-ville.syrjala@linux.intel.com> <20190214192219.3858-3-ville.syrjala@linux.intel.com> <20190215124729.GQ20097@intel.com> <20190215213458.GS20097@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 54A7D89186 for ; Mon, 18 Feb 2019 17:57:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Pandiyan, Dhinakaran" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMTUsIDIwMTkgYXQgMDk6NDM6MzdQTSArMDAwMCwgUGFuZGl5YW4sIERoaW5h a2FyYW4gd3JvdGU6Cj4gT24gRnJpLCAyMDE5LTAyLTE1IGF0IDIzOjM0ICswMjAwLCBWaWxsZSBT eXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBGcmksIEZlYiAxNSwgMjAxOSBhdCAwMTowNjozMlBNIC0w ODAwLCBEaGluYWthcmFuIFBhbmRpeWFuIHdyb3RlOgo+ID4gPiBPbiBGcmksIDIwMTktMDItMTUg YXQgMTQ6NDcgKzAyMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+ID4gPiBPbiBUaHUsIEZl YiAxNCwgMjAxOSBhdCAwNjoyNjoyOVBNIC0wODAwLCBEaGluYWthcmFuIFBhbmRpeWFuCj4gPiA+ ID4gd3JvdGU6Cj4gPiA+ID4gPiBPbiBUaHUsIDIwMTktMDItMTQgYXQgMjE6MjIgKzAyMDAsIFZp bGxlIFN5cmphbGEgd3JvdGU6Cj4gPiA+ID4gPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBEUCBD UkNzIGRvbid0IHJlYWxseSB3b3JrIG9uIGc0eC4gSWYgeW91IHdhbnQgYW55IENSQ3Mgb24gRFAK PiA+ID4gPiA+ID4geW91Cj4gPiA+ID4gPiA+IG11c3QKPiA+ID4gPiA+ID4gc2VsZWN0IHRoZSBD UkMgc291cmNlIGJlZm9yZSB0aGUgcG9ydCBpcyBlbmFibGVkLCBvdGhlcndpc2UKPiA+ID4gPiA+ ID4gdGhlCj4gPiA+ID4gPiA+IENSQwo+ID4gPiA+ID4gPiBzb3VyY2Ugc2VsZWN0IGJpdHMgc2lt cGx5IGlnbm9yZSBhbnkgd3JpdGVzIHRvIHRoZW0uIEFuZCBvbmNlCj4gPiA+ID4gPiA+IHRoZQo+ ID4gPiA+ID4gPiBwb3J0Cj4gPiA+ID4gPiA+IGlzIGVuYWJsZWQgd2UgbXVzdG4ndCBjaGFuZ2Ug dGhlIENSQyBzb3VyY2Ugc2VsZWN0IHVudGlsIHRoZQo+ID4gPiA+ID4gPiBwb3J0Cj4gPiA+ID4g PiA+IGlzCj4gPiA+ID4gPiA+IGRpc2FibGVkLiBUaGF0IGFsbW9zdCB3b3JrcywgYnV0IG5vdCBx dWl0ZSA6KCBFdmVudHVhbGx5IHRoZQo+ID4gPiA+ID4gPiBDUkMKPiA+ID4gPiA+ID4gc291cmNl Cj4gPiA+ID4gPiA+IHNlbGVjdCBiaXRzIGdldCBwZXJtYW5lbnRseSBzdHVjayBvbmUgd2F5IG9y IHRoZSBvdGhlciwgYW5kCj4gPiA+ID4gPiA+IGFmdGVyCj4gPiA+ID4gPiA+IHRoYXQKPiA+ID4g PiA+ID4gYSByZWJvb3QgKG9yIHBvc3NpYmx5IGEgZGlzcGxheSByZXNldCkgaXMgbmVlZGVkIHRv IGdldAo+ID4gPiA+ID4gPiB3b3JraW5nCj4gPiA+ID4gPiA+IENSQ3MKPiA+ID4gPiA+ID4gb24g dGhhdCBwaXBlIChub3QgbWF0dGVyIHdoaWNoIENSQyBzb3VyY2Ugd2UgdHJ5IHRvIHVzZSkuCj4g PiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBBZGRpdGlvbmFsbHkgdGhlIERGVCBzY3JhbWJsZXIgcmVz ZXQgYml0cyB3ZSdyZSB0cnlpbmcgdG8gdXNlCj4gPiA+ID4gPiA+IGRvbid0Cj4gPiA+ID4gPiA+ IHNlZW0gdG8gZXhpc3Qgb24gZzR4LiBUaGVyZSBhcmUgc29tZSBwb3RlbnRpYWxseSByZWxldmFu dAo+ID4gPiA+ID4gPiBsb29raW5nCj4gPiA+ID4gPiA+IGJpdHMKPiA+ID4gPiA+ID4gaW4gdGhl IHBpcGUgcmVnaXN0ZXJzLCBidXQgd2hlbiBJIHRyaWVkIGl0IEkgZ290IHN0YWJsZQo+ID4gPiA+ ID4gPiBsb29raW5nCj4gPiA+ID4gPiA+IENSQ3MKPiA+ID4gPiA+ID4gd2l0aG91dCBzZXR0aW5n IGFueSBiaXRzIGZvciB0aGlzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gSWYgdGhlcmUgaXMg YSB3YXkgdG8gbWFrZSBEUCBDUkNzIHdvcmsgcmVsaWFibHkgb24gZzR4LCBJCj4gPiA+ID4gPiA+ IHdhc24ndAo+ID4gPiA+ID4gPiBhYmxlIHRvIGZpbmQgaXQuIFNvIGxldCdzIGp1c3QgcmVtb3Zl IHRoZSBicm9rZW4gY29kZSB3ZQo+ID4gPiA+ID4gPiBoYXZlLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiAKPiA+ID4gPiA+IEkgdGhpbmsgd2UgY2FuIG1vZGlmeSBpOXh4X3BpcGVfY3JjX2F1dG9fc291 cmNlKCkgdG8gcGljawo+ID4gPiA+ID4gInBpcGUiCj4gPiA+ID4gPiBDUkMKPiA+ID4gPiA+IHdo ZW4gdXNlcnNwYWNlIHNlbGVjdHMgImF1dG8iIGFuZCB0aGUgb3V0cHV0IGlzIERQL2VEUC4KPiA+ ID4gPiAKPiA+ID4gPiBOb3BlLiBTcGVjIHNheXM6Cj4gPiA+ID4gIlBpcGUgQ1JDIHNob3VsZCBu b3QgYmUgcnVuIHdoZW4gRGlzcGxheSBQb3J0IG9yIFRWIGlzIGVuYWJsZWQgb24KPiA+ID4gPiB0 aGlzCj4gPiA+ID4gIHBpcGUuIgo+ID4gPiA+IAo+ID4gPiA+IGFuZAo+ID4gPiA+IAo+ID4gPiA+ ICJDUkMgU291cmNlIFNlbGVjdDogVGhlc2UgYml0cyBzZWxlY3QgdGhlIHNvdXJjZSBvZiB0aGUg ZGF0YSB0bwo+ID4gPiA+IHB1dAo+ID4gPiA+IGludG8KPiA+ID4gPiAgdGhlIENSQyBsb2dpYy4K PiA+ID4gPiAgMDAwOiBQaXBlIEEgKE5vdCBhdmFpbGFibGUgd2hlbiBEaXNwbGF5UG9ydCBvciBU ViBpcyBlbmFibGVkIG9uCj4gPiA+ID4gdGhpcwo+ID4gPiA+ICBwaXBlKSIKPiA+ID4gPiAKPiA+ ID4gCj4gPiA+IEFmdGVyIGRpZ2dpbmcgdGhyb3VnaCBzb21lIG9sZCBzcGVjcywgSSBkbyBzZWUg dGhpcyByZXN0cmljdGlvbiBmb3IKPiA+ID4gZ2VuLTQgYW5kIFZMViwgYnV0IGZvciBzb21lIHJl YXNvbiBub3QgZm9yIGdlbi0zIG9yIENIVi4gCj4gPiAKPiA+IGdlbjMgcHJlZGF0ZXMgRFAgKGc0 eCBiZWluZyB0aGUgZmlyc3QgcGxhdGZvcm0gdGhhdCBoYXMgaXQpLiBJIGRvbid0Cj4gPiB0aGlu ayBTRFZPLT5EUCB3YXMgZXZlciBhIHRoaW5nLiBTRFZPLT5IRE1JIGRpZCBoYXBwZW4gYnV0IGV2 ZW4gdGhhdAo+ID4gb25lIGlzIHF1aXRlIHJhcmUuCj4gCj4gVFY/IEkgc2VlIFRWIGluaXRpYWxp emF0aW9uIGZvciBhIGNvdXBsZSBvZiBnZW4tMyBwbGF0Zm9ybXMgYnV0IHRoZQo+IHNwZWMgZG9l cyBub3Qgc2F5IHRoYXQgcGlwZSBDUkNzIGFyZSBub3QgYXZhaWxhYmxlLgoKQ291bGQganVzdCBi ZSBhbiBvbWlzc2lvbiBpbiB0aGUgc3BlYy4gSSBkb24ndCB0aGluayBJIGFjdHVhbGx5CnRlc3Rl ZCB0byBzZWUgd2hhdCBoYXBwZW5zIHdoZW4geW91IHRyeSB0byB1c2UgdGhlIHBpcGUgQ1JDIHdp dGggdGhlClRWIGVuY29kZXIuIFByZXN1bWFibHkgaXQgbWlnaHQgZ2l2ZSB5b3Ugc29tZXRoaW5n IHVzZWZ1bCwgYnV0IGl0CmNlcnRhaW5seSB3b3VsZG4ndCBhY2NvdW50IGZvciBhbnl0aGluZyBk b25lIGJ5IHRoZSBUViBlbmNvZGVyLgpOb3QgdGhhdCB3ZSBub3JtYWxseSBjYXJlIGFib3V0IHRo YXQgc3R1ZmYgYW55d2F5LgoKPiA+IAo+ID4gVGhlIGRpc3BsYXkgZW5naW5lIHNpZGUgb2YgQ0hW IGlzIDk5LjklIFZMViwgd2l0aCBhIGZldyBleHRyYQo+ID4gYml0cyBhbmQgcGllY2VzIGdsdWVk IG9uIHRvcC4KPiAKPiBUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLCB0aGUgQ0hWIHNwZWMg Zm9yIHNvbWUgcmVhc29uIG1ha2UgaXQgYQo+IHBvaW50IHRvIHNwZWNpZnkgVkxWIGluIHBhcmFu dGhlc2lzCgpUaGV5IGJhc2ljYWxseSBqdXN0IGRpZCAnY3AgVkxWc3BlYyBDSFZzcGVjJywgYW5k IHRoZW4gZWRpdGVkCml0IG1pbmltYWxseS4gU28geW91IHNob3VsZCBnZW5lcmFsbHkgaW50ZXJw cmV0IHRoZSAiRGV2VkxWKiIKdG8gbWVhbiAiVkxWL0NIViIuCgo+IAo+IDAwMDA6IFBpcGUgQyAo Tm90IGF2YWlsYWJsZSB3aGVuIERpc3BsYXlQb3J0IG9yIFRWIGlzIGVuYWJsZWQgb24gdGhpcwo+ IHBpcGUpIFtWTFZdCj4gCj4gPiAKPiA+ID4gCj4gPiA+IFRoZXJlIGlzIG5vIGdvb2QgY2hvaWNl IGZvciAiYXV0byIgb3RoZXIgdGhhbiBEUCBhbmQgc2luY2UgRFAgZG9lcwo+ID4gPiBub3QKPiA+ ID4gd29yaywgcmV0dXJuaW5nIC1FSU5WQUwgbWFrZXMgc2Vuc2UuCj4gPiA+IFJldmlld2VkLWJ5 OiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KPiA+ ID4gCj4gPiA+ID4gVGhvdWdoIEkgbXVzdCBhZG1pdCBJJ3ZlIG5ldmVyIGFjdHVhbGx5IHRyaWVk IGl0IHRvIHNlZSB3aGF0Cj4gPiA+ID4gYWN0dWFsbHkKPiA+ID4gPiBoYXBwZW5zLgo+ID4gPiA+ IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g PiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlw ZV9jcmMuYyB8IDgwICsrKystLS0tLS0tLS0tLS0tCj4gPiA+ID4gPiA+IC0tLS0KPiA+ID4gPiA+ ID4gLS0tLQo+ID4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDExIGlu c2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiA+ID4gPiA+ ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiA+ID4gPiA+IGlu ZGV4IGZlMGZmODliOTgwYi4uNjZiYjdiMDMxNTM3IDEwMDY0NAo+ID4gPiA+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiA+ID4gPiA+ID4gQEAgLTE5MSw4 ICsxOTEsNiBAQCBzdGF0aWMgaW50IGk5eHhfcGlwZV9jcmNfY3RsX3JlZyhzdHJ1Y3QKPiA+ID4g PiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gPiA+ICAJCQkJIGVudW0g aW50ZWxfcGlwZV9jcmNfc291cmNlCj4gPiA+ID4gPiA+ICpzb3VyY2UsCj4gPiA+ID4gPiA+ICAJ CQkJIHUzMiAqdmFsKQo+ID4gPiA+ID4gPiAgewo+ID4gPiA+ID4gPiAtCWJvb2wgbmVlZF9zdGFi bGVfc3ltYm9scyA9IGZhbHNlOwo+ID4gPiA+ID4gPiAtCj4gPiA+ID4gPiA+ICAJaWYgKCpzb3Vy Y2UgPT0gSU5URUxfUElQRV9DUkNfU09VUkNFX0FVVE8pIHsKPiA+ID4gPiA+ID4gIAkJaW50IHJl dCA9IGk5eHhfcGlwZV9jcmNfYXV0b19zb3VyY2UoZGV2X3ByaXYsCj4gPiA+ID4gPiA+IHBpcGUs Cj4gPiA+ID4gPiA+IHNvdXJjZSk7Cj4gPiA+ID4gPiA+ICAJCWlmIChyZXQpCj4gPiA+ID4gPiA+ IEBAIC0yMDgsNTYgKzIwNiwyMyBAQCBzdGF0aWMgaW50IGk5eHhfcGlwZV9jcmNfY3RsX3JlZyhz dHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gPiA+ ICAJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiA+ID4gIAkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJM RSB8Cj4gPiA+ID4gPiA+IFBJUEVfQ1JDX1NPVVJDRV9UVl9QUkU7Cj4gPiA+ID4gPiA+ICAJCWJy ZWFrOwo+ID4gPiA+ID4gPiAtCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX0RQX0I6Cj4gPiA+ ID4gPiA+IC0JCWlmICghSVNfRzRYKGRldl9wcml2KSkKPiA+ID4gPiA+ID4gLQkJCXJldHVybiAt RUlOVkFMOwo+ID4gPiA+ID4gPiAtCQkqdmFsID0gUElQRV9DUkNfRU5BQkxFIHwKPiA+ID4gPiA+ ID4gUElQRV9DUkNfU09VUkNFX0RQX0JfRzRYOwo+ID4gPiA+ID4gPiAtCQluZWVkX3N0YWJsZV9z eW1ib2xzID0gdHJ1ZTsKPiA+ID4gPiA+ID4gLQkJYnJlYWs7Cj4gPiA+ID4gPiA+IC0JY2FzZSBJ TlRFTF9QSVBFX0NSQ19TT1VSQ0VfRFBfQzoKPiA+ID4gPiA+ID4gLQkJaWYgKCFJU19HNFgoZGV2 X3ByaXYpKQo+ID4gPiA+ID4gPiAtCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gPiA+IC0JCSp2 YWwgPSBQSVBFX0NSQ19FTkFCTEUgfAo+ID4gPiA+ID4gPiBQSVBFX0NSQ19TT1VSQ0VfRFBfQ19H NFg7Cj4gPiA+ID4gPiA+IC0JCW5lZWRfc3RhYmxlX3N5bWJvbHMgPSB0cnVlOwo+ID4gPiA+ID4g PiAtCQlicmVhazsKPiA+ID4gPiA+ID4gLQljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9EUF9E Ogo+ID4gPiA+ID4gPiAtCQlpZiAoIUlTX0c0WChkZXZfcHJpdikpCj4gPiA+ID4gPiA+IC0JCQly ZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiA+ID4gLQkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8Cj4g PiA+ID4gPiA+IFBJUEVfQ1JDX1NPVVJDRV9EUF9EX0c0WDsKPiA+ID4gPiA+ID4gLQkJbmVlZF9z dGFibGVfc3ltYm9scyA9IHRydWU7Cj4gPiA+ID4gPiA+IC0JCWJyZWFrOwo+ID4gPiA+ID4gPiAg CWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX05PTkU6Cj4gPiA+ID4gPiA+ICAJCSp2YWwgPSAw Owo+ID4gPiA+ID4gPiAgCQlicmVhazsKPiA+ID4gPiA+ID4gIAlkZWZhdWx0Ogo+ID4gPiA+ID4g PiArCQkvKgo+ID4gPiA+ID4gPiArCQkgKiBUaGUgRFAgQ1JDIHNvdXJjZSBkb2Vzbid0IHdvcmsg b24gZzR4Lgo+ID4gPiA+ID4gPiArCQkgKiBJdCBjYW4gYmUgbWFkZSB0byB3b3JrIHRvIHNvbWUg ZGVncmVlIGJ5Cj4gPiA+ID4gPiA+IHNlbGVjdGluZwo+ID4gPiA+ID4gPiArCQkgKiB0aGUgY29y cmVjdCBDUkMgc291cmNlIGJlZm9yZSB0aGUgcG9ydCBpcwo+ID4gPiA+ID4gPiBlbmFibGVkLAo+ ID4gPiA+ID4gPiArCQkgKiBhbmQgbm90IHRvdWNoaW5nIHRoZSBDUkMgc291cmNlIGJpdHMgYWdh aW4KPiA+ID4gPiA+ID4gdW50aWwKPiA+ID4gPiA+ID4gKwkJICogdGhlIHBvcnQgaXMgZGlzYWJs ZWQuIEJ1dCBldmVuIHRoZW4gdGhlIGJpdHMKPiA+ID4gPiA+ID4gKwkJICogZXZlbnR1YWxseSBn ZXQgc3R1Y2sgYW5kIGEgcmVib290IGlzIG5lZWRlZAo+ID4gPiA+ID4gPiB0byBnZXQKPiA+ID4g PiA+ID4gKwkJICogd29ya2luZyBDUkNzIG9uIHRoZSBwaXBlIGFnYWluLiBMZXQncyBzaW1wbHkK PiA+ID4gPiA+ID4gKwkJICogcmVmdXNlIHRvIHVzZSBEUCBDUkNzIG9uIGc0eC4KPiA+ID4gPiA+ ID4gKwkJICovego+ID4gPiA+ID4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiA+ID4gIAl9 Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gLQkvKgo+ID4gPiA+ID4gPiAtCSAqIFdoZW4gdGhl IHBpcGUgQ1JDIHRhcCBwb2ludCBpcyBhZnRlciB0aGUgdHJhbnNjb2RlcnMKPiA+ID4gPiA+ID4g d2UgbmVlZAo+ID4gPiA+ID4gPiAtCSAqIHRvIHR3ZWFrIHN5bWJvbC1sZXZlbCBmZWF0dXJlcyB0 byBwcm9kdWNlIGEKPiA+ID4gPiA+ID4gZGV0ZXJtaW5pc3RpYwo+ID4gPiA+ID4gPiBzZXJpZXMg b2YKPiA+ID4gPiA+ID4gLQkgKiBzeW1ib2xzIGZvciBhIGdpdmVuIGZyYW1lLiBXZSBuZWVkIHRv IHJlc2V0IHRob3NlCj4gPiA+ID4gPiA+IGZlYXR1cmVzCj4gPiA+ID4gPiA+IG9ubHkgb25jZQo+ ID4gPiA+ID4gPiAtCSAqIGEgZnJhbWUgKGluc3RlYWQgb2YgZXZlcnkgbnRoIHN5bWJvbCk6Cj4g PiA+ID4gPiA+IC0JICogICAtIERDLWJhbGFuY2U6IHVzZWQgdG8gZW5zdXJlIGEgYmV0dGVyIGNs b2NrCj4gPiA+ID4gPiA+IHJlY292ZXJ5IGZyb20KPiA+ID4gPiA+ID4gdGhlIGRhdGEKPiA+ID4g PiA+ID4gLQkgKiAgICAgbGluayAoU0RWTykKPiA+ID4gPiA+ID4gLQkgKiAgIC0gRGlzcGxheVBv cnQgc2NyYW1ibGluZzogdXNlZCBmb3IgRU1JIHJlZHVjdGlvbgo+ID4gPiA+ID4gPiAtCSAqLwo+ ID4gPiA+ID4gPiAtCWlmIChuZWVkX3N0YWJsZV9zeW1ib2xzKSB7Cj4gPiA+ID4gPiA+IC0JCXUz MiB0bXAgPSBJOTE1X1JFQUQoUE9SVF9ERlQyX0c0WCk7Cj4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+ ID4gLQkJV0FSTl9PTighSVNfRzRYKGRldl9wcml2KSk7Cj4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+ ID4gLQkJSTkxNV9XUklURShQT1JUX0RGVF9JOVhYLAo+ID4gPiA+ID4gPiAtCQkJICAgSTkxNV9S RUFEKFBPUlRfREZUX0k5WFgpIHwKPiA+ID4gPiA+ID4gRENfQkFMQU5DRV9SRVNFVCk7Cj4gPiA+ ID4gPiA+IC0KPiA+ID4gPiA+ID4gLQkJaWYgKHBpcGUgPT0gUElQRV9BKQo+ID4gPiA+ID4gPiAt CQkJdG1wIHw9IFBJUEVfQV9TQ1JBTUJMRV9SRVNFVDsKPiA+ID4gPiA+ID4gLQkJZWxzZQo+ID4g PiA+ID4gPiAtCQkJdG1wIHw9IFBJUEVfQl9TQ1JBTUJMRV9SRVNFVDsKPiA+ID4gPiA+ID4gLQo+ ID4gPiA+ID4gPiAtCQlJOTE1X1dSSVRFKFBPUlRfREZUMl9HNFgsIHRtcCk7Cj4gPiA+ID4gPiA+ IC0JfQo+ID4gPiA+ID4gPiAtCj4gPiA+ID4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ICB9 Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gQEAgLTI4MiwyNCArMjQ3LDYgQEAgc3RhdGljIHZv aWQKPiA+ID4gPiA+ID4gdmx2X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChzdHJ1Y3QKPiA+ID4g PiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gPiA+ICAJaWYgKCEodG1w ICYgUElQRV9TQ1JBTUJMRV9SRVNFVF9NQVNLKSkKPiA+ID4gPiA+ID4gIAkJdG1wICY9IH5EQ19C QUxBTkNFX1JFU0VUX1ZMVjsKPiA+ID4gPiA+ID4gIAlJOTE1X1dSSVRFKFBPUlRfREZUMl9HNFgs IHRtcCk7Cj4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+ID4gLX0KPiA+ID4gPiA+ID4gLQo+ID4gPiA+ ID4gPiAtc3RhdGljIHZvaWQgZzR4X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChzdHJ1Y3QKPiA+ ID4gPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiA+ID4gPiAqZGV2X3ByaXYsCj4gPiA+ID4g PiA+IC0JCQkJCSBlbnVtIHBpcGUgcGlwZSkKPiA+ID4gPiA+ID4gLXsKPiA+ID4gPiA+ID4gLQl1 MzIgdG1wID0gSTkxNV9SRUFEKFBPUlRfREZUMl9HNFgpOwo+ID4gPiA+ID4gPiAtCj4gPiA+ID4g PiA+IC0JaWYgKHBpcGUgPT0gUElQRV9BKQo+ID4gPiA+ID4gPiAtCQl0bXAgJj0gflBJUEVfQV9T Q1JBTUJMRV9SRVNFVDsKPiA+ID4gPiA+ID4gLQllbHNlCj4gPiA+ID4gPiA+IC0JCXRtcCAmPSB+ UElQRV9CX1NDUkFNQkxFX1JFU0VUOwo+ID4gPiA+ID4gPiAtCUk5MTVfV1JJVEUoUE9SVF9ERlQy X0c0WCwgdG1wKTsKPiA+ID4gPiA+ID4gLQo+ID4gPiA+ID4gPiAtCWlmICghKHRtcCAmIFBJUEVf U0NSQU1CTEVfUkVTRVRfTUFTSykpIHsKPiA+ID4gPiA+ID4gLQkJSTkxNV9XUklURShQT1JUX0RG VF9JOVhYLAo+ID4gPiA+ID4gPiAtCQkJICAgSTkxNV9SRUFEKFBPUlRfREZUX0k5WFgpICYKPiA+ ID4gPiA+ID4gfkRDX0JBTEFOQ0VfUkVTRVQpOwo+ID4gPiA+ID4gPiAtCX0KPiA+ID4gPiA+ID4g IH0KPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiAgc3RhdGljIGludCBpbGtfcGlwZV9jcmNfY3Rs X3JlZyhlbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZQo+ID4gPiA+ID4gPiAqc291cmNlLAo+ID4g PiA+ID4gPiBAQCAtNDg1LDkgKzQzMiw2IEBAIHN0YXRpYyBpbnQgaTl4eF9jcmNfc291cmNlX3Zh bGlkKHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g PiA+ID4gIAlzd2l0Y2ggKHNvdXJjZSkgewo+ID4gPiA+ID4gPiAgCWNhc2UgSU5URUxfUElQRV9D UkNfU09VUkNFX1BJUEU6Cj4gPiA+ID4gPiA+ICAJY2FzZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0Vf VFY6Cj4gPiA+ID4gPiA+IC0JY2FzZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfRFBfQjoKPiA+ID4g PiA+ID4gLQljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9EUF9DOgo+ID4gPiA+ID4gPiAtCWNh c2UgSU5URUxfUElQRV9DUkNfU09VUkNFX0RQX0Q6Cj4gPiA+ID4gPiA+ICAJY2FzZSBJTlRFTF9Q SVBFX0NSQ19TT1VSQ0VfTk9ORToKPiA+ID4gPiA+ID4gIAkJcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ ICAJZGVmYXVsdDoKPiA+ID4gPiA+ID4gQEAgLTYxMiw5ICs1NTYsNyBAQCBpbnQgaW50ZWxfY3J0 Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2NydGMKPiA+ID4gPiA+ID4g KmNydGMsIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lKQo+ID4gPiA+ID4gPiAgCVBPU1RJTkdfUkVB RChQSVBFX0NSQ19DVEwoY3J0Yy0+aW5kZXgpKTsKPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiAg CWlmICghc291cmNlKSB7Cj4gPiA+ID4gPiA+IC0JCWlmIChJU19HNFgoZGV2X3ByaXYpKQo+ID4g PiA+ID4gPiAtCQkJZzR4X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChkZXZfcHJpdiwKPiA+ID4g PiA+ID4gY3J0Yy0KPiA+ID4gPiA+ID4gPiBpbmRleCk7Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiAtCQllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fAo+ID4gPiA+ID4gPiBJU19D SEVSUllWSUVXKGRldl9wcml2KSkKPiA+ID4gPiA+ID4gKwkJaWYgKElTX1ZBTExFWVZJRVcoZGV2 X3ByaXYpIHx8Cj4gPiA+ID4gPiA+IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ID4gPiA+ID4g PiAgCQkJdmx2X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChkZXZfcHJpdiwKPiA+ID4gPiA+ID4g Y3J0Yy0KPiA+ID4gPiA+ID4gPiBpbmRleCk7Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAgCQll bHNlIGlmICgoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwKPiA+ID4gPiA+ID4gIAkJCSAgSVNfQlJP QURXRUxMKGRldl9wcml2KSkgJiYgY3J0Yy0KPiA+ID4gPiA+ID4gPmluZGV4ID09Cj4gPiA+ID4g PiA+IFBJUEVfQSkKPiA+ID4gPiAKPiA+ID4gPiAKPiA+IAo+ID4gCgotLSAKVmlsbGUgU3lyasOk bMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==