From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 5/5] drm/i915: Link Rate fallback on Link training failure Date: Tue, 25 Oct 2016 15:17:47 +0300 Message-ID: <87r374mxlg.fsf@intel.com> References: <1477093543-11622-1-git-send-email-manasi.d.navare@intel.com> <1477093543-11622-6-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id A71736E059 for ; Tue, 25 Oct 2016 12:17:50 +0000 (UTC) In-Reply-To: <1477093543-11622-6-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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCAyMiBPY3QgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gSWYgbGluayB0cmFpbmluZyBhdCBhIGxpbmsgcmF0ZSBvcHRpbWFsIGZv ciBhIHBhcnRpY3VsYXIKPiBtb2RlIGZhaWxzIGR1cmluZyBtb2Rlc2V0J3MgYXRvbWljIGNvbW1p dCBwaGFzZSwgdGhlbiB3ZQo+IGxldCB0aGUgbW9kZXNldCBjb21wbGV0ZSBhbmQgdGhlbiByZXRy eS4gV2Ugc2F2ZSB0aGUgbGluayByYXRlCj4gdmFsdWUgYXQgd2hpY2ggbGluayB0cmFpbmluZyBm YWlsZWQgYW5kIHVzZSBhIGxvd2VyIGxpbmsgcmF0ZQo+IHRvIHBydW5lIHRoZSBtb2Rlcy4gSXQg d2lsbCByZWRvIHRoZSBtb2Rlc2V0IG9uIHRoZSBjdXJyZW50IG1vZGUKPiBhdCBsb3dlciBsaW5r IHJhdGUgb3IgaWYgdGhlIGN1cnJlbnQgbW9kZSBnZXRzIHBydW5lZCBkdWUgdG8gbG93ZXIKPiBs aW5rIGNvbnN0cmFpbnRzIHRoZW4sIGl0IHdpbGwgc2VuZCBhIGhvdHBsdWcgdWV2ZW50IGZvciB1 c2Vyc3BhY2UKPiB0byBoYW5kbGUgaXQuCj4KPiBUaGlzIGlzIGFsc28gcmVxdWlyZWQgdG8gcGFz cyBEUCBDVFMgdGVzdHMgNC4zLjEuMywgNC4zLjEuNCwKPiA0LjMuMS42Lgo+Cj4gQ2M6IEphbmkg TmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5h c2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyAgICAgICAgICAgICAgfCAxNSArKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyAgICAgICAgICAgICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKyst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8IDEyICsr Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8ICA2 ICsrLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IGZiMThkNjkuLjQ1MTQzM2IgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBAIC0xNzEyLDYgKzE3MTIsOCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVu Y29kZXItPmJhc2UpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9n ZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKPiArCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5iYXNlOwo+ICAKPiAg CWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgbGlua19yYXRlLCBsYW5lX2NvdW50 LAo+ICAJCQkJIGxpbmtfbXN0KTsKPiBAQCAtMTcyMiw3ICsxNzI0LDE4IEBAIHN0YXRpYyB2b2lk IGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAJaW50ZWxfcHJlcGFyZV9kcF9kZGlfYnVmZmVycyhlbmNvZGVyKTsKPiAgCWludGVsX2RkaV9p bml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7Cj4gIAlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAs IERSTV9NT0RFX0RQTVNfT04pOwo+IC0JaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9k cCk7Cj4gKwlpZiAoIWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApKSB7Cj4gKwkJ RFJNX0VSUk9SKCJMaW5rIFRyYWluaW5nIGZhaWxlZCBhdCBsaW5rIHJhdGUgPSAlZCwgbGFuZSBj b3VudCA9ICVkXG4iLAo+ICsJCQkgIGxpbmtfcmF0ZSwgbGFuZV9jb3VudCk7Cj4gKwkJaW50ZWxf ZHAtPmxpbmtfdHJhaW5fZmFpbGVkID0gdHJ1ZTsKPiArCQlpbnRlbF9kcC0+bGlua190cmFpbl9m YWlsZWRfbGlua19yYXRlID0gbGlua19yYXRlOwo+ICsJCWludGVsX2RwLT5saW5rX3RyYWluX2Zh aWxlZF9sYW5lX2NvdW50ID0gbGFuZV9jb3VudDsKCkkgdGhpbmsgZXZlbnR1YWxseSB5b3UnbGwg bmVlZCB0byBzdG9yZSBhIGxpc3QgKGFycmF5KSBvZiBmYWlsaW5nIGxpbmsKcmF0ZSwgbGFuZSBj b3VudCBwYWlycywgbm90IGp1c3QgdGhlIGxhc3QgdGhhdCBmYWlsZWQuIE5vdyB5b3UgcmVzdHJp Y3QKdGhlIGxpbmsgY29uZmlnIGNvbXB1dGF0aW9uIHRvIG9ubHkgcmVkdWNpbmcgdGhlIGxpbmsg cmF0ZS4gQnV0CmN1cnJlbnRseSAoZm9yIHdoYXRldmVyIHJlYXNvbiwgaXQncyBmbGlwLWZsb3Bw ZWQgdG9vIG1hbnkgdGltZXMpIHdlCnN0YXJ0IHdpdGggd2lkZSAmIHNsb3csIG1lYW5pbmcgdGhh dCBpbiBtYW55IGNhc2VzIHdlJ3ZlIGFscmVhZHkKZXhoYXVzdGVkIHRoZSBvcHRpb24gdG8gZ28g c2xvd2VyLiBJZiBvcHRpbWFsIGZhaWxzLCBtYXliZSB3ZSBuZWVkIHRvCnRyeSBuYXJyb3cgJiBm YXN0IGluc3RlYWQuCgpCUiwKSmFuaS4KCgo+ICsJCS8qIFNjaGVkdWxlIGEgSG90cGx1ZyBVZXZl bnQgdG8gdXNlcnNwYWNlIHRvIHN0YXJ0IG1vZGVzZXQgKi8KPiArCQlzY2hlZHVsZV93b3JrKCZj b25uZWN0b3ItPmk5MTVfbW9kZXNldF9yZXRyeV93b3JrKTsKPiArCX0gZWxzZSB7Cj4gKwkJaW50 ZWxfZHAtPmxpbmtfdHJhaW5fZmFpbGVkID0gZmFsc2U7Cj4gKwl9Cj4gKwo+ICAJaWYgKHBvcnQg IT0gUE9SVF9BIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlpbnRlbF9kcF9zdG9w X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5k ZXggYzE5MmUxOC4uNWQ1ZjRhNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0z MTMsNiArMzEzLDcgQEAgc3RhdGljIGludCBpbnRlbF9kcF9saW5rX3JhdGVfaW5kZXgoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKPiAgCWludCB0YXJnZXRfY2xvY2sgPSBtb2RlLT5jbG9jazsK PiAgCWludCBtYXhfcmF0ZSwgbW9kZV9yYXRlLCBtYXhfbGFuZXMsIG1heF9saW5rX2Nsb2NrOwo+ ICAJaW50IG1heF9kb3RjbGs7Cj4gKwlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQT1JURURf UkFURVNdID0ge307Cj4gIAo+ICAJbWF4X2RvdGNsayA9IGludGVsX2RwX2Rvd25zdHJlYW1fbWF4 X2RvdGNsb2NrKGludGVsX2RwKTsKPiAgCj4gQEAgLTMyNiw4ICszMjcsMjcgQEAgc3RhdGljIGlu dCBpbnRlbF9kcF9saW5rX3JhdGVfaW5kZXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAg CQl0YXJnZXRfY2xvY2sgPSBmaXhlZF9tb2RlLT5jbG9jazsKPiAgCX0KPiAgCj4gLQltYXhfbGlu a19jbG9jayA9IGludGVsX2RwX21heF9saW5rX3JhdGUoaW50ZWxfZHApOwo+IC0JbWF4X2xhbmVz ID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ICsJLyogUHJ1bmUgdGhlIG1v ZGVzIGJhc2VkIG9uIHRoZSBsaW5rIHJhdGUgdGhhdCBmYWlsZWQgKi8KPiArCWlmIChpbnRlbF9k cC0+bGlua190cmFpbl9mYWlsZWRfbGlua19yYXRlKSB7Cj4gKwkJaW50ZWxfZHAtPmxpbmtfcmF0 ZV9pbmRleCA9IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChpbnRlbF9kcCwKPiArCQkJCQkJCQkg ICAgIGNvbW1vbl9yYXRlcywKPiArCQkJCQkJCQkgICAgIGludGVsX2RwLT5saW5rX3RyYWluX2Zh aWxlZF9saW5rX3JhdGUpOwo+ICsJCWlmIChpbnRlbF9kcC0+bGlua19yYXRlX2luZGV4ID4gMCkg ewo+ICsJCQltYXhfbGlua19jbG9jayA9IGNvbW1vbl9yYXRlc1tpbnRlbF9kcC0+bGlua19yYXRl X2luZGV4IC0gMV07Cj4gKwkJCW1heF9sYW5lcyA9IGludGVsX2RwX21heF9sYW5lX2NvdW50KGlu dGVsX2RwKTsKPiArCQl9IGVsc2Ugewo+ICsJCQkvKiBIZXJlIHdlIGNhbiBsb3dlciB0aGUgbGFu ZSBjb3VudCwgYnV0IHRoYXQgd2lsbCBiZQo+ICsJCQkgKiBhZGRlZCBmb3IgRFAgU3BlYyAxLjMK PiArCQkJICovCj4gKwkJCURSTV9FUlJPUigiTm8gVmFsaWQgTW9kZSBTdXBwb3J0ZWQgZm9yIHRo aXMgTGlua1xuIik7Cj4gKwkJCWludGVsX2RwLT5saW5rX3RyYWluX2ZhaWxlZF9saW5rX3JhdGUg PSAwOwo+ICsJCQlpbnRlbF9kcC0+bGlua19yYXRlX2luZGV4ID0gLTE7Cj4gKwkJCWludGVsX2Rw LT5saW5rX3RyYWluX2ZhaWxlZCA9IGZhbHNlOwo+ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJbWF4 X2xpbmtfY2xvY2sgPSBpbnRlbF9kcF9tYXhfbGlua19yYXRlKGludGVsX2RwKTsKPiArCQltYXhf bGFuZXMgPSBpbnRlbF9kcF9tYXhfbGFuZV9jb3VudChpbnRlbF9kcCk7Cj4gKwl9Cj4gIAo+ICAJ bWF4X3JhdGUgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKG1heF9saW5rX2Nsb2NrLCBtYXhfbGFu ZXMpOwo+ICAJbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlua19yZXF1aXJlZCh0YXJnZXRfY2xvY2ss IDE4KTsKPiBAQCAtMTYxOSw2ICsxNjM5LDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0 ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCWlmIChhZGp1c3RlZF9tb2RlLT5m bGFncyAmIERSTV9NT0RFX0ZMQUdfREJMQ0xLKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gKwkv KiBGYWxsIGJhY2sgdG8gbG93ZXIgbGluayByYXRlIGluIGNhc2Ugb2YgZmFpbHVyZSBpbiBwcmV2 aW91cyBtb2Rlc2V0ICovCj4gKwlpZiAoaW50ZWxfZHAtPmxpbmtfdHJhaW5fZmFpbGVkX2xpbmtf cmF0ZSkgewo+ICsJCW1pbl9sYW5lX2NvdW50ID0gbWF4X2xhbmVfY291bnQ7Cj4gKwkJbWluX2Ns b2NrID0gbWF4X2Nsb2NrID0gaW50ZWxfZHAtPmxpbmtfcmF0ZV9pbmRleCAtIDE7Cj4gKwkJaW50 ZWxfZHAtPmxpbmtfdHJhaW5fZmFpbGVkX2xpbmtfcmF0ZSA9IDA7Cj4gKwkJaW50ZWxfZHAtPmxp bmtfcmF0ZV9pbmRleCA9IC0xOwo+ICsJfQo+ICsKPiAgCURSTV9ERUJVR19LTVMoIkRQIGxpbmsg Y29tcHV0YXRpb24gd2l0aCBtYXggbGFuZSBjb3VudCAlaSAiCj4gIAkJICAgICAgIm1heCBidyAl ZCBwaXhlbCBjbG9jayAlaUtIelxuIiwKPiAgCQkgICAgICBtYXhfbGFuZV9jb3VudCwgY29tbW9u X3JhdGVzW21heF9jbG9ja10sCj4gQEAgLTU2ODksNiArNTcxNywzOSBAQCBzdGF0aWMgYm9vbCBp bnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCXJl dHVybiBmYWxzZTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxfZHBfbW9kZXNldF9yZXRy eV93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiArewo+ICsJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcjsKPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7Cj4gKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiArCWJvb2wgdmVyYm9zZV9wcnVuZSA9IHRy dWU7Cj4gKwlib29sIHJlcHJvYmUgPSBmYWxzZTsKPiArCj4gKwljb25uZWN0b3IgPSBjb250YWlu ZXJfb2Yod29yaywgdHlwZW9mKCpjb25uZWN0b3IpLAo+ICsJCQkJIGk5MTVfbW9kZXNldF9yZXRy eV93b3JrKTsKPiArCWludGVsX2RwID0gaW50ZWxfYXR0YWNoZWRfZHAoY29ubmVjdG9yKTsKPiAr Cj4gKwkvKiBHcmFiIHRoZSBsb2NrcyBiZWZvcmUgY2hhbmdpbmcgY29ubmVjdG9yIHByb3BlcnR5 Ki8KPiArCW11dGV4X2xvY2soJmNvbm5lY3Rvci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4g KwlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwgY29ubmVjdG9yLT5iYXNlLmlk LAo+ICsJCSAgICAgIGNvbm5lY3Rvci0+bmFtZSk7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG1v ZGUsICZjb25uZWN0b3ItPm1vZGVzLCBoZWFkKSB7Cj4gKwkJbW9kZS0+c3RhdHVzID0gaW50ZWxf ZHBfbW9kZV92YWxpZChjb25uZWN0b3IsCj4gKwkJCQkJCSAgIG1vZGUpOwo+ICsJCWlmIChtb2Rl LT5zdGF0dXMgIT0gTU9ERV9PSykKPiArCQkJcmVwcm9iZSA9IHRydWU7Cj4gKwl9Cj4gKwlkcm1f bW9kZV9wcnVuZV9pbnZhbGlkKGNvbm5lY3Rvci0+ZGV2LCAmY29ubmVjdG9yLT5tb2RlcywKPiAr CQkJICAgICAgIHZlcmJvc2VfcHJ1bmUpOwo+ICsJbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmRl di0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICsJaWYgKHJlcHJvYmUpIHsKPiArCQkvKiBTZW5kIEhv dHBsdWcgdWV2ZW50IHNvIHVzZXJzcGFjZSBjYW4gcmVwcm9iZSAqLwo+ICsJCWRybV9rbXNfaGVs cGVyX2hvdHBsdWdfZXZlbnQoY29ubmVjdG9yLT5kZXYpOwo+ICsJfQo+ICsJaWYgKGludGVsX2Rw LT5saW5rX3RyYWluX2ZhaWxlZCkKPiArCQlkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfbW9k ZXNldChjb25uZWN0b3IpOwo+ICt9Cj4gKwo+ICBib29sCj4gIGludGVsX2RwX2luaXRfY29ubmVj dG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAJCQlzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gQEAgLTU3MDEsNiArNTc2Miwx MCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwKPiAgCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7Cj4g IAlpbnQgdHlwZTsKPiAgCj4gKwkvKiBJbml0aWFsaXplIHRoZSB3b3JrIGZvciBtb2Rlc2V0IGlu IGNhc2Ugb2YgbGluayB0cmFpbiBmYWlsdXJlICovCj4gKwlJTklUX1dPUksoJmNvbm5lY3Rvci0+ aTkxNV9tb2Rlc2V0X3JldHJ5X3dvcmssCj4gKwkJICBpbnRlbF9kcF9tb2Rlc2V0X3JldHJ5X3dv cmtfZm4pOwo+ICsKPiAgCWlmIChXQVJOKGludGVsX2RpZ19wb3J0LT5tYXhfbGFuZXMgPCAxLAo+ ICAJCSAiTm90IGVub3VnaCBsYW5lcyAoJWQpIGZvciBEUCBvbiBwb3J0ICVjXG4iLAo+ICAJCSBp bnRlbF9kaWdfcG9ydC0+bWF4X2xhbmVzLCBwb3J0X25hbWUocG9ydCkpKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKPiBpbmRleCAwMDQ4YjUyLi4x MGY4MWFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtf dHJhaW5pbmcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJh aW5pbmcuYwo+IEBAIC0zMTAsOSArMzEwLDE1IEBAIHZvaWQgaW50ZWxfZHBfc3RvcF9saW5rX3Ry YWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAkJCQlEUF9UUkFJTklOR19QQVRURVJO X0RJU0FCTEUpOwo+ICB9Cj4gIAo+IC12b2lkCj4gK2Jvb2wKPiAgaW50ZWxfZHBfc3RhcnRfbGlu a190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gLQlpbnRlbF9kcF9saW5r X3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKTsKPiAtCWludGVsX2RwX2xpbmtfdHJh aW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50ZWxfZHApOwo+ICsJYm9vbCByZXQ7Cj4gKwo+ ICsJaWYgKGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApKSB7 Cj4gKwkJcmV0ID0gaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihp bnRlbF9kcCk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHRydWU7Cj4gKwl9Cj4gKwlyZXR1 cm4gZmFsc2U7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDRlOTBiMDcu LmQzZmNmZmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC04OTAsNiArODkw LDEwIEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gIAl1aW50MzJfdCBEUDsKPiAgCWludCBsaW5rX3Jh dGU7Cj4gIAl1aW50OF90IGxhbmVfY291bnQ7Cj4gKwlpbnQgbGlua190cmFpbl9mYWlsZWRfbGlu a19yYXRlOwo+ICsJdWludDhfdCBsaW5rX3RyYWluX2ZhaWxlZF9sYW5lX2NvdW50Owo+ICsJaW50 IGxpbmtfcmF0ZV9pbmRleDsKPiArCWJvb2wgbGlua190cmFpbl9mYWlsZWQ7Cj4gIAl1aW50OF90 IHNpbmtfY291bnQ7Cj4gIAlib29sIGxpbmtfbXN0Owo+ICAJYm9vbCBoYXNfYXVkaW87Cj4gQEAg LTEzOTQsNyArMTM5OCw3IEBAIGJvb2wgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4gIHZvaWQgaW50ZWxfZHBfc2V0X2xp bmtfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJCSAgICAgIGludCBsaW5r X3JhdGUsIHVpbnQ4X3QgbGFuZV9jb3VudCwKPiAgCQkJICAgICAgYm9vbCBsaW5rX21zdCk7Cj4g LXZvaWQgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KTsKPiArYm9vbCBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApOwo+ICB2b2lkIGludGVsX2RwX3N0b3BfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKTsKPiAgdm9pZCBpbnRlbF9kcF9zaW5rX2RwbXMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgaW50IG1vZGUpOwo+ICB2b2lkIGludGVsX2RwX2VuY29kZXJfcmVzZXQoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyKTsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3Vy Y2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==