From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH] drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit panel's native mode Date: Fri, 17 Aug 2018 14:36:55 -0700 Message-ID: <20180817213654.GA2582@intel.com> References: <1526523706-12226-1-git-send-email-manasi.d.navare@intel.com> <20180817204049.GC5643@intel.com> <09af2df770d43203254b0c165443cc3decc645df.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 07E4A6E5CA for ; Fri, 17 Aug 2018 21:34:26 +0000 (UTC) Content-Disposition: inline In-Reply-To: <09af2df770d43203254b0c165443cc3decc645df.camel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lyude Paul , jani.nikula@linux.intel.com Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org VGhhbmtzIEx5dWRlLgoKU28gYmFzZWQgb24gdGhlIGltaXRpYWwgY29tbWVudHMgZnJvbSBKYW5p IE4sIHRoZSByZWNvbW1lbmRhdGlvbiB3YXMgdG8gZGlzY29ubmVjdApkb3duY2xvY2tfbW9kZSBm cm9tIGRycnNfaW5pdCBzbyB0aGF0IHVzZXIgY2FuIHNldCBkb3duY2xvY2sgbW9kZQppbmRlcGVu ZGVudGx5IGZyb20gZHJycyBtb2RlLgoKSmFuaSwKU28gd2Ugd291bGQgbmVlZCBmb2xsb3dpbmcg Y2hhbmdlczoKKiBTZXQgdGhlIHBhbmVsLT5kb3duY2xvY2tfbW9kZSBpbiBlZHBfaW5pdF9jb25u ZWN0b3IoKSB1c2luZyBpbnRlbF9maW5kX3BhbmVsX2Rvd25jbG9jaygpCiogQWRkIGRvd25jbG9j a19tb2RlLT5jbG9jayB3aGVuIHdlIGNoZWNrIGFnYWluc3QgYXZhaWxhYmxlIEJXIGluIG1vZGVf dmFsaWQKKiBBbHNvIHVzZSB0aGF0IGluIGNvbXB1dGVfY29uZmlnCiogVGhlbiBjaGVjayBhZ2Fp bnN0IGRvd25jbG9ja19tb2RlIG9uIGxpbmsgdHJhaW5pbmcgZmFsbGJhY2sKCkFueSBtb3JlIGNo YW5nZXMgcmVjb21tZW5kZWQgaGVyZT8KCk1hbmFzaQoKT24gRnJpLCBBdWcgMTcsIDIwMTggYXQg MDQ6NDM6MjJQTSAtMDQwMCwgTHl1ZGUgUGF1bCB3cm90ZToKPiBPbiBGcmksIDIwMTgtMDgtMTcg YXQgMTM6NDAgLTA3MDAsIE1hbmFzaSBOYXZhcmUgd3JvdGU6Cj4gPiBPbiBGcmksIEF1ZyAxNywg MjAxOCBhdCAwNDozMjowOVBNIC0wNDAwLCBMeXVkZSBQYXVsIHdyb3RlOgo+ID4gPiBBZnRlciBy ZWFkaW5nIHRoZSBkaXNjdXNzaW9uIHNvIGZhciBvbiB0aGlzIHBhdGNoLCB0aGlzIHNvdW5kcyBj b3JyZWN0ISBPbmUKPiA+ID4gbml0Cj4gPiA+IHBpY2sgYmVsb3cgdGhvdWdoOgo+ID4gPiAKPiA+ ID4gT24gV2VkLCAyMDE4LTA1LTE2IGF0IDE5OjIxIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3Rl Ogo+ID4gPiA+IFRoaXMgcGF0Y2ggZml4ZXMgdGhlIG9yaWdpbmFsIGNvbW1pdCBjMGNmYjEwZDll MWRlNDkgKCJkcm0vaTkxNS9lZHA6Cj4gPiA+ID4gRG8gbm90IGRvIGxpbmsgdHJhaW5pbmcgZmFs bGJhY2sgb3IgcHJ1bmUgbW9kZXMgb24gRURQIikgdGhhdCBjYXVzZXMKPiA+ID4gPiBhIGJsYW5r IHNjcmVlbiBpbiBjYXNlIG9mIGNlcnRhaW4gZURQIHBhbmVscyAoRWc6IHNlZW4gb24gRGVsbCBY UFMxMyA5MzUwKQo+ID4gPiA+IHdoZXJlIGZpcnN0IGxpbmsgdHJhaW5pbmcgZmFpbHMgYW5kIGEg cmV0cmFpbmluZyBpcyByZXF1aXJlZCBieSBmYWxsaW5nCj4gPiA+ID4gYmFjayB0byBsb3dlciBs aW5rIHJhdGUvbGFuZSBjb3VudC4KPiA+ID4gPiBJbiBjYXNlIG9mIHNvbWUgcGFuZWxzIHRoZXkg YWR2ZXJ0aXNlIGhpZ2hlciBsaW5rIHJhdGUvbGFuZSBjb3VudAo+ID4gPiA+IHRoYW4gd2hhdHMg cmVxdWlyZWQgZm9yIHN1cHBvcnRpbmcgdGhlIHBhbmVsJ3MgbmF0aXZlIG1vZGUuCj4gPiA+ID4g QnV0IHdlIGFsd2F5cyBsaW5rIHRyYWluIGF0IGhpZ2hlc3QgbGluayByYXRlL2xhbmUgY291bnQg Zm9yIGVEUAo+ID4gPiA+IGFuZCBpZiB0aGF0IGZhaWxzIHdlIGNhbiBzdGlsbCBmYWxsYmFjayB0 byBsb3dlciBsaW5rIHJhdGUvbGFuZSBjb3VudAo+ID4gPiA+IGFzIGxvbmcgYXMgdGhlIGZhbGxi YWNrIGxpbmsgQlcgc3RpbGwgZml0cyB0aGUgbmF0aXZlIG1vZGUgdG8gYXZvaWQKPiA+ID4gPiBw cnVuaW5nIHRoZSBwYW5lbCdzIG5hdGl2ZSBtb2RlIHlldCByZXRyYWluaW5nIGF0IGZhbGxiYWNr IHZhbHVlcwo+ID4gPiA+IHRvIHJlY292ZXIgZnJvbSBhIGJsYW5rIHNjcmVlbi4KPiA+ID4gPiAK PiA+ID4gPiBDYzogQ2xpbnRvbiBUYXlsb3IgPGNsaW50b24uYS50YXlsb3JAaW50ZWwuY29tPgo+ ID4gPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+ID4g PiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ ID4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+ID4gPiBD YzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Cj4gPiA+ID4gU2ln bmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+ ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAg ICAgICAgIHwgMjUKPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8IDI2ICsrKysrKysr Ky0tLS0tLS0tLS0tLS0KPiA+ID4gPiAtLS0tCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzQg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiBpbmRleCAyY2M1ODU5Ni4uN2Y3MjAyYSAxMDA2 NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+IEBAIC0zODcsNiAr Mzg3LDIxIEBAIHN0YXRpYyBib29sIGludGVsX2RwX2xpbmtfcGFyYW1zX3ZhbGlkKHN0cnVjdAo+ ID4gPiA+IGludGVsX2RwCj4gPiA+ID4gKmludGVsX2RwLCBpbnQgbGlua19yYXRlLAo+ID4gPiA+ ICAJcmV0dXJuIHRydWU7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gK3N0YXRpYyBib29s IGludGVsX2RwX2Nhbl9saW5rX3RyYWluX2ZhbGxiYWNrX2Zvcl9lZHAoc3RydWN0IGludGVsX2Rw Cj4gPiA+ID4gKmludGVsX2RwLAo+ID4gPiA+ICsJCQkJCQkgICAgIGludCBsaW5rX3JhdGUsCj4g PiA+ID4gKwkJCQkJCSAgICAgdWludDhfdCBsYW5lX2NvdW50KQo+ID4gPiA+ICt7Cj4gPiA+ID4g KwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9IGludGVsX2RwLT5hdHRhY2hl ZF9jb25uZWN0b3ItCj4gPiA+ID4gPiBwYW5lbC5maXhlZF9tb2RlOwo+ID4gPiA+IAo+ID4gPiA+ ICsJaW50IG1vZGVfcmF0ZSwgbWF4X3JhdGU7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJbW9kZV9yYXRl ID0gaW50ZWxfZHBfbGlua19yZXF1aXJlZChmaXhlZF9tb2RlLT5jbG9jaywgMTgpOwo+ID4gPiA+ ICsJbWF4X3JhdGUgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGxpbmtfcmF0ZSwgbGFuZV9jb3Vu dCk7Cj4gPiA+ID4gKwlpZiAobW9kZV9yYXRlID4gbWF4X3JhdGUpCj4gPiA+ID4gKwkJcmV0dXJu IGZhbHNlOwo+ID4gPiA+ICsKPiA+ID4gPiArCXJldHVybiB0cnVlOwo+ID4gPiA+ICt9Cj4gPiA+ ID4gKwo+ID4gPiA+ICBpbnQgaW50ZWxfZHBfZ2V0X2xpbmtfdHJhaW5fZmFsbGJhY2tfdmFsdWVz KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiA+ID4gIAkJCQkJICAgIGludCBsaW5rX3Jh dGUsIHVpbnQ4X3QgbGFuZV9jb3VudCkKPiA+ID4gPiAgewo+ID4gPiA+IEBAIC0zOTYsOSArNDEx LDE5IEBAIGludCBpbnRlbF9kcF9nZXRfbGlua190cmFpbl9mYWxsYmFja192YWx1ZXMoc3RydWN0 Cj4gPiA+ID4gaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiA+ICAJCQkJICAgIGludGVsX2RwLT5u dW1fY29tbW9uX3JhdGVzLAo+ID4gPiA+ICAJCQkJICAgIGxpbmtfcmF0ZSk7Cj4gPiA+ID4gIAlp ZiAoaW5kZXggPiAwKSB7Cj4gPiA+ID4gKwkJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkg JiYKPiA+ID4gPiArCQkgICAgIWludGVsX2RwX2Nhbl9saW5rX3RyYWluX2ZhbGxiYWNrX2Zvcl9l ZHAoaW50ZWxfZHAsCj4gPiA+ID4gKwkJCQkJCQkgICAgIGludGVsX2RwLQo+ID4gPiA+ID4gY29t bW9uX3JhdGVzW2luZGV4LTFdLAo+ID4gPiA+IAo+ID4gPiA+ICsJCQkJCQkJICAgICAgbGFuZV9j b3VudCkpCj4gPiA+ID4gKwkJCXJldHVybiAtMTsKPiA+ID4gPiAgCQlpbnRlbF9kcC0+bWF4X2xp bmtfcmF0ZSA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbaW5kZXggLSAxXTsKPiA+ID4gPiAgCQlp bnRlbF9kcC0+bWF4X2xpbmtfbGFuZV9jb3VudCA9IGxhbmVfY291bnQ7Cj4gPiA+ID4gIAl9IGVs c2UgaWYgKGxhbmVfY291bnQgPiAxKSB7Cj4gPiA+ID4gKwkJaWYgKGludGVsX2RwX2lzX2VkcChp bnRlbF9kcCkgJiYKPiA+ID4gPiArCQkgICAgIWludGVsX2RwX2Nhbl9saW5rX3RyYWluX2ZhbGxi YWNrX2Zvcl9lZHAoaW50ZWxfZHAsCj4gPiA+ID4gKwkJCQkJCQkgICAgICBpbnRlbF9kcF9tYXhf Y29tbW8KPiA+ID4gPiBuX3JhdGUoaW50ZWxfZHApLAo+ID4gPiA+ICsJCQkJCQkJICAgICAgbGFu ZV9jb3VudCA+PiAxKSkKPiA+ID4gPiArCQkJcmV0dXJuIC0xOwo+ID4gPiAKPiA+ID4gVGhlIGFy Z3VtZW50cyB5b3UgcGFzcyB0byBpbnRlbF9kcF9jYW5fbGlua190cmFpbl9mYWxsYmFja19mb3Jf ZWRwKCkgYXJlIHRoZQo+ID4gPiBzYW1lIG9uZXMgdGhhdCB5b3UgYXNzaWduIHRvIGludGVsX2Rw LT5tYXhfbGlua19yYXRlIGFuZCBpbnRlbF9kcC0KPiA+ID4gPiBtYXhfbGlua19sYW5lX2NvdW50 LCB3aHkgbm90IGp1c3Qgc2V0IHRob3NlIGxhdHRlciB0d28gZmlyc3QgdGhlbiBwYXNzCj4gPiA+ ID4gdGhlbSB0bwo+ID4gPiAKPiA+ID4gaW50ZWxfZHBfY2FuX2xpbmtfdHJhaW5fZmFsbGJhY2tf Zm9yX2VkcCgpIGFmdGVyd2FyZHM/Cj4gPiAKPiA+IEFjdHVhbGx5IEkgaGFkIHRob3VnaHQgb2Yg dGhhdC4gSG93ZXZlciBpZiB0aGUKPiA+IGludGVsX2RwX2Nhbl9saW5rX3RyYWluX2ZhbGxiYWNr X2Zvcl9lZHAoKQo+ID4gcmV0dXJucyBmYWxzZSB0aGVuIHdlIGRvbnQgd2FubmEgdXBkYXRlIHRo ZSBpbnRlbF9kcC0+bWF4X2xpbmtfcmF0ZSBhbmQKPiA+IGxhbmVfY291bnQgdG8KPiA+IHJlZHVj ZWQgZmFsbGJhY2sgdmFsdWVzLgo+IEFoaGgsIHRoYXQgbWFrZXMgc2Vuc2UhIElnbm9yZSB0aGF0 IG5pdHBpY2sgdGhlbiA6KQo+IAo+ID4gCj4gPiBUaGUgb3RoZXIgY29uY2VybnMgbWVudGlvbmVk IG9uIHRoaXMgcGF0Y2ggd2VyZSBhYm91dCBjaGVja2luZyB0aGVtIGFnYWluc3QKPiA+IGRvd25j bG9jayBtb2RlCj4gPiB3aGljaCB3aWxsIGJlIHdpdGggbG93ZXIgcmVmcmVzaCByYXRlIGhlbmNl IG1pZ2h0IGZpdCB0aGUgcmVkdWNlZCBCVy4gQnV0Cj4gPiBjdXJyZW50bHkgdGhlCj4gPiBkb3du Y2xvY2sgbW9kZSBpcyBhc3NpZ25lZCBvbmx5IGFzIHBhcnQgb2YgaW50ZWxfZHBfZHJyc19zdXBw b3J0KCkgc28gZmlyc3Qgd2UKPiA+IHdvdWxkCj4gPiBuZWVkIHRvIG1heSBiZSBmaW5kIHRoYXQg aW4gZWRwX2luaXQgYW5kIHNhdmUgaXQgYXMgcGFydCBvZiBpbnRlbF9kcCBvcgo+ID4gc29tZXRo aW5nLgo+ID4gQXMgd2VsbCBhcyB0ZXN0aW5nIGFnYWluc3QgYWx0ZXJuYXRlIG1vZGUuCj4gPiBB bnkgdGhvdWdodHMgb24gdGhhdD8KPiAKPiBUaGF0IHNvdW5kcyBmaW5lIHRvIG1lISBJdCBpcyBw cm9iYWJseSBhIGJpdCBzYWZlciB0aGVuIGp1c3QgYmxpbmRseSBkb3duZ3JhZGluZwo+IHRoZSBs aW5rCj4gCj4gPiAKPiA+IE1hbmFzaQo+ID4gCj4gPiA+ID4gIAkJaW50ZWxfZHAtPm1heF9saW5r X3JhdGUgPSBpbnRlbF9kcF9tYXhfY29tbW9uX3JhdGUoaW50ZWxfZHApOwo+ID4gPiA+ICAJCWlu dGVsX2RwLT5tYXhfbGlua19sYW5lX2NvdW50ID0gbGFuZV9jb3VudCA+PiAxOwo+ID4gPiA+ICAJ fSBlbHNlIHsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbGlua190cmFpbmluZy5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cF9saW5rX3RyYWluaW5nLmMKPiA+ID4gPiBpbmRleCAzZmNhYTk4Li42NjczOTc1IDEwMDY0NAo+ ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcu Ywo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5p bmcuYwo+ID4gPiA+IEBAIC0zMzUsMjIgKzMzNSwxNCBAQCBpbnRlbF9kcF9zdGFydF9saW5rX3Ry YWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gIAlyZXR1cm47Cj4gPiA+ID4g IAo+ID4gPiA+ICAgZmFpbHVyZV9oYW5kbGluZzoKPiA+ID4gPiAtCS8qIERvbnQgZmFsbGJhY2sg YW5kIHBydW5lIG1vZGVzIGlmIGl0cyBlRFAgKi8KPiA+ID4gPiAtCWlmICghaW50ZWxfZHBfaXNf ZWRwKGludGVsX2RwKSkgewo+ID4gPiA+IC0JCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6 JXNdIExpbmsgVHJhaW5pbmcgZmFpbGVkIGF0IGxpbmsKPiA+ID4gPiByYXRlID0gJWQsIGxhbmUg Y291bnQgPSAlZCIsCj4gPiA+ID4gLQkJCSAgICAgIGludGVsX2Nvbm5lY3Rvci0+YmFzZS5iYXNl LmlkLAo+ID4gPiA+IC0JCQkgICAgICBpbnRlbF9jb25uZWN0b3ItPmJhc2UubmFtZSwKPiA+ID4g PiAtCQkJICAgICAgaW50ZWxfZHAtPmxpbmtfcmF0ZSwgaW50ZWxfZHAtPmxhbmVfY291bnQpOwo+ ID4gPiA+IC0JCWlmICghaW50ZWxfZHBfZ2V0X2xpbmtfdHJhaW5fZmFsbGJhY2tfdmFsdWVzKGlu dGVsX2RwLAo+ID4gPiA+IC0JCQkJCQkJICAgICBpbnRlbF9kcC0KPiA+ID4gPiA+IGxpbmtfcmF0 ZSwKPiA+ID4gPiAKPiA+ID4gPiAtCQkJCQkJCSAgICAgaW50ZWxfZHAtCj4gPiA+ID4gPiBsYW5l X2NvdW50KSkKPiA+ID4gPiAKPiA+ID4gPiAtCQkJLyogU2NoZWR1bGUgYSBIb3RwbHVnIFVldmVu dCB0byB1c2Vyc3BhY2UgdG8gc3RhcnQKPiA+ID4gPiBtb2Rlc2V0ICovCj4gPiA+ID4gLQkJCXNj aGVkdWxlX3dvcmsoJmludGVsX2Nvbm5lY3Rvci0+bW9kZXNldF9yZXRyeV93b3JrKTsKPiA+ID4g PiAtCX0gZWxzZSB7Cj4gPiA+ID4gLQkJRFJNX0VSUk9SKCJbQ09OTkVDVE9SOiVkOiVzXSBMaW5r IFRyYWluaW5nIGZhaWxlZCBhdCBsaW5rIHJhdGUgPQo+ID4gPiA+ICVkLCBsYW5lIGNvdW50ID0g JWQiLAo+ID4gPiA+IC0JCQkgIGludGVsX2Nvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLAo+ID4gPiA+ IC0JCQkgIGludGVsX2Nvbm5lY3Rvci0+YmFzZS5uYW1lLAo+ID4gPiA+IC0JCQkgIGludGVsX2Rw LT5saW5rX3JhdGUsIGludGVsX2RwLT5sYW5lX2NvdW50KTsKPiA+ID4gPiAtCX0KPiA+ID4gPiAr CURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdIExpbmsgVHJhaW5pbmcgZmFpbGVkIGF0 IGxpbmsgcmF0ZSA9ICVkLAo+ID4gPiA+IGxhbmUgY291bnQgPSAlZCIsCj4gPiA+ID4gKwkJICAg ICAgaW50ZWxfY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCj4gPiA+ID4gKwkJICAgICAgaW50ZWxf Y29ubmVjdG9yLT5iYXNlLm5hbWUsCj4gPiA+ID4gKwkJICAgICAgaW50ZWxfZHAtPmxpbmtfcmF0 ZSwgaW50ZWxfZHAtPmxhbmVfY291bnQpOwo+ID4gPiA+ICsJaWYgKCFpbnRlbF9kcF9nZXRfbGlu a190cmFpbl9mYWxsYmFja192YWx1ZXMoaW50ZWxfZHAsCj4gPiA+ID4gKwkJCQkJCSAgICAgaW50 ZWxfZHAtPmxpbmtfcmF0ZSwKPiA+ID4gPiArCQkJCQkJICAgICBpbnRlbF9kcC0+bGFuZV9jb3Vu dCkpCj4gPiA+ID4gKwkJLyogU2NoZWR1bGUgYSBIb3RwbHVnIFVldmVudCB0byB1c2Vyc3BhY2Ug dG8gc3RhcnQgbW9kZXNldCAqLwo+ID4gPiA+ICsJCXNjaGVkdWxlX3dvcmsoJmludGVsX2Nvbm5l Y3Rvci0+bW9kZXNldF9yZXRyeV93b3JrKTsKPiA+ID4gPiAgCXJldHVybjsKPiA+ID4gPiAgfQo+ IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK