From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 10/11] drm/i915: Add port A HPD support for BDW Date: Thu, 27 Aug 2015 22:51:26 +0300 Message-ID: <20150827195126.GO5176@intel.com> References: <1439394260-15137-1-git-send-email-ville.syrjala@linux.intel.com> <1439394260-15137-11-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 3BDC76EE30 for ; Thu, 27 Aug 2015 12:51:45 -0700 (PDT) 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: Paulo Zanoni Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMjcsIDIwMTUgYXQgMDQ6Mjk6MjFQTSAtMDMwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IDIwMTUtMDgtMTIgMTI6NDQgR01ULTAzOjAwICA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Ogo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiA+Cj4gPiBXaXJlIHVwIHRoZSBwb3J0IEEgSFBEIGZvciBCRFcuIENvbXBh cmVkIHRvIGVhcmxpZXIgcGxhdGZvcm1zIHRoZQo+ID4gaW50ZXJydXB0IHNldHVwIGlzIGEgYml0 IGRpZmZlcmVudCwgYnV0IGJhc2ljYWxseSBldmVyeXRoaW5nIGVsc2UKPiA+IGxvb2tzIHRoZSBz YW1lLgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2lycS5jIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+ ICAxIGZpbGUgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiA+Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiA+IGluZGV4IGRlNjAxNzQuLmFlZmE2YzQgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiBAQCAtNTMsNiArNTMsMTAgQEAgc3RhdGlj IGNvbnN0IHUzMiBocGRfaXZiW0hQRF9OVU1fUElOU10gPSB7Cj4gPiAgICAgICAgIFtIUERfUE9S VF9BXSA9IERFX0RQX0FfSE9UUExVR19JVkIsCj4gPiAgfTsKPiA+Cj4gPiArc3RhdGljIGNvbnN0 IHUzMiBocGRfYmR3W0hQRF9OVU1fUElOU10gPSB7Cj4gPiArICAgICAgIFtIUERfUE9SVF9BXSA9 IEdFTjhfUE9SVF9EUF9BX0hPVFBMVUcsCj4gPiArfTsKPiA+ICsKPiA+ICBzdGF0aWMgY29uc3Qg dTMyIGhwZF9pYnhbSFBEX05VTV9QSU5TXSA9IHsKPiA+ICAgICAgICAgW0hQRF9DUlRdID0gU0RF X0NSVF9IT1RQTFVHLAo+ID4gICAgICAgICBbSFBEX1NEVk9fQl0gPSBTREVfU0RWT0JfSE9UUExV RywKPiA+IEBAIC0zNjksNiArMzczLDM2IEBAIHZvaWQgZ2VuNl9kaXNhYmxlX3Jwc19pbnRlcnJ1 cHRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgfQo+ID4KPiA+ICAvKioKPiA+ICsgICog YmR3X3VwZGF0ZV9wb3J0X2lycSAtIHVwZGF0ZSBERSBwb3J0IGludGVycnVwdAo+ID4gKyAgKiBA ZGV2X3ByaXY6IGRyaXZlciBwcml2YXRlCj4gPiArICAqIEBpbnRlcnJ1cHRfbWFzazogbWFzayBv ZiBpbnRlcnJ1cHQgYml0cyB0byB1cGRhdGUKPiA+ICsgICogQGVuYWJsZWRfaXJxX21hc2s6IG1h c2sgb2YgaW50ZXJydXB0IGJpdHMgdG8gZW5hYmxlCj4gPiArICAqLwo+ID4gK3N0YXRpYyB2b2lk IGJkd191cGRhdGVfcG9ydF9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnRlcnJ1cHRfbWFz aywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZW5hYmxlZF9p cnFfbWFzaykKPiA+ICt7Cj4gPiArICAgICAgIHVpbnQzMl90IG5ld192YWw7Cj4gPiArICAgICAg IHVpbnQzMl90IG9sZF92YWw7Cj4gPiArCj4gPiArICAgICAgIGFzc2VydF9zcGluX2xvY2tlZCgm ZGV2X3ByaXYtPmlycV9sb2NrKTsKPiAKPiBKdXN0IGxpa2UgdGhlIG90aGVyIHNpbWlsYXIgZnVu Y3Rpb25zOgo+IFdBUk5fT04oZW5hYmxlZF9pcnFfbWFzayAmIH5pbnRlcnJ1cHRfbWFzayk7Cgph Y2sKCj4gCj4gCj4gQmVzaWRlcyB0aGlzLCB0aGVyZSdzIHRoZSByZWN1cnJpbmcgImVuYWJsZSBQ T1JUIEEgaHBkIG9uIHRoZSBQQ0giCj4gcHJvYmxlbS4gRG9uJ3QgeW91IGhhdmUgdG8gcGF0Y2gg aWJ4X2hwZF9pcnFfc2V0dXAoKSB0byBvbmx5IGVuYWJsZQo+IFBPUlRBX0hPVFBMVUdfRU5BQkxF IGJhc2VkIG9uIHdoYXQgeW91IHJlYWQgZnJvbSBGVVNFX1NUUkFQMz8gQXQgbGVhc3QKPiB0aGF0 J3Mgd2hhdCdzIHdyaXR0ZW4gb24gdGhlIGRlc2NyaXB0aW9uIG9mIDB4NDQwMzAgb24gQkRXLgoK V2VsbCwgYXMgbWVudGlvbmVkIGluIHRoZSBvdGhlciBtYWlsIHRoZSBzdHJhcCBkZXNjcmlwdGlv biBzYXlzIGl0J3Mgbm90CnVzZWQgYW5kIHNob3VsZCBiZSBpZ25vcmVkLCBhbmQgQXJ0IHNhaWQg aXQgbWlnaHQgbm90IGJlIGNvcnJlY3QuIFNvIG5vdApzdXJlIGhvdyB3ZSdyZSBzdXBwb3NlZCBm aWd1cmUgaXQgb3V0IGlmIHdlIGNhbid0IHVzZSB0aGUgTFAgdnMuIEgKYXBwcm9hY2guIEknbGwg Z3Vlc3MgSSBjb3VsZCB0b3NzIGluIHNvbWUgRklYTUVzIG9yIHNvbWV0aGluZyBpZiB3ZQpjYW4n dCBmaWd1cmUgaXQgYWxsIG91dCBzb29uLgoKPiAKPiBFdmVyeXRoaW5nIGVsc2UgbG9va3MgY29y cmVjdC4KPiAKPiA+ICsKPiA+ICsgICAgICAgaWYgKFdBUk5fT04oIWludGVsX2lycXNfZW5hYmxl ZChkZXZfcHJpdikpKQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybjsKPiA+ICsKPiA+ICsgICAg ICAgb2xkX3ZhbCA9IEk5MTVfUkVBRChHRU44X0RFX1BPUlRfSU1SKTsKPiA+ICsKPiA+ICsgICAg ICAgbmV3X3ZhbCA9IG9sZF92YWw7Cj4gPiArICAgICAgIG5ld192YWwgJj0gfmludGVycnVwdF9t YXNrOwo+ID4gKyAgICAgICBuZXdfdmFsIHw9ICh+ZW5hYmxlZF9pcnFfbWFzayAmIGludGVycnVw dF9tYXNrKTsKPiA+ICsKPiA+ICsgICAgICAgaWYgKG5ld192YWwgIT0gb2xkX3ZhbCkgewo+ID4g KyAgICAgICAgICAgICAgIEk5MTVfV1JJVEUoR0VOOF9ERV9QT1JUX0lNUiwgbmV3X3ZhbCk7Cj4g PiArICAgICAgICAgICAgICAgUE9TVElOR19SRUFEKEdFTjhfREVfUE9SVF9JTVIpOwo+ID4gKyAg ICAgICB9Cj4gPiArfQo+ID4gKwo+ID4gKy8qKgo+ID4gICAqIGlieF9kaXNwbGF5X2ludGVycnVw dF91cGRhdGUgLSB1cGRhdGUgU0RFSU1SCj4gPiAgICogQGRldl9wcml2OiBkcml2ZXIgcHJpdmF0 ZQo+ID4gICAqIEBpbnRlcnJ1cHRfbWFzazogbWFzayBvZiBpbnRlcnJ1cHQgYml0cyB0byB1cGRh dGUKPiA+IEBAIC0yMTM5LDEwICsyMTczLDIzIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2ly cV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiA+ICAgICAgICAgICAgICAgICB0bXAgPSBJ OTE1X1JFQUQoR0VOOF9ERV9QT1JUX0lJUik7Cj4gPiAgICAgICAgICAgICAgICAgaWYgKHRtcCkg ewo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOwo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgdTMyIGhvdHBsdWdfdHJpZ2dlciA9IHRtcCAmIEdFTjhfUE9S VF9EUF9BX0hPVFBMVUc7Cj4gPgo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgSTkxNV9XUklU RShHRU44X0RFX1BPUlRfSUlSLCB0bXApOwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0 ID0gSVJRX0hBTkRMRUQ7Cj4gPgo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhvdHBs dWdfdHJpZ2dlcikgewo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgZGln X2hvdHBsdWdfcmVnLCBwaW5fbWFzaywgbG9uZ19tYXNrOwo+ID4gKwo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcgPSBJOTE1X1JFQUQoRElHSVRBTF9Q T1JUX0hPVFBMVUdfQ05UUkwpOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ OTE1X1dSSVRFKERJR0lUQUxfUE9SVF9IT1RQTFVHX0NOVFJMLCBkaWdfaG90cGx1Z19yZWcpOwo+ ID4gKwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9nZXRfaHBkX3Bp bnMoJnBpbl9tYXNrLCAmbG9uZ19tYXNrLCBob3RwbHVnX3RyaWdnZXIsCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcs IGhwZF9iZHcsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbGtfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KTsKPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50ZWxfaHBkX2lycV9oYW5kbGVyKGRldiwgcGluX21hc2ssIGxv bmdfbWFzayk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gPiArCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAodG1wICYgYXV4X21hc2spIHsKPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZHBfYXV4X2lycV9oYW5kbGVyKGRldik7Cj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKPiA+IEBAIC0zMTU2LDE1ICszMjAz LDIyIEBAIHN0YXRpYyB2b2lkIGlsa19ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gPiAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gPiAgICAgICAgIHUzMiBob3RwbHVnX2lycXMsIGhvdHBsdWcsIGVuYWJs ZWRfaXJxczsKPiA+Cj4gPiAtICAgICAgIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA3KSB7 Cj4gPiArICAgICAgIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA4KSB7Cj4gPiArICAgICAg ICAgICAgICAgaG90cGx1Z19pcnFzID0gR0VOOF9QT1JUX0RQX0FfSE9UUExVRzsKPiA+ICsgICAg ICAgICAgICAgICBlbmFibGVkX2lycXMgPSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldiwgaHBk X2Jkdyk7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgYmR3X3VwZGF0ZV9wb3J0X2lycShkZXZf cHJpdiwgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXMpOwo+ID4gKyAgICAgICB9IGVsc2UgaWYg KElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDcpIHsKPiA+ICAgICAgICAgICAgICAgICBob3RwbHVn X2lycXMgPSBERV9EUF9BX0hPVFBMVUdfSVZCOwo+ID4gICAgICAgICAgICAgICAgIGVuYWJsZWRf aXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2LCBocGRfaXZiKTsKPiA+ICsKPiA+ICsg ICAgICAgICAgICAgICBpbGtfdXBkYXRlX2Rpc3BsYXlfaXJxKGRldl9wcml2LCBob3RwbHVnX2ly cXMsIGVuYWJsZWRfaXJxcyk7Cj4gPiAgICAgICAgIH0gZWxzZSB7Cj4gPiAgICAgICAgICAgICAg ICAgaG90cGx1Z19pcnFzID0gREVfRFBfQV9IT1RQTFVHOwo+ID4gICAgICAgICAgICAgICAgIGVu YWJsZWRfaXJxcyA9IGludGVsX2hwZF9lbmFibGVkX2lycXMoZGV2LCBocGRfaWxrKTsKPiA+IC0g ICAgICAgfQo+ID4KPiA+IC0gICAgICAgaWxrX3VwZGF0ZV9kaXNwbGF5X2lycShkZXZfcHJpdiwg aG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXMpOwo+ID4gKyAgICAgICAgICAgICAgIGlsa191cGRh dGVfZGlzcGxheV9pcnEoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFzKTsKPiA+ ICsgICAgICAgfQo+ID4KPiA+ICAgICAgICAgLyoKPiA+ICAgICAgICAgICogRW5hYmxlIGRpZ2l0 YWwgaG90cGx1ZyBvbiB0aGUgQ1BVLCBhbmQgY29uZmlndXJlIHRoZSBEUCBzaG9ydCBwdWxzZQo+ ID4gQEAgLTM0NzcsNiArMzUzMSw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZGVfaXJxX3Bvc3RpbnN0 YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAgICAgICAgdWludDMy X3QgZGVfcGlwZV9lbmFibGVzOwo+ID4gICAgICAgICBpbnQgcGlwZTsKPiA+ICAgICAgICAgdTMy IGRlX3BvcnRfZW4gPSBHRU44X0FVWF9DSEFOTkVMX0E7Cj4gPiArICAgICAgIHUzMiBkZV9wb3J0 X21hc2tlZDsKCkkgdGhpbmsgSSBtYWRlIGEgbWVzcyB3aXRoIHRoaXMgbmFtZS4gSXQncyBleGFj dGx5IHRoZSBvcHBvc2l0ZSBvZiB0aGUKcGlwZSBzdHVmZi4gVGhlIHJlc3VsdGluZyBjb2RlIGFs cmVhZHkgY29uZnVzZWQgdGhlIGhlbGwgb3V0IG9mIG1lIHdoZW4KSSB3YXMgbG9va2luZyBhdCBp dCB0aGUgc2Vjb25kIHRpbWUuIFNvIEkgdGhpbmsgSSBuZWVkIHRvIHJlZG8gdGhpcyBwYXJ0CmEg Yml0LgoKQlRXIEknbSBhbHJlYWR5IGNvb2tpbmcgdXAgYSBmZXcgZXh0cmEgcGF0Y2hlcyBvbiB0 b3Agb2YgdGhlIHNlcmllcywKbWFpbmx5IHRvIGdldCB0aGUgQlhUIGNvZGUgdG8gY29uZm9ybSB0 byB0aGUgc2FtZSBzdHlsZSB0aGUgcmVzdCBvZgp0aGUgY29kZSB1c2VzLiBTaW5jZSBtb3N0IHBh dGNoZXMgaGF2ZSBuZWVkZWQgc29tZSBhZGp1c3RtZW50IEknbGwKcmVwb3N0IHRoZSBlbnRpcmUg c2VyaWVzLiBCdXQgSSdsbCB3YWl0IHVudGlsIHlvdSd2ZSBnb25lIHRocm91Z2ggdGhpcwp2MSBz byB0aGF0IEknbGwgZ2V0IGFsbCB5b3VyIGZlZWRiYWNrIGluY29ycG9yYXRlZC4KCj4gPgo+ID4g ICAgICAgICBpZiAoSVNfR0VOOShkZXZfcHJpdikpIHsKPiA+ICAgICAgICAgICAgICAgICBkZV9w aXBlX21hc2tlZCB8PSBHRU45X1BJUEVfUExBTkUxX0ZMSVBfRE9ORSB8Cj4gPiBAQCAtMzQ4Niw5 ICszNTQxLDE0IEBAIHN0YXRpYyB2b2lkIGdlbjhfZGVfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+Cj4gPiAgICAgICAgICAgICAgICAgaWYgKElT X0JST1hUT04oZGV2X3ByaXYpKQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZGVfcG9ydF9l biB8PSBCWFRfREVfUE9SVF9HTUJVUzsKPiA+IC0gICAgICAgfSBlbHNlCj4gPiArICAgICAgIH0g ZWxzZSB7Cj4gPiAgICAgICAgICAgICAgICAgZGVfcGlwZV9tYXNrZWQgfD0gR0VOOF9QSVBFX1BS SU1BUllfRkxJUF9ET05FIHwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH RU44X0RFX1BJUEVfSVJRX0ZBVUxUX0VSUk9SUzsKPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gKyAg ICAgICBkZV9wb3J0X21hc2tlZCA9IGRlX3BvcnRfZW47Cj4gPiArICAgICAgIGlmIChJU19CUk9B RFdFTEwoZGV2X3ByaXYpKQo+ID4gKyAgICAgICAgICAgICAgIGRlX3BvcnRfbWFza2VkIHw9IEdF TjhfUE9SVF9EUF9BX0hPVFBMVUc7Cj4gPgo+ID4gICAgICAgICBkZV9waXBlX2VuYWJsZXMgPSBk ZV9waXBlX21hc2tlZCB8IEdFTjhfUElQRV9WQkxBTksgfAo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdFTjhfUElQRV9GSUZPX1VOREVSUlVOOwo+ID4gQEAg LTM1MDQsNyArMzU2NCw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZGVfaXJxX3Bvc3RpbnN0YWxsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldl9wcml2LT5kZV9pcnFfbWFza1twaXBlXSwKPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlX3BpcGVfZW5hYmxlcyk7 Cj4gPgo+ID4gLSAgICAgICBHRU41X0lSUV9JTklUKEdFTjhfREVfUE9SVF8sIH5kZV9wb3J0X2Vu LCBkZV9wb3J0X2VuKTsKPiA+ICsgICAgICAgR0VONV9JUlFfSU5JVChHRU44X0RFX1BPUlRfLCB+ ZGVfcG9ydF9lbiwgZGVfcG9ydF9tYXNrZWQpOwo+ID4gIH0KPiA+Cj4gPiAgc3RhdGljIGludCBn ZW44X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gQEAgLTQyODcs NyArNDM0Nyw3IEBAIHZvaWQgaW50ZWxfaXJxX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ID4gICAgICAgICAgICAgICAgIGVsc2UgaWYgKEhBU19QQ0hfU1BUKGRldikp Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3Nl dHVwID0gc3B0X2hwZF9pcnFfc2V0dXA7Cj4gPiAgICAgICAgICAgICAgICAgZWxzZQo+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1cCA9IGli eF9ocGRfaXJxX3NldHVwOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPmRp c3BsYXkuaHBkX2lycV9zZXR1cCA9IGlsa19ocGRfaXJxX3NldHVwOwo+ID4gICAgICAgICB9IGVs c2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ID4gICAgICAgICAgICAgICAgIGRldi0+ZHJp dmVyLT5pcnFfaGFuZGxlciA9IGlyb25sYWtlX2lycV9oYW5kbGVyOwo+ID4gICAgICAgICAgICAg ICAgIGRldi0+ZHJpdmVyLT5pcnFfcHJlaW5zdGFsbCA9IGlyb25sYWtlX2lycV9yZXNldDsKPiA+ IC0tCj4gPiAyLjQuNgo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gCj4gCj4gLS0gCj4gUGF1bG8gWmFub25pCgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=