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: Fri, 15 Feb 2019 23:34:58 +0200 Message-ID: <20190215213458.GS20097@intel.com> References: <20190214192219.3858-1-ville.syrjala@linux.intel.com> <20190214192219.3858-3-ville.syrjala@linux.intel.com> <20190215124729.GQ20097@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 692486ECBA for ; Fri, 15 Feb 2019 21:35:02 +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: Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMTUsIDIwMTkgYXQgMDE6MDY6MzJQTSAtMDgwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBPbiBGcmksIDIwMTktMDItMTUgYXQgMTQ6NDcgKzAyMDAsIFZpbGxlIFN5 cmrDpGzDpCB3cm90ZToKPiA+IE9uIFRodSwgRmViIDE0LCAyMDE5IGF0IDA2OjI2OjI5UE0gLTA4 MDAsIERoaW5ha2FyYW4gUGFuZGl5YW4gd3JvdGU6Cj4gPiA+IE9uIFRodSwgMjAxOS0wMi0xNCBh dCAyMToyMiArMDIwMCwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiA+ID4gPiBGcm9tOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+IAo+ID4gPiA+ IERQIENSQ3MgZG9uJ3QgcmVhbGx5IHdvcmsgb24gZzR4LiBJZiB5b3Ugd2FudCBhbnkgQ1JDcyBv biBEUCB5b3UKPiA+ID4gPiBtdXN0Cj4gPiA+ID4gc2VsZWN0IHRoZSBDUkMgc291cmNlIGJlZm9y ZSB0aGUgcG9ydCBpcyBlbmFibGVkLCBvdGhlcndpc2UgdGhlCj4gPiA+ID4gQ1JDCj4gPiA+ID4g c291cmNlIHNlbGVjdCBiaXRzIHNpbXBseSBpZ25vcmUgYW55IHdyaXRlcyB0byB0aGVtLiBBbmQg b25jZSB0aGUKPiA+ID4gPiBwb3J0Cj4gPiA+ID4gaXMgZW5hYmxlZCB3ZSBtdXN0bid0IGNoYW5n ZSB0aGUgQ1JDIHNvdXJjZSBzZWxlY3QgdW50aWwgdGhlIHBvcnQKPiA+ID4gPiBpcwo+ID4gPiA+ IGRpc2FibGVkLiBUaGF0IGFsbW9zdCB3b3JrcywgYnV0IG5vdCBxdWl0ZSA6KCBFdmVudHVhbGx5 IHRoZSBDUkMKPiA+ID4gPiBzb3VyY2UKPiA+ID4gPiBzZWxlY3QgYml0cyBnZXQgcGVybWFuZW50 bHkgc3R1Y2sgb25lIHdheSBvciB0aGUgb3RoZXIsIGFuZCBhZnRlcgo+ID4gPiA+IHRoYXQKPiA+ ID4gPiBhIHJlYm9vdCAob3IgcG9zc2libHkgYSBkaXNwbGF5IHJlc2V0KSBpcyBuZWVkZWQgdG8g Z2V0IHdvcmtpbmcKPiA+ID4gPiBDUkNzCj4gPiA+ID4gb24gdGhhdCBwaXBlIChub3QgbWF0dGVy IHdoaWNoIENSQyBzb3VyY2Ugd2UgdHJ5IHRvIHVzZSkuCj4gPiA+ID4gCj4gPiA+ID4gQWRkaXRp b25hbGx5IHRoZSBERlQgc2NyYW1ibGVyIHJlc2V0IGJpdHMgd2UncmUgdHJ5aW5nIHRvIHVzZQo+ ID4gPiA+IGRvbid0Cj4gPiA+ID4gc2VlbSB0byBleGlzdCBvbiBnNHguIFRoZXJlIGFyZSBzb21l IHBvdGVudGlhbGx5IHJlbGV2YW50IGxvb2tpbmcKPiA+ID4gPiBiaXRzCj4gPiA+ID4gaW4gdGhl IHBpcGUgcmVnaXN0ZXJzLCBidXQgd2hlbiBJIHRyaWVkIGl0IEkgZ290IHN0YWJsZSBsb29raW5n Cj4gPiA+ID4gQ1JDcwo+ID4gPiA+IHdpdGhvdXQgc2V0dGluZyBhbnkgYml0cyBmb3IgdGhpcy4K PiA+ID4gPiAKPiA+ID4gPiBJZiB0aGVyZSBpcyBhIHdheSB0byBtYWtlIERQIENSQ3Mgd29yayBy ZWxpYWJseSBvbiBnNHgsIEkgd2Fzbid0Cj4gPiA+ID4gYWJsZSB0byBmaW5kIGl0LiBTbyBsZXQn cyBqdXN0IHJlbW92ZSB0aGUgYnJva2VuIGNvZGUgd2UgaGF2ZS4KPiA+ID4gCj4gPiA+IAo+ID4g PiBJIHRoaW5rIHdlIGNhbiBtb2RpZnkgaTl4eF9waXBlX2NyY19hdXRvX3NvdXJjZSgpIHRvIHBp Y2sgInBpcGUiCj4gPiA+IENSQwo+ID4gPiB3aGVuIHVzZXJzcGFjZSBzZWxlY3RzICJhdXRvIiBh bmQgdGhlIG91dHB1dCBpcyBEUC9lRFAuCj4gPiAKPiA+IE5vcGUuIFNwZWMgc2F5czoKPiA+ICJQ aXBlIENSQyBzaG91bGQgbm90IGJlIHJ1biB3aGVuIERpc3BsYXkgUG9ydCBvciBUViBpcyBlbmFi bGVkIG9uCj4gPiB0aGlzCj4gPiAgcGlwZS4iCj4gPiAKPiA+IGFuZAo+ID4gCj4gPiAiQ1JDIFNv dXJjZSBTZWxlY3Q6IFRoZXNlIGJpdHMgc2VsZWN0IHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgdG8g cHV0Cj4gPiBpbnRvCj4gPiAgdGhlIENSQyBsb2dpYy4KPiA+ICAwMDA6IFBpcGUgQSAoTm90IGF2 YWlsYWJsZSB3aGVuIERpc3BsYXlQb3J0IG9yIFRWIGlzIGVuYWJsZWQgb24gdGhpcwo+ID4gIHBp cGUpIgo+ID4gCj4gQWZ0ZXIgZGlnZ2luZyB0aHJvdWdoIHNvbWUgb2xkIHNwZWNzLCBJIGRvIHNl ZSB0aGlzIHJlc3RyaWN0aW9uIGZvcgo+IGdlbi00IGFuZCBWTFYsIGJ1dCBmb3Igc29tZSByZWFz b24gbm90IGZvciBnZW4tMyBvciBDSFYuIAoKZ2VuMyBwcmVkYXRlcyBEUCAoZzR4IGJlaW5nIHRo ZSBmaXJzdCBwbGF0Zm9ybSB0aGF0IGhhcyBpdCkuIEkgZG9uJ3QKdGhpbmsgU0RWTy0+RFAgd2Fz IGV2ZXIgYSB0aGluZy4gU0RWTy0+SERNSSBkaWQgaGFwcGVuIGJ1dCBldmVuIHRoYXQKb25lIGlz IHF1aXRlIHJhcmUuCgpUaGUgZGlzcGxheSBlbmdpbmUgc2lkZSBvZiBDSFYgaXMgOTkuOSUgVkxW LCB3aXRoIGEgZmV3IGV4dHJhCmJpdHMgYW5kIHBpZWNlcyBnbHVlZCBvbiB0b3AuCgo+IAo+IFRo ZXJlIGlzIG5vIGdvb2QgY2hvaWNlIGZvciAiYXV0byIgb3RoZXIgdGhhbiBEUCBhbmQgc2luY2Ug RFAgZG9lcyBub3QKPiB3b3JrLCByZXR1cm5pbmcgLUVJTlZBTCBtYWtlcyBzZW5zZS4KPiBSZXZp ZXdlZC1ieTogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+Cj4gCj4gPiBUaG91Z2ggSSBtdXN0IGFkbWl0IEkndmUgbmV2ZXIgYWN0dWFsbHkgdHJpZWQg aXQgdG8gc2VlIHdoYXQgYWN0dWFsbHkKPiA+IGhhcHBlbnMuCj4gPiAKPiA+ID4gCj4gPiA+IAo+ ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BpcGVfY3JjLmMgfCA4MCArKysrLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4g PiAtLS0tCj4gPiA+ID4gLS0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMo KyksIDY5IGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gPiA+ID4gaW5kZXggZmUwZmY4OWI5ODBiLi42NmJiN2Iw MzE1MzcgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlw ZV9jcmMuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3Jj LmMKPiA+ID4gPiBAQCAtMTkxLDggKzE5MSw2IEBAIHN0YXRpYyBpbnQgaTl4eF9waXBlX2NyY19j dGxfcmVnKHN0cnVjdAo+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiA+ ICAJCQkJIGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlICpzb3VyY2UsCj4gPiA+ID4gIAkJCQkg dTMyICp2YWwpCj4gPiA+ID4gIHsKPiA+ID4gPiAtCWJvb2wgbmVlZF9zdGFibGVfc3ltYm9scyA9 IGZhbHNlOwo+ID4gPiA+IC0KPiA+ID4gPiAgCWlmICgqc291cmNlID09IElOVEVMX1BJUEVfQ1JD X1NPVVJDRV9BVVRPKSB7Cj4gPiA+ID4gIAkJaW50IHJldCA9IGk5eHhfcGlwZV9jcmNfYXV0b19z b3VyY2UoZGV2X3ByaXYsIHBpcGUsCj4gPiA+ID4gc291cmNlKTsKPiA+ID4gPiAgCQlpZiAocmV0 KQo+ID4gPiA+IEBAIC0yMDgsNTYgKzIwNiwyMyBAQCBzdGF0aWMgaW50IGk5eHhfcGlwZV9jcmNf Y3RsX3JlZyhzdHJ1Y3QKPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g PiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gIAkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8 IFBJUEVfQ1JDX1NPVVJDRV9UVl9QUkU7Cj4gPiA+ID4gIAkJYnJlYWs7Cj4gPiA+ID4gLQljYXNl IElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9EUF9COgo+ID4gPiA+IC0JCWlmICghSVNfRzRYKGRldl9w cml2KSkKPiA+ID4gPiAtCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gLQkJKnZhbCA9IFBJUEVf Q1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NPVVJDRV9EUF9CX0c0WDsKPiA+ID4gPiAtCQluZWVkX3N0 YWJsZV9zeW1ib2xzID0gdHJ1ZTsKPiA+ID4gPiAtCQlicmVhazsKPiA+ID4gPiAtCWNhc2UgSU5U RUxfUElQRV9DUkNfU09VUkNFX0RQX0M6Cj4gPiA+ID4gLQkJaWYgKCFJU19HNFgoZGV2X3ByaXYp KQo+ID4gPiA+IC0JCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAtCQkqdmFsID0gUElQRV9DUkNf RU5BQkxFIHwgUElQRV9DUkNfU09VUkNFX0RQX0NfRzRYOwo+ID4gPiA+IC0JCW5lZWRfc3RhYmxl X3N5bWJvbHMgPSB0cnVlOwo+ID4gPiA+IC0JCWJyZWFrOwo+ID4gPiA+IC0JY2FzZSBJTlRFTF9Q SVBFX0NSQ19TT1VSQ0VfRFBfRDoKPiA+ID4gPiAtCQlpZiAoIUlTX0c0WChkZXZfcHJpdikpCj4g PiA+ID4gLQkJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+IC0JCSp2YWwgPSBQSVBFX0NSQ19FTkFC TEUgfCBQSVBFX0NSQ19TT1VSQ0VfRFBfRF9HNFg7Cj4gPiA+ID4gLQkJbmVlZF9zdGFibGVfc3lt Ym9scyA9IHRydWU7Cj4gPiA+ID4gLQkJYnJlYWs7Cj4gPiA+ID4gIAljYXNlIElOVEVMX1BJUEVf Q1JDX1NPVVJDRV9OT05FOgo+ID4gPiA+ICAJCSp2YWwgPSAwOwo+ID4gPiA+ICAJCWJyZWFrOwo+ ID4gPiA+ICAJZGVmYXVsdDoKPiA+ID4gPiArCQkvKgo+ID4gPiA+ICsJCSAqIFRoZSBEUCBDUkMg c291cmNlIGRvZXNuJ3Qgd29yayBvbiBnNHguCj4gPiA+ID4gKwkJICogSXQgY2FuIGJlIG1hZGUg dG8gd29yayB0byBzb21lIGRlZ3JlZSBieSBzZWxlY3RpbmcKPiA+ID4gPiArCQkgKiB0aGUgY29y cmVjdCBDUkMgc291cmNlIGJlZm9yZSB0aGUgcG9ydCBpcyBlbmFibGVkLAo+ID4gPiA+ICsJCSAq IGFuZCBub3QgdG91Y2hpbmcgdGhlIENSQyBzb3VyY2UgYml0cyBhZ2FpbiB1bnRpbAo+ID4gPiA+ ICsJCSAqIHRoZSBwb3J0IGlzIGRpc2FibGVkLiBCdXQgZXZlbiB0aGVuIHRoZSBiaXRzCj4gPiA+ ID4gKwkJICogZXZlbnR1YWxseSBnZXQgc3R1Y2sgYW5kIGEgcmVib290IGlzIG5lZWRlZCB0byBn ZXQKPiA+ID4gPiArCQkgKiB3b3JraW5nIENSQ3Mgb24gdGhlIHBpcGUgYWdhaW4uIExldCdzIHNp bXBseQo+ID4gPiA+ICsJCSAqIHJlZnVzZSB0byB1c2UgRFAgQ1JDcyBvbiBnNHguCj4gPiA+ID4g KwkJICovego+ID4gPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ICAJfQo+ID4gPiA+ICAK PiA+ID4gPiAtCS8qCj4gPiA+ID4gLQkgKiBXaGVuIHRoZSBwaXBlIENSQyB0YXAgcG9pbnQgaXMg YWZ0ZXIgdGhlIHRyYW5zY29kZXJzIHdlIG5lZWQKPiA+ID4gPiAtCSAqIHRvIHR3ZWFrIHN5bWJv bC1sZXZlbCBmZWF0dXJlcyB0byBwcm9kdWNlIGEgZGV0ZXJtaW5pc3RpYwo+ID4gPiA+IHNlcmll cyBvZgo+ID4gPiA+IC0JICogc3ltYm9scyBmb3IgYSBnaXZlbiBmcmFtZS4gV2UgbmVlZCB0byBy ZXNldCB0aG9zZSBmZWF0dXJlcwo+ID4gPiA+IG9ubHkgb25jZQo+ID4gPiA+IC0JICogYSBmcmFt ZSAoaW5zdGVhZCBvZiBldmVyeSBudGggc3ltYm9sKToKPiA+ID4gPiAtCSAqICAgLSBEQy1iYWxh bmNlOiB1c2VkIHRvIGVuc3VyZSBhIGJldHRlciBjbG9jayByZWNvdmVyeSBmcm9tCj4gPiA+ID4g dGhlIGRhdGEKPiA+ID4gPiAtCSAqICAgICBsaW5rIChTRFZPKQo+ID4gPiA+IC0JICogICAtIERp c3BsYXlQb3J0IHNjcmFtYmxpbmc6IHVzZWQgZm9yIEVNSSByZWR1Y3Rpb24KPiA+ID4gPiAtCSAq Lwo+ID4gPiA+IC0JaWYgKG5lZWRfc3RhYmxlX3N5bWJvbHMpIHsKPiA+ID4gPiAtCQl1MzIgdG1w ID0gSTkxNV9SRUFEKFBPUlRfREZUMl9HNFgpOwo+ID4gPiA+IC0KPiA+ID4gPiAtCQlXQVJOX09O KCFJU19HNFgoZGV2X3ByaXYpKTsKPiA+ID4gPiAtCj4gPiA+ID4gLQkJSTkxNV9XUklURShQT1JU X0RGVF9JOVhYLAo+ID4gPiA+IC0JCQkgICBJOTE1X1JFQUQoUE9SVF9ERlRfSTlYWCkgfAo+ID4g PiA+IERDX0JBTEFOQ0VfUkVTRVQpOwo+ID4gPiA+IC0KPiA+ID4gPiAtCQlpZiAocGlwZSA9PSBQ SVBFX0EpCj4gPiA+ID4gLQkJCXRtcCB8PSBQSVBFX0FfU0NSQU1CTEVfUkVTRVQ7Cj4gPiA+ID4g LQkJZWxzZQo+ID4gPiA+IC0JCQl0bXAgfD0gUElQRV9CX1NDUkFNQkxFX1JFU0VUOwo+ID4gPiA+ IC0KPiA+ID4gPiAtCQlJOTE1X1dSSVRFKFBPUlRfREZUMl9HNFgsIHRtcCk7Cj4gPiA+ID4gLQl9 Cj4gPiA+ID4gLQo+ID4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ ID4gQEAgLTI4MiwyNCArMjQ3LDYgQEAgc3RhdGljIHZvaWQKPiA+ID4gPiB2bHZfdW5kb19waXBl X3NjcmFtYmxlX3Jlc2V0KHN0cnVjdAo+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4gPiA+ICAJaWYgKCEodG1wICYgUElQRV9TQ1JBTUJMRV9SRVNFVF9NQVNLKSkKPiA+ID4g PiAgCQl0bXAgJj0gfkRDX0JBTEFOQ0VfUkVTRVRfVkxWOwo+ID4gPiA+ICAJSTkxNV9XUklURShQ T1JUX0RGVDJfRzRYLCB0bXApOwo+ID4gPiA+IC0KPiA+ID4gPiAtfQo+ID4gPiA+IC0KPiA+ID4g PiAtc3RhdGljIHZvaWQgZzR4X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZQo+ID4gPiA+ICpkZXZfcHJpdiwKPiA+ID4gPiAtCQkJCQkgZW51bSBwaXBlIHBp cGUpCj4gPiA+ID4gLXsKPiA+ID4gPiAtCXUzMiB0bXAgPSBJOTE1X1JFQUQoUE9SVF9ERlQyX0c0 WCk7Cj4gPiA+ID4gLQo+ID4gPiA+IC0JaWYgKHBpcGUgPT0gUElQRV9BKQo+ID4gPiA+IC0JCXRt cCAmPSB+UElQRV9BX1NDUkFNQkxFX1JFU0VUOwo+ID4gPiA+IC0JZWxzZQo+ID4gPiA+IC0JCXRt cCAmPSB+UElQRV9CX1NDUkFNQkxFX1JFU0VUOwo+ID4gPiA+IC0JSTkxNV9XUklURShQT1JUX0RG VDJfRzRYLCB0bXApOwo+ID4gPiA+IC0KPiA+ID4gPiAtCWlmICghKHRtcCAmIFBJUEVfU0NSQU1C TEVfUkVTRVRfTUFTSykpIHsKPiA+ID4gPiAtCQlJOTE1X1dSSVRFKFBPUlRfREZUX0k5WFgsCj4g PiA+ID4gLQkJCSAgIEk5MTVfUkVBRChQT1JUX0RGVF9JOVhYKSAmCj4gPiA+ID4gfkRDX0JBTEFO Q0VfUkVTRVQpOwo+ID4gPiA+IC0JfQo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ICBzdGF0 aWMgaW50IGlsa19waXBlX2NyY19jdGxfcmVnKGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlCj4g PiA+ID4gKnNvdXJjZSwKPiA+ID4gPiBAQCAtNDg1LDkgKzQzMiw2IEBAIHN0YXRpYyBpbnQgaTl4 eF9jcmNfc291cmNlX3ZhbGlkKHN0cnVjdAo+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4gPiA+ICAJc3dpdGNoIChzb3VyY2UpIHsKPiA+ID4gPiAgCWNhc2UgSU5URUxfUElQ RV9DUkNfU09VUkNFX1BJUEU6Cj4gPiA+ID4gIAljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9U VjoKPiA+ID4gPiAtCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX0RQX0I6Cj4gPiA+ID4gLQlj YXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9EUF9DOgo+ID4gPiA+IC0JY2FzZSBJTlRFTF9QSVBF X0NSQ19TT1VSQ0VfRFBfRDoKPiA+ID4gPiAgCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX05P TkU6Cj4gPiA+ID4gIAkJcmV0dXJuIDA7Cj4gPiA+ID4gIAlkZWZhdWx0Ogo+ID4gPiA+IEBAIC02 MTIsOSArNTU2LDcgQEAgaW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9j cnRjCj4gPiA+ID4gKmNydGMsIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lKQo+ID4gPiA+ICAJUE9T VElOR19SRUFEKFBJUEVfQ1JDX0NUTChjcnRjLT5pbmRleCkpOwo+ID4gPiA+ICAKPiA+ID4gPiAg CWlmICghc291cmNlKSB7Cj4gPiA+ID4gLQkJaWYgKElTX0c0WChkZXZfcHJpdikpCj4gPiA+ID4g LQkJCWc0eF91bmRvX3BpcGVfc2NyYW1ibGVfcmVzZXQoZGV2X3ByaXYsIGNydGMtCj4gPiA+ID4g PiBpbmRleCk7Cj4gPiA+ID4gCj4gPiA+ID4gLQkJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZf cHJpdikgfHwKPiA+ID4gPiBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiA+ID4gPiArCQlpZiAo SVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gPiA+ ID4gIAkJCXZsdl91bmRvX3BpcGVfc2NyYW1ibGVfcmVzZXQoZGV2X3ByaXYsIGNydGMtCj4gPiA+ ID4gPiBpbmRleCk7Cj4gPiA+ID4gCj4gPiA+ID4gIAkJZWxzZSBpZiAoKElTX0hBU1dFTEwoZGV2 X3ByaXYpIHx8Cj4gPiA+ID4gIAkJCSAgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgJiYgY3J0Yy0+ aW5kZXggPT0KPiA+ID4gPiBQSVBFX0EpCj4gPiAKPiA+IAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=