From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v4 11/14] drm/i915: Fallback to lower link rate and lane count during link training Date: Thu, 8 Sep 2016 18:05:46 -0700 Message-ID: References: <1473272883-28520-3-git-send-email-manasi.d.navare@intel.com> <1473294615-27061-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-oi0-x242.google.com (mail-oi0-x242.google.com [IPv6:2607:f8b0:4003:c06::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CED26E63A for ; Fri, 9 Sep 2016 01:05:48 +0000 (UTC) Received: by mail-oi0-x242.google.com with SMTP id x125so4864368oia.1 for ; Thu, 08 Sep 2016 18:05:48 -0700 (PDT) In-Reply-To: <1473294615-27061-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare , Jani Nikula Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgNywgMjAxNiBhdCA1OjMwIFBNLCBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5u YXZhcmVAaW50ZWwuY29tPiB3cm90ZToKPiBBY2NvcmRpbmcgdG8gdGhlIERpc3BsYXlQb3J0IFNw ZWMsIGluIGNhc2Ugb2YgQ2xvY2sgUmVjb3ZlcnkgZmFpbHVyZQo+IHRoZSBsaW5rIHRyYWluaW5n IHNlcXVlbmNlIHNob3VsZCBmYWxsIGJhY2sgdG8gdGhlIGxvd2VyIGxpbmsgcmF0ZQo+IGZvbGxv d2VkIGJ5IGxvd2VyIGxhbmUgY291bnQgdW50aWwgQ1Igc3VjY2VlZHMuCj4gT24gQ1Igc3VjY2Vz cywgdGhlIHNlcXVlbmNlIHByb2NlZWRzIHdpdGggQ2hhbm5lbCBFUS4KPiBJbiBjYXNlIG9mIENo YW5uZWwgRVEgZmFpbHVyZXMsIGl0IHNob3VsZCBmYWxsYmFjayB0bwo+IGxvd2VyIGxpbmsgcmF0 ZSBhbmQgbGFuZSBjb3VudCBhbmQgc3RhcnQgdGhlIENSIHBoYXNlIGFnYWluLgo+Cj4gdjQ6Cj4g KiBGaXhlZCB0aGUgbGluayByYXRlIGZhbGxiYWNrIGxvb3AgKE1hbmFzaSBOYXZhcmUpCj4gdjM6 Cj4gKiBGaXhlZCBzb21lIHJlYmFzZSBpc3N1ZXMgKE1pa2EgS2Fob2xhKQo+IHYyOgo+ICogQWRk IGEgaGVscGVyIGZ1bmN0aW9uIHRvIHJldHVybiBpbmRleCBvZiByZXF1ZXN0ZWQgbGluayByYXRl Cj4gaW50byBjb21tb25fcmF0ZXMgYXJyYXkKPiAqIENoYW5nZWQgdGhlIGxpbmsgcmF0ZSBmYWxs YmFjayBsb29wIHRvIG1ha2UgdXNlCj4gb2YgY29tbW9uX3JhdGVzIGFycmF5IChNaWthIEthaG9s YSkKPiAqIENoYW5nZWQgSU5URUxfSU5GTyB0byBJTlRFTF9HRU4gKERhdmlkIFdlaW5laGFsbCkK Pgo+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5j b20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICAgICAg ICB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jICAgICAgICAgICAgICAgfCAgMTUgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMgfCAgMTIgKystCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8ICAgNiArLQo+ICA0IGZpbGVzIGNoYW5n ZWQsIDEyOCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gaW5kZXggMjVlNzk3My4uMTI3OGRhYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gQEAgLTE2MzQsMTkgKzE2MzQsMTggQEAgdm9pZCBpbnRlbF9kZGlfY2xrX3Nl bGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgIH0KPiAgfQo+Cj4g LXN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICtzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9lZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IGxpbmtfcmF0ZSwgdWludDMyX3QgbGFuZV9jb3VudCwKPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGxpbmtfbXN0KQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAq cGxsKQo+ICB7Cj4gICAgICAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKPiAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAgICAgICAgZW51bSBw b3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPgo+ICAgICAg ICAgaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBsaW5rX3JhdGUsIGxhbmVfY291 bnQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua19tc3QpOwo+IC0gICAg ICAgaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKPiAtICAgICAgICAgICAg ICAgaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2RwKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWxzZSk7Cj4gKwo+ICsgICAgICAgaW50ZWxfZWRwX3BhbmVsX29uKGludGVs X2RwKTsKPgo+ICAgICAgICAgaW50ZWxfZGRpX2Nsa19zZWxlY3QoZW5jb2RlciwgcGxsKTsKPiAg ICAgICAgIGludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gQEAgLTE2NTcs NiArMTY1NiwyOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgICAgICAgICAgaW50ZWxfZHBfc3RvcF9s aW5rX3RyYWluKGludGVsX2RwKTsKPiAgfQo+Cj4gK3N0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVf ZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5rX3JhdGUsIHVpbnQzMl90IGxhbmVfY291bnQs Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICpwbGwsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBs aW5rX21zdCkKPiArewo+ICsgICAgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiArICAgICAgIHN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgdG1wX3BsbF9jb25maWc7Cj4gKwo+ICsgICAg ICAgLyogRGlzYWJsZSB0aGUgUExMIGFuZCBvYnRhaW4gdGhlIFBMTCBmb3IgTGluayBUcmFpbmlu Zwo+ICsgICAgICAgICogdGhhdCBzdGFydHMgd2l0aCBoaWdoZXN0IGxpbmsgcmF0ZSBhbmQgbGFu ZSBjb3VudC4KPiArICAgICAgICAqLwo+ICsgICAgICAgdG1wX3BsbF9jb25maWcgPSBwbGwtPmNv bmZpZzsKPiArICAgICAgIHBsbC0+ZnVuY3MuZGlzYWJsZShkZXZfcHJpdiwgcGxsKTsKPiArICAg ICAgIHBsbC0+Y29uZmlnLmNydGNfbWFzayA9IDA7Cj4gKwo+ICsgICAgICAgLyogSWYgTGluayBU cmFpbmluZyBmYWlscywgc2VuZCBhIHVldmVudCB0byBnZW5lcmF0ZSBhIGhvdHBsdWcgKi8KPiAr ICAgICAgIGlmICghKGludGVsX2RkaV9saW5rX3RyYWluKGludGVsX2RwLCBsaW5rX3JhdGUsIGxh bmVfY291bnQsIGxpbmtfbXN0KSkpCj4gKyAgICAgICAgICAgICAgIGRybV9rbXNfaGVscGVyX2hv dHBsdWdfZXZlbnQoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsgICAgICAgcGxsLT5jb25maWcgPSB0 bXBfcGxsX2NvbmZpZzsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFi bGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzX2hkbWlfc2luaywKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlLAo+IEBAIC0xNjkwLDIwICsxNzExLDI2IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9w cmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICAgICAgICAg c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+ ICAgICAgICAgaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+Cj4gLSAgICAgICBpZiAo dHlwZSA9PSBJTlRFTF9PVVRQVVRfRFAgfHwgdHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4g KyAgICAgICBpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKQo+ICsgICAgICAgICAgICAgICBp bnRlbF9kZGlfcHJlX2VuYWJsZV9lZHAoaW50ZWxfZW5jb2RlciwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3J0Yy0+Y29uZmlnLT5wb3J0X2Nsb2NrLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnRjLT5jb25maWctPmxhbmVfY291 bnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNydGMtPmNvbmZp Zy0+c2hhcmVkX2RwbGwpOwo+ICsKPiArICAgICAgIGlmICh0eXBlID09IElOVEVMX09VVFBVVF9E UCkKPiAgICAgICAgICAgICAgICAgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoaW50ZWxfZW5jb2Rl ciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3J0Yy0+Y29uZmln LT5wb3J0X2Nsb2NrLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj cnRjLT5jb25maWctPmxhbmVfY291bnQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludGVsX2NydGNfaGFzX3R5cGUoY3J0Yy0+Y29uZmlnLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElOVEVMX09VVFBVVF9EUF9NU1QpKTsKPiAtICAgICAgIH0KPiAtICAgICAgIGlmICh0eXBl ID09IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gKwo+ICsgICAgICAgaWYgKHR5cGUgPT0gSU5URUxf T1VUUFVUX0hETUkpCj4gICAgICAgICAgICAgICAgIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWko aW50ZWxfZW5jb2RlciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjcnRjLT5jb25maWctPmhhc19oZG1pX3NpbmssCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNydGMtPmNvbmZpZy0+c2hh cmVkX2RwbGwpOwo+IC0gICAgICAgfQo+ICsKPiAgfQo+Cj4gIHN0YXRpYyB2b2lkIGludGVsX2Rk aV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gQEAg LTI0MzIsNiArMjQ1OSw2OCBAQCBpbnRlbF9kZGlfZ2V0X2xpbmtfZHBsbChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLCBpbnQgY2xvY2spCj4gICAgICAgICByZXR1cm4gcGxsOwo+ICB9Cj4KPiAr Ym9vbAo+ICtpbnRlbF9kZGlfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBp bnQgbWF4X2xpbmtfcmF0ZSwKPiArICAgICAgICAgICAgICAgICAgICB1aW50OF90IG1heF9sYW5l X2NvdW50LCBib29sIGxpbmtfbXN0KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwo+ICsgICAgICAg c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKyAg ICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKPiArICAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwo+ICsg ICAgICAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyB0bXBfcGxsX2NvbmZpZzsKPiAr ICAgICAgIGludCBsaW5rX3JhdGUsIGxpbmtfcmF0ZV9pbmRleDsKPiArICAgICAgIHVpbnQ4X3Qg bGFuZV9jb3VudDsKPiArICAgICAgIGludCBjb21tb25fcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9S QVRFU10gPSB7fTsKPiArICAgICAgIGJvb2wgcmV0ID0gZmFsc2U7Cj4gKwo+ICsgICAgICAgbGlu a19yYXRlX2luZGV4ID0gaW50ZWxfZHBfbGlua19yYXRlX2luZGV4KGludGVsX2RwLCBjb21tb25f cmF0ZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWF4X2xpbmtfcmF0ZSk7Cj4gKyAgICAgICBpZiAobGlua19yYXRlX2luZGV4IDwgMCkgewo+ ICsgICAgICAgICAgICAgICBEUk1fRVJST1IoIkludmFsaWQgTGluayBSYXRlXG4iKTsKPiArICAg ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ICsgICAgICAgfQo+ICsgICAgICAgZm9yIChsYW5l X2NvdW50ID0gbWF4X2xhbmVfY291bnQ7IGxhbmVfY291bnQgPiAwOyBsYW5lX2NvdW50ID4+PSAx KSB7Cj4gKyAgICAgICAgICAgICAgIGZvciAoOyBsaW5rX3JhdGVfaW5kZXggPj0gMDsgbGlua19y YXRlX2luZGV4IC0tKSB7CgpFUlJPUjogc3BhY2UgcHJvaGliaXRlZCBiZWZvcmUgdGhhdCAnLS0n IChjdHg6V3hCKQojMTQ4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYzoy NDgzOgorIGZvciAoOyBsaW5rX3JhdGVfaW5kZXggPj0gMDsgbGlua19yYXRlX2luZGV4IC0tKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgbGlua19yYXRlID0gY29tbW9uX3JhdGVzW2xpbmtfcmF0ZV9pbmRl eF07Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcGxsID0gaW50ZWxfZGRpX2dldF9saW5rX2Rw bGwoaW50ZWxfZHAsIGxpbmtfcmF0ZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBs bCA9PSBOVUxMKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJST1Io IkNvdWxkIG5vdCBmaW5kIERQTEwgZm9yIGxpbmsgIgo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJ0cmFpbmluZy5cbiIpOwoKVGhlIG1vc3QgY29tbW9uIHdheSBp biBvdXIgY29kZSBpcyB0byBub3Qgc3BsaXQgdGhlIGNvbW1lbnQgYW5kIGdvIG92ZXIgODAgY29s cy4KCmNoZWNrcGF0Y2ggY29tcGxhaW5zIGVpdGhlciB3YXlzIGFueXdheToKCldBUk5JTkc6IHF1 b3RlZCBzdHJpbmcgc3BsaXQgYWNyb3NzIGxpbmVzCiMxNTM6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jOjI0ODg6CisgRFJNX0VSUk9SKCJDb3VsZCBub3QgZmluZCBEUExM IGZvciBsaW5rICIKKyAgInRyYWluaW5nLlxuIik7CgpOb3Qgc3VyZSB3aGF0IG91ciBtYWludGFp bmVyIHByZWZlci4gSmFuaT8KCgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIGZhbHNlOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAg ICAgICAgICB0bXBfcGxsX2NvbmZpZyA9IHBsbC0+Y29uZmlnOwo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHBsbC0+ZnVuY3MuZW5hYmxlKGRldl9wcml2LCBwbGwpOwo+ICsKPiArICAgICAgICAg ICAgICAgICAgICAgICBpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGxpbmtfcmF0 ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFu ZV9jb3VudCwgbGlua19tc3QpOwo+ICsKPiArICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9k ZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBwbGwpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlu dGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZyhlbmNvZGVyKTsKPiArICAgICAgICAgICAg ICAgICAgICAgICBpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERSTV9NT0RFX0RQTVNfT04p Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGludGVsX2RwX3N0YXJ0X2xpbmtfdHJh aW4oaW50ZWxfZHApOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgLyogRGlzYWJsZSBwb3J0IGZvbGxvd2VkIGJ5IFBMTCBmb3IgbmV4dCByZXRyeS9jbGVh biB1cCAqLwoKQW5kIGhlcmUgaXQgZ29lcyBvdmVyIDgwIGNvbHMgdGhlIG1vc3QgY29tbW9uIGlz IHRvCgovKgogKiBEaXNhYmxlLi4uCiAqIC4uLmNsZWFuIHVwCiovCgo+ICsgICAgICAgICAgICAg ICAgICAgICAgIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoZW5jb2RlciwgTlVMTCwgTlVMTCk7Cj4g KyAgICAgICAgICAgICAgICAgICAgICAgcGxsLT5mdW5jcy5kaXNhYmxlKGRldl9wcml2LCBwbGwp Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHBsbC0+Y29uZmlnID0gdG1wX3BsbF9jb25maWc7 Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgaWYgKHJldCkgewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19LTVMoIkxpbmsgVHJhaW5pbmcgc3VjY2Vzc2Z1 bCBhdCBsaW5rIHJhdGU6ICIKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIlZCBsYW5lOiVkXG4iLCBsaW5rX3JhdGUsIGxhbmVfY291bnQpOwoKYWxzbyBoZXJlIGFuZCBp biAyIG90aGVyIHBsYWNlcyBpbgpkcm0taTkxNS1NYWtlLURQLWxpbmstdHJhaW5pbmctY2hhbm5l bC1lcXVhbGl6YXRpb24tLnBhdGNoCgpUaGFua3MsClJvZHJpZ28uCgo+ICsgICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAgICAg ICBpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICsKPiArICAgICAgIGlmICgh bGFuZV9jb3VudCkKPiArICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJMaW5rIFRyYWluaW5nIEZh aWxlZFxuIik7Cj4gKwo+ICsgICAgICAgcmV0dXJuIHJldDsKPiArfQo+ICsKPiAgdm9pZCBpbnRl bF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCkKPiAgewo+ ICAgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IDc1YWM2MmYuLjEzNzgxMTYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtMTQ0Myw2ICsxNDQzLDIxIEBAIGludGVsX2Rw X21heF9saW5rX3JhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgICAgICAgIHJldHVy biByYXRlc1tsZW4gLSAxXTsKPiAgfQo+Cj4gK2ludCBpbnRlbF9kcF9saW5rX3JhdGVfaW5kZXgo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50ICpjb21tb25fcmF0ZXMsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgbGlua19yYXRlKQo+ICt7Cj4gKyAgICAgICBpbnQgY29t bW9uX2xlbjsKPiArICAgICAgIGludCBpbmRleDsKPiArCj4gKyAgICAgICBjb21tb25fbGVuID0g aW50ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCBjb21tb25fcmF0ZXMpOwo+ICsgICAgICAg Zm9yIChpbmRleCA9IGNvbW1vbl9sZW4gLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7Cj4gKyAg ICAgICAgICAgICAgIGlmIChsaW5rX3JhdGUgPT0gY29tbW9uX3JhdGVzW2luZGV4XSkKPiArICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAg ICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICBpbnQgaW50ZWxfZHBfcmF0ZV9zZWxlY3Qoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwgaW50IHJhdGUpCj4gIHsKPiAgICAgICAgIHJldHVybiByYXRl X3RvX2luZGV4KHJhdGUsIGludGVsX2RwLT5zaW5rX3JhdGVzKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4gaW5kZXggYzQzOGIwMi4uZjFlMDhm MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWlu aW5nLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5n LmMKPiBAQCAtMzEzLDkgKzMxMywxNSBAQCB2b2lkIGludGVsX2RwX3N0b3BfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRFBfVFJBSU5JTkdfUEFUVEVSTl9ESVNBQkxFKTsKPiAgfQo+Cj4gLXZvaWQKPiArYm9vbAo+ ICBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4g IHsKPiAtICAgICAgIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxf ZHApOwo+IC0gICAgICAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlv bihpbnRlbF9kcCk7Cj4gKyAgICAgICBib29sIHJldDsKPiArCj4gKyAgICAgICBpZiAoaW50ZWxf ZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRlbF9kcCkpIHsKPiArICAgICAgICAg ICAgICAgcmV0ID0gaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihp bnRlbF9kcCk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIHRydWU7Cj4gKyAgICAgICB9Cj4gKyAgICAgICByZXR1cm4gZmFsc2U7Cj4g IH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGNhNTFlMWEuLjViOTdhN2Q0IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTE2MCw2ICsxMTYwLDggQEAgdm9p ZCBpbnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpOwo+ICB2b2lkIGludGVsX2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsIGJvb2wgc3RhdGUpOwo+ICB1aW50MzJfdCBkZGlfc2lnbmFsX2xldmVscyhzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiArYm9vbCBpbnRlbF9kZGlfbGlua190cmFpbihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgbWF4X2xpbmtfcmF0ZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ4X3QgbWF4X2xhbmVfY291bnQsIGJvb2wgbGlua19tc3QpOwo+ICBz dHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgY2xvY2spOwo+ICB1bnNpZ25lZCBpbnQgaW50ZWxfZmJfYWxpZ25f aGVpZ2h0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gQEAgLTEzODEsNyArMTM4Myw3IEBAIGJv b2wgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsCj4gIHZvaWQgaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmtf cmF0ZSwgdWludDhfdCBsYW5lX2NvdW50LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgbGlua19tc3QpOwo+IC12b2lkIGludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCk7Cj4gK2Jvb2wgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiAgdm9pZCBpbnRlbF9kcF9zdG9wX2xpbmtfdHJh aW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gIHZvaWQgaW50ZWxfZHBfc2lua19kcG1z KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBtb2RlKTsKPiAgdm9pZCBpbnRlbF9kcF9l bmNvZGVyX3Jlc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gQEAgLTE0MDMsNiAr MTQwNSw4IEBAIHZvaWQgaW50ZWxfZHBfYWRkX3Byb3BlcnRpZXMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvCj4gIHZvaWQgaW50ZWxfZHBfbXN0X3N1 c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxfZHBfbXN0X3Jlc3Vt ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgaW50IGludGVsX2RwX21heF9saW5rX3JhdGUo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gK2ludCBpbnRlbF9kcF9saW5rX3JhdGVfaW5k ZXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50ICpjb21tb25fcmF0ZXMsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGlua19yYXRlKTsKPiAgaW50IGludGVsX2RwX3Jh dGVfc2VsZWN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCByYXRlKTsKPiAgdm9pZCBp bnRlbF9kcF9ob3RfcGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Cj4g IHZvaWQgaW50ZWxfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7Cj4gLS0KPiAxLjkuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgoKCi0tIApSb2RyaWdvIFZpdmkKQmxvZzogaHR0cDov L2Jsb2cudml2aS5lbmcuYnIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==