From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH 11/14] drm/i915: Fallback to lower link rate and lane count during link training Date: Tue, 6 Sep 2016 10:54:14 -0700 Message-ID: <20160906175413.GB3622@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> <20160902124902.d4hmedtqgqgd47oj@boom> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1FE506E06E for ; Tue, 6 Sep 2016 17:54:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20160902124902.d4hmedtqgqgd47oj@boom> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBTZXAgMDIsIDIwMTYgYXQgMDM6NDk6MDJQTSArMDMwMCwgRGF2aWQgV2VpbmVoYWxs IHdyb3RlOgo+IE9uIFRodSwgU2VwIDAxLCAyMDE2IGF0IDAzOjA4OjE2UE0gLTA3MDAsIE1hbmFz aSBOYXZhcmUgd3JvdGU6Cj4gPiBBY2NvcmRpbmcgdG8gdGhlIERpc3BsYXlQb3J0IFNwZWMsIGlu IGNhc2Ugb2YgQ2xvY2sgUmVjb3ZlcnkgZmFpbHVyZQo+ID4gdGhlIGxpbmsgdHJhaW5pbmcgc2Vx dWVuY2Ugc2hvdWxkIGZhbGwgYmFjayB0byB0aGUgbG93ZXIgbGluayByYXRlCj4gPiBmb2xsb3dl ZCBieSBsb3dlciBsYW5lIGNvdW50IHVudGlsIENSIHN1Y2NlZWRzLgo+ID4gT24gQ1Igc3VjY2Vz cywgdGhlIHNlcXVlbmNlIHByb2NlZWRzIHdpdGggQ2hhbm5lbCBFUS4KPiA+IEluIGNhc2Ugb2Yg Q2hhbm5lbCBFUSBmYWlsdXJlcywgaXQgc2hvdWxkIGZhbGxiYWNrIHRvCj4gPiBsb3dlciBsaW5r IHJhdGUgYW5kIGxhbmUgY291bnQgYW5kIHN0YXJ0IHRoZSBDUiBwaGFzZSBhZ2Fpbi4KPiA+IAo+ ID4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNv bT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICAg ICAgICB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8ICAxMiArKy0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgICAgfCAgIDQgKy0KPiA+ICAzIGZpbGVz IGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+IGluZGV4IDY3YTZhMGIuLjc4ZDY2ODcgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+IEBAIC0xNjM0LDI5ICsxNjM0LDUwIEBAIHZv aWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g PiAgCX0KPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVf ZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiArc3RhdGljIHZvaWQgaW50ZWxf ZGRpX3ByZV9lbmFibGVfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAkJ CQkgICAgaW50IGxpbmtfcmF0ZSwgdWludDMyX3QgbGFuZV9jb3VudCwKPiA+IC0JCQkJICAgIHN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLAo+ID4gLQkJCQkgICAgYm9vbCBsaW5rX21zdCkK PiA+ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsKQo+ID4gIHsKPiA+ICAJ c3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFz ZSk7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwo+ID4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5j b2Rlcl9wb3J0KGVuY29kZXIpOwo+ID4gIAo+ID4gIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMo aW50ZWxfZHAsIGxpbmtfcmF0ZSwgbGFuZV9jb3VudCwKPiA+IC0JCQkJIGxpbmtfbXN0KTsKPiA+ IC0JaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKPiA+IC0JCWludGVsX2Vk cF9wYW5lbF9vbihpbnRlbF9kcCk7Cj4gPiArCQkJCSBmYWxzZSk7Cj4gPiArCj4gPiArCWludGVs X2VkcF9wYW5lbF9vbihpbnRlbF9kcCk7Cj4gPiAgCj4gPiAgCWludGVsX2RkaV9jbGtfc2VsZWN0 KGVuY29kZXIsIHBsbCk7Cj4gPiAgCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rl cik7Cj4gPiAgCWludGVsX2RkaV9pbml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7Cj4gPiAgCWludGVs X2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gPiAgCWludGVsX2Rw X3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ID4gLQlpZiAocG9ydCAhPSBQT1JUX0EgfHwg SU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ID4gKwlpZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5U RUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KQo+ID4gIAkJaW50ZWxfZHBfc3RvcF9saW5rX3Ry YWluKGludGVsX2RwKTsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIHZvaWQgaW50ZWxfZGRpX3By ZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJCSAgICBp bnQgbGlua19yYXRlLCB1aW50MzJfdCBsYW5lX2NvdW50LAo+ID4gKwkJCQkgICAgc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gPiArCQkJCSAgICBib29sIGxpbmtfbXN0KQo+ID4gK3sK PiA+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rl ci0+YmFzZSk7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29u ZmlnIHRtcF9wbGxfY29uZmlnOwo+ID4gKwo+ID4gKwkvKiBEaXNhYmxlIHRoZSBQTEwgYW5kIG9i dGFpbiB0aGUgUExMIGZvciBMaW5rIFRyYWluaW5nCj4gPiArCSAqIHRoYXQgc3RhcnRzIHdpdGgg aGlnaGVzdCBsaW5rIHJhdGUgYW5kIGxhbmUgY291bnQuCj4gPiArCSAqLwo+ID4gKwl0bXBfcGxs X2NvbmZpZyA9IHBsbC0+Y29uZmlnOwo+ID4gKwlwbGwtPmZ1bmNzLmRpc2FibGUoZGV2X3ByaXYs IHBsbCk7Cj4gPiArCXBsbC0+Y29uZmlnLmNydGNfbWFzayA9IDA7Cj4gPiArCj4gPiArCS8qIElm IExpbmsgVHJhaW5pbmcgZmFpbHMsIHNlbmQgYSB1ZXZlbnQgdG8gZ2VuZXJhdGUgYSBob3RwbHVn ICovCj4gPiArCWlmICghKGludGVsX2RkaV9saW5rX3RyYWluKGludGVsX2RwLCBsaW5rX3JhdGUs IGxhbmVfY291bnQsIGxpbmtfbXN0KSkpCj4gPiArCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2 ZW50KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ICsJcGxsLT5jb25maWcgPSB0bXBfcGxsX2NvbmZp ZzsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQkJICAgICAgYm9vbCBoYXNf aGRtaV9zaW5rLAo+ID4gIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSwKPiA+IEBAIC0xNjkwLDIwICsxNzExLDI2IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rk aV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ID4gIAlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7Cj4g PiAgCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiA+ICAKPiA+IC0JaWYgKHR5cGUg PT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+ID4gKwlp ZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKQo+ID4gKwkJaW50ZWxfZGRpX3ByZV9lbmFibGVf ZWRwKGludGVsX2VuY29kZXIsCj4gPiArCQkJCQljcnRjLT5jb25maWctPnBvcnRfY2xvY2ssCj4g PiArCQkJCQljcnRjLT5jb25maWctPmxhbmVfY291bnQsCj4gPiArCQkJCQljcnRjLT5jb25maWct PnNoYXJlZF9kcGxsKTsKPiA+ICsKPiA+ICsJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQKQo+ ID4gIAkJaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoaW50ZWxfZW5jb2RlciwKPiA+ICAJCQkJCWNy dGMtPmNvbmZpZy0+cG9ydF9jbG9jaywKPiA+ICAJCQkJCWNydGMtPmNvbmZpZy0+bGFuZV9jb3Vu dCwKPiA+ICAJCQkJCWNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwsCj4gPiAgCQkJCQlpbnRlbF9j cnRjX2hhc190eXBlKGNydGMtPmNvbmZpZywKPiA+ICAJCQkJCQkJICAgIElOVEVMX09VVFBVVF9E UF9NU1QpKTsKPiA+IC0JfQo+ID4gLQlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+ ID4gKwo+ID4gKwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkKPiA+ICAJCWludGVsX2Rk aV9wcmVfZW5hYmxlX2hkbWkoaW50ZWxfZW5jb2RlciwKPiA+ICAJCQkJCSAgY3J0Yy0+Y29uZmln LT5oYXNfaGRtaV9zaW5rLAo+ID4gIAkJCQkJICAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUsCj4gPiAgCQkJCQkgIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwpOwo+ID4gLQl9Cj4g PiArCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUo c3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gPiBAQCAtMjQzMSw2ICsyNDU4 LDY2IEBAIGludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs IGludCBjbG9jaykKPiA+ICAJcmV0dXJuIHBsbDsKPiA+ICB9Cj4gPiAgCj4gPiArYm9vbAo+ID4g K2ludGVsX2RkaV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBtYXhf bGlua19yYXRlLAo+ID4gKwkJICAgIHVpbnQ4X3QgbWF4X2xhbmVfY291bnQsIGJvb2wgbGlua19t c3QpCj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBpbnRl bF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiArCXN0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqcGxsOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmln IHRtcF9wbGxfY29uZmlnOwo+ID4gKwlpbnQgbGlua19yYXRlOwo+ID4gKwl1aW50OF90IGxhbmVf Y291bnQ7Cj4gPiArCWJvb2wgbGlua19yYXRlX25vdF9mb3VuZCA9IHRydWU7Cj4gPiArCWJvb2wg cmV0ID0gZmFsc2U7Cj4gPiArCj4gPiArCWZvciAobGFuZV9jb3VudCA9IG1heF9sYW5lX2NvdW50 OyBsYW5lX2NvdW50ID4gMDsgbGFuZV9jb3VudCA+Pj0gMSkgewo+ID4gKwo+ID4gKwkJbGlua19y YXRlID0gbWF4X2xpbmtfcmF0ZTsKPiA+ICsJCXdoaWxlIChsaW5rX3JhdGVfbm90X2ZvdW5kKSB7 Cj4gPiArCQkJcGxsID0gaW50ZWxfZGRpX2dldF9saW5rX2RwbGwoaW50ZWxfZHAsIGxpbmtfcmF0 ZSk7Cj4gPiArCQkJaWYgKHBsbCA9PSBOVUxMKSB7Cj4gPiArCQkJCURSTV9FUlJPUigiQ291bGQg bm90IGZpbmQgRFBMTCBmb3IgbGluayAiCj4gPiArCQkJCQkgICJ0cmFpbmluZy5cbiIpOwo+ID4g KwkJCQlyZXR1cm4gZmFsc2U7Cj4gPiArCQkJfQo+ID4gKwkJCXRtcF9wbGxfY29uZmlnID0gcGxs LT5jb25maWc7Cj4gPiArCQkJcGxsLT5mdW5jcy5lbmFibGUoZGV2X3ByaXYsIHBsbCk7Cj4gPiAr Cj4gPiArCQkJaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBsaW5rX3JhdGUsCj4g PiArCQkJCQkJIGxhbmVfY291bnQsIGxpbmtfbXN0KTsKPiA+ICsKPiA+ICsJCQlpbnRlbF9kZGlf Y2xrX3NlbGVjdChlbmNvZGVyLCBwbGwpOwo+ID4gKwkJCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1 ZmZlcnMoZW5jb2Rlcik7Cj4gPiArCQkJaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZyhlbmNvZGVy KTsKPiAKPiBEbyB5b3UgcmVhbGx5IG5lZWQgdG8gcnVuIHRoZXNlIHR3byBmb3IgZXZlcnkgbGlu ayByYXRlPwoKQWNjb3JkaW5nIHRvIEJzcGVjIG9uIGxpbmsgdHJhaW5pbmcgZmFpbHVyZSB3aGVu IHdlIGNoYW5nZSB0aGUgZnJlcXVlbmN5LAppdCBzaG91bGQgZm9sbG93IHRoZSBlbmFibGUgc2Vx dWVuY2Ugc3RlcHMgdG8gZW5hYmxlIFBMTCBhbmQgcG9ydCB3aGljaAppbmNsdWRlIGNvbmZpZ3Vy aW5nIERESV9CVUZfVFJBTlMgYW5kIERESV9CVUZfQ1RMLgoKCj4gCj4gPiArCQkJaW50ZWxfZHBf c2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09OKTsKPiA+ICsJCQlyZXQgPSBpbnRl bF9kcF9zdGFydF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+ICsJCQlpZiAocmV0KQo+ID4gKwkJ CQlicmVhazsKPiAKPiBXaGVyZSBkbyB5b3Ugc3RvcCBsaW5rIHRyYWluaW5nIG9uIGZhaWx1cmU/ IFBlcmhhcHM6Cj4gCj4gcmV0ID0gaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7 Cj4gaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPiBpZiAocmV0KQo+IAlicmVh azsKPiAKPiBhbmQgcmVtb3ZlIHRoZSBzdG9wIG9uIHRoZSBzdWNjZXNzIHBhdGg/Cj4KCkkgd2ls bCBtYWtlIHRoaXMgY2hhbmdlIGFuZCByZXN1Ym1pdC4KCiAKPiA+ICsKPiA+ICsJCQkvKiBEaXNh YmxlIHBvcnQgZm9sbG93ZWQgYnkgUExMIGZvciBuZXh0IHJldHJ5L2NsZWFuIHVwICovCj4gPiAr CQkJaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZShlbmNvZGVyLCBOVUxMLCBOVUxMKTsKPiA+ICsJCQlw bGwtPmZ1bmNzLmRpc2FibGUoZGV2X3ByaXYsIHBsbCk7Cj4gPiArCQkJaWYgKGxpbmtfcmF0ZSA9 PSA1NDAwMDApCj4gPiArCQkJCWxpbmtfcmF0ZSA9IDI3MDAwMDsKPiA+ICsJCQllbHNlIGlmIChs aW5rX3JhdGUgPT0gMjcwMDAwKQo+ID4gKwkJCQlsaW5rX3JhdGUgPSAxNjIwMDA7Cj4gPiArCQkJ ZWxzZQo+ID4gKwkJCQlsaW5rX3JhdGVfbm90X2ZvdW5kID0gZmFsc2U7Cj4gPiArCQl9Cj4gPiAr CQlpZiAocmV0KSB7Cj4gPiArCQkJRFJNX0RFQlVHX0tNUygiTGluayBUcmFpbmluZyBzdWNjZXNz ZnVsXG4iKTsKPiA+ICsJCQlpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ID4g KwkJCWJyZWFrOwo+ID4gKwkJfQo+ID4gKwl9Cj4gPiArCWlmICghbGFuZV9jb3VudCkKPiA+ICsJ CURSTV9FUlJPUigiTGluayBUcmFpbmluZyBGYWlsZWRcbiIpOwo+ID4gKwo+ID4gKwlyZXR1cm4g cmV0Owo+ID4gK30KPiA+ICsKPiA+ICB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+ID4gaW5kZXggMDdmMDE1OS4uMGRmNDllOCAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5p bmcuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmlu Zy5jCj4gPiBAQCAtMzA5LDkgKzMwOSwxNSBAQCB2b2lkIGludGVsX2RwX3N0b3BfbGlua190cmFp bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gIAkJCQlEUF9UUkFJTklOR19QQVRURVJO X0RJU0FCTEUpOwo+ID4gIH0KPiA+ICAKPiA+IC12b2lkCj4gPiArYm9vbAo+ID4gIGludGVsX2Rw X3N0YXJ0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICB7Cj4gPiAt CWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApOwo+ID4gLQlp bnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKGludGVsX2RwKTsKPiA+ ICsJYm9vbCByZXQ7Cj4gPiArCj4gPiArCWlmIChpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2Nr X3JlY292ZXJ5KGludGVsX2RwKSkgewo+ID4gKwkJcmV0ID0gaW50ZWxfZHBfbGlua190cmFpbmlu Z19jaGFubmVsX2VxdWFsaXphdGlvbihpbnRlbF9kcCk7Cj4gPiArCQlpZiAocmV0KQo+ID4gKwkJ CXJldHVybiB0cnVlOwo+ID4gKwl9Cj4gPiArCXJldHVybiBmYWxzZTsKPiA+ICB9Cj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZTViYzk3Ni4uMzQyYTJkNSAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTExNjAsNiArMTE2MCw4IEBAIHZvaWQg aW50ZWxfZGRpX2Nsb2NrX2dldChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJ CQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICB2b2lkIGludGVs X2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgc3Rh dGUpOwo+ID4gIHVpbnQzMl90IGRkaV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApOwo+ID4gK2Jvb2wgaW50ZWxfZGRpX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgaW50IG1heF9saW5rX3JhdGUsCj4gPiArCQkJIHVpbnQ4X3QgbWF4X2xhbmVfY291 bnQsIGJvb2wgbGlua19tc3QpOwo+ID4gIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqaW50ZWxf ZGRpX2dldF9saW5rX2RwbGwoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+ICAJCQkJCQkg IGludCBjbG9jayk7Cj4gPiAgdW5zaWduZWQgaW50IGludGVsX2ZiX2FsaWduX2hlaWdodChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gQEAgLTEzODEsNyArMTM4Myw3IEBAIGJvb2wgaW50ZWxf ZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQsCj4gPiAgdm9pZCBpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwKPiA+ICAJCQkgICAgICBpbnQgbGlua19yYXRlLCB1aW50OF90IGxhbmVfY291bnQs Cj4gPiAgCQkJICAgICAgYm9vbCBsaW5rX21zdCk7Cj4gPiAtdm9pZCBpbnRlbF9kcF9zdGFydF9s aW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gK2Jvb2wgaW50ZWxfZHBf c3RhcnRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ICB2b2lkIGlu dGVsX2RwX3N0b3BfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ICB2 b2lkIGludGVsX2RwX3NpbmtfZHBtcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgbW9k ZSk7Cj4gPiAgdm9pZCBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2Rlcik7Cj4gPiAtLSAKPiA+IDEuOS4xCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK