From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 11/14] drm/i915: Fallback to lower link rate and lane count during link training Date: Fri, 02 Sep 2016 16:00:20 +0300 Message-ID: <1472821220.25011.40.camel@intel.com> References: <1472767699-31211-1-git-send-email-manasi.d.navare@intel.com> <1472767699-31211-12-git-send-email-manasi.d.navare@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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C2856E021 for ; Fri, 2 Sep 2016 13:06:56 +0000 (UTC) In-Reply-To: <1472767699-31211-12-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE2LTA5LTAxIGF0IDE1OjA4IC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ IEFjY29yZGluZyB0byB0aGUgRGlzcGxheVBvcnQgU3BlYywgaW4gY2FzZSBvZiBDbG9jayBSZWNv dmVyeSBmYWlsdXJlCj4gdGhlIGxpbmsgdHJhaW5pbmcgc2VxdWVuY2Ugc2hvdWxkIGZhbGwgYmFj ayB0byB0aGUgbG93ZXIgbGluayByYXRlCj4gZm9sbG93ZWQgYnkgbG93ZXIgbGFuZSBjb3VudCB1 bnRpbCBDUiBzdWNjZWVkcy4KPiBPbiBDUiBzdWNjZXNzLCB0aGUgc2VxdWVuY2UgcHJvY2VlZHMg d2l0aCBDaGFubmVsIEVRLgo+IEluIGNhc2Ugb2YgQ2hhbm5lbCBFUSBmYWlsdXJlcywgaXQgc2hv dWxkIGZhbGxiYWNrIHRvCj4gbG93ZXIgbGluayByYXRlIGFuZCBsYW5lIGNvdW50IGFuZCBzdGFy dCB0aGUgQ1IgcGhhc2UgYWdhaW4uCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8 bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHwgMTA5Cj4gKysrKysrKysr KysrKysrKysrKysrKystLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtf dHJhaW5pbmcuYyB8wqDCoDEyICsrLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDQgKy0KPiDCoDMgZmlsZXMgY2hh bmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA2N2E2YTBiLi43OGQ2Njg3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTYzNCwyOSArMTYzNCw1MCBAQCB2b2lkIGludGVsX2RkaV9j bGtfc2VsZWN0KHN0cnVjdAo+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gwqAJfQo+IMKgfQo+ IMKgCj4gLXN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICtzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9lZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gwqAJCQkJwqDCoMKgwqBpbnQgbGlua19y YXRlLCB1aW50MzJfdAo+IGxhbmVfY291bnQsCj4gLQkJCQnCoMKgwqDCoHN0cnVjdCBpbnRlbF9z aGFyZWRfZHBsbCAqcGxsLAo+IC0JCQkJwqDCoMKgwqBib29sIGxpbmtfbXN0KQo+ICsJCQkJwqDC oMKgwqBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCkKPiDCoHsKPiDCoAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKPiDCoAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItCj4gPmJh c2UuZGV2KTsKPiDCoAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0 KGVuY29kZXIpOwo+IMKgCj4gwqAJaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBs aW5rX3JhdGUsIGxhbmVfY291bnQsCj4gLQkJCQnCoGxpbmtfbXN0KTsKPiAtCWlmIChlbmNvZGVy LT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCj4gLQkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVs X2RwKTsKPiArCQkJCcKgZmFsc2UpOwo+ICsKPiArCWludGVsX2VkcF9wYW5lbF9vbihpbnRlbF9k cCk7Cj4gwqAKPiDCoAlpbnRlbF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBwbGwpOwo+IMKgCWlu dGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gwqAJaW50ZWxfZGRpX2luaXRf ZHBfYnVmX3JlZyhlbmNvZGVyKTsKPiDCoAlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERS TV9NT0RFX0RQTVNfT04pOwo+IMKgCWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHAp Owo+IC0JaWYgKHBvcnQgIT0gUE9SVF9BIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAr CWlmIChwb3J0ICE9IFBPUlRfQSB8fCBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDkpCj4g wqAJCWludGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gwqB9Cj4gwqAKPiArc3Rh dGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gKwkJCQnCoMKgwqDCoGludCBsaW5rX3JhdGUsIHVpbnQzMl90Cj4gbGFuZV9jb3Vu dCwKPiArCQkJCcKgwqDCoMKgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gKwkJCQnC oMKgwqDCoGJvb2wgbGlua19tc3QpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLQo+ID5iYXNlLmRldik7Cj4gKwlzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnIHRtcF9wbGxfY29uZmlnOwo+ICsKPiArCS8qIERp c2FibGUgdGhlIFBMTCBhbmQgb2J0YWluIHRoZSBQTEwgZm9yIExpbmsgVHJhaW5pbmcKPiArCcKg KiB0aGF0IHN0YXJ0cyB3aXRoIGhpZ2hlc3QgbGluayByYXRlIGFuZCBsYW5lIGNvdW50Lgo+ICsJ wqAqLwo+ICsJdG1wX3BsbF9jb25maWcgPSBwbGwtPmNvbmZpZzsKPiArCXBsbC0+ZnVuY3MuZGlz YWJsZShkZXZfcHJpdiwgcGxsKTsKPiArCXBsbC0+Y29uZmlnLmNydGNfbWFzayA9IDA7Cj4gKwo+ ICsJLyogSWYgTGluayBUcmFpbmluZyBmYWlscywgc2VuZCBhIHVldmVudCB0byBnZW5lcmF0ZSBh Cj4gaG90cGx1ZyAqLwo+ICsJaWYgKCEoaW50ZWxfZGRpX2xpbmtfdHJhaW4oaW50ZWxfZHAsIGxp bmtfcmF0ZSwgbGFuZV9jb3VudCwKPiBsaW5rX21zdCkpKQo+ICsJCWRybV9rbXNfaGVscGVyX2hv dHBsdWdfZXZlbnQoZW5jb2Rlci0+YmFzZS5kZXYpOwpBdCBmaXJzdCBnbGFuY2UsIHRoaXMgc2Vl bXMgdGhhdCBob3RwbHVnIGV2ZW50cyBhcmUgZ2VuZXJhdGVkIGV2ZXJ5CnRpbWUgd2hlbiBsaW5r IHRyYWluaW5nIGZhaWxzLiBJcyB0aGVyZSBhIHdheSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mCmxp bmsgdHJhaW5pbmcgdHJpZXMgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAgZ2VuZXJhdGluZyBob3Rw bHVnIGV2ZW50cwpvdmVyIGFuZCBvdmVyIGFnYWluPwoKPiArCXBsbC0+Y29uZmlnID0gdG1wX3Bs bF9jb25maWc7Cj4gK30KPiArCj4gwqBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9o ZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IMKgCQkJCcKgwqDCoMKgwqDCoGJv b2wgaGFzX2hkbWlfc2luaywKPiDCoAkJCQnCoMKgwqDCoMKgwqBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZQo+ICphZGp1c3RlZF9tb2RlLAo+IEBAIC0xNjkwLDIwICsxNzExLDI2IEBAIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdAo+IGludGVsX2VuY29kZXIgKmludGVsX2Vu Y29kZXIsCj4gwqAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29k ZXItPmNydGMpOwo+IMKgCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiDCoAo+IC0J aWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkg ewo+ICsJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKPiArCQlpbnRlbF9kZGlfcHJlX2Vu YWJsZV9lZHAoaW50ZWxfZW5jb2RlciwKPiArCQkJCQljcnRjLT5jb25maWctPnBvcnRfY2xvY2ss Cj4gKwkJCQkJY3J0Yy0+Y29uZmlnLT5sYW5lX2NvdW50LAo+ICsJCQkJCWNydGMtPmNvbmZpZy0+ c2hhcmVkX2RwbGwpOwo+ICsKPiArCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9EUCkKPiDCoAkJ aW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoaW50ZWxfZW5jb2RlciwKPiDCoAkJCQkJY3J0Yy0+Y29u ZmlnLT5wb3J0X2Nsb2NrLAo+IMKgCQkJCQljcnRjLT5jb25maWctPmxhbmVfY291bnQsCj4gwqAJ CQkJCWNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwsCj4gwqAJCQkJCWludGVsX2NydGNfaGFzX3R5 cGUoY3J0Yy0KPiA+Y29uZmlnLAo+IMKgCQkJCQkJCcKgwqDCoMKgSU5URUxfT1UKPiBUUFVUX0RQ X01TVCkpOwo+IC0JfQo+IC0JaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiArCj4g KwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkKPiDCoAkJaW50ZWxfZGRpX3ByZV9lbmFi bGVfaGRtaShpbnRlbF9lbmNvZGVyLAo+IMKgCQkJCQnCoMKgY3J0Yy0+Y29uZmlnLQo+ID5oYXNf aGRtaV9zaW5rLAo+IMKgCQkJCQnCoMKgJmNydGMtPmNvbmZpZy0KPiA+YmFzZS5hZGp1c3RlZF9t b2RlLAo+IMKgCQkJCQnCoMKgY3J0Yy0+Y29uZmlnLQo+ID5zaGFyZWRfZHBsbCk7Cj4gLQl9Cj4g Kwo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyCj4gKmludGVsX2VuY29kZXIsCj4gQEAgLTI0MzEsNiArMjQ1OCw2NiBA QCBpbnRlbF9kZGlfZ2V0X2xpbmtfZHBsbChzdHJ1Y3QgaW50ZWxfZHAKPiAqaW50ZWxfZHAsIGlu dCBjbG9jaykKPiDCoAlyZXR1cm4gcGxsOwo+IMKgfQo+IMKgCj4gK2Jvb2wKPiAraW50ZWxfZGRp X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IG1heF9saW5rX3JhdGUs Cj4gKwkJwqDCoMKgwqB1aW50OF90IG1heF9sYW5lX2NvdW50LCBib29sIGxpbmtfbXN0KQo+ICt7 Cj4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBpbnRlbF9kcC0KPiA+YXR0 YWNoZWRfY29ubmVjdG9yOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBjb25u ZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItCj4gPmJhc2UuZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bCAqcGxsOwo+ICsJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyB0bXBfcGxsX2NvbmZp ZzsKPiArCWludCBsaW5rX3JhdGU7Cj4gKwl1aW50OF90IGxhbmVfY291bnQ7Cj4gKwlib29sIGxp bmtfcmF0ZV9ub3RfZm91bmQgPSB0cnVlOwo+ICsJYm9vbCByZXQgPSBmYWxzZTsKPiArCj4gKwlm b3IgKGxhbmVfY291bnQgPSBtYXhfbGFuZV9jb3VudDsgbGFuZV9jb3VudCA+IDA7IGxhbmVfY291 bnQKPiA+Pj0gMSkgewo+ICsKPiArCQlsaW5rX3JhdGUgPSBtYXhfbGlua19yYXRlOwo+ICsJCXdo aWxlIChsaW5rX3JhdGVfbm90X2ZvdW5kKSB7CkF0IGZpcnN0IGdsYW5jZSwgSSByZWFkIHRoaXMg YXMgd2UgaGF2ZW4ndCBmb3VuZCB0aGUgbGluayByYXRlIHlldCBhbmQKc3RhcnQgZnJvbSAwLiBU aGlzIGlzIG5vdCB0aGUgY2FzZSBoZXJlIGFzIHdlIGhhdmUgZm91bmQgdGhlIGxpbmsgcmF0ZQp3 aGljaCBpcyB0aGUgbWF4aW11bSBsaW5rIHJhdGUgYXZhaWxhYmxlLiBBcyB3ZSBpdGVyYXRlIGxp bmsgcmF0ZXMgZnJvbQptYXggdG8gbWluIHNob3VsZCB3ZSBzd2l0Y2ggdGhlIGxvZ2ljIGhlcmUg dG9vPyBJIG1lYW4gc29tZXRoaW5nIGxpa2UKdGhpcwoKYm9vbCBsaW5rX3JhdGVfbm90X2ZvdW5k ID0gZmFsc2U7Ci4uLgp3aGlsZSAoIWxpbmtfcmF0ZV9ub3RfZm91bmQpIHsKCS4uLgp9CgpUaGUg b3RoZXIgd2F5IG9mIGRvaW5nIHRoaXMgaXMgbm90IHRvIHVzZSB0aGUgYm9vbGVhbgpsaW5rX3Jh dGVfbm90X2ZvdW5kIHBhcmFtZXRlciBhdCBhbGwgYnV0IHV0aWxpemUgdGhlIGxpbmtfcmF0ZQpw YXJhbWV0ZXIgb25seSBhbmQgaXRlcmF0ZSBpbiBhIGxvb3AgYXMgbG9uZyBhcyB0aGUgbGlua19y YXRlIGV4Y2VlZHMKemVybyB2YWx1ZS4gQW55d2F5LCB0aGlzIHdhcyBqdXN0IGEgdGhvdWdodCBh bmQgaXMgbW9yZSByZWxhdGVkIG9uCnBlcnNvbmFsIHByZWZlcmVuY2UgdGhhbiB0aGUgZnVuY3Rp b25hbGl0eS4gwqAKCj4gKwkJCXBsbCA9IGludGVsX2RkaV9nZXRfbGlua19kcGxsKGludGVsX2Rw LAo+IGxpbmtfcmF0ZSk7Cj4gKwkJCWlmIChwbGwgPT0gTlVMTCkgewo+ICsJCQkJRFJNX0VSUk9S KCJDb3VsZCBub3QgZmluZCBEUExMIGZvcgo+IGxpbmsgIgo+ICsJCQkJCcKgwqAidHJhaW5pbmcu XG4iKTsKPiArCQkJCXJldHVybiBmYWxzZTsKPiArCQkJfQo+ICsJCQl0bXBfcGxsX2NvbmZpZyA9 IHBsbC0+Y29uZmlnOwo+ICsJCQlwbGwtPmZ1bmNzLmVuYWJsZShkZXZfcHJpdiwgcGxsKTsKPiAr Cj4gKwkJCWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwKPiBsaW5rX3JhdGUsCj4g KwkJCQkJCcKgbGFuZV9jb3VudCwKPiBsaW5rX21zdCk7Cj4gKwo+ICsJCQlpbnRlbF9kZGlfY2xr X3NlbGVjdChlbmNvZGVyLCBwbGwpOwo+ICsJCQlpbnRlbF9wcmVwYXJlX2RwX2RkaV9idWZmZXJz KGVuY29kZXIpOwpJdCBzaG91bGQgYmUgc2FmZSB0byBtb3ZlIHRoaXMgZGRpIGJ1ZmZlciBpbml0 aWFsaXphdGlvbiBvdXRzaWRlIHRoZQpsb29wLgoKPiArCQkJaW50ZWxfZGRpX2luaXRfZHBfYnVm X3JlZyhlbmNvZGVyKTsKPiArCQkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLAo+IERSTV9N T0RFX0RQTVNfT04pOwo+ICsJCQlyZXQgPSBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVs X2RwKTsKPiArCQkJaWYgKHJldCkKPiArCQkJCWJyZWFrOwo+ICsKPiArCQkJLyogRGlzYWJsZSBw b3J0IGZvbGxvd2VkIGJ5IFBMTCBmb3IgbmV4dAo+IHJldHJ5L2NsZWFuIHVwICovCj4gKwkJCWlu dGVsX2RkaV9wb3N0X2Rpc2FibGUoZW5jb2RlciwgTlVMTCwgTlVMTCk7Cj4gKwkJCXBsbC0+ZnVu Y3MuZGlzYWJsZShkZXZfcHJpdiwgcGxsKTsKPiArCQkJaWYgKGxpbmtfcmF0ZSA9PSA1NDAwMDAp Cj4gKwkJCQlsaW5rX3JhdGUgPSAyNzAwMDA7Cj4gKwkJCWVsc2UgaWYgKGxpbmtfcmF0ZSA9PSAy NzAwMDApCj4gKwkJCQlsaW5rX3JhdGUgPSAxNjIwMDA7Cj4gKwkJCWVsc2UKPiArCQkJCWxpbmtf cmF0ZV9ub3RfZm91bmQgPSBmYWxzZTsKPiArCQl9Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlEUk1f REVCVUdfS01TKCJMaW5rIFRyYWluaW5nIHN1Y2Nlc3NmdWxcbiIpOwo+ICsJCQlpbnRlbF9kcF9z dG9wX2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICsJCQlicmVhazsKPiArCQl9Cj4gKwl9Cj4gKwlp ZiAoIWxhbmVfY291bnQpCj4gKwkJRFJNX0VSUk9SKCJMaW5rIFRyYWluaW5nIEZhaWxlZFxuIik7 CkluIGNhc2Ugb2YgZmFpbHVyZSwgSSB0aGluayB3ZSBzaG91bGQgc3RpbGwgc3RvcCB0aGUgbGlu ayB0cmFpbmluZyBhbmQKY2FsbCAnaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKCknCgo+ICsKPiAr CXJldHVybiByZXQ7Cj4gK30KPiArCj4gwqB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KQo+IMKgewo+IMKgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKPiBpbmRleCAwN2YwMTU5Li4wZGY0OWU4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+ IEBAIC0zMDksOSArMzA5LDE1IEBAIHZvaWQgaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKHN0cnVj dCBpbnRlbF9kcAo+ICppbnRlbF9kcCkKPiDCoAkJCQlEUF9UUkFJTklOR19QQVRURVJOX0RJU0FC TEUpOwo+IMKgfQo+IMKgCj4gLXZvaWQKPiArYm9vbAo+IMKgaW50ZWxfZHBfc3RhcnRfbGlua190 cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+IMKgewo+IC0JaW50ZWxfZHBfbGlua190 cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRlbF9kcCk7Cj4gLQlpbnRlbF9kcF9saW5rX3RyYWlu aW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKGludGVsX2RwKTsKPiArCWJvb2wgcmV0Owo+ICsKPiAr CWlmIChpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKSkgewo+ ICsJCXJldCA9Cj4gaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihp bnRlbF9kcCk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHRydWU7Cj4gKwl9Cj4gKwlyZXR1 cm4gZmFsc2U7CnllcCwgdGhpcyBpcyB3aGF0IEkgaGFkIGluIG1pbmQgd2hlbiBJIHJldmlld2Vk IHRoZSBwcmV2aW91cyBwYXRjaC4KCj4gwqB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IGluZGV4IGU1YmM5NzYuLjM0MmEyZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IEBAIC0xMTYwLDYgKzExNjAsOCBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQoc3RydWN0IGlu dGVsX2VuY29kZXIKPiAqZW5jb2RlciwKPiDCoAkJCcKgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKTsKPiDCoHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbAo+IHN0YXRlKTsKPiDCoHVpbnQzMl90IGRkaV9zaWdu YWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ICtib29sIGludGVsX2RkaV9s aW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludAo+IG1heF9saW5rX3JhdGUs Cj4gKwkJCcKgdWludDhfdCBtYXhfbGFuZV9jb3VudCwgYm9vbCBsaW5rX21zdCk7Cj4gwqBzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBpbnRl bF9kcAo+ICppbnRlbF9kcCwKPiDCoAkJCQkJCcKgwqBpbnQgY2xvY2spOwo+IMKgdW5zaWduZWQg aW50IGludGVsX2ZiX2FsaWduX2hlaWdodChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IEBAIC0x MzgxLDcgKzEzODMsNyBAQCBib29sIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdAo+IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4gwqB2b2lkIGludGVsX2RwX3NldF9s aW5rX3BhcmFtcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+IMKgCQkJwqDCoMKgwqDCoMKg aW50IGxpbmtfcmF0ZSwgdWludDhfdCBsYW5lX2NvdW50LAo+IMKgCQkJwqDCoMKgwqDCoMKgYm9v bCBsaW5rX21zdCk7Cj4gLXZvaWQgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKPiArYm9vbCBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+IMKgdm9pZCBpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4o c3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gwqB2b2lkIGludGVsX2RwX3NpbmtfZHBtcyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgbW9kZSk7Cj4gwqB2b2lkIGludGVsX2RwX2Vu Y29kZXJfcmVzZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKLS0gCk1pa2EgS2Fob2xh IC0gSW50ZWwgT1RDCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK