From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v10] drm/i915: Implement Link Rate fallback on Link training failure Date: Fri, 31 Mar 2017 11:17:05 -0700 Message-ID: <20170331181705.GN31477@intel.com> References: <1489529511-7856-1-git-send-email-manasi.d.navare@intel.com> <20170322154436.GA17810@intel.com> <20170330225415.GL31477@intel.com> <87k2753fdr.fsf@intel.com> 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 4AE2F6E0F1 for ; Fri, 31 Mar 2017 18:12:45 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87k2753fdr.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 T24gRnJpLCBNYXIgMzEsIDIwMTcgYXQgMDE6MzM6MDRQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gRnJpLCAzMSBNYXIgMjAxNywgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJl QGludGVsLmNvbT4gd3JvdGU6Cj4gPiBIaSBKYW5pLAo+ID4KPiA+IEkgaGF2ZSByZXZpZXdlZCB5 b3VyIHJlY2VudCBEUCBsaW5rIHJhdGUgLyBsYW5lIGNvdW50Cj4gPiByZWZhY3RvcmluZyBwYXRj aCBzZXJpZXMgYW5kIEkgYmVsaWV2ZSB0aGF0IGl0IHdpbGwgc29vbiBnZXQgbWVyZ2VkLgo+IAo+ IEkgaGF2ZW4ndCByZWNlaXZlZCByZXZpZXdzIG9uIGFsbCBvZiB0aGUgcGF0Y2hlcyBpbiBteSBz ZXJpZXMgeWV0LCBpbgo+IHBhcnRpY3VsYXIgdGhlIGZpcnN0IHBhdGNoZXMgYXJlIG1pc3Npbmcg cmV2aWV3cyBzbyBJIGNhbid0IGV2ZW4gZ2V0Cj4gc3RhcnRlZCBwdXNoaW5nIHRoZW0uCj4gCj4g QlIsCj4gSmFuaS4KPgoKT2ssIEkgd2lsbCBzcGVuZCBzb21lIHRpbWUgcmV2aWV3aW5nIHRoZXNl IHBhdGNoZXMgdG9kYXkgc28geW91CmNhbiBwdXNoIHRob3NlLiAKSXMgdGhhdCB3aHkgeW91IGFy ZSB3YWl0aW5nIHRvIG1lcmdlIHRoaXMgcGF0Y2g/CgpSZWdhcmRzCk1hbmFzaQoKIAo+IAo+ID4K PiA+IEFyZSB5b3Ugd2FpdGluZyBvbiBtZXJnaW5nIHRoaXMgcGF0Y2ggc28gdGhhdCB5b3VyIHJl ZmFjdG9yaW5nCj4gPiBzZXJpZXMgZ2V0cyBtZXJnZWQgZmlyc3Q/IE9yIGNhbiB3ZSBtZXJnZSB0 aGlzIHBhdGNoIHNpbmNlCj4gPiBpdCBhbHJlYWR5IGhhcyBBQ0tzIGFuZCBSLWJzLgo+ID4KPiA+ IFBsZWFzZSBhZHZpc2Ugb24gbmV4dCBzdGVwcyBmb3IgdGhpcyBwYXRjaCwgc2luY2Ugc29tZQo+ ID4gb2YgdGhlIFBTUiByZWxhdGVkIHBhdGNoZXMgYXJlIHBlbmRpbmcgbWVyZ2UgYmVjYXVzZSBv ZiB0aGlzLgo+ID4KPiA+IFJlZ2FyZHMKPiA+IE1hbmFzaQo+ID4KPiA+Cj4gPiBPbiBXZWQsIE1h ciAyMiwgMjAxNyBhdCAwODo0NDozNkFNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4+ IEhpIEphbmkvVmlsbGUsCj4gPj4gCj4gPj4gSSBuZWVkIHRvIGFkZCBhbm90aGVyIHF1aWNrIGZp eCB3aGljaCB3b3VsZCBiZSByZXF1aXJlZCBmb3IgdGhlIGZhbGxiYWNrCj4gPj4gdG8gaGFwcGVu IGFzIGV4cGVjdGVkLiBTaG91bGQgSSByZXNwaW4gdGhpcyBwYXRjaCB0byBhZGQgdGhhdCBmaXgg b3IKPiA+PiBzaG91bGQgSSB3YWl0IGZvciB0aGlzIHRvIGdldCBsYW5kZWQ/Cj4gPj4gCj4gPj4g SSBoYXZlIG1lbnRpb25lZCB0aGUgZml4IHN1Z2dlc3RlZCBiZWxvdywgcGxlYXNlIGxldCBtZSBr bm93IHlvdXIgdGhvdWdodHMgb24gdGhhdC4KPiA+PiAKPiA+PiAKPiA+PiBPbiBUdWUsIE1hciAx NCwgMjAxNyBhdCAwMzoxMTo1MVBNIC0wNzAwLCBNYW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4+ID4g SWYgbGluayB0cmFpbmluZyBhdCBhIGxpbmsgcmF0ZSBvcHRpbWFsIGZvciBhIHBhcnRpY3VsYXIK PiA+PiA+IG1vZGUgZmFpbHMgZHVyaW5nIG1vZGVzZXQncyBhdG9taWMgY29tbWl0IHBoYXNlLCB0 aGVuIHdlCj4gPj4gPiBsZXQgdGhlIG1vZGVzZXQgY29tcGxldGUgYW5kIHRoZW4gcmV0cnkuIFdl IHNhdmUgdGhlIGxpbmsgcmF0ZQo+ID4+ID4gdmFsdWUgYXQgd2hpY2ggbGluayB0cmFpbmluZyBm YWlsZWQsIHVwZGF0ZSB0aGUgbGluayBzdGF0dXMgcHJvcGVydHkKPiA+PiA+IHRvICJCQUQiIGFu ZCB1c2UgYSBsb3dlciBsaW5rIHJhdGUgdG8gcHJ1bmUgdGhlIG1vZGVzLiBJdCB3aWxsIHJlZG8K PiA+PiA+IHRoZSBtb2Rlc2V0IG9uIHRoZSBjdXJyZW50IG1vZGUgYXQgbG93ZXIgbGluayByYXRl IG9yIGlmIHRoZSBjdXJyZW50Cj4gPj4gPiBtb2RlIGdldHMgcHJ1bmVkIGR1ZSB0byBsb3dlciBs aW5rIGNvbnN0cmFpbnRzIHRoZW4sIGl0IHdpbGwgc2VuZCBhCj4gPj4gPiBob3RwbHVnIHVldmVu dCBmb3IgdXNlcnNwYWNlIHRvIGhhbmRsZSBpdC4KPiA+PiA+IAo+ID4+ID4gVGhpcyBpcyBhbHNv IHJlcXVpcmVkIHRvIHBhc3MgRFAgQ1RTIHRlc3RzIDQuMy4xLjMsIDQuMy4xLjQsCj4gPj4gPiA0 LjMuMS42Lgo+ID4+ID4gCj4gPj4gPiBUaGlzIHBhdGNoIGlzIGEgcmVzZW5kIG9mIHRoZSBvcmln aW5hbCBjb21taXQgaWQgKDIzM2NlODgxZGQ5MWZiCj4gPj4gPiAiZHJtL2k5MTU6IEltcGxlbWVu dCBMaW5rIFJhdGUgZmFsbGJhY2sgb24gTGluayB0cmFpbmluZyBmYWlsdXJlIikKPiA+PiA+IHdo aWNoIGdvdCByZXZlcnRlZCBpbiB0aGlzIGNvbW1pdCBpZCAoYWZjMWViZjQ1NjJhMTQgUmV2ZXJ0 Cj4gPj4gPiAiZHJtL2k5MTU6IEltcGxlbWVudCBMaW5rIFJhdGUgZmFsbGJhY2sgb24gTGluayB0 cmFpbmluZyBmYWlsdXJlIikKPiA+PiA+IGR1ZSB0byBDSSBmYWlsdXJlcy4KPiA+PiA+IAo+ID4+ ID4gQWZ0ZXIgaW52ZXN0aWdhdGluZyB0aGUgQ0kgZmFpbHVyZXMgaXQgd2FzIGZvdW5kIHRoYXQg dGhlc2UKPiA+PiA+IHdlcmUgZXNzZW50aWFsbHkgdGhlIGZhaWx1cmVzIHdoaWNoIHdlcmUgYWx3 YXlzIHRoZXJlIGJ1dCBoaWRkZW4gYmVjYXVzZQo+ID4+ID4gdGhleSB1c2VkIHRvIGJlIERSTV9E RUJVR19LTVMgbWVzc2FnZXMgZm9yIGxpbmsgZmFpbHVyZXMgc28gbmV2ZXIgZ290Cj4gPj4gPiBj YXVnaHQgYnkgQ0kuIEJ1dCBub3cgdGhpcyBwYXRjaCBhY3R1YWxseSB0aHJvd3MgRFJNX0VSUk9S IGlmIHRoZSBsaW5rCj4gPj4gPiB0cmFpbmluZyBmYWlscyBhdCBSQlIgYW5kIDEgbGFuZS4gU28g aXQgY2F1Z2h0IHRoZXNlIGxpbmsgdHJhaW4gZmFpbHVyZXMuCj4gPj4gPiAKPiA+PiA+IFRoZXJl IHdlcmUgdHdvIGZhaWx1cmVzOgo+ID4+ID4gMS4gT24gU0tMIDY3MDBrIHRoaXMgd2FzIGJlY2F1 c2UgdGhlIG1hY2hpbmUgaW4gQ0kgbGFiIGlzIGEgU0tMIGRlc2t0b3AKPiA+PiA+IHdpdGhvdXQg ZURQIG9uIFBvcnQgQS4gQnV0IG91ciBWQlQgaW5pdGlhbGl6YXRpb24gY29kZSBpbiB0aGUgZHJp dmVyIHdyaXRlcwo+ID4+ID4gVkJUIGRlZmF1bHRzIGluIGEgd2F5IHRoYXQgaXQgYWx3YXlzIHNl dHMgRFAgZmxhZyBvbiBQb3J0IEEgYW5kIHRoaXMgZG9lcwo+ID4+ID4gbm90IGdldCBjbGVhcmVk IGFmdGVyIHBhcnNpbmcgdGhlIFZCVCBvdXRwdXRzLiBUaGlzIGhhcyBiZWVuIGZpeGVkIGluCj4g Pj4gPiBjb21taXQgaWQgKGJiMWQxMzI5MzVjMmY4ICJkcm0vaTkxNS92YnQ6IHNwbGl0IG91dCBk ZWZhdWx0cyB0aGF0IGFyZSBzZXQKPiA+PiA+IHdoZW4gdGhlcmUgaXMgbm8gVkJUKSBhbmQgKDY2 NTc4ODU3MmM2NDEwYiAiZHJtL2k5MTUvdmJ0OiBkb24ndCBwcm9wYWdhdGUKPiA+PiA+IGVycm9y cyBmcm9tIGludGVsX2Jpb3NfaW5pdCgpKQo+ID4+ID4gCj4gPj4gPiAyLiBPbiBJTEstNjUwIGRl c2t0b3AgLSBUaGlzIHdhcyBoYXBwZW5pbmcgYmVjYXVzZSBvZiBhIGJhZCBtb25pdG9yIGRlc2t0 b3AKPiA+PiA+IGNvbWJpbmF0aW9uLiBJIHN3aXRjaGVkIHRoZSBtb25pdG9yIGluIHRoZSBDSSBs YWIgYW5kIHRoYXQgaGVscGVkIGdldCByaWQKPiA+PiA+IG9mIHRoZSBsaW5rIGZhaWx1cmVzIG9u IElMSyBzeXN0ZW0uCj4gPj4gPiAKPiA+PiA+IHYxMDoKPiA+PiA+ICogUmViYXNlIG9uIGRybS10 aXAgYW5kIHJlc2VuZCBhZnRlciByZXZlcnQKPiA+PiA+IHY5Ogo+ID4+ID4gKiBVc2UgdGhlIHRy aW1tZWQgbWF4IHZhbHVlcyBvZiBsaW5rIHJhdGUvbGFuZSBjb3VudCBiYXNlZCBvbgo+ID4+ID4g bGluayB0cmFpbiBmYWxsYmFjayAoRGFuaWVsIFZldHRlcikKPiA+PiA+IHY4Ogo+ID4+ID4gKiBT ZXQgbGlua19zdGF0dXMgdG8gQkFEIGZpcnN0IGFuZCB0aGVuIGNhbGwgbW9kZV92YWxpZCAoSmFu aSBOaWt1bGEpCj4gPj4gPiB2NzoKPiA+PiA+IFJlbW92ZSB0aGUgcmVkdW5kYW50IHZhcmlhYmxl IGluIHByZXZpb3VzIHBhdGNoIGl0c2VsZgo+ID4+ID4gdjY6Cj4gPj4gPiAqIE9idGFpbiBsaW5r IHJhdGUgaW5kZXggZnJvbSBmYWxsYmFja19saW5rX3JhdGUgdXNpbmcKPiA+PiA+IHRoZSBoZWxw ZXIgaW50ZWxfZHBfbGlua19yYXRlX2luZGV4IChKYW5pIE5pa3VsYSkKPiA+PiA+ICogSW5jbHVk ZSBmYWxsYmFjayB3aXRoaW4gaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbiAoSmFuaSBOaWt1bGEp Cj4gPj4gPiB2NToKPiA+PiA+ICogTW92ZSBzZXQgbGluayBzdGF0dXMgdG8gZHJtIGNvcmUgKERh bmllbCBWZXR0ZXIsIEphbmkgTmlrdWxhKQo+ID4+ID4gdjQ6Cj4gPj4gPiAqIEFkZCBmYWxsYmFj ayBzdXBwb3J0IGZvciBub24gRERJIHBsYXRmb3JtcyB0b28KPiA+PiA+ICogU2V0IGNvbm5lY3Rv ci0+bGluayBzdGF0dXMgaW5zaWRlIHNldF9saW5rX3N0YXR1cyBmdW5jdGlvbgo+ID4+ID4gKEph bmkgTmlrdWxhKQo+ID4+ID4gdjM6Cj4gPj4gPiAqIFNldCBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB0 byBCQWQgdW5jb25kaXRpb25hbGx5IChKYW5pIE5pa3VsYSkKPiA+PiA+ICogRG9udCB1c2UgdHdv IHNlcGFyYXRlIHZhcmlhYmxlcyBsaW5rX3RyYWluX2ZhaWxlZCBhbmQgbGlua19zdGF0dXMKPiA+ PiA+IHRvIGluZGljYXRlIHNhbWUgdGhpbmcgKEphbmkgTmlrdWxhKQo+ID4+ID4gdjI6Cj4gPj4g PiAqIFNxdWFzaGVkIGEgZmV3IHBhdGNoZXMgKEphbmkgTmlrdWxhKQo+ID4+ID4gCj4gPj4gPiBB Y2tlZC1ieTogVG9ueSBDaGVuZyA8dG9ueS5jaGVuZ0BhbWQuY29tPgo+ID4+ID4gQWNrZWQtYnk6 IEhhcnJ5IFdlbnRsYW5kIDxIYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+ID4+ID4gQ2M6IEphbmkg TmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiBDYzogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gPj4gPiBDYzogVmlsbGUgU3lyamFsYSA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiBTaWduZWQtb2ZmLWJ5OiBNYW5h c2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4+ID4gUmV2aWV3ZWQtYnk6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gPj4gPiBTaWduZWQtb2ZmLWJ5 OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4+ID4gLS0tCj4gPj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAgICAgICAgIHwgMjcgKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gPj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbGlua190cmFpbmluZy5jIHwgMjIgKysrKysrKysrKysrKysrKysrKystLQo+ID4+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICB8ICAzICsrKwo+ID4+ ID4gIDMgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+ PiA+IAo+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPj4gPiBpbmRleCBmZDk2YTZjLi44 OTVmOTM0IDEwMDY0NAo+ID4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu Ywo+ID4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4+ID4gQEAg LTU5MjQsNiArNTkyNCwyOSBAQCBpbnRlbF9kcF9pbml0X2Nvbm5lY3Rvcl9wb3J0X2luZm8oc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gPj4gPiAgCX0KPiA+PiA+ ICB9Cj4gPj4gPiAgCj4gPj4gPiArc3RhdGljIHZvaWQgaW50ZWxfZHBfbW9kZXNldF9yZXRyeV93 b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiA+PiA+ICt7Cj4gPj4gPiArCXN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcjsKPiA+PiA+ICsJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcjsKPiA+PiA+ICsKPiA+PiA+ICsJaW50ZWxfY29ubmVjdG9yID0g Y29udGFpbmVyX29mKHdvcmssIHR5cGVvZigqaW50ZWxfY29ubmVjdG9yKSwKPiA+PiA+ICsJCQkJ ICAgICAgIG1vZGVzZXRfcmV0cnlfd29yayk7Cj4gPj4gPiArCWNvbm5lY3RvciA9ICZpbnRlbF9j b25uZWN0b3ItPmJhc2U7Cj4gPj4gPiArCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNd XG4iLCBjb25uZWN0b3ItPmJhc2UuaWQsCj4gPj4gPiArCQkgICAgICBjb25uZWN0b3ItPm5hbWUp Owo+ID4+ID4gKwo+ID4+ID4gKwkvKiBHcmFiIHRoZSBsb2NrcyBiZWZvcmUgY2hhbmdpbmcgY29u bmVjdG9yIHByb3BlcnR5Ki8KPiA+PiA+ICsJbXV0ZXhfbG9jaygmY29ubmVjdG9yLT5kZXYtPm1v ZGVfY29uZmlnLm11dGV4KTsKPiA+PiA+ICsJLyogU2V0IGNvbm5lY3RvciBsaW5rIHN0YXR1cyB0 byBCQUQgYW5kIHNlbmQgYSBVZXZlbnQgdG8gbm90aWZ5Cj4gPj4gPiArCSAqIHVzZXJzcGFjZSB0 byBkbyBhIG1vZGVzZXQuCj4gPj4gPiArCSAqLwo+ID4+ID4gKwlkcm1fbW9kZV9jb25uZWN0b3Jf c2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KGNvbm5lY3RvciwKPiA+PiA+ICsJCQkJCQkgICAgRFJN X01PREVfTElOS19TVEFUVVNfQkFEKTsKPiA+PiA+ICsJbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3It PmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ID4+ID4gKwkvKiBTZW5kIEhvdHBsdWcgdWV2ZW50 IHNvIHVzZXJzcGFjZSBjYW4gcmVwcm9iZSAqLwo+ID4+ID4gKwlkcm1fa21zX2hlbHBlcl9ob3Rw bHVnX2V2ZW50KGNvbm5lY3Rvci0+ZGV2KTsKPiA+PiA+ICt9Cj4gPj4gPiArCj4gPj4gPiAgYm9v bAo+ID4+ID4gIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0LAo+ID4+ID4gIAkJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmlu dGVsX2Nvbm5lY3RvcikKPiA+PiA+IEBAIC01OTM2LDYgKzU5NTksMTAgQEAgaW50ZWxfZHBfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4g Pj4gPiAgCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7Cj4gPj4gPiAgCWlu dCB0eXBlOwo+ID4+ID4gIAo+ID4+ID4gKwkvKiBJbml0aWFsaXplIHRoZSB3b3JrIGZvciBtb2Rl c2V0IGluIGNhc2Ugb2YgbGluayB0cmFpbiBmYWlsdXJlICovCj4gPj4gPiArCUlOSVRfV09SSygm aW50ZWxfY29ubmVjdG9yLT5tb2Rlc2V0X3JldHJ5X3dvcmssCj4gPj4gPiArCQkgIGludGVsX2Rw X21vZGVzZXRfcmV0cnlfd29ya19mbik7Cj4gPj4gPiArCj4gPj4gPiAgCWlmIChXQVJOKGludGVs X2RpZ19wb3J0LT5tYXhfbGFuZXMgPCAxLAo+ID4+ID4gIAkJICJOb3QgZW5vdWdoIGxhbmVzICgl ZCkgZm9yIERQIG9uIHBvcnQgJWNcbiIsCj4gPj4gPiAgCQkgaW50ZWxfZGlnX3BvcnQtPm1heF9s YW5lcywgcG9ydF9uYW1lKHBvcnQpKSkKPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcF9saW5rX3RyYWluaW5nLmMKPiA+PiA+IGluZGV4IDAwNDhiNTIuLjk1NWIyMzkgMTAw NjQ0Cj4gPj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWlu aW5nLmMKPiA+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJh aW5pbmcuYwo+ID4+ID4gQEAgLTMxMyw2ICszMTMsMjQgQEAgdm9pZCBpbnRlbF9kcF9zdG9wX2xp bmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+PiA+ICB2b2lkCj4gPj4gPiAg aW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4+ ID4gIHsKPiA+PiA+IC0JaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRl bF9kcCk7Cj4gPj4gPiAtCWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRp b24oaW50ZWxfZHApOwo+ID4+ID4gKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25u ZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwo+ID4+ID4gKwo+ID4+ID4gKwlp ZiAoIWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApKQo+ID4+ ID4gKwkJZ290byBmYWlsdXJlX2hhbmRsaW5nOwo+ID4+ID4gKwlpZiAoIWludGVsX2RwX2xpbmtf dHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50ZWxfZHApKQo+ID4+ID4gKwkJZ290byBm YWlsdXJlX2hhbmRsaW5nOwo+ID4+ID4gKwo+ID4+ID4gKwlEUk1fREVCVUdfS01TKCJMaW5rIFRy YWluaW5nIFBhc3NlZCBhdCBMaW5rIFJhdGUgPSAlZCwgTGFuZSBjb3VudCA9ICVkIiwKPiA+PiA+ ICsJCSAgICAgIGludGVsX2RwLT5saW5rX3JhdGUsIGludGVsX2RwLT5sYW5lX2NvdW50KTsKPiA+ PiA+ICsJcmV0dXJuOwo+ID4+ID4gKwo+ID4+ID4gKyBmYWlsdXJlX2hhbmRsaW5nOgo+ID4+ID4g KwlEUk1fREVCVUdfS01TKCJMaW5rIFRyYWluaW5nIGZhaWxlZCBhdCBsaW5rIHJhdGUgPSAlZCwg bGFuZSBjb3VudCA9ICVkIiwKPiA+PiA+ICsJCSAgICAgIGludGVsX2RwLT5saW5rX3JhdGUsIGlu dGVsX2RwLT5sYW5lX2NvdW50KTsKPiA+PiA+ICsJaWYgKCFpbnRlbF9kcF9nZXRfbGlua190cmFp bl9mYWxsYmFja192YWx1ZXMoaW50ZWxfZHAsCj4gPj4gPiArCQkJCQkJICAgICBpbnRlbF9kcC0+ bGlua19yYXRlLAo+ID4+ID4gKwkJCQkJCSAgICAgaW50ZWxfZHAtPmxhbmVfY291bnQpKQo+ID4+ ID4gKwkJLyogU2NoZWR1bGUgYSBIb3RwbHVnIFVldmVudCB0byB1c2Vyc3BhY2UgdG8gc3RhcnQg bW9kZXNldCAqLwo+ID4+ID4gKwkJc2NoZWR1bGVfd29yaygmaW50ZWxfY29ubmVjdG9yLT5tb2Rl c2V0X3JldHJ5X3dvcmspOwo+ID4+IAo+ID4+IFRoaXMgaXMgd2hlcmUgdGhlIG5ldyBib29sZWFu IGludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgd2lsbCBoYXZlIHRvIGJlIHNldCB0byBmYWxzZSBv biBmYWlsdXJlLgo+ID4+IFRoaXMgZW5zdXJlcyB0aGF0IHdlIGRvbnQgZW5kIHVwIHJldHJhaW5p bmcgYXQgdGhlIHNhbWUgcGFyYW1ldGVycyBpbiBpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cygp Cj4gPj4gCj4gPj4gU28gaW4gaW50ZWxfZHBfY2hlY2stbGlua19zdGF0dXMgLCBqdXN0IGJlZm9y ZSByZXRyYWluaW5nIGl0IHdpbGwgYWRkIGEgY2hlY2ssIAo+ID4+IGlmICghaW50ZWxfZHAtPnRy YWluX3NldF92YWxpZCkKPiA+PiByZXR1cm47Cj4gPj4gCj4gPj4gVmlsbGUvSmFuaSB3aGF0IGFy ZSB5b3VyIHRob3VnaHRzIG9uIHRoaXM/Cj4gPj4gCj4gPj4gUmVnYXJkcwo+ID4+IE1hbmFzaQo+ ID4+IAo+ID4+ID4gKwlyZXR1cm47Cj4gPj4gPiAgfQo+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiA+PiA+IGluZGV4IDUxMjI4ZmUuLjBmZTFhYzggMTAwNjQ0Cj4gPj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+IEBAIC0zMjEsNiArMzIxLDkgQEAgc3RydWN0IGlu dGVsX2Nvbm5lY3RvciB7Cj4gPj4gPiAgCXZvaWQgKnBvcnQ7IC8qIHN0b3JlIHRoaXMgb3BhcXVl IGFzIGl0cyBpbGxlZ2FsIHRvIGRlcmVmZXJlbmNlIGl0ICovCj4gPj4gPiAgCj4gPj4gPiAgCXN0 cnVjdCBpbnRlbF9kcCAqbXN0X3BvcnQ7Cj4gPj4gPiArCj4gPj4gPiArCS8qIFdvcmsgc3RydWN0 IHRvIHNjaGVkdWxlIGEgdWV2ZW50IG9uIGxpbmsgdHJhaW4gZmFpbHVyZSAqLwo+ID4+ID4gKwlz dHJ1Y3Qgd29ya19zdHJ1Y3QgbW9kZXNldF9yZXRyeV93b3JrOwo+ID4+ID4gIH07Cj4gPj4gPiAg Cj4gPj4gPiAgc3RydWN0IGRwbGwgewo+ID4+ID4gLS0gCj4gPj4gPiAyLjEuNAo+ID4+ID4gCj4g Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xv Z3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=