From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v5] drm/i915/edp: Be less aggressive about changing link config on eDP Date: Thu, 17 Aug 2017 12:52:59 -0700 Message-ID: <20170817195258.GE26293@intel.com> References: <1502313667-18127-1-git-send-email-jim.bride@linux.intel.com> <20170816221306.GC28158@intel.com> <20170817175004.GA27650@shiv> <20170817192003.GA26293@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 166CF6E62C for ; Thu, 17 Aug 2017 19:45:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170817192003.GA26293@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jim Bride Cc: Jani Nikula , intel-gfx@lists.freedesktop.org, Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMTcsIDIwMTcgYXQgMTI6MjA6MDNQTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUaHUsIEF1ZyAxNywgMjAxNyBhdCAxMDo1MDowNEFNIC0wNzAwLCBKaW0gQnJp ZGUgd3JvdGU6Cj4gPiBPbiBXZWQsIEF1ZyAxNiwgMjAxNyBhdCAwMzoxMzowNlBNIC0wNzAwLCBN YW5hc2kgTmF2YXJlIHdyb3RlOgo+ID4gPiBPbiBXZWQsIEF1ZyAwOSwgMjAxNyBhdCAwMjoyMTow N1BNIC0wNzAwLCBKaW0gQnJpZGUgd3JvdGU6Cj4gPiA+ID4gVGhpcyBzZXQgb2YgY2hhbmdlcyBo YXMgc29tZSBoaXN0b3J5IHRvIHRoZW0uICBUaGVyZSB3ZXJlIHNldmVyYWwgYXR0ZW1wdHMKPiA+ ID4gPiB0byBhZGQgd2hhdCB3YXMgY2FsbGVkICJmYXN0IGxpbmsgdHJhaW5pbmciIHRvIGk5MTUs IHdoaWNoIGFjdHVhbGx5IHdhc24ndAo+ID4gPiA+IGZhc3QgbGluayB0cmFpbmluZyBhcyBwZXIg dGhlIERQIHNwZWMuICBUaGVzZSBjaGFuZ2VzIHdlcmU6Cj4gPiA+ID4gCj4gPiA+ID4gY29tbWl0 IDVmYTgzNmE5ZDg1OSAoImRybS9pOTE1OiBEUCBsaW5rIHRyYWluaW5nIG9wdGltaXphdGlvbiIp Cj4gPiA+ID4gY29tbWl0IDRlOTZjOTc3NDJmNCAoImRybS9pOTE1OiBlRFAgbGluayB0cmFpbmlu ZyBvcHRpbWl6YXRpb24iKQo+ID4gPiA+IAo+ID4gPiA+IHdoaWNoIHdlcmUgZXZlbnR1YWxseSBo YW5kLXJldmVydGVkIGJ5Ogo+ID4gPiA+IAo+ID4gPiA+IGNvbW1pdCAzNDUxMWRjZTRiMzUgKCJk cm0vaTkxNTogUmV2ZXJ0IERpc3BsYXlQb3J0IGZhc3QgbGluayB0cmFpbmluZwo+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgIGZlYXR1cmUiKQo+ID4gPiA+IAo+ID4gPiA+IGluIGtlcm5lbCA0 LjctcmM0LiAgVGhlIGVEUCBwaWVjZXMgb2YgdGhlIGFib3ZlIHJldmVydCwgaG93ZXZlciwgaGFk IHNvbWUKPiA+ID4gPiB2ZXJ5IGJhZCBzaWRlLWVmZmVjdHMgb24gUFNSIGZ1bmN0aW9uYWxpdHkg b24gU2t5bGFrZS4gVGhlIGlzc3VlIGF0Cj4gPiA+ID4gaGFuZCBpcyB0aGF0IHdoZW4gUFNSIGV4 aXRzIGk5MTUgYnJpZWZseSBlbWl0cyBUUDEgZm9sbG93ZWQgYnkgVFAyLzMKPiA+ID4gPiAoZGVw ZW5kaW5nIG9uIHRoZSBvcmlnaW5hbCBsaW5rIGNvbmZpZ3VyYXRpb24pIGluIG9yZGVyIHRvIHF1 aWNrbHkgZ2V0Cj4gPiA+ID4gdGhlIHNvdXJjZSBhbmQgc2luayBiYWNrIGluIHN5bmNocm9uaXph dGlvbiBhY3Jvc3MgdGhlIGxpbmsgYmVmb3JlIGhhbmRpbmcKPiA+ID4gPiBjb250cm9sIGJhY2sg dG8gdGhlIGk5MTUuICBUaGVyZSdzIGFuIGFzc3VtcHRpb24gdGhhdCBub25lIG9mIHRoZSBsaW5r Cj4gPiA+ID4gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBoYXMgY2hhbmdlZCAoYW5kIHRodXMg aXQncyBzdGlsbCB2YWxpZCkgc2luY2UgdGhlCj4gPiA+ID4gbGFzdCBmdWxsIGxpbmsgdHJhaW5p bmcgb3BlcmF0aW9uLiAgVGhlIHJldmVydCBhYm92ZSB3YXMgaWRlbnRpZmllZCB2aWEgYQo+ID4g PiA+IGJpc2VjdCBhcyB0aGUgY2F1c2Ugb2Ygc29tZSBvZiBTa3lsYWtlJ3MgUFNSIHdvZXMuICBU aGlzIHBhdGNoLCBsYXJnZWx5Cj4gPiA+ID4gYmFzZWQgb24gY29tbWl0IDRlOTZjOTc3NDJmNCAo ImRybS9pOTE1OiBlRFAgbGluayB0cmFpbmluZyBvcHRpbWl6YXRpb24iKQo+ID4gPiA+IHB1dHMg dGhlIGVEUCBwb3J0aW9ucyBvZiB0aGlzIHBhdGNoIGJhY2sgaW4gcGxhY2UuICBOb25lIG9mIHRo ZSBmbGlja2VyaW5nCj4gPiA+ID4gaXNzdWVzIHRoYXQgc3B1cnJlZCB0aGUgcmV2ZXJ0IGhhdmUg YmVlbiBzZWVuLCBhbmQgSSBzdXNwZWN0IHRoZSByZWFsCj4gPiA+ID4gY3VscHJpdHMgaGVyZSB3 ZXJlIGFkZHJlc3NlZCBieSBzb21lIG9mIHRoZSByZWNlbnQgbGluayB0cmFpbmluZyBjaGFuZ2Vz Cj4gPiA+ID4gdGhhdCBNYW5hc2kgaGFzIGltcGxlbWVudGVkLCBhbmQgUFNSIG9uIFNreWxha2Ug aXMgZGVmaW5pdGVseSBtb3JlIGhhcHB5Cj4gPiA+ID4gd2l0aCB0aGVzZSBjaGFuZ2VzIGluLXBs YWNlLgo+ID4gPiA+IAo+ID4gPiA+IHYyIGFuZCB2MzogUmViYXNlCj4gPiA+ID4gdjQ6ICogQ2xl YW4gdXAgYWNjZXNzZXMgdG8gdHJhaW5fc2V0X3ZhbGlkIGEgYml0IGZvciBlYXNpZXIKPiA+ID4g PiAgICAgICByZWFkaW5nLiAoQ2hyaXMpCj4gPiA+ID4gICAgICogUmViYXNlCj4gPiA+ID4gdjU6 ICogQ2hlY2twYXRjaCBjbGVhbnVwCj4gPiA+ID4gICAgICogUmViYXNlCj4gPiA+ID4gCj4gPiA+ ID4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gPiA+IENj OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiA+ID4gQ2M6IFBhdWxv IFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiA+IENjOiBNYW5hc2kgRCBO YXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiA+ID4gQ2M6IE1pa2EgS2Fob2xh IDxtaWthLmthaG9sYUBpbnRlbC5jb20+Cj4gPiA+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5p a3VsYUBpbnRlbC5jb20+Cj4gPiA+ID4gRml4ZXM6IDM0NTExZGNlNCAoImRybS9pOTE1OiBSZXZl cnQgRGlzcGxheVBvcnQgZmFzdCBsaW5rIHRyYWluaW5nIGZlYXR1cmUiKQo+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiAt LS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgICAgICAgICAg IHwgIDQgKysrLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3Ry YWluaW5nLmMgfCAxNSArKysrKysrKysrKysrKy0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgIHwgIDIgKysKPiA+ID4gPiAgMyBmaWxlcyBjaGFu Z2VkLCAxOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+IGluZGV4IDc2YzhhMGIuLjRiZDQwOWMgMTAwNjQ0 Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiBAQCAtMTA2LDcgKzEw Niw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdF9yYXRlc1tdID0geyAxNjIwMDAsIDI3MDAw MCwgNTQwMDAwIH07Cj4gPiA+ID4gICAqIElmIGEgQ1BVIG9yIFBDSCBEUCBvdXRwdXQgaXMgYXR0 YWNoZWQgdG8gYW4gZURQIHBhbmVsLCB0aGlzIGZ1bmN0aW9uCj4gPiA+ID4gICAqIHdpbGwgcmV0 dXJuIHRydWUsIGFuZCBmYWxzZSBvdGhlcndpc2UuCj4gPiA+ID4gICAqLwo+ID4gPiA+IC1zdGF0 aWMgYm9vbCBpc19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gPiArYm9vbCBp c19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKCkkgYWxzbyBuZWVkIHRoaXMgZnVuY3Rp b24gdG8gYmUgZXhwb3NlZCB0byBmaWxlcyBvdXRzaWRlIG9mIGludGVsX2RwLmMKZm9yIHRoZSBw YXRjaDoKaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy8yODkwMC8KQnV0 IG9uZSBvZiB0aGUgcmV2aWV3IGNvbW1lbnRzIEkgZ290IGlzIHRvIHByZWZpeCB0aGUgbmFtZSBv ZiB0aGlzIGZ1bmN0aW9uIHdpdGggaW50ZWxfZHAKd2hlbiBleHBvc2luZyBpdCB0byBvdXRzaWRl IG9mIGludGVsX2RwLmMgd2hpY2ggbWFrZXMgc2Vuc2UgYXMgcGVyIHRoZSBuYW1pbmcgY29udmVu dGlvbnMKb2YgdGhlIG90aGVyIGZ1bmN0aW9ucy4gQnV0IHdlIGFscmVhZHkgaGF2ZSBhIGZ1bmN0 aW9uIGludGVsX2RwX2lzX2VkcCgpIHVzZWQgdG8gZ2V0IFZCVCBpbmZvcm1hdGlvbi4KQW55IHN1 Z2dlc3Rpb25zIGZvciB0aGUgbmFtZT8gQW5kIGRvIHlvdSB3YW50IHRvIG1ha2UgdGhpcyBjaGFu Z2UgYXMgcGFydCBvZiB5b3VyIHNlcmllcyBzbwpJIGNhbiByZWJhc2UgbXkgcGF0Y2ggb24gdG9w IG9mIHRoaXM/CgpSZWdhcmRzCk1hbmFzaQoKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9k cCk7Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC00NzExLDYgKzQ3MTEsNyBAQCBpbnRlbF9kcF9sb25n X3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPiA+ID4gPiAg CQlpbnRlbF9kcC0+bWF4X2xpbmtfcmF0ZSA9IGludGVsX2RwX21heF9jb21tb25fcmF0ZShpbnRl bF9kcCk7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJCWludGVsX2RwLT5yZXNldF9saW5rX3BhcmFtcyA9 IGZhbHNlOwo+ID4gPiA+ICsJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKPiA+ ID4gPiAgCX0KPiA+ID4gPiAgCj4gPiA+ID4gIAlpbnRlbF9kcF9wcmludF9yYXRlcyhpbnRlbF9k cCk7Cj4gPiA+ID4gQEAgLTU5NzksNiArNTk4MCw3IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4gPiA+ICAJaW50 ZWxfZHBfc2V0X3NvdXJjZV9yYXRlcyhpbnRlbF9kcCk7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJaW50 ZWxfZHAtPnJlc2V0X2xpbmtfcGFyYW1zID0gdHJ1ZTsKPiA+ID4gPiArCWludGVsX2RwLT50cmFp bl9zZXRfdmFsaWQgPSBmYWxzZTsKPiA+ID4gPiAgCWludGVsX2RwLT5wcHNfcGlwZSA9IElOVkFM SURfUElQRTsKPiA+ID4gPiAgCWludGVsX2RwLT5hY3RpdmVfcGlwZSA9IElOVkFMSURfUElQRTsK PiA+ID4gPiAgCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX2xpbmtfdHJhaW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtf dHJhaW5pbmcuYwo+ID4gPiA+IGluZGV4IDA1OTA3ZmEuLjY3MDMyY2YgMTAwNjQ0Cj4gPiA+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4gPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4g PiA+ID4gQEAgLTk0LDcgKzk0LDggQEAgc3RhdGljIGJvb2wKPiA+ID4gPiAgaW50ZWxfZHBfcmVz ZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiA+ICAJCQl1aW50 OF90IGRwX3RyYWluX3BhdCkKPiA+ID4gPiAgewo+ID4gPiA+IC0JbWVtc2V0KGludGVsX2RwLT50 cmFpbl9zZXQsIDAsIHNpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSk7Cj4gPiA+ID4gKwlpZiAo IWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQpCj4gPiA+ID4gKwkJbWVtc2V0KGludGVsX2RwLT50 cmFpbl9zZXQsIDAsIHNpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSk7Cj4gPiA+ID4gIAlpbnRl bF9kcF9zZXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCk7Cj4gPiA+ID4gIAlyZXR1cm4gaW50ZWxf ZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIGRwX3RyYWluX3BhdCk7Cj4gPiA+ID4gIH0KPiA+ ID4gPiBAQCAtMTYyLDkgKzE2MywxOCBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3Jl Y292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gIAkJCQkgICAgICAgRFBf VFJBSU5JTkdfUEFUVEVSTl8xIHwKPiA+ID4gPiAgCQkJCSAgICAgICBEUF9MSU5LX1NDUkFNQkxJ TkdfRElTQUJMRSkpIHsKPiA+ID4gPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgbGlu ayB0cmFpbmluZ1xuIik7Cj4gPiA+ID4gKwkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZh bHNlOwo+ID4gPiA+ICAJCXJldHVybiBmYWxzZTsKPiA+ID4gPiAgCX0KPiA+ID4gPiAgCj4gPiA+ ID4gKwkvKgo+ID4gPiA+ICsJICogVGhlIGluaXRpYWwgc2V0IG9mIGxpbmsgcGFyYW1ldGVycyBh cmUgc2V0IGJ5IHRoaXMgcG9pbnQsIHNvIGdvCj4gPiA+ID4gKwkgKiBhaGVhZCBhbmQgc2V0IGlu dGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgdG8gZmFsc2UgaW4gY2FzZSBhbnkgb2YKPiA+ID4gPiAr CSAqIHRoZSBzdWNjZWVkaW5nIHN0ZXBzIGZhaWwuICBJdCB3aWxsIGJlIHNldCBiYWNrIHRvIHRy dWUgaWYgd2Ugd2VyZQo+ID4gPiA+ICsJICogYWJsZSB0byBhY2hpZXZlIGNsb2NrIHJlY292ZXJ5 IGluIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbi4KPiA+ID4gPiArCSAqLwo+ID4gPiA+ICsJ aW50ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+ID4gPiA+ICsKPiA+ID4gPiAgCXZv bHRhZ2VfdHJpZXMgPSAxOwo+ID4gPiA+ICAJbWF4X3Zzd2luZ190cmllcyA9IDA7Cj4gPiA+ID4g IAlmb3IgKDs7KSB7Cj4gPiA+ID4gQEAgLTE3OSw2ICsxODksNyBAQCBpbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4g IAo+ID4gPiA+ICAJCWlmIChkcm1fZHBfY2xvY2tfcmVjb3Zlcnlfb2sobGlua19zdGF0dXMsIGlu dGVsX2RwLT5sYW5lX2NvdW50KSkgewo+ID4gPiA+ICAJCQlEUk1fREVCVUdfS01TKCJjbG9jayBy ZWNvdmVyeSBPS1xuIik7Cj4gPiA+ID4gKwkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBp c19lZHAoaW50ZWxfZHApOwo+ID4gPiA+ICAJCQlyZXR1cm4gdHJ1ZTsKPiA+ID4gPiAgCQl9Cj4g PiA+ID4gIAo+ID4gPiA+IEBAIC0yNTYsNiArMjY3LDcgQEAgaW50ZWxfZHBfbGlua190cmFpbmlu Z19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiA+ ICAJCQkJICAgICB0cmFpbmluZ19wYXR0ZXJuIHwKPiA+ID4gPiAgCQkJCSAgICAgRFBfTElOS19T Q1JBTUJMSU5HX0RJU0FCTEUpKSB7Cj4gPiA+ID4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc3Rh cnQgY2hhbm5lbCBlcXVhbGl6YXRpb25cbiIpOwo+ID4gPiA+ICsJCWludGVsX2RwLT50cmFpbl9z ZXRfdmFsaWQgPSBmYWxzZTsKPiA+ID4gPiAgCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ID4gIAl9Cj4g PiA+ID4gIAo+ID4gPiA+IEBAIC0yOTYsNiArMzA4LDcgQEAgaW50ZWxfZHBfbGlua190cmFpbmlu Z19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiA+ ICAJLyogVHJ5IDUgdGltZXMsIGVsc2UgZmFpbCBhbmQgdHJ5IGF0IGxvd2VyIEJXICovCj4gPiA+ ID4gIAlpZiAodHJpZXMgPT0gNSkgewo+ID4gPiA+ICAJCWludGVsX2RwX2R1bXBfbGlua19zdGF0 dXMobGlua19zdGF0dXMpOwo+ID4gPiA+ICsJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBm YWxzZTsKPiA+ID4gPiAgCQlEUk1fREVCVUdfS01TKCJDaGFubmVsIGVxdWFsaXphdGlvbiBmYWls ZWQgNSB0aW1lc1xuIik7Cj4gPiA+ID4gIAl9Cj4gPiA+IAo+ID4gPiBUaGVyZSBhcmUgb3RoZXIg Y2FzZXMgaW4gdGhlIGNoYW5uZWwgZXF1YWxpemF0aW9uIGxvb3Agb2YgNSB0cmllcyB3aGVyZSBp ZiBkcm1fZHBfY2xvY2tfcmVjb3Zlcl9vawo+ID4gPiBpcyBub3QgdHJ1ZSB0aGVuIGl0IGp1c3Qg YnJlYWtzIGZyb20gdGhlIGZvciBsb29wLiBTYW1lIGluIGNhc2Ugb2YgZmFpbHVyZSB0byB1cGRh dGUgbGluayB0cmFpbiBvcgo+ID4gPiBmYWlsdXJlIHRvIGdldCBsaW5rIHN0YXR1cy4gSW4gdGhp cyBjYXNlIHdlIGRvbnQgc2V0IHRyYWluX3NldF92YWxpZCB0byBmYWxzZSBzaW5lYyB0aGUgdHJp ZXMgaXMgbm90IDUgeWV0Cj4gPiA+IEluIHRoaXMgY2FzZSBzaW5jZSB0aGUgdHJhaW5fc2V0X3Zh bGlkIHdhcyB0cnVlIHdoZW4gaXQgZW50ZXJlZCB0aGlzIGZ1bmN0aW9uLCBpdCB3aWxsCj4gPiA+ IHN0YXkgdHJ1ZSB3aXRob3V0IGFjdHVhbGx5IHN1Y2NlZWRpbmcgYXQgY2ggZXEuCj4gPiA+IFNo b3VsZG50IHdlIGJlIHNldHRpbmcgdHJhaW5fc2V0X3ZhbGlkIHRvIGZhbHNlIGluIHRoZXNlIGNh c2VzPwo+ID4gPiBPciBpcyB0aGVyZSBzb21ldGhpbmcgSSBhbSBtaXNzaW5nIGhlcmU/Cj4gPiAK PiA+IEl0J3Mgc2V0IHRvIGZhbHNlIGJlZm9yZSBhbGwgb2YgdGhvc2UsIGFuZCB0aGVuIHNldCBi YWNrIHRvIHRydWUgaWYgdGhlCj4gPiByZXRyYWluIHdvcmtzIGFuZCB3ZSdyZSBvbiBlRFAuICBN YWtpbmcgdGhlIGNoYW5nZSB0byBkbyB0aGlzIHdhcyBzb21lCj4gPiByZXZpZXcgZmVlZGJhY2sg ZnJvbSBDaHJpcyBvbiBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHBhdGNoLgo+ID4gCj4gPiBK aW0KPiA+IAo+ID4KPiAKPiBJIHNlZSB0aGF0IGl0IGlzIHNldCB0byBmYWxzZSBiZWZvcmUgc3Rh cnRpbmcgdGhlIGNsb2NrIHJlY292ZXJ5IGJ1dCBhZnRlciBjbG9jayByZWNvdmVyeQo+IHN1Y2Nl ZWRzLCB0aGlzIGlzIHNldCB0byB0cnVlIGFuZCBvbmx5IHRoZW4geW91IHdpbGwgcHJvY2VlZCB3 aXRoIGNoYW5uZWwgZXF1YWxpemF0aW9uLgo+IEFuZCBpbiBjaGFubmVsIGVxdWFsaXphdGlvbiwg aXQgbmV2ZXIgZ2V0cyBzZXQgdG8gZmFsc2UgaW4gY2FzZSBvZiB0aGUgZmFpbHVyZXMgSSBtZW50 aW9uZWQgYWJvdmUgc2luY2UKPiB3ZSBqdXN0IGJyZWFrIHRoZXJlLgo+IEl0IHRoZW4gZ2V0cyBz ZXQgdG8gZmFsc2Ugb25seSBpZiB0aGUgdHJpZXMgYXJlIDUgYnV0IGl0IHNob3VsZCBhbHNvIGJl IHNldCB0byBmYWxzZSBpbiBjYXNlCj4gb2Ygb3RoZXIgZmFpbHVyZXMgdGhhdCBJIG1lbnRpb25l ZCBlbHNlIHdlIHdpbGwgZW5kIHVwIGxlYXZpbmcgaXQgdG8gdHJ1ZSBldmVuIHdoZW4gY2hhbm5l bCBFUSBuZXZlcgo+IHN1Y2NlZWRlZC4KPiAKPiBNYW5hc2kKPiAgCj4gPiA+IFJlZ2FyZHMKPiA+ ID4gTWFuYXNpCj4gPiA+IAo+ID4gPiA+ICAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+ID4gPiA+IGluZGV4IGY5MWRlOWMuLjc5MmJmNTQ3IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBAQCAtOTk0LDYgKzk5NCw3IEBAIHN0cnVjdCBp bnRlbF9kcCB7Cj4gPiA+ID4gIAlzdHJ1Y3QgZHJtX2RwX2F1eCBhdXg7Cj4gPiA+ID4gIAllbnVt IGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGF1eF9wb3dlcl9kb21haW47Cj4gPiA+ID4gIAl1 aW50OF90IHRyYWluX3NldFs0XTsKPiA+ID4gPiArCWJvb2wgdHJhaW5fc2V0X3ZhbGlkOwo+ID4g PiA+ICAJaW50IHBhbmVsX3Bvd2VyX3VwX2RlbGF5Owo+ID4gPiA+ICAJaW50IHBhbmVsX3Bvd2Vy X2Rvd25fZGVsYXk7Cj4gPiA+ID4gIAlpbnQgcGFuZWxfcG93ZXJfY3ljbGVfZGVsYXk7Cj4gPiA+ ID4gQEAgLTE1NDgsNiArMTU0OSw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGludGVs X2RwX3VudXNlZF9sYW5lX21hc2soaW50IGxhbmVfY291bnQpCj4gPiA+ID4gIH0KPiA+ID4gPiAg Cj4gPiA+ID4gIGJvb2wgaW50ZWxfZHBfcmVhZF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApOwo+ID4gPiA+ICtib29sIGlzX2VkcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ ID4gPiAgaW50IGludGVsX2RwX2xpbmtfcmVxdWlyZWQoaW50IHBpeGVsX2Nsb2NrLCBpbnQgYnBw KTsKPiA+ID4gPiAgaW50IGludGVsX2RwX21heF9kYXRhX3JhdGUoaW50IG1heF9saW5rX2Nsb2Nr LCBpbnQgbWF4X2xhbmVzKTsKPiA+ID4gPiAgYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVj dGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiAtLSAKPiA+ID4g PiAyLjcuNAo+ID4gPiA+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK