From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: Add hot_plug hook for hdmi encoder Date: Thu, 10 Dec 2015 09:53:45 +0100 Message-ID: <20151210085345.GB20822@phenom.ffwll.local> References: <1449721825-24651-1-git-send-email-sonika.jindal@intel.com> <1449722741-24763-1-git-send-email-sonika.jindal@intel.com> <20151210082940.GT20822@phenom.ffwll.local> <000C66961D35964B9714611E548C10AD0C33767F@BGSMSX104.gar.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 56FCE6E0AC for ; Thu, 10 Dec 2015 00:53:49 -0800 (PST) Received: by wmww144 with SMTP id w144so14844493wmw.0 for ; Thu, 10 Dec 2015 00:53:48 -0800 (PST) Content-Disposition: inline In-Reply-To: <000C66961D35964B9714611E548C10AD0C33767F@BGSMSX104.gar.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Jindal, Sonika" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMTAsIDIwMTUgYXQgMDg6MzU6MzBBTSArMDAwMCwgSmluZGFsLCBTb25pa2Eg d3JvdGU6Cj4gU3VyZSwgSSB3aWxsIHN0YXJ0IGEgbmV3IHRocmVhZCBmb3IgdGhpcy4KPiAKPiBS ZWdhcmRpbmcgdGhlIHJlZ3Jlc3Npb24sIHNpbmNlIGl0IGlzIGEgc2FuZHlicmlkZ2Ugc3lzdGVt LCBJIGFtIG5vdAo+IHN1cmUgaWYgSSBjYW4gZGVidWcgaXQgYW55aG93IGJlY2F1c2Ugb2YgdGhl IHVuYXZhaWxhYmlsaXR5IG9mIHRoZQo+IHN5c3RlbS4gIEZvciB0aGUgbGl2ZSBzdGF0dXMgY2hl Y2ssIHdlIGVhcmxpZXIgc3VnZ2VzdGVkIHRvIHVzZQo+IHBsYXRmb3JtcyBnZW44IGFuZCBhYm92 ZS4KPiBCdXQgZm9yIHdpZGVyIHRlc3RpbmcsIHdlIHJlbW92ZWQgdGhlIGNoZWNrLgo+IElmIHJl cXVpcmVkIHdlIGNhbiBhZGQgYSBjaGVjayB0aGVyZS4KCkl0J3MgeW91ciBwYXRjaCwgeW91IG5l ZWQgdG8gb3duIHRoaXMuIEFuZCB1bnRpbCB3ZSd2ZSBjb25maXJtZWQgdGhhdCBpdCdzCmEgc291 cmNlIGlzc3VlIEkgd29uJ3QgYWRkIGEgZ2VuQW55dGhpbmcgY2hlY2sgYnV0IGluc3RlYWQganVz dCByZXZlcnQgdGhlCnBhdGNoLgoKSSBob3BlIGV4cGVjdGF0aW9ucyBmcm9tIG15IHNpZGUgaGVy ZSBhcmUgY2xlYXIuCgpUaGFua3MsIERhbmllbAoKPiAKPiBSZWdhcmRzLAo+IFNvbmlrYQo+IAo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogRGFuaWVsIFZldHRlciBbbWFpbHRv OmRhbmllbC52ZXR0ZXJAZmZ3bGwuY2hdIE9uIEJlaGFsZiBPZiBEYW5pZWwgVmV0dGVyCj4gU2Vu dDogVGh1cnNkYXksIERlY2VtYmVyIDEwLCAyMDE1IDI6MDAgUE0KPiBUbzogSmluZGFsLCBTb25p a2EgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPgo+IENjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSF0gZHJtL2k5MTU6IEFk ZCBob3RfcGx1ZyBob29rIGZvciBoZG1pIGVuY29kZXIKPiAKPiBPbiBUaHUsIERlYyAxMCwgMjAx NSBhdCAxMDoxNTo0MUFNICswNTMwLCBTb25pa2EgSmluZGFsIHdyb3RlOgo+ID4gRnJvbTogU2hh c2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ID4gCj4gPiBUaGlzIHBh dGNoIGFkZHMgYSBzZXBhcmF0ZSBwcm9iZSBmdW5jdGlvbiBmb3IgSERNSSBFRElEIHJlYWQgb3Zl ciBEREMgCj4gPiBjaGFubmVsLiBUaGlzIGZ1bmN0aW9uIGhhcyBiZWVuIHJlZ2lzdGVyZWQgYXMg YSAuaG90X3BsdWcgaGFuZGxlciBmb3IgCj4gPiBIRE1JIGVuY29kZXIuCj4gPiAKPiA+IFRoZSBj dXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGhkbWlfZGV0ZWN0KCkgZnVuY3Rpb24gcmUtc2V0cyB0 aGUgCj4gPiBjYWNoZWQgSERNSSBlZGlkIChpbiBjb25uZWN0b3ItPmRldGVjdF9lZGlkKSBpbiBl dmVyeSBkZXRlY3QgY2FsbC5UaGlzIAo+ID4gZnVuY3Rpb24gZ2V0cyBjYWxsZWQgbWFueSB0aW1l cywgc29tZXRpbWVzIGRpcmVjdGx5IGZyb20gdXNlcnNwYWNlIAo+ID4gcHJvYmVzLCBmb3JjaW5n IGRyaXZlcnMgdG8gcmVhZCBFRElEIGV2ZXJ5IGRldGVjdCBmdW5jdGlvbiBjYWxsLlRoaXMgCj4g PiBjYXVzZXMgc2V2ZXJhbCBwcm9ibGVtcyBsaWtlOgo+ID4gCj4gPiAxLiBSYWNlIGNvbmRpdGlv bnMgaW4gbXVsdGlwbGUgaG90X3BsdWcgLyB1bnBsdWcgY2FzZXMsIGJldHdlZW4KPiA+ICAgIGlu dGVycnVwdHMgYm90dG9tIGhhbHZlcyBhbmQgdXNlcnNwYWNlIGRldGVjdGlvbnMuCj4gPiAyLiBN YW55IFVuLW5lY2Vzc2FyeSBFRElEIHJlYWRzIGZvciBzaW5nbGUgaG90cGx1Zy91bnBsdWcgMy4g SERNSSAKPiA+IGNvbXBsYWluY2UgZmFpbHVyZXMgd2hpY2ggZXhwZWN0cyBvbmx5IG9uZSBFRElE IHJlYWQgcGVyIGhvdHBsdWcKPiA+IAo+ID4gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHNlcnZpbmcg dGhlIHB1cnBvc2Ugb2YgcmVhbGx5IHJlYWRpbmcgdGhlIEVESUQgCj4gPiBieSByZWFsbHkgcHJv YmluZyB0aGUgRERDIGNoYW5uZWwsIGFuZCB1cGRhdGluZyB0aGUgY2FjaGVkIEVESUQuCj4gPiAK PiA+IFRoZSBwbGFuIGlzIHRvOgo+ID4gMS4gaTkxNSBJUlEgaGFuZGxlciBib3R0b20gaGFsZiBm dW5jdGlvbiBhbHJlYWR5IGNhbGxzCj4gPiAgICBpbnRlbF9lbmNvZGVyLT5ob3RwbHVnKCkgZnVu Y3Rpb24uIEFkZGluZyBUaGlzIHByb2JlIGZ1bmN0aW9uIHdoaWNoCj4gPiAgICB3aWxsIHJlYWQg dGhlIEVESUQgb25seSBpbiBjYXNlIG9mIGEgaG90cGx1ZyAvIHVucGx1Zy4KPiA+IDIuIER1cmlu ZyBpbml0X2Nvbm5lY3RvciB0aGlzIHByb2JlIHdpbGwgYmUgY2FsbGVkIHRvIHJlYWQgdGhlIGVk aWQgMy4gCj4gPiBSZXVzZSB0aGUgY2FjaGVkIEVESUQgaW4gaGRtaV9kZXRlY3QoKSBmdW5jdGlv bi4KPiA+IAo+ID4gVGhlICI8IGdlbjciIGNoZWNrIGlzIHRoZXJlIGJlY2F1c2UgdGhpcyB3YXMg dGVzdGVkIG9ubHkgZm9yID49Z2VuNyAKPiA+IHBsYXRmb3Jtcy4gRm9yIG9sZGVyIHBsYXRmb3Jt cyB0aGUgaG90cGx1Zy9yZWFkaW5nIGVkaWQgcGF0aCByZW1haW5zIHNhbWUuCj4gPiAKPiA+IHYy OiBDYWxsaW5nIHNldF9lZGlkIGluc3RlYWQgb2YgaGRtaV9wcm9iZSBkdXJpbmcgaW5pdC4KPiA+ IEFsc28sIGZvciBwbGF0Zm9ybXMgaGF2aW5nIERESSwgaW50ZWxfZW5jb2RlciBmb3IgRFAgYW5k IEhETUkgaXMgc2FtZSAKPiA+ICh0YWtlbiBmcm9tIGludGVsX2RpZ19wb3J0KSwgc28gZm9yIERQ IGFsc28sIGhvdF9wbHVnIGZ1bmN0aW9uIGdldHMgCj4gPiBjYWxsZWQgd2hpY2ggaXMgbm90IGlu dGVuZGVkIGhlcmUuIFNvLCBjaGVjayBmb3IgSERNSSBpbiAKPiA+IGludGVsX2hkbWlfcHJvYmUg UmVseSBvbiBIUEQgZm9yIHVwZGF0aW5nIGVkaWQgb25seSBmb3IgcGxhdGZvcm1zIGdlbiA+IDgg YW5kIGFsc28gZm9yIFZMVi4KPiA+IAo+ID4gdjM6IERyb3BwaW5nIHRoZSBnZW4gPCA4IHx8ICFW TFYgIGNoZWNrLiBOb3cgYWxsIHBsYXRmb3JtcyBzaG91bGQgcmVseSAKPiA+IG9uIGhvdHBsdWcg b3IgaW5pdCBmb3IgdXBkYXRpbmcgdGhlIGVkaWQuKERhbmllbCkgQWxzbywgY2FsbGluZyAKPiA+ IGhkbWlfcHJvYmUgaW4gaW5pdCBpbnN0ZWFkIG9mIHNldF9lZGlkCj4gPiAKPiA+IHY0OiBSZW5h bWluZyBpbnRlbF9oZG1pX3Byb2JlIHRvIGludGVsX2hkbWlfaG90X3BsdWcuCj4gPiBBbHNvIGNh bGxpbmcgdGhpcyBob3RwbHVnIGhhbmRsZXIgZnJvbSBpbnRlbF9ocGRfaW5pdCB0byB0YWtlIGNh cmUgb2YgCj4gPiBpbml0IHJlc3VtZSBzY2VuYXJpb3MuCj4gPiAKPiA+IHY1OiBNb3ZlZCB0aGUg Y2FsbCB0byBlbmNvZGVyIGhvdHBsdWcgZHVyaW5nIGluaXQgdG8gc2VwYXJhdGUgCj4gPiBwYXRj aChEYW5pZWwpCj4gPiB2NjogUmViYXNlZCBhbmQgbWFpbnRhaW5pbmcgYXV0aG9yc2hpcC4KPiA+ IAo+ID4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRhbEBp bnRlbC5jb20+Cj4gCj4gSWlyYyB3ZSBoYWQgdG8gcmV2ZXJ0IGFuIGVhcmxpZXIgdmVyc2lvbiBv ZiB0aGlzLiBDb21taXQgbWVzc2FnZSBzaG91bGQgY2l0ZSB0aGF0IHJldmVydCBhbmQgZXhwbGFp biB3aHkgdGhpcyB2ZXJzaW9uIGlzIGJldHRlci4KPiAKPiBBbHNvIGFmdGVyIGEgZmV3IGRheXMg cGxlYXNlIHN0YXJ0IGEgbmV3IHRocmVhZCB3aGVuIHJlc3VibWl0dGluZyBhIHBhdGNoIHNlcmll cy4gVGhlIGlkZWEgYmVoaW5kIGluLXJlcGx5LXRvIGlzIHRvIGtlZXAgdGhlIGRpc2N1c3Npb24g dG9nZXRoZXIgd2hpbGUgaXQncyBzdGlsbCBvbmdvaW5nLiBUaGF0J3Mgbm90IHRoZSBjYXNlIHdo ZW4gdGhlIGRpc2N1c3Npb24gaGFzIGRpZWQgZG93biBzaW5jZSB3ZWVrcy4KPiAKPiBBbHNvLCB5 b3VyIHBhdGNoIHRvIHRha2UgaHBkIHNlbnNlIGludG8gYWNjb3VudCBmb3IgaGRtaSBkZXRlY3Rp b24gaGFzIGNhdXNlcyBhIHJlZ3Jlc3Npb24uIFlvdXIgb24gdGhlIGNjLiBIYW5kbGluZyB0aGF0 IHJlZ3Jlc3Npb24gbmVlZHMgdG8gYmUgYWJzb2x1dGUgdG9wIHByaW9yaXR5IChvdGhlcndpc2Ug SSBuZWVkIHRvIHJldmVydCB0aGF0IHBhdGNoIHRvbykuCj4gCj4gVGhhbmtzLCBEYW5pZWwKPiAK PiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyB8IDU4IAo+ID4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiAgMSBmaWxlIGNoYW5n ZWQsIDQ1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIAo+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+IGluZGV4IGJkZDQ2MmUuLjE2ZGQyYTcgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gQEAgLTEzODEsMTggKzEzODEsMTYgQEAg aW50ZWxfaGRtaV9zZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29s IGZvcmNlKQo+ID4gIAlyZXR1cm4gY29ubmVjdGVkOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMg ZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwo+ID4gLWludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gPiArdm9pZCBpbnRlbF9oZG1p X2hvdF9wbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ID4gIHsKPiA+ IC0JZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7Cj4gPiAtCXN0cnVjdCBpbnRlbF9o ZG1pICppbnRlbF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0b3IpOwo+ID4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2 KTsKPiA+ICsJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPQo+ID4gKwkJCWVuY190b19p bnRlbF9oZG1pKCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPiA+ICsJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0KPiA+ICsJCQkJaW50ZWxfaGRtaS0+YXR0YWNoZWRfY29u bmVjdG9yOwo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSAKPiA+ICt0 b19pOTE1KGludGVsX2VuY29kZXItPmJhc2UuZGV2KTsKPiA+ICAJYm9vbCBsaXZlX3N0YXR1cyA9 IGZhbHNlOwo+ID4gIAl1bnNpZ25lZCBpbnQgcmV0cnkgPSAzOwo+ID4gIAo+ID4gLQlEUk1fREVC VUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwKPiA+IC0JCSAgICAgIGNvbm5lY3Rvci0+YmFz ZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKPiA+IC0KPiA+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJVUyk7Cj4gPiAgCj4gPiAgCXdoaWxlICghbGl2 ZV9zdGF0dXMgJiYgLS1yZXRyeSkgewo+ID4gQEAgLTE0MDAsMjEgKzEzOTgsNTMgQEAgaW50ZWxf aGRtaV9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkK PiA+ICAJCQkJaGRtaV90b19kaWdfcG9ydChpbnRlbF9oZG1pKSk7Cj4gPiAgCQltZGVsYXkoMTAp Owo+ID4gIAl9Cj4gPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9E T01BSU5fR01CVVMpOwo+ID4gIAo+ID4gIAlpZiAoIWxpdmVfc3RhdHVzKQo+ID4gIAkJRFJNX0RF QlVHX0tNUygiTGl2ZSBzdGF0dXMgbm90IHVwISIpOwo+ID4gIAo+ID4gLQlpbnRlbF9oZG1pX3Vu c2V0X2VkaWQoY29ubmVjdG9yKTsKPiA+ICsJLyoKPiA+ICsJICogV2UgYXJlIGhlcmUsIG1lYW5z IHRoZXJlIGlzIGEgaG90cGx1ZyBvciBhIGZvcmNlCj4gPiArCSAqIGRldGVjdGlvbi4gQ2xlYXIg dGhlIGNhY2hlZCBFRElEIGFuZCBwcm9iZSB0aGUKPiA+ICsJICogRERDIGJ1cyB0byBjaGVjayB0 aGUgY3VycmVudCBzdGF0dXMgb2YgSERNSS4KPiA+ICsJICovCj4gPiArCWludGVsX2hkbWlfdW5z ZXRfZWRpZCgmaW50ZWxfY29ubmVjdG9yLT5iYXNlKTsKPiA+ICsJaWYgKGludGVsX2hkbWlfc2V0 X2VkaWQoJmludGVsX2Nvbm5lY3Rvci0+YmFzZSwgbGl2ZV9zdGF0dXMpKQo+ID4gKwkJRFJNX0RF QlVHX0RSSVZFUigiRERDIHByb2JlOiBnb3QgRURJRFxuIik7Cj4gPiArCWVsc2UKPiA+ICsJCURS TV9ERUJVR19EUklWRVIoIkREQyBwcm9iZTogbm8gRURJRFxuIik7IH0KPiA+ICsKPiA+ICtzdGF0 aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwo+ID4gK2ludGVsX2hkbWlfZGV0ZWN0KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpIHsKPiA+ICsJZW51bSBkcm1f Y29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7Cj4gPiArCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmlu dGVsX2Nvbm5lY3RvciA9Cj4gPiArCQkJCXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+ ID4gIAo+ID4gLQlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0b3IsIGxpdmVfc3RhdHVz KSkgewo+ID4gKwlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwKPiA+ICsJCSAg ICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKPiA+ICsKPiA+ICsJLyoK PiA+ICsJICogVGhlcmUgYXJlIG1hbnkgdXNlcnNwYWNlIGNhbGxzIHdoaWNoIHByb2JlIEVESUQg ZnJvbQo+ID4gKwkgKiBkZXRlY3QgcGF0aC4gSW4gY2FzZSBvZiBtdWx0aXBsZSBob3RwbHVnL3Vu cGx1ZywgdGhlc2UKPiA+ICsJICogY2FuIGNhdXNlIHJhY2UgY29uZGl0aW9ucyB3aGlsZSBwcm9i aW5nIEVESUQuIEFsc28gaXRzCj4gPiArCSAqIHdhc3RlIG9mIENQVSBjeWNsZXMgdG8gcmVhZCB0 aGUgRURJRCBhZ2FpbiBhbmQgYWdhaW4KPiA+ICsJICogdW5sZXNzIHRoZXJlIGlzIGEgcmVhbCBo b3RwbHVnLgo+ID4gKwkgKiBTbywgcmVseSBvbiBob3RwbHVncyBhbmQgaW5pdCB0byByZWFkIGVk aWQuCj4gPiArCSAqIENoZWNrIGNvbm5lY3RvciBzdGF0dXMgYmFzZWQgb24gYXZhaWxhYmlsaXR5 IG9mIGNhY2hlZCBFRElELgo+ID4gKwkgKi8KPiA+ICsKPiA+ICsJaWYgKGludGVsX2Nvbm5lY3Rv ci0+ZGV0ZWN0X2VkaWQpIHsKPiA+ICAJCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0g aW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0b3IpOwo+ID4gIAo+ID4gIAkJaGRtaV90b19kaWdf cG9ydChpbnRlbF9oZG1pKS0+YmFzZS50eXBlID0gSU5URUxfT1VUUFVUX0hETUk7Cj4gPiAgCQlz dGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPiA+IC0JfSBlbHNlCj4gPiArCQlE Uk1fREVCVUdfRFJJVkVSKCJoZG1pIHN0YXR1cyA9IGNvbm5lY3RlZFxuIik7Cj4gPiArCX0gZWxz ZSB7Cj4gPiAgCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiA+IC0K PiA+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJV Uyk7Cj4gPiArCQlEUk1fREVCVUdfRFJJVkVSKCJoZG1pIHN0YXR1cyA9IGRpc2Nvbm5lY3RlZFxu Iik7Cj4gPiArCX0KPiA+ICAKPiA+ICAJcmV0dXJuIHN0YXR1czsKPiA+ICB9Cj4gPiBAQCAtMjEz MSw2ICsyMTYxLDggQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCAKPiA+ IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4gPiAgCj4gPiAgCWludGVsX2hk bWlfYWRkX3Byb3BlcnRpZXMoaW50ZWxfaGRtaSwgY29ubmVjdG9yKTsKPiA+ICAKPiA+ICsJaW50 ZWxfZW5jb2Rlci0+aG90X3BsdWcgPSBpbnRlbF9oZG1pX2hvdF9wbHVnOwo+ID4gKwo+ID4gIAlp bnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yLCBpbnRlbF9lbmNv ZGVyKTsKPiA+ICAJZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcihjb25uZWN0b3IpOwo+ID4gIAlpbnRl bF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3IgPSBpbnRlbF9jb25uZWN0b3I7Cj4gPiAtLQo+ID4g MS45LjEKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKPiAKPiAtLQo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==