From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v3] drm/i915/tgl: Implement TGL DisplayPort training sequence Date: Thu, 22 Aug 2019 13:00:48 +0200 Message-ID: <3c1a37e4-c513-4372-3887-8d020063d965@linux.intel.com> References: <20190817093902.2171-26-lucas.demarchi@intel.com> <20190821213233.1067-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 35E286EB54 for ; Thu, 22 Aug 2019 14:20:57 +0000 (UTC) In-Reply-To: <20190821213233.1067-1-jose.souza@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?Q?Jos=c3=a9_Roberto_de_Souza?= , intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T3AgMjEtMDgtMjAxOSBvbSAyMzozMiBzY2hyZWVmIEpvc8OpIFJvYmVydG8gZGUgU291emE6Cj4g T24gVEdMIHNvbWUgcmVnaXN0ZXJzIG1vdmVkIGZyb20gRERJIHRvIHRyYW5zY29kZXIgYW5kIHRo ZQo+IERpc3BsYXlQb3J0IHRyYWluaW5nIHNlcXVlbmNlIGhhcyBhIHNlcGFyYXRlIEJTcGVjIHBh Z2UuCj4KPiBJIHN0YXJ0ZWQgYWRkaW5nICdpZnMnIHRvIHRoZSBvcmlnaW5hbCBpbnRlbF9kZGlf cHJlX2VuYWJsZV9kcCgpIGJ1dAo+IGl0IHdhcyBiZWNvbWluZyByZWFsbHkgaGFyZCB0byBmb2xs b3csIHNvIGEgbmV3IGFuZCBjbGVhbmVyIGZ1bmN0aW9uCj4gZm9yIFRHTCB3YXMgYWRkZWQgd2l0 aCBjb21tZW50cyBvZiBhbGwgc3RlcHMuIEl0J3Mgc2ltaWxhciB0byBJQ0wsCj4gYnV0IGRpZmZl cmVudCBlbm91Z2ggdG8gZGVzZXJ2ZSBhIG5ldyBmdW5jdGlvbi4KPgo+IFRoZSByZXN0IG9mIERp c3BsYXlQb3J0IGVuYWJsZSBhbmQgdGhlIHdob2xlIGRpc2FibGUgc2VxdWVuY2VzCj4gcmVtYWlu ZWQgdGhlIHNhbWUuCj4KPiB2MjogRkVDIGFuZCBEU0Mgc2hvdWxkIGJlIGVuYWJsZWQgb24gc2lu ayBzaWRlIGJlZm9yZSBzdGFydCBsaW5rCj4gdHJhaW5pbmcoTWFhcnRlbiByZXBvcnRlZCBhbmQg TWFuYXNpIGNvbmZpcm1lZCB0aGUgRFNDIHBhcnQpCj4KPiB2MzogQWRkIGNhbGwgdG8gZW5hYmxl IEZFQyBvbiBzdGVwIDcubChNYW5hc2kpCj4KPiBCU3BlYzogNDkxOTAKPiBDYzogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogTWFuYXNp IE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiBDYzogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBS b2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBM dWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyB8IDEzOSArKysrKysrKysrKysrKysr KysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgIHwgICA4 ICstCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiBpbmRleCA4ZWIy YjNlYzAxZWQuLjdmYjViNTNkNTBjMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kZGkuYwo+IEBAIC0xNzYxLDcgKzE3NjEsMTQgQEAgdm9pZCBpbnRlbF9kZGlfc2V0 X3ZjX3BheWxvYWRfYWxsb2MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCj4gIAlJOTE1X1dSSVRFKFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIHRl bXApOwo+ICB9Cj4gIAo+IC12b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICsvKgo+ICsgKiBSZXR1 cm5zIHRoZSBUUkFOU19ERElfRlVOQ19DVEwgdmFsdWUgYmFzZWQgb24gQ1JUQyBzdGF0ZS4KPiAr ICoKPiArICogT25seSBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IGludGVsX2RkaV9lbmFibGVfdHJh bnNjb2Rlcl9mdW5jKCkgYW5kCj4gKyAqIGludGVsX2RkaV9jb25maWdfdHJhbnNjb2Rlcl9mdW5j KCkuCj4gKyAqLwo+ICtzdGF0aWMgdTMyCj4gK2ludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVn X3ZhbF9nZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsK PiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOwo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9kZGlf Z2V0X2NydGNfZW5jb2RlcihjcnRjKTsKPiBAQCAtMTg0NSw2ICsxODUyLDMzIEBAIHZvaWQgaW50 ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gIAkJdGVtcCB8PSBERElfUE9SVF9XSURUSChjcnRjX3N0YXRlLT5s YW5lX2NvdW50KTsKPiAgCX0KPiAgCj4gKwlyZXR1cm4gdGVtcDsKPiArfQo+ICsKPiArdm9pZCBp bnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWVudW0gdHJhbnNj b2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+ICsJdTMy IHRlbXA7Cj4gKwo+ICsJdGVtcCA9IGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVnX3ZhbF9n ZXQoY3J0Y19zdGF0ZSk7Cj4gKwlJOTE1X1dSSVRFKFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJh bnNjb2RlciksIHRlbXApOwo+ICt9Cj4gKwo+ICsvKgo+ICsgKiBTYW1lIGFzIGludGVsX2RkaV9l bmFibGVfdHJhbnNjb2Rlcl9mdW5jKCkgYnV0IGl0IGRvIG5vdCBzZXQgdGhlIGVuYWJsZSBiaXQK PiArICovCj4gK3N0YXRpYyB2b2lkCj4gK2ludGVsX2RkaV9jb25maWdfdHJhbnNjb2Rlcl9mdW5j KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwo+ICsJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0 ZS0+Y3B1X3RyYW5zY29kZXI7Cj4gKwl1MzIgdGVtcDsKPiArCj4gKwl0ZW1wID0gaW50ZWxfZGRp X3RyYW5zY29kZXJfZnVuY19yZWdfdmFsX2dldChjcnRjX3N0YXRlKTsKPiArCXRlbXAgJj0gflRS QU5TX0RESV9GVU5DX0VOQUJMRTsKPiAgCUk5MTVfV1JJVEUoVFJBTlNfRERJX0ZVTkNfQ1RMKGNw dV90cmFuc2NvZGVyKSwgdGVtcCk7Cj4gIH0KPiAgCj4gQEAgLTMxNjAsOSArMzE5NCw5NCBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kZGlfZGlzYWJsZV9mZWNfc3RhdGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAlQT1NUSU5HX1JFQUQoRFBfVFBfQ1RMKHBvcnQpKTsKPiAgfQo+ICAK PiAtc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gLQkJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gLQkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUpCj4gK3N0YXRpYyB2b2lkIHRnbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCj4gKwkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpjb25uX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3Rv X2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsJZW51bSBwaHkgcGh5ID0g aW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwo+ICsJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJh c2UpOwo+ICsJYm9vbCBpc19tc3QgPSBpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElO VEVMX09VVFBVVF9EUF9NU1QpOwo+ICsJaW50IGxldmVsID0gaW50ZWxfZGRpX2RwX2xldmVsKGlu dGVsX2RwKTsKPiArCj4gKwlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGNydGNf c3RhdGUtPnBvcnRfY2xvY2ssCj4gKwkJCQkgY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCwgaXNfbXN0 KTsKPiArCj4gKwkvKiAxLmEgZ290IG9uIGludGVsX2F0b21pY19jb21taXRfdGFpbCgpICovCj4g Kwo+ICsJLyogMi4gKi8KPiArCWludGVsX2VkcF9wYW5lbF9vbihpbnRlbF9kcCk7Cj4gKwo+ICsJ LyoKPiArCSAqIDEuYiwgMy4gYW5kIDQuIGlzIGRvbmUgYmVmb3JlIHRnbF9kZGlfcHJlX2VuYWJs ZV9kcCgpIGJ5Ogo+ICsJICogaGFzd2VsbF9jcnRjX2VuYWJsZSgpLT5pbnRlbF9lbmNvZGVyc19w cmVfcGxsX2VuYWJsZSgpIGFuZAo+ICsJICogaGFzd2VsbF9jcnRjX2VuYWJsZSgpLT5pbnRlbF9l bmFibGVfc2hhcmVkX2RwbGwoKQo+ICsJICovCj4gKwo+ICsJLyogNS4gKi8KPiArCWlmICghaW50 ZWxfcGh5X2lzX3RjKGRldl9wcml2LCBwaHkpIHx8Cj4gKwkgICAgZGlnX3BvcnQtPnRjX21vZGUg IT0gVENfUE9SVF9UQlRfQUxUKQo+ICsJCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2 LAo+ICsJCQkJCWRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiArCj4gKwkvKiA2LiAq Lwo+ICsJaWNsX3Byb2dyYW1fbWdfZHBfbW9kZShkaWdfcG9ydCk7Cj4gKwo+ICsJLyoKPiArCSAq IDcuYSAtIFN0ZXBzIGluIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgZXhlY3V0ZWQgb3Zl ciBNU1QKPiArCSAqIG1hc3Rlciwgd2hhdCB3aWxsIGJlIHRha2VuIGluIGNhcmUgYnkgTVNUIGhv b2sKPiArCSAqIGludGVsX21zdF9wcmVfZW5hYmxlX2RwKCkKPiArCSAqLwo+ICsJaW50ZWxfZGRp X2VuYWJsZV9waXBlX2Nsb2NrKGNydGNfc3RhdGUpOwo+ICsKPiArCS8qIDcuYiAqLwo+ICsJaW50 ZWxfZGRpX2NvbmZpZ190cmFuc2NvZGVyX2Z1bmMoY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJLyogNy5k ICovCj4gKwlpY2xfZGlzYWJsZV9waHlfY2xvY2tfZ2F0aW5nKGRpZ19wb3J0KTsKPiArCj4gKwkv KiA3LmUgKi8KPiArCWljbF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVuY29kZXIsIGNydGNfc3RhdGUt PnBvcnRfY2xvY2ssIGxldmVsLAo+ICsJCQkJZW5jb2Rlci0+dHlwZSk7Cj4gKwo+ICsJLyogNy5m ICovCj4gKwlpZiAoaW50ZWxfcGh5X2lzX2NvbWJvKGRldl9wcml2LCBwaHkpKSB7Cj4gKwkJYm9v bCBsYW5lX3JldmVyc2FsID0KPiArCQkJZGlnX3BvcnQtPnNhdmVkX3BvcnRfYml0cyAmIERESV9C VUZfUE9SVF9SRVZFUlNBTDsKPiArCj4gKwkJaW50ZWxfY29tYm9fcGh5X3Bvd2VyX3VwX2xhbmVz KGRldl9wcml2LCBwaHksIGZhbHNlLAo+ICsJCQkJCSAgICAgICBjcnRjX3N0YXRlLT5sYW5lX2Nv dW50LAo+ICsJCQkJCSAgICAgICBsYW5lX3JldmVyc2FsKTsKPiArCX0KPiArCj4gKwkvKiA3Lmcg Ki8KPiArCWludGVsX2RkaV9pbml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7Cj4gKwo+ICsJaWYgKCFp c19tc3QpCj4gKwkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09O KTsKPiArCj4gKwlpbnRlbF9kcF9zaW5rX3NldF9kZWNvbXByZXNzaW9uX3N0YXRlKGludGVsX2Rw LCBjcnRjX3N0YXRlLCB0cnVlKTsKPiArCS8qCj4gKwkgKiBEREkgRkVDOiAiYW50aWNpcGF0ZXMg ZW5hYmxpbmcgRkVDIGVuY29kaW5nIHNldHMgdGhlIEZFQ19SRUFEWSBiaXQKPiArCSAqIGluIHRo ZSBGRUNfQ09ORklHVVJBVElPTiByZWdpc3RlciB0byAxIGJlZm9yZSBpbml0aWF0aW5nIGxpbmsK PiArCSAqIHRyYWluaW5nCj4gKwkgKi8KPiArCWludGVsX2RwX3Npbmtfc2V0X2ZlY19yZWFkeShp bnRlbF9kcCwgY3J0Y19zdGF0ZSk7Cj4gKwkvKiA3LmMsIDcuaCwgNy5pLCA3LmogKi8KPiArCWlu dGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICsKPiArCS8qIDcuayAqLwo+ICsJ aW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPiArCj4gKwkvKiA3LmwgKi8KPiAr CWludGVsX2RkaV9lbmFibGVfZmVjKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICsJaW50ZWxfZHNj X2VuYWJsZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKCk11Y2ggYmV0dGVyLiA6KQoKUmV2aWV3ZWQt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cgo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBoc3dfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAo+ICsJCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiBAQCAtMzIyOCw2ICszMzQ3 LDE4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJaW50ZWxfZHNjX2VuYWJsZShlbmNvZGVyLCBjcnRjX3N0YXRl KTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsKPiArCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDEyKQo+ICsJCXRnbF9kZGlfcHJlX2VuYWJsZV9kcChlbmNvZGVyLCBj cnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKPiArCWVsc2UKPiArCQloc3dfZGRpX3ByZV9lbmFibGVf ZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gK30KPiArCj4gIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiAgCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rw LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKPiBpbmRleCA5MjFh ZDBhMmY3YmEuLjVlNjhkM2RmMDQ0YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmMKPiBAQCAtMzk1MCwxMyArMzk1MCwxMyBAQCB2b2lkIGludGVsX2RwX3NldF9p ZGxlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCUk5MTVfV1JJVEUo RFBfVFBfQ1RMKHBvcnQpLCB2YWwpOwo+ICAKPiAgCS8qCj4gLQkgKiBPbiBQT1JUX0Egd2UgY2Fu IGhhdmUgb25seSBlRFAgaW4gU1NUIG1vZGUuIFRoZXJlIHRoZSBvbmx5IHJlYXNvbgo+IC0JICog d2UgbmVlZCB0byBzZXQgaWRsZSB0cmFuc21pc3Npb24gbW9kZSBpcyB0byB3b3JrIGFyb3VuZCBh IEhXIGlzc3VlCj4gLQkgKiB3aGVyZSB3ZSBlbmFibGUgdGhlIHBpcGUgd2hpbGUgbm90IGluIGlk bGUgbGluay10cmFpbmluZyBtb2RlLgo+ICsJICogVW50aWwgVEdMIG9uIFBPUlRfQSB3ZSBjYW4g aGF2ZSBvbmx5IGVEUCBpbiBTU1QgbW9kZS4gVGhlcmUgdGhlIG9ubHkKPiArCSAqIHJlYXNvbiB3 ZSBuZWVkIHRvIHNldCBpZGxlIHRyYW5zbWlzc2lvbiBtb2RlIGlzIHRvIHdvcmsgYXJvdW5kIGEg SFcKPiArCSAqIGlzc3VlIHdoZXJlIHdlIGVuYWJsZSB0aGUgcGlwZSB3aGlsZSBub3QgaW4gaWRs ZSBsaW5rLXRyYWluaW5nIG1vZGUuCj4gIAkgKiBJbiB0aGlzIGNhc2UgdGhlcmUgaXMgcmVxdWly ZW1lbnQgdG8gd2FpdCBmb3IgYSBtaW5pbXVtIG51bWJlciBvZgo+ICAJICogaWRsZSBwYXR0ZXJu cyB0byBiZSBzZW50Lgo+ICAJICovCj4gLQlpZiAocG9ydCA9PSBQT1JUX0EpCj4gKwlpZiAocG9y dCA9PSBQT1JUX0EgJiYgSU5URUxfR0VOKGRldl9wcml2KSA8IDEyKQo+ICAJCXJldHVybjsKPiAg Cj4gIAlpZiAoaW50ZWxfZGVfd2FpdF9mb3Jfc2V0KGRldl9wcml2LCBEUF9UUF9TVEFUVVMocG9y dCksCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4