From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH 1/5] drm/i915: Convert intel_hpd_irq_event() into an encoder hotplug hook Date: Tue, 30 Jan 2018 18:22:25 -0500 Message-ID: <1517354545.4938.27.camel@redhat.com> References: <20180117192149.17760-1-ville.syrjala@linux.intel.com> Reply-To: lyude@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id DCBF16E05A for ; Tue, 30 Jan 2018 23:22:27 +0000 (UTC) Received: by mail-qk0-f196.google.com with SMTP id l64so12447488qke.13 for ; Tue, 30 Jan 2018 15:22:27 -0800 (PST) In-Reply-To: <20180117192149.17760-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QWxtb3N0IGZvcmdvdCB0byByZXNwb25kIHRvIHRoaXMgb25lIQoKUmV2aWV3ZWQtYnk6IEx5dWRl IFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CgpPbiBXZWQsIDIwMTgtMDEtMTcgYXQgMjE6MjEgKzAy MDAsIFZpbGxlIFN5cmphbGEgd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBBbGxvdyBlbmNvZGVycyB0byBjdXN0b21pemUg dGhlaXIgaG90cGx1ZyBwcm9jZXNzaW5nIGJ5IG1vdmluZyB0aGUKPiBpbnRlbF9ocGRfaXJxX2V2 ZW50KCkgY29kZSBpbnRvIGFuIGVuY29kZXIgaG90cGx1ZyB2ZnVuYy4gQ3VycmVudGx5Cj4gb25s eSBTRFZPIG5lZWRzIHRoaXMgdG8gcmUtZW5hYmxlIGhvdHBsdWcgc2lnbmFsbGluZyBpbiB0aGUg U0RWTwo+IGNoaXAuIFdlJ2xsIHVzZSB0aGlzIHNhbWUgaG9vayBmb3IgRFAvSERNSSBsaW5rIG1h bmFnZW1lbnQgbGF0ZXIuCj4gCj4gUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y3J0LmMgICAgIHwgIDQgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAg ICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICAxICsK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDYgKysrKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8ICAxICsKPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICB8IDEyICsrKysrKysrKystLQo+ ICA3IGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiBpbmRleCA5ZjMxYWVhNTFkZmYuLjliYzQ3Y2Zm NTQwOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gQEAgLTk2Niw4ICs5NjYsMTAg QEAgdm9pZCBpbnRlbF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIAljcnQtPmJhc2UucG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BPUlRfQ1JUOwo+ICAK PiAgCWlmIChJOTE1X0hBU19IT1RQTFVHKGRldl9wcml2KSAmJgo+IC0JICAgICFkbWlfY2hlY2tf c3lzdGVtKGludGVsX3NwdXJpb3VzX2NydF9kZXRlY3QpKQo+ICsJICAgICFkbWlfY2hlY2tfc3lz dGVtKGludGVsX3NwdXJpb3VzX2NydF9kZXRlY3QpKSB7Cj4gIAkJY3J0LT5iYXNlLmhwZF9waW4g PSBIUERfQ1JUOwo+ICsJCWNydC0+YmFzZS5ob3RwbHVnID0gaW50ZWxfZW5jb2Rlcl9ob3RwbHVn Owo+ICsJfQo+ICAKPiAgCWlmIChIQVNfRERJKGRldl9wcml2KSkgewo+ICAJCWNydC0+YmFzZS5w b3J0ID0gUE9SVF9FOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA2MjYwYTg4 MmZiZTQuLjFhZWFlM2U5NzAxMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAg LTI4NjYsNiArMjg2Niw3IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+IGVudW0gcG9ydCBwb3J0KQo+ICAJZHJtX2VuY29kZXJfaW5pdCgm ZGV2X3ByaXYtPmRybSwgZW5jb2RlciwgJmludGVsX2RkaV9mdW5jcywKPiAgCQkJIERSTV9NT0RF X0VOQ09ERVJfVE1EUywgIkRESSAlYyIsIHBvcnRfbmFtZShwb3J0KSk7Cj4gIAo+ICsJaW50ZWxf ZW5jb2Rlci0+aG90cGx1ZyA9IGludGVsX2VuY29kZXJfaG90cGx1ZzsKPiAgCWludGVsX2VuY29k ZXItPmNvbXB1dGVfb3V0cHV0X3R5cGUgPSBpbnRlbF9kZGlfY29tcHV0ZV9vdXRwdXRfdHlwZTsK PiAgCWludGVsX2VuY29kZXItPmNvbXB1dGVfY29uZmlnID0gaW50ZWxfZGRpX2NvbXB1dGVfY29u ZmlnOwo+ICAJaW50ZWxfZW5jb2Rlci0+ZW5hYmxlID0gaW50ZWxfZW5hYmxlX2RkaTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCA2ODIyOWY1M2Q1YjguLjZiYmYxNDQxMGMyYSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC02NDAwLDYgKzY0MDAsNyBAQCBib29sIGlu dGVsX2RwX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAg ICJEUCAlYyIsIHBvcnRfbmFtZShwb3J0KSkpCj4gIAkJZ290byBlcnJfZW5jb2Rlcl9pbml0Owo+ ICAKPiArCWludGVsX2VuY29kZXItPmhvdHBsdWcgPSBpbnRlbF9lbmNvZGVyX2hvdHBsdWc7Cj4g IAlpbnRlbF9lbmNvZGVyLT5jb21wdXRlX2NvbmZpZyA9IGludGVsX2RwX2NvbXB1dGVfY29uZmln Owo+ICAJaW50ZWxfZW5jb2Rlci0+Z2V0X2h3X3N0YXRlID0gaW50ZWxfZHBfZ2V0X2h3X3N0YXRl Owo+ICAJaW50ZWxfZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IGludGVsX2RwX2dldF9jb25maWc7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDVjOGUyNjBjYTJiYy4uNWVhMWRjM2Y2 M2JmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMjE0LDcgKzIxNCw4IEBA IHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKPiAgCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUgdHlwZTsK PiAgCWVudW0gcG9ydCBwb3J0Owo+ICAJdW5zaWduZWQgaW50IGNsb25lYWJsZTsKPiAtCXZvaWQg KCpob3RfcGx1Zykoc3RydWN0IGludGVsX2VuY29kZXIgKik7Cj4gKwlib29sICgqaG90cGx1Zyko c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3Rvcik7Cj4gIAllbnVtIGludGVsX291dHB1dF90eXBlICgqY29tcHV0ZV9vdXRw dXRfdHlwZSkoc3RydWN0IGludGVsX2VuY29kZXIgKiwKPiAgCQkJCQkJICAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiAqLAo+ICAJCQkJCQkgICAgICBzdHJ1Y3QKPiBkcm1fY29ubmVjdG9y X3N0YXRlICopOwo+IEBAIC0xNjkwLDcgKzE2OTEsOCBAQCBpbnQgaW50ZWxfZHNpX2Rjc19pbml0 X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QKPiBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rv cik7Cj4gIHZvaWQgaW50ZWxfZHZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKPiAgLyogaW50ZWxfaG90cGx1Zy5jICovCj4gIHZvaWQgaW50ZWxfaHBkX3BvbGxfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IC0KPiArYm9vbCBpbnRlbF9l bmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCSAgIHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICAvKiBsZWdhY3kgZmJkZXYg ZW11bGF0aW9uIGluIGludGVsX2ZiZGV2LmMgKi8KPiAgI2lmZGVmIENPTkZJR19EUk1fRkJERVZf RU1VTEFUSU9OCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggNjkxZjE1YjU5 MTI0Li40YTkzY2ZkN2EyOGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAg LTIzNDgsNiArMjM0OCw3IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICZpbnRlbF9oZG1pX2VuY19mdW5jcywgRFJNX01PREVf RU5DT0RFUl9UTURTLAo+ICAJCQkgIkhETUkgJWMiLCBwb3J0X25hbWUocG9ydCkpOwo+ICAKPiAr CWludGVsX2VuY29kZXItPmhvdHBsdWcgPSBpbnRlbF9lbmNvZGVyX2hvdHBsdWc7Cj4gIAlpbnRl bF9lbmNvZGVyLT5jb21wdXRlX2NvbmZpZyA9IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWc7Cj4g IAlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikpIHsKPiAgCQlpbnRlbF9lbmNvZGVyLT5kaXNh YmxlID0gcGNoX2Rpc2FibGVfaGRtaTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaG90cGx1Zy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVn LmMKPiBpbmRleCA4NzVkNWQyMThkNWMuLjAxOTFjNzgzMWEwNiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ob3RwbHVnLmMKPiBAQCAtMjYzLDI0ICsyNjMsMjUgQEAgc3RhdGljIHZvaWQg aW50ZWxfaHBkX2lycV9zdG9ybV9yZWVuYWJsZV93b3JrKHN0cnVjdAo+IHdvcmtfc3RydWN0ICp3 b3JrKQo+ICAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgYm9vbCBpbnRlbF9ocGRfaXJxX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJ CQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICtib29sIGludGVsX2VuY29kZXJf aG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkJICAgc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPiAgCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgb2xk X3N0YXR1czsKPiAgCj4gIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmRldi0+bW9kZV9jb25m aWcubXV0ZXgpKTsKPiAtCW9sZF9zdGF0dXMgPSBjb25uZWN0b3ItPnN0YXR1czsKPiArCW9sZF9z dGF0dXMgPSBjb25uZWN0b3ItPmJhc2Uuc3RhdHVzOwo+ICAKPiAtCWNvbm5lY3Rvci0+c3RhdHVz ID0gZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3QoY29ubmVjdG9yLCBOVUxMLCBmYWxzZSk7Cj4gKwlj b25uZWN0b3ItPmJhc2Uuc3RhdHVzID0gZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3QoJmNvbm5lY3Rv ci0+YmFzZSwKPiBOVUxMLCBmYWxzZSk7Cj4gIAo+IC0JaWYgKG9sZF9zdGF0dXMgPT0gY29ubmVj dG9yLT5zdGF0dXMpCj4gKwlpZiAob2xkX3N0YXR1cyA9PSBjb25uZWN0b3ItPmJhc2Uuc3RhdHVz KQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVk OiVzXSBzdGF0dXMgdXBkYXRlZCBmcm9tICVzIHRvICVzXG4iLAo+IC0JCSAgICAgIGNvbm5lY3Rv ci0+YmFzZS5pZCwKPiAtCQkgICAgICBjb25uZWN0b3ItPm5hbWUsCj4gKwkJICAgICAgY29ubmVj dG9yLT5iYXNlLmJhc2UuaWQsCj4gKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsCj4gIAkJ ICAgICAgZHJtX2dldF9jb25uZWN0b3Jfc3RhdHVzX25hbWUob2xkX3N0YXR1cyksCj4gLQkJICAg ICAgZHJtX2dldF9jb25uZWN0b3Jfc3RhdHVzX25hbWUoY29ubmVjdG9yLT5zdGF0dXMpKTsKPiAr CQkgICAgICBkcm1fZ2V0X2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShjb25uZWN0b3ItPmJhc2Uuc3Rh dHVzKSk7Cj4gIAo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiBAQCAtMzcwLDEwICszNzEsOSBAQCBz dGF0aWMgdm9pZCBpOTE1X2hvdHBsdWdfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdAo+ICp3 b3JrKQo+ICAJCWlmIChocGRfZXZlbnRfYml0cyAmICgxIDw8IGludGVsX2VuY29kZXItPmhwZF9w aW4pKSB7Cj4gIAkJCURSTV9ERUJVR19LTVMoIkNvbm5lY3RvciAlcyAocGluICVpKSByZWNlaXZl ZCBob3RwbHVnCj4gZXZlbnQuXG4iLAo+ICAJCQkJICAgICAgY29ubmVjdG9yLT5uYW1lLCBpbnRl bF9lbmNvZGVyLQo+ID5ocGRfcGluKTsKPiAtCQkJaWYgKGludGVsX2VuY29kZXItPmhvdF9wbHVn KQo+IC0JCQkJaW50ZWxfZW5jb2Rlci0+aG90X3BsdWcoaW50ZWxfZW5jb2Rlcik7Cj4gLQkJCWlm IChpbnRlbF9ocGRfaXJxX2V2ZW50KGRldiwgY29ubmVjdG9yKSkKPiAtCQkJCWNoYW5nZWQgPSB0 cnVlOwo+ICsKPiArCQkJY2hhbmdlZCB8PSBpbnRlbF9lbmNvZGVyLT5ob3RwbHVnKGludGVsX2Vu Y29kZXIsCj4gKwkJCQkJCQkgIGludGVsX2Nvbm5lY3Rvcik7Cj4gIAkJfQo+ICAJfQo+ICAJZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nkdm8uYwo+IGluZGV4IDJiODc2NDg5N2Q2OC4uNWIxYWQ0MmVjNDQ2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IEBAIC0xNjkyLDcgKzE2OTIsMTUgQEAgc3RhdGljIHZv aWQgaW50ZWxfc2R2b19lbmFibGVfaG90cGx1ZyhzdHJ1Y3QKPiBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQo+ICAJc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0b19zZHZvKGVuY29kZXIp Owo+ICAKPiAgCWludGVsX3Nkdm9fd3JpdGVfY21kKGludGVsX3Nkdm8sIFNEVk9fQ01EX1NFVF9B Q1RJVkVfSE9UX1BMVUcsCj4gLQkJCSZpbnRlbF9zZHZvLT5ob3RwbHVnX2FjdGl2ZSwgMik7Cj4g KwkJCSAgICAgJmludGVsX3Nkdm8tPmhvdHBsdWdfYWN0aXZlLCAyKTsKPiArfQo+ICsKPiArc3Rh dGljIGJvb2wgaW50ZWxfc2R2b19ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ICsJCQkgICAgICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4g KwlpbnRlbF9zZHZvX2VuYWJsZV9ob3RwbHVnKGVuY29kZXIpOwo+ICsKPiArCXJldHVybiBpbnRl bF9lbmNvZGVyX2hvdHBsdWcoZW5jb2RlciwgY29ubmVjdG9yKTsKPiAgfQo+ICAKPiAgc3RhdGlj IGJvb2wKPiBAQCAtMjQ5Niw3ICsyNTA0LDcgQEAgaW50ZWxfc2R2b19kdmlfaW5pdChzdHJ1Y3Qg aW50ZWxfc2R2byAqaW50ZWxfc2R2bywgaW50Cj4gZGV2aWNlKQo+ICAJCS8qIFNvbWUgU0RWTyBk ZXZpY2VzIGhhdmUgb25lLXNob3QgaG90cGx1ZyBpbnRlcnJ1cHRzLgo+ICAJCSAqIEVuc3VyZSB0 aGF0IHRoZXkgZ2V0IHJlLWVuYWJsZWQgd2hlbiBhbiBpbnRlcnJ1cHQgaGFwcGVucy4KPiAgCQkg Ki8KPiAtCQlpbnRlbF9lbmNvZGVyLT5ob3RfcGx1ZyA9IGludGVsX3Nkdm9fZW5hYmxlX2hvdHBs dWc7Cj4gKwkJaW50ZWxfZW5jb2Rlci0+aG90cGx1ZyA9IGludGVsX3Nkdm9faG90cGx1ZzsKPiAg CQlpbnRlbF9zZHZvX2VuYWJsZV9ob3RwbHVnKGludGVsX2VuY29kZXIpOwo+ICAJfSBlbHNlIHsK PiAgCQlpbnRlbF9jb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05ORUNUT1JfUE9MTF9DT05ORUNU IHwKPiBEUk1fQ09OTkVDVE9SX1BPTExfRElTQ09OTkVDVDsKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==