From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 3/4] drm/i915/edp: Be less aggressive about changing link config on eDP Date: Mon, 08 May 2017 16:07:09 +0300 Message-ID: <1494248829.6603.52.camel@intel.com> References: <1494018126-30190-1-git-send-email-jim.bride@linux.intel.com> <1494018126-30190-4-git-send-email-jim.bride@linux.intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 39C5789207 for ; Mon, 8 May 2017 13:05:48 +0000 (UTC) In-Reply-To: <1494018126-30190-4-git-send-email-jim.bride@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: Jim Bride , intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTA1LTA1IGF0IDE0OjAyIC0wNzAwLCBKaW0gQnJpZGUgd3JvdGU6Cj4gVGhp cyBzZXQgb2YgY2hhbmdlcyBoYXMgc29tZSBoaXN0b3J5IHRvIHRoZW0uwqDCoFRoZXJlIHdlcmUg c2V2ZXJhbAo+IGF0dGVtcHRzCj4gdG8gYWRkIHdoYXQgd2FzIGNhbGxlZCAiZmFzdCBsaW5rIHRy YWluaW5nIiB0byBpOTE1LCB3aGljaCBhY3R1YWxseQo+IHdhc24ndAo+IGZhc3QgbGluayB0cmFp bmluZyBhcyBwZXIgdGhlIERQIHNwZWMuwqDCoFRoZXNlIGNoYW5nZXMgd2VyZQo+IAo+IDVmYTgz NmE5ZDg1OSAoImRybS9pOTE1OiBEUCBsaW5rIHRyYWluaW5nIG9wdGltaXphdGlvbiIpCj4gNGU5 NmM5Nzc0MmY0ICgiZHJtL2k5MTU6IGVEUCBsaW5rIHRyYWluaW5nIG9wdGltaXphdGlvbiIpCj4g Cj4gd2hpY2ggd2VyZSBldmVudHVhbGx5IGhhbmQtcmV2ZXJ0ZWQgYnkKPiAKPiAzNDUxMWRjZTQg KCJkcm0vaTkxNTogUmV2ZXJ0IERpc3BsYXlQb3J0IGZhc3QgbGluayB0cmFpbmluZyBmZWF0dXJl IikKPiAKPiBpbiBrZXJuZWwgNC43LXJjNC7CoMKgVGhlIGVEUCBwaWVjZXMgb2YgdGhlIGFib3Zl IHJldmVydCwgaG93ZXZlciwgaGFkCj4gc29tZQo+IHZlcnkgYmFkIHNpZGUtZWZmZWN0cyBvbiBQ U1IgZnVuY3Rpb25hbGl0eSBvbiBTa3lsYWtlLiBUaGUgaXNzdWUgYXQKPiBoYW5kIGlzIHRoYXQg d2hlbiBQU1IgZXhpdHMgaTkxNSBicmllZmx5IGVtaXRzIFRQMSBmb2xsb3dlZCBieSBUUDIvMwo+ IChkZXBlbmRpbmcgb24gdGhlIG9yaWdpbmFsIGxpbmsgY29uZmlndXJhdGlvbikgaW4gb3JkZXIg dG8gcXVpY2tseQo+IGdldAo+IHRoZSBzb3VyY2UgYW5kIHNpbmsgYmFjayBpbiBzeW5jaHJvbml6 YXRpb24gYWNyb3NzIHRoZSBsaW5rIGJlZm9yZQo+IGhhbmRpbmcKPiBjb250cm9sIGJhY2sgdG8g dGhlIGk5MTUuwqDCoFRoZXJlJ3MgYW4gYXNzdW1wdGlvbiB0aGF0IG5vbmUgb2YgdGhlCj4gbGlu awo+IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gaGFzIGNoYW5nZWQgKGFuZCB0aHVzIGl0J3Mg c3RpbGwgdmFsaWQpCj4gc2luY2UgdGhlCj4gbGFzdCBmdWxsIGxpbmsgdHJhaW5pbmcgb3BlcmF0 aW9uLsKgwqBUaGUgcmV2ZXJ0IGFib3ZlIHdhcyBpZGVudGlmaWVkCj4gdmlhIGEKPiBiaXNlY3Qg YXMgdGhlIGNhdXNlIG9mIHNvbWUgb2YgU2t5bGFrZSdzIFBTUiB3b2VzLsKgwqBUaGlzIHBhdGNo LAo+IGxhcmdlbHkKPiBiYXNlZCBvbgo+IAo+IGNvbW1pdCA0ZTk2Yzk3NzQyZjQyMDFlZGYxYjBm OGUxYjFiNmIyYWM2ZmYzM2U3Cj4gQXV0aG9yOiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50 ZWwuY29tPgo+IERhdGU6wqDCoMKgV2VkIEFwciAyOSAwOToxNzozOSAyMDE1ICswMzAwCj4gZHJt L2k5MTU6IGVEUCBsaW5rIHRyYWluaW5nIG9wdGltaXphdGlvbgo+IAo+IHB1dHMgdGhlIGVEUCBw b3J0aW9ucyBvZiB0aGlzIHBhdGNoIGJhY2sgaW4gcGxhY2UuwqDCoE5vbmUgb2YgdGhlCj4gZmxp Y2tlcmluZwo+IGlzc3VlcyB0aGF0IHNwdXJyZWQgdGhlIHJldmVydCBoYXZlIGJlZW4gc2Vlbiwg YW5kIEkgc3VzcGVjdCB0aGUgcmVhbAo+IGN1bHByaXRzIGhlcmUgd2VyZSBhZGRyZXNzZWQgYnkg c29tZSBvZiB0aGUgcmVjZW50IGxpbmsgdHJhaW5pbmcKPiBjaGFuZ2VzCj4gdGhhdCBNYW5hc2kg aGFzIGltcGxlbWVudGVkLCBhbmQgUFNSIG9uIFNreWxha2UgaXMgZGVmaW5pdGVseSBtb3JlCj4g aGFwcHkKPiB3aXRoIHRoZXNlIGNoYW5nZXMgaW4tcGxhY2UuCldlIHJldmVydGVkIHRoaXMgYmFj ayBpbiB0aGUgZGF5IGR1ZSB0byBidWcgcmVwb3J0cyB3ZSByZWNlaXZlZCBmcm9tCnRoZSBjb21t dW5pdHkgY29uY2VybmluZyBmbGlja2VyaW5nLiBIb3dldmVyLCB5b3UgaGF2ZSB0byByZW1lbWJl ciB0aGF0CmR1cmluZyB0aGF0IHRpbWUgYWxzbyB0aGUgd2F0ZXJtYXJrIHdvcmsgd2FzIG9uZ29p bmcuIFdlIGNvdWxkbid0CnBpbnBvaW50IG9uZSBpc3N1ZSBvciByb290IGNhdXNlIHRoYXQgdHJp Z2dlcmVkIHRoZXNlIHJlcG9ydGVkCmZsaWNrZXJpbmcgY2FzZXMuIFRoZXJlZm9yZSB3ZSBkZWNp ZGVkIHRvIHJldmVydCB0aGVzZSBvcHRpbWl6YXRpb25zLgpQZXJzb25hbGx5LCBJIGZlZWwgdGhh dCB0aGlzIHdvdWxkIGhhdmUgYmVlbiBzYWZlIGZvciBlRFAgY2FzZS4KCkFja2VkLWJ5OiBNaWth IEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgoKPiAKPiBDYzogUm9kcmlnbyBWaXZpIDxy b2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KPiBDYzogTWFuYXNpIEQgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwu Y29tPgo+IENjOiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgo+IEZpeGVzOiAz NDUxMWRjZTQgKCJkcm0vaTkxNTogUmV2ZXJ0IERpc3BsYXlQb3J0IGZhc3QgbGluayB0cmFpbmlu Zwo+IGZlYXR1cmUiKQo+IFNpZ25lZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxpbnV4 LmludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDQgKysrLQo+IMKgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jIHwgMTEgKysrKysrKysrKy0KPiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzC oMKgMiArKwo+IMKgMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZDQ2ZjcyZC4uMDZiOGJk NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0xMDYsNyArMTA2LDcgQEAgc3Rh dGljIGNvbnN0IGludCBkZWZhdWx0X3JhdGVzW10gPSB7IDE2MjAwMCwKPiAyNzAwMDAsIDU0MDAw MCB9Owo+IMKgICogSWYgYSBDUFUgb3IgUENIIERQIG91dHB1dCBpcyBhdHRhY2hlZCB0byBhbiBl RFAgcGFuZWwsIHRoaXMKPiBmdW5jdGlvbgo+IMKgICogd2lsbCByZXR1cm4gdHJ1ZSwgYW5kIGZh bHNlIG90aGVyd2lzZS4KPiDCoCAqLwo+IC1zdGF0aWMgYm9vbCBpc19lZHAoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiArYm9vbCBpc19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiDCoHsKPiDCoAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4g ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+IMKgCj4gQEAgLTQ2OTAsNiArNDY5MCw3IEBAIGlu dGVsX2RwX2xvbmdfcHVsc2Uoc3RydWN0IGludGVsX2Nvbm5lY3Rvcgo+ICppbnRlbF9jb25uZWN0 b3IpCj4gwqAJCWludGVsX2RwLT5tYXhfbGlua19yYXRlID0KPiBpbnRlbF9kcF9tYXhfY29tbW9u X3JhdGUoaW50ZWxfZHApOwo+IMKgCj4gwqAJCWludGVsX2RwLT5yZXNldF9saW5rX3BhcmFtcyA9 IGZhbHNlOwo+ICsJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKPiDCoAl9Cj4g wqAKPiDCoAlpbnRlbF9kcF9wcmludF9yYXRlcyhpbnRlbF9kcCk7Cj4gQEAgLTYwNTIsNiArNjA1 Myw3IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdAo+IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQsCj4gwqAJaW50ZWxfZHBfc2V0X3NvdXJjZV9yYXRlcyhpbnRlbF9k cCk7Cj4gwqAKPiDCoAlpbnRlbF9kcC0+cmVzZXRfbGlua19wYXJhbXMgPSB0cnVlOwo+ICsJaW50 ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+IMKgCWludGVsX2RwLT5wcHNfcGlwZSA9 IElOVkFMSURfUElQRTsKPiDCoAlpbnRlbF9kcC0+YWN0aXZlX3BpcGUgPSBJTlZBTElEX1BJUEU7 Cj4gwqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190 cmFpbmluZy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5n LmMKPiBpbmRleCBiNzljMWMwLi42MDIzM2UyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+IEBAIC05NCw3ICs5NCw4IEBAIHN0YXRpYyBi b29sCj4gwqBpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsCj4gwqAJCQl1aW50OF90IGRwX3RyYWluX3BhdCkKPiDCoHsKPiAtCW1lbXNldChpbnRlbF9k cC0+dHJhaW5fc2V0LCAwLCBzaXplb2YoaW50ZWxfZHAtPnRyYWluX3NldCkpOwo+ICsJaWYgKCFp bnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkKQo+ICsJCW1lbXNldChpbnRlbF9kcC0+dHJhaW5fc2V0 LCAwLCBzaXplb2YoaW50ZWxfZHAtCj4gPnRyYWluX3NldCkpOwo+IMKgCWludGVsX2RwX3NldF9z aWduYWxfbGV2ZWxzKGludGVsX2RwKTsKPiDCoAlyZXR1cm4gaW50ZWxfZHBfc2V0X2xpbmtfdHJh aW4oaW50ZWxfZHAsIGRwX3RyYWluX3BhdCk7Cj4gwqB9Cj4gQEAgLTE2Miw2ICsxNjMsNyBAQCBp bnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdAo+IGludGVsX2RwICpp bnRlbF9kcCkKPiDCoAkJCQnCoMKgwqDCoMKgwqDCoERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4g wqAJCQkJwqDCoMKgwqDCoMKgwqBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkpCj4gewo+IMKg CQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgbGluayB0cmFpbmluZ1xuIik7Cj4gKwkJaW50 ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+IMKgCQlyZXR1cm4gZmFsc2U7Cj4gwqAJ fQo+IMKgCj4gQEAgLTE3NCwyMSArMTc2LDI1IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xv Y2tfcmVjb3Zlcnkoc3RydWN0Cj4gaW50ZWxfZHAgKmludGVsX2RwKQo+IMKgCj4gwqAJCWlmICgh aW50ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKGludGVsX2RwLAo+IGxpbmtfc3RhdHVzKSkgewo+IMKg CQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZ2V0IGxpbmsgc3RhdHVzXG4iKTsKPiArCQkJaW50ZWxf ZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+IMKgCQkJcmV0dXJuIGZhbHNlOwo+IMKgCQl9 Cj4gwqAKPiDCoAkJaWYgKGRybV9kcF9jbG9ja19yZWNvdmVyeV9vayhsaW5rX3N0YXR1cywgaW50 ZWxfZHAtCj4gPmxhbmVfY291bnQpKSB7Cj4gwqAJCQlEUk1fREVCVUdfS01TKCJjbG9jayByZWNv dmVyeSBPS1xuIik7Cj4gKwkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPQo+IGlzX2VkcChp bnRlbF9kcCk7Cj4gwqAJCQlyZXR1cm4gdHJ1ZTsKPiDCoAkJfQo+IMKgCj4gwqAJCWlmICh2b2x0 YWdlX3RyaWVzID09IDUpIHsKPiDCoAkJCURSTV9ERUJVR19LTVMoIlNhbWUgdm9sdGFnZSB0cmll ZCA1Cj4gdGltZXNcbiIpOwo+ICsJCQlpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkID0gZmFsc2U7 Cj4gwqAJCQlyZXR1cm4gZmFsc2U7Cj4gwqAJCX0KPiDCoAo+IMKgCQlpZiAobWF4X3Zzd2luZ190 cmllcyA9PSAxKSB7Cj4gwqAJCQlEUk1fREVCVUdfS01TKCJNYXggVm9sdGFnZSBTd2luZwo+IHJl YWNoZWRcbiIpOwo+ICsJCQlpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkID0gZmFsc2U7Cj4gwqAJ CQlyZXR1cm4gZmFsc2U7Cj4gwqAJCX0KPiDCoAo+IEBAIC0xOTgsNiArMjA0LDcgQEAgaW50ZWxf ZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QKPiBpbnRlbF9kcCAqaW50ZWxf ZHApCj4gwqAJCWludGVsX2dldF9hZGp1c3RfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKTsK PiDCoAkJaWYgKCFpbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihpbnRlbF9kcCkpIHsKPiDCoAkJ CURSTV9FUlJPUigiZmFpbGVkIHRvIHVwZGF0ZSBsaW5rCj4gdHJhaW5pbmdcbiIpOwo+ICsJCQlp bnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkID0gZmFsc2U7Cj4gwqAJCQlyZXR1cm4gZmFsc2U7Cj4g wqAJCX0KPiDCoAo+IEBAIC0yNTYsNiArMjYzLDcgQEAKPiBpbnRlbF9kcF9saW5rX3RyYWluaW5n X2NoYW5uZWxfZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcAo+ICppbnRlbF9kcCkKPiDCoAkJ CQnCoMKgwqDCoMKgdHJhaW5pbmdfcGF0dGVybiB8Cj4gwqAJCQkJwqDCoMKgwqDCoERQX0xJTktf U0NSQU1CTElOR19ESVNBQkxFKSkgewo+IMKgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzdGFydCBj aGFubmVsIGVxdWFsaXphdGlvblxuIik7Cj4gKwkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9 IGZhbHNlOwo+IMKgCQlyZXR1cm4gZmFsc2U7Cj4gwqAJfQo+IMKgCj4gQEAgLTI5Niw2ICszMDQs NyBAQAo+IGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0 IGludGVsX2RwCj4gKmludGVsX2RwKQo+IMKgCS8qIFRyeSA1IHRpbWVzLCBlbHNlIGZhaWwgYW5k IHRyeSBhdCBsb3dlciBCVyAqLwo+IMKgCWlmICh0cmllcyA9PSA1KSB7Cj4gwqAJCWludGVsX2Rw X2R1bXBfbGlua19zdGF0dXMobGlua19zdGF0dXMpOwo+ICsJCWludGVsX2RwLT50cmFpbl9zZXRf dmFsaWQgPSBmYWxzZTsKPiDCoAkJRFJNX0RFQlVHX0tNUygiQ2hhbm5lbCBlcXVhbGl6YXRpb24g ZmFpbGVkIDUKPiB0aW1lc1xuIik7Cj4gwqAJfQo+IMKgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IGluZGV4IDE5ZDBjOGYuLjE0OWQ0YzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IEBAIC05NzcsNiArOTc3LDcgQEAgc3RydWN0IGludGVsX2RwIHsKPiDCoAlzdHJ1Y3Qg ZHJtX2RwX2F1eCBhdXg7Cj4gwqAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBhdXhf cG93ZXJfZG9tYWluOwo+IMKgCXVpbnQ4X3QgdHJhaW5fc2V0WzRdOwo+ICsJYm9vbCB0cmFpbl9z ZXRfdmFsaWQ7Cj4gwqAJaW50IHBhbmVsX3Bvd2VyX3VwX2RlbGF5Owo+IMKgCWludCBwYW5lbF9w b3dlcl9kb3duX2RlbGF5Owo+IMKgCWludCBwYW5lbF9wb3dlcl9jeWNsZV9kZWxheTsKPiBAQCAt MTU1MSw2ICsxNTUyLDcgQEAgYm9vbCBpbnRlbF9kcF9yZWFkX2RwY2Qoc3RydWN0IGludGVsX2Rw Cj4gKmludGVsX2RwKTsKPiDCoGJvb2wgX19pbnRlbF9kcF9yZWFkX2Rlc2Moc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKPiDCoAkJCcKgwqBzdHJ1Y3QgaW50ZWxfZHBfZGVzYyAqZGVzYyk7Cj4g wqBib29sIGludGVsX2RwX3JlYWRfZGVzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiAr Ym9vbCBpc19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gwqBpbnQgaW50ZWxfZHBf bGlua19yZXF1aXJlZChpbnQgcGl4ZWxfY2xvY2ssIGludCBicHApOwo+IMKgaW50IGludGVsX2Rw X21heF9kYXRhX3JhdGUoaW50IG1heF9saW5rX2Nsb2NrLCBpbnQgbWF4X2xhbmVzKTsKPiDCoGJv b2wgaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCi0tIApNaWthIEthaG9sYSAtIEludGVsIE9UQwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==