From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: Re: [PATCH 5/5] drm/i915: Link Rate fallback on Link training failure Date: Tue, 25 Oct 2016 11:00:19 -0700 Message-ID: <20161025180019.GA12673@shiv> References: <1477093543-11622-1-git-send-email-manasi.d.navare@intel.com> <1477093543-11622-6-git-send-email-manasi.d.navare@intel.com> <87r374mxlg.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0CA8C6E551 for ; Tue, 25 Oct 2016 18:01:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87r374mxlg.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjUsIDIwMTYgYXQgMDM6MTc6NDdQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gU2F0LCAyMiBPY3QgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJl QGludGVsLmNvbT4gd3JvdGU6Cj4gPiBJZiBsaW5rIHRyYWluaW5nIGF0IGEgbGluayByYXRlIG9w dGltYWwgZm9yIGEgcGFydGljdWxhcgo+ID4gbW9kZSBmYWlscyBkdXJpbmcgbW9kZXNldCdzIGF0 b21pYyBjb21taXQgcGhhc2UsIHRoZW4gd2UKPiA+IGxldCB0aGUgbW9kZXNldCBjb21wbGV0ZSBh bmQgdGhlbiByZXRyeS4gV2Ugc2F2ZSB0aGUgbGluayByYXRlCj4gPiB2YWx1ZSBhdCB3aGljaCBs aW5rIHRyYWluaW5nIGZhaWxlZCBhbmQgdXNlIGEgbG93ZXIgbGluayByYXRlCj4gPiB0byBwcnVu ZSB0aGUgbW9kZXMuIEl0IHdpbGwgcmVkbyB0aGUgbW9kZXNldCBvbiB0aGUgY3VycmVudCBtb2Rl Cj4gPiBhdCBsb3dlciBsaW5rIHJhdGUgb3IgaWYgdGhlIGN1cnJlbnQgbW9kZSBnZXRzIHBydW5l ZCBkdWUgdG8gbG93ZXIKPiA+IGxpbmsgY29uc3RyYWludHMgdGhlbiwgaXQgd2lsbCBzZW5kIGEg aG90cGx1ZyB1ZXZlbnQgZm9yIHVzZXJzcGFjZQo+ID4gdG8gaGFuZGxlIGl0Lgo+ID4KPiA+IFRo aXMgaXMgYWxzbyByZXF1aXJlZCB0byBwYXNzIERQIENUUyB0ZXN0cyA0LjMuMS4zLCA0LjMuMS40 LAo+ID4gNC4zLjEuNi4KPiA+Cj4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4 LmludGVsLmNvbT4KPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNv bT4KPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5j b20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgICAg ICAgICAgfCAxNSArKysrKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAg ICAgICAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMgfCAxMiArKystLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8ICA2ICsrLQo+ID4g IDQgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiA+Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gaW5kZXggZmIxOGQ2OS4uNDUxNDMzYiAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gQEAgLTE3MTIsNiArMTcxMiw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ID4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVs X2RwKCZlbmNvZGVyLT5iYXNlKTsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiAgCWVudW0gcG9ydCBwb3J0ID0g aW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gPiArCXN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7 Cj4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9y LT5iYXNlOwo+ID4gIAo+ID4gIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGxp bmtfcmF0ZSwgbGFuZV9jb3VudCwKPiA+ICAJCQkJIGxpbmtfbXN0KTsKPiA+IEBAIC0xNzIyLDcg KzE3MjQsMTggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMo ZW5jb2Rlcik7Cj4gPiAgCWludGVsX2RkaV9pbml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7Cj4gPiAg CWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gPiAtCWlu dGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ID4gKwlpZiAoIWludGVsX2RwX3N0 YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApKSB7Cj4gPiArCQlEUk1fRVJST1IoIkxpbmsgVHJhaW5p bmcgZmFpbGVkIGF0IGxpbmsgcmF0ZSA9ICVkLCBsYW5lIGNvdW50ID0gJWRcbiIsCj4gPiArCQkJ ICBsaW5rX3JhdGUsIGxhbmVfY291bnQpOwo+ID4gKwkJaW50ZWxfZHAtPmxpbmtfdHJhaW5fZmFp bGVkID0gdHJ1ZTsKPiA+ICsJCWludGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZF9saW5rX3JhdGUg PSBsaW5rX3JhdGU7Cj4gPiArCQlpbnRlbF9kcC0+bGlua190cmFpbl9mYWlsZWRfbGFuZV9jb3Vu dCA9IGxhbmVfY291bnQ7Cj4gCj4gSSB0aGluayBldmVudHVhbGx5IHlvdSdsbCBuZWVkIHRvIHN0 b3JlIGEgbGlzdCAoYXJyYXkpIG9mIGZhaWxpbmcgbGluawo+IHJhdGUsIGxhbmUgY291bnQgcGFp cnMsIG5vdCBqdXN0IHRoZSBsYXN0IHRoYXQgZmFpbGVkLiBOb3cgeW91IHJlc3RyaWN0Cj4gdGhl IGxpbmsgY29uZmlnIGNvbXB1dGF0aW9uIHRvIG9ubHkgcmVkdWNpbmcgdGhlIGxpbmsgcmF0ZS4g QnV0Cj4gY3VycmVudGx5IChmb3Igd2hhdGV2ZXIgcmVhc29uLCBpdCdzIGZsaXAtZmxvcHBlZCB0 b28gbWFueSB0aW1lcykgd2UKPiBzdGFydCB3aXRoIHdpZGUgJiBzbG93LCBtZWFuaW5nIHRoYXQg aW4gbWFueSBjYXNlcyB3ZSd2ZSBhbHJlYWR5Cj4gZXhoYXVzdGVkIHRoZSBvcHRpb24gdG8gZ28g c2xvd2VyLiBJZiBvcHRpbWFsIGZhaWxzLCBtYXliZSB3ZSBuZWVkIHRvCj4gdHJ5IG5hcnJvdyAm IGZhc3QgaW5zdGVhZC4KClRoZSBEUCBzcGVjIHNwZWNpZmljYWxseSBjYWxscyBvdXQgdGhhdCBs YW5lIGNvdW50IHNob3VsZG4ndCBiZSByZWR1Y2VkCnVudGlsIGFsbCBzcGVlZHMgd2l0aCB0aGUg Y3VycmVudCBsYW5lIGNvbmZpZ3VyYXRpb24gZmFpbC4gIEV2ZW4gaWYKd2Ugc3RhcnQgYXQgYW4g Im9wdGltYWwiIGNvbmZpZ3VyYXRpb24gSSBiZWxpZXZlIHdlIHN0aWxsIG5lZWQgdG8KZm9sbG93 IHRoZSByZWR1Y3Rpb24gcGF0dGVybiB0aGF0IHRoZSBzcGVjIGNhbGxzIG91dC4KCkppbQoKCj4g Cj4gQlIsCj4gSmFuaS4KPiAKPiAKPiA+ICsJCS8qIFNjaGVkdWxlIGEgSG90cGx1ZyBVZXZlbnQg dG8gdXNlcnNwYWNlIHRvIHN0YXJ0IG1vZGVzZXQgKi8KPiA+ICsJCXNjaGVkdWxlX3dvcmsoJmNv bm5lY3Rvci0+aTkxNV9tb2Rlc2V0X3JldHJ5X3dvcmspOwo+ID4gKwl9IGVsc2Ugewo+ID4gKwkJ aW50ZWxfZHAtPmxpbmtfdHJhaW5fZmFpbGVkID0gZmFsc2U7Cj4gPiArCX0KPiA+ICsKPiA+ICAJ aWYgKHBvcnQgIT0gUE9SVF9BIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiA+ICAJCWlu dGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4gPiBpbmRleCBjMTkyZTE4Li41ZDVmNGE3IDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+ID4gQEAgLTMxMyw2ICszMTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2Rw X2xpbmtfcmF0ZV9pbmRleChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gIAlpbnQgdGFy Z2V0X2Nsb2NrID0gbW9kZS0+Y2xvY2s7Cj4gPiAgCWludCBtYXhfcmF0ZSwgbW9kZV9yYXRlLCBt YXhfbGFuZXMsIG1heF9saW5rX2Nsb2NrOwo+ID4gIAlpbnQgbWF4X2RvdGNsazsKPiA+ICsJaW50 IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXSA9IHt9Owo+ID4gIAo+ID4gIAlt YXhfZG90Y2xrID0gaW50ZWxfZHBfZG93bnN0cmVhbV9tYXhfZG90Y2xvY2soaW50ZWxfZHApOwo+ ID4gIAo+ID4gQEAgLTMyNiw4ICszMjcsMjcgQEAgc3RhdGljIGludCBpbnRlbF9kcF9saW5rX3Jh dGVfaW5kZXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+ICAJCXRhcmdldF9jbG9jayA9 IGZpeGVkX21vZGUtPmNsb2NrOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCW1heF9saW5rX2Nsb2NrID0g aW50ZWxfZHBfbWF4X2xpbmtfcmF0ZShpbnRlbF9kcCk7Cj4gPiAtCW1heF9sYW5lcyA9IGludGVs X2RwX21heF9sYW5lX2NvdW50KGludGVsX2RwKTsKPiA+ICsJLyogUHJ1bmUgdGhlIG1vZGVzIGJh c2VkIG9uIHRoZSBsaW5rIHJhdGUgdGhhdCBmYWlsZWQgKi8KPiA+ICsJaWYgKGludGVsX2RwLT5s aW5rX3RyYWluX2ZhaWxlZF9saW5rX3JhdGUpIHsKPiA+ICsJCWludGVsX2RwLT5saW5rX3JhdGVf aW5kZXggPSBpbnRlbF9kcF9saW5rX3JhdGVfaW5kZXgoaW50ZWxfZHAsCj4gPiArCQkJCQkJCQkg ICAgIGNvbW1vbl9yYXRlcywKPiA+ICsJCQkJCQkJCSAgICAgaW50ZWxfZHAtPmxpbmtfdHJhaW5f ZmFpbGVkX2xpbmtfcmF0ZSk7Cj4gPiArCQlpZiAoaW50ZWxfZHAtPmxpbmtfcmF0ZV9pbmRleCA+ IDApIHsKPiA+ICsJCQltYXhfbGlua19jbG9jayA9IGNvbW1vbl9yYXRlc1tpbnRlbF9kcC0+bGlu a19yYXRlX2luZGV4IC0gMV07Cj4gPiArCQkJbWF4X2xhbmVzID0gaW50ZWxfZHBfbWF4X2xhbmVf Y291bnQoaW50ZWxfZHApOwo+ID4gKwkJfSBlbHNlIHsKPiA+ICsJCQkvKiBIZXJlIHdlIGNhbiBs b3dlciB0aGUgbGFuZSBjb3VudCwgYnV0IHRoYXQgd2lsbCBiZQo+ID4gKwkJCSAqIGFkZGVkIGZv ciBEUCBTcGVjIDEuMwo+ID4gKwkJCSAqLwo+ID4gKwkJCURSTV9FUlJPUigiTm8gVmFsaWQgTW9k ZSBTdXBwb3J0ZWQgZm9yIHRoaXMgTGlua1xuIik7Cj4gPiArCQkJaW50ZWxfZHAtPmxpbmtfdHJh aW5fZmFpbGVkX2xpbmtfcmF0ZSA9IDA7Cj4gPiArCQkJaW50ZWxfZHAtPmxpbmtfcmF0ZV9pbmRl eCA9IC0xOwo+ID4gKwkJCWludGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZCA9IGZhbHNlOwo+ID4g KwkJfQo+ID4gKwl9IGVsc2Ugewo+ID4gKwkJbWF4X2xpbmtfY2xvY2sgPSBpbnRlbF9kcF9tYXhf bGlua19yYXRlKGludGVsX2RwKTsKPiA+ICsJCW1heF9sYW5lcyA9IGludGVsX2RwX21heF9sYW5l X2NvdW50KGludGVsX2RwKTsKPiA+ICsJfQo+ID4gIAo+ID4gIAltYXhfcmF0ZSA9IGludGVsX2Rw X21heF9kYXRhX3JhdGUobWF4X2xpbmtfY2xvY2ssIG1heF9sYW5lcyk7Cj4gPiAgCW1vZGVfcmF0 ZSA9IGludGVsX2RwX2xpbmtfcmVxdWlyZWQodGFyZ2V0X2Nsb2NrLCAxOCk7Cj4gPiBAQCAtMTYx OSw2ICsxNjM5LDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwKPiA+ICAJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01P REVfRkxBR19EQkxDTEspCj4gPiAgCQlyZXR1cm4gZmFsc2U7Cj4gPiAgCj4gPiArCS8qIEZhbGwg YmFjayB0byBsb3dlciBsaW5rIHJhdGUgaW4gY2FzZSBvZiBmYWlsdXJlIGluIHByZXZpb3VzIG1v ZGVzZXQgKi8KPiA+ICsJaWYgKGludGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZF9saW5rX3JhdGUp IHsKPiA+ICsJCW1pbl9sYW5lX2NvdW50ID0gbWF4X2xhbmVfY291bnQ7Cj4gPiArCQltaW5fY2xv Y2sgPSBtYXhfY2xvY2sgPSBpbnRlbF9kcC0+bGlua19yYXRlX2luZGV4IC0gMTsKPiA+ICsJCWlu dGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZF9saW5rX3JhdGUgPSAwOwo+ID4gKwkJaW50ZWxfZHAt PmxpbmtfcmF0ZV9pbmRleCA9IC0xOwo+ID4gKwl9Cj4gPiArCj4gPiAgCURSTV9ERUJVR19LTVMo IkRQIGxpbmsgY29tcHV0YXRpb24gd2l0aCBtYXggbGFuZSBjb3VudCAlaSAiCj4gPiAgCQkgICAg ICAibWF4IGJ3ICVkIHBpeGVsIGNsb2NrICVpS0h6XG4iLAo+ID4gIAkJICAgICAgbWF4X2xhbmVf Y291bnQsIGNvbW1vbl9yYXRlc1ttYXhfY2xvY2tdLAo+ID4gQEAgLTU2ODksNiArNTcxNywzOSBA QCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwKPiA+ICAJcmV0dXJuIGZhbHNlOwo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9p ZCBpbnRlbF9kcF9tb2Rlc2V0X3JldHJ5X3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiA+ICsJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcDsKPiA+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGU7Cj4gPiArCWJvb2wgdmVyYm9zZV9wcnVuZSA9IHRydWU7Cj4gPiArCWJvb2wgcmVwcm9iZSA9 IGZhbHNlOwo+ID4gKwo+ID4gKwljb25uZWN0b3IgPSBjb250YWluZXJfb2Yod29yaywgdHlwZW9m KCpjb25uZWN0b3IpLAo+ID4gKwkJCQkgaTkxNV9tb2Rlc2V0X3JldHJ5X3dvcmspOwo+ID4gKwlp bnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2RwKGNvbm5lY3Rvcik7Cj4gPiArCj4gPiArCS8qIEdy YWIgdGhlIGxvY2tzIGJlZm9yZSBjaGFuZ2luZyBjb25uZWN0b3IgcHJvcGVydHkqLwo+ID4gKwlt dXRleF9sb2NrKCZjb25uZWN0b3ItPmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ID4gKwlEUk1f REVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwgY29ubmVjdG9yLT5iYXNlLmlkLAo+ID4g KwkJICAgICAgY29ubmVjdG9yLT5uYW1lKTsKPiA+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShtb2Rl LCAmY29ubmVjdG9yLT5tb2RlcywgaGVhZCkgewo+ID4gKwkJbW9kZS0+c3RhdHVzID0gaW50ZWxf ZHBfbW9kZV92YWxpZChjb25uZWN0b3IsCj4gPiArCQkJCQkJICAgbW9kZSk7Cj4gPiArCQlpZiAo bW9kZS0+c3RhdHVzICE9IE1PREVfT0spCj4gPiArCQkJcmVwcm9iZSA9IHRydWU7Cj4gPiArCX0K PiA+ICsJZHJtX21vZGVfcHJ1bmVfaW52YWxpZChjb25uZWN0b3ItPmRldiwgJmNvbm5lY3Rvci0+ bW9kZXMsCj4gPiArCQkJICAgICAgIHZlcmJvc2VfcHJ1bmUpOwo+ID4gKwltdXRleF91bmxvY2so JmNvbm5lY3Rvci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gPiArCWlmIChyZXByb2JlKSB7 Cj4gPiArCQkvKiBTZW5kIEhvdHBsdWcgdWV2ZW50IHNvIHVzZXJzcGFjZSBjYW4gcmVwcm9iZSAq Lwo+ID4gKwkJZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudChjb25uZWN0b3ItPmRldik7Cj4g PiArCX0KPiA+ICsJaWYgKGludGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZCkKPiA+ICsJCWRybV9h dG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9tb2Rlc2V0KGNvbm5lY3Rvcik7Cj4gPiArfQo+ID4gKwo+ ID4gIGJvb2wKPiA+ICBpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiA+ICAJCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpp bnRlbF9jb25uZWN0b3IpCj4gPiBAQCAtNTcwMSw2ICs1NzYyLDEwIEBAIHN0YXRpYyBib29sIGlu dGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gIAll bnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owo+ID4gIAlpbnQgdHlwZTsKPiA+ ICAKPiA+ICsJLyogSW5pdGlhbGl6ZSB0aGUgd29yayBmb3IgbW9kZXNldCBpbiBjYXNlIG9mIGxp bmsgdHJhaW4gZmFpbHVyZSAqLwo+ID4gKwlJTklUX1dPUksoJmNvbm5lY3Rvci0+aTkxNV9tb2Rl c2V0X3JldHJ5X3dvcmssCj4gPiArCQkgIGludGVsX2RwX21vZGVzZXRfcmV0cnlfd29ya19mbik7 Cj4gPiArCj4gPiAgCWlmIChXQVJOKGludGVsX2RpZ19wb3J0LT5tYXhfbGFuZXMgPCAxLAo+ID4g IAkJICJOb3QgZW5vdWdoIGxhbmVzICglZCkgZm9yIERQIG9uIHBvcnQgJWNcbiIsCj4gPiAgCQkg aW50ZWxfZGlnX3BvcnQtPm1heF9sYW5lcywgcG9ydF9uYW1lKHBvcnQpKSkKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKPiA+IGluZGV4IDAwNDhi NTIuLjEwZjgxYWIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cF9saW5rX3RyYWluaW5nLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw X2xpbmtfdHJhaW5pbmcuYwo+ID4gQEAgLTMxMCw5ICszMTAsMTUgQEAgdm9pZCBpbnRlbF9kcF9z dG9wX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICAJCQkJRFBfVFJB SU5JTkdfUEFUVEVSTl9ESVNBQkxFKTsKPiA+ICB9Cj4gPiAgCj4gPiAtdm9pZAo+ID4gK2Jvb2wK PiA+ICBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4gPiAgewo+ID4gLQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVs X2RwKTsKPiA+IC0JaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihp bnRlbF9kcCk7Cj4gPiArCWJvb2wgcmV0Owo+ID4gKwo+ID4gKwlpZiAoaW50ZWxfZHBfbGlua190 cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRlbF9kcCkpIHsKPiA+ICsJCXJldCA9IGludGVsX2Rw X2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50ZWxfZHApOwo+ID4gKwkJaWYg KHJldCkKPiA+ICsJCQlyZXR1cm4gdHJ1ZTsKPiA+ICsJfQo+ID4gKwlyZXR1cm4gZmFsc2U7Cj4g PiAgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDRlOTBiMDcuLmQzZmNm ZmMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IEBAIC04OTAsNiArODkw LDEwIEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiAgCXVpbnQzMl90IERQOwo+ID4gIAlpbnQgbGlu a19yYXRlOwo+ID4gIAl1aW50OF90IGxhbmVfY291bnQ7Cj4gPiArCWludCBsaW5rX3RyYWluX2Zh aWxlZF9saW5rX3JhdGU7Cj4gPiArCXVpbnQ4X3QgbGlua190cmFpbl9mYWlsZWRfbGFuZV9jb3Vu dDsKPiA+ICsJaW50IGxpbmtfcmF0ZV9pbmRleDsKPiA+ICsJYm9vbCBsaW5rX3RyYWluX2ZhaWxl ZDsKPiA+ICAJdWludDhfdCBzaW5rX2NvdW50Owo+ID4gIAlib29sIGxpbmtfbXN0Owo+ID4gIAli b29sIGhhc19hdWRpbzsKPiA+IEBAIC0xMzk0LDcgKzEzOTgsNyBAQCBib29sIGludGVsX2RwX2lu aXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ ID4gIHZvaWQgaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsCj4gPiAgCQkJICAgICAgaW50IGxpbmtfcmF0ZSwgdWludDhfdCBsYW5lX2NvdW50LAo+ID4g IAkJCSAgICAgIGJvb2wgbGlua19tc3QpOwo+ID4gLXZvaWQgaW50ZWxfZHBfc3RhcnRfbGlua190 cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ICtib29sIGludGVsX2RwX3N0YXJ0 X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiAgdm9pZCBpbnRlbF9k cF9zdG9wX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiAgdm9pZCBp bnRlbF9kcF9zaW5rX2RwbXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IG1vZGUpOwo+ ID4gIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9yZXNldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpOwo+IAo+IC0tIAo+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5 IENlbnRlcgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK