From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Bride Subject: Re: [PATCH v5] drm/i915/edp: Be less aggressive about changing link config on eDP Date: Thu, 17 Aug 2017 12:54:08 -0700 Message-ID: <20170817195408.GA28482@shiv> 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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0A0366E635 for ; Thu, 17 Aug 2017 19:56:55 +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: Manasi Navare Cc: Paulo Zanoni , Jani Nikula , intel-gfx@lists.freedesktop.org, 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 c19lZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChp bnRlbF9kcCk7Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC00NzExLDYgKzQ3MTEsNyBAQCBpbnRlbF9k cF9sb25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPiA+ ID4gPiAgCQlpbnRlbF9kcC0+bWF4X2xpbmtfcmF0ZSA9IGludGVsX2RwX21heF9jb21tb25fcmF0 ZShpbnRlbF9kcCk7Cj4gPiA+ID4gIAo+ID4gPiA+ICAJCWludGVsX2RwLT5yZXNldF9saW5rX3Bh cmFtcyA9IGZhbHNlOwo+ID4gPiA+ICsJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxz ZTsKPiA+ID4gPiAgCX0KPiA+ID4gPiAgCj4gPiA+ID4gIAlpbnRlbF9kcF9wcmludF9yYXRlcyhp bnRlbF9kcCk7Cj4gPiA+ID4gQEAgLTU5NzksNiArNTk4MCw3IEBAIGludGVsX2RwX2luaXRfY29u bmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4gPiA+ ICAJaW50ZWxfZHBfc2V0X3NvdXJjZV9yYXRlcyhpbnRlbF9kcCk7Cj4gPiA+ID4gIAo+ID4gPiA+ ICAJaW50ZWxfZHAtPnJlc2V0X2xpbmtfcGFyYW1zID0gdHJ1ZTsKPiA+ID4gPiArCWludGVsX2Rw LT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKPiA+ID4gPiAgCWludGVsX2RwLT5wcHNfcGlwZSA9 IElOVkFMSURfUElQRTsKPiA+ID4gPiAgCWludGVsX2RwLT5hY3RpdmVfcGlwZSA9IElOVkFMSURf UElQRTsKPiA+ID4gPiAgCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw X2xpbmtfdHJhaW5pbmcuYwo+ID4gPiA+IGluZGV4IDA1OTA3ZmEuLjY3MDMyY2YgMTAwNjQ0Cj4g PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5j Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmlu Zy5jCj4gPiA+ID4gQEAgLTk0LDcgKzk0LDggQEAgc3RhdGljIGJvb2wKPiA+ID4gPiAgaW50ZWxf ZHBfcmVzZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiA+ICAJ CQl1aW50OF90IGRwX3RyYWluX3BhdCkKPiA+ID4gPiAgewo+ID4gPiA+IC0JbWVtc2V0KGludGVs X2RwLT50cmFpbl9zZXQsIDAsIHNpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSk7Cj4gPiA+ID4g KwlpZiAoIWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQpCj4gPiA+ID4gKwkJbWVtc2V0KGludGVs X2RwLT50cmFpbl9zZXQsIDAsIHNpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSk7Cj4gPiA+ID4g IAlpbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCk7Cj4gPiA+ID4gIAlyZXR1cm4g aW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIGRwX3RyYWluX3BhdCk7Cj4gPiA+ID4g IH0KPiA+ID4gPiBAQCAtMTYyLDkgKzE2MywxOCBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Ns b2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gIAkJCQkgICAg ICAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKPiA+ID4gPiAgCQkJCSAgICAgICBEUF9MSU5LX1ND UkFNQkxJTkdfRElTQUJMRSkpIHsKPiA+ID4gPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFi bGUgbGluayB0cmFpbmluZ1xuIik7Cj4gPiA+ID4gKwkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxp ZCA9IGZhbHNlOwo+ID4gPiA+ICAJCXJldHVybiBmYWxzZTsKPiA+ID4gPiAgCX0KPiA+ID4gPiAg Cj4gPiA+ID4gKwkvKgo+ID4gPiA+ICsJICogVGhlIGluaXRpYWwgc2V0IG9mIGxpbmsgcGFyYW1l dGVycyBhcmUgc2V0IGJ5IHRoaXMgcG9pbnQsIHNvIGdvCj4gPiA+ID4gKwkgKiBhaGVhZCBhbmQg c2V0IGludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgdG8gZmFsc2UgaW4gY2FzZSBhbnkgb2YKPiA+ ID4gPiArCSAqIHRoZSBzdWNjZWVkaW5nIHN0ZXBzIGZhaWwuICBJdCB3aWxsIGJlIHNldCBiYWNr IHRvIHRydWUgaWYgd2Ugd2VyZQo+ID4gPiA+ICsJICogYWJsZSB0byBhY2hpZXZlIGNsb2NrIHJl Y292ZXJ5IGluIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbi4KPiA+ID4gPiArCSAqLwo+ID4g PiA+ICsJaW50ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwo+ID4gPiA+ICsKPiA+ID4g PiAgCXZvbHRhZ2VfdHJpZXMgPSAxOwo+ID4gPiA+ICAJbWF4X3Zzd2luZ190cmllcyA9IDA7Cj4g PiA+ID4gIAlmb3IgKDs7KSB7Cj4gPiA+ID4gQEAgLTE3OSw2ICsxODksNyBAQCBpbnRlbF9kcF9s aW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4g PiA+ID4gIAo+ID4gPiA+ICAJCWlmIChkcm1fZHBfY2xvY2tfcmVjb3Zlcnlfb2sobGlua19zdGF0 dXMsIGludGVsX2RwLT5sYW5lX2NvdW50KSkgewo+ID4gPiA+ICAJCQlEUk1fREVCVUdfS01TKCJj bG9jayByZWNvdmVyeSBPS1xuIik7Cj4gPiA+ID4gKwkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFs aWQgPSBpc19lZHAoaW50ZWxfZHApOwo+ID4gPiA+ICAJCQlyZXR1cm4gdHJ1ZTsKPiA+ID4gPiAg CQl9Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC0yNTYsNiArMjY3LDcgQEAgaW50ZWxfZHBfbGlua190 cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ID4gPiA+ICAJCQkJICAgICB0cmFpbmluZ19wYXR0ZXJuIHwKPiA+ID4gPiAgCQkJCSAgICAgRFBf TElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpKSB7Cj4gPiA+ID4gIAkJRFJNX0VSUk9SKCJmYWlsZWQg dG8gc3RhcnQgY2hhbm5lbCBlcXVhbGl6YXRpb25cbiIpOwo+ID4gPiA+ICsJCWludGVsX2RwLT50 cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKPiA+ID4gPiAgCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ID4g IAl9Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC0yOTYsNiArMzA4LDcgQEAgaW50ZWxfZHBfbGlua190 cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ID4gPiA+ICAJLyogVHJ5IDUgdGltZXMsIGVsc2UgZmFpbCBhbmQgdHJ5IGF0IGxvd2VyIEJXICov Cj4gPiA+ID4gIAlpZiAodHJpZXMgPT0gNSkgewo+ID4gPiA+ICAJCWludGVsX2RwX2R1bXBfbGlu a19zdGF0dXMobGlua19zdGF0dXMpOwo+ID4gPiA+ICsJCWludGVsX2RwLT50cmFpbl9zZXRfdmFs aWQgPSBmYWxzZTsKPiA+ID4gPiAgCQlEUk1fREVCVUdfS01TKCJDaGFubmVsIGVxdWFsaXphdGlv biBmYWlsZWQgNSB0aW1lc1xuIik7Cj4gPiA+ID4gIAl9Cj4gPiA+IAo+ID4gPiBUaGVyZSBhcmUg b3RoZXIgY2FzZXMgaW4gdGhlIGNoYW5uZWwgZXF1YWxpemF0aW9uIGxvb3Agb2YgNSB0cmllcyB3 aGVyZSBpZiBkcm1fZHBfY2xvY2tfcmVjb3Zlcl9vawo+ID4gPiBpcyBub3QgdHJ1ZSB0aGVuIGl0 IGp1c3QgYnJlYWtzIGZyb20gdGhlIGZvciBsb29wLiBTYW1lIGluIGNhc2Ugb2YgZmFpbHVyZSB0 byB1cGRhdGUgbGluayB0cmFpbiBvcgo+ID4gPiBmYWlsdXJlIHRvIGdldCBsaW5rIHN0YXR1cy4g SW4gdGhpcyBjYXNlIHdlIGRvbnQgc2V0IHRyYWluX3NldF92YWxpZCB0byBmYWxzZSBzaW5lYyB0 aGUgdHJpZXMgaXMgbm90IDUgeWV0Cj4gPiA+IEluIHRoaXMgY2FzZSBzaW5jZSB0aGUgdHJhaW5f c2V0X3ZhbGlkIHdhcyB0cnVlIHdoZW4gaXQgZW50ZXJlZCB0aGlzIGZ1bmN0aW9uLCBpdCB3aWxs Cj4gPiA+IHN0YXkgdHJ1ZSB3aXRob3V0IGFjdHVhbGx5IHN1Y2NlZWRpbmcgYXQgY2ggZXEuCj4g PiA+IFNob3VsZG50IHdlIGJlIHNldHRpbmcgdHJhaW5fc2V0X3ZhbGlkIHRvIGZhbHNlIGluIHRo ZXNlIGNhc2VzPwo+ID4gPiBPciBpcyB0aGVyZSBzb21ldGhpbmcgSSBhbSBtaXNzaW5nIGhlcmU/ Cj4gPiAKPiA+IEl0J3Mgc2V0IHRvIGZhbHNlIGJlZm9yZSBhbGwgb2YgdGhvc2UsIGFuZCB0aGVu IHNldCBiYWNrIHRvIHRydWUgaWYgdGhlCj4gPiByZXRyYWluIHdvcmtzIGFuZCB3ZSdyZSBvbiBl RFAuICBNYWtpbmcgdGhlIGNoYW5nZSB0byBkbyB0aGlzIHdhcyBzb21lCj4gPiByZXZpZXcgZmVl ZGJhY2sgZnJvbSBDaHJpcyBvbiBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHBhdGNoLgo+ID4g Cj4gPiBKaW0KPiA+IAo+ID4KPiAKPiBJIHNlZSB0aGF0IGl0IGlzIHNldCB0byBmYWxzZSBiZWZv cmUgc3RhcnRpbmcgdGhlIGNsb2NrIHJlY292ZXJ5IGJ1dCBhZnRlciBjbG9jayByZWNvdmVyeQo+ IHN1Y2NlZWRzLCB0aGlzIGlzIHNldCB0byB0cnVlIGFuZCBvbmx5IHRoZW4geW91IHdpbGwgcHJv Y2VlZCB3aXRoIGNoYW5uZWwgZXF1YWxpemF0aW9uLgo+IEFuZCBpbiBjaGFubmVsIGVxdWFsaXph dGlvbiwgaXQgbmV2ZXIgZ2V0cyBzZXQgdG8gZmFsc2UgaW4gY2FzZSBvZiB0aGUgZmFpbHVyZXMg SSBtZW50aW9uZWQgYWJvdmUgc2luY2UKPiB3ZSBqdXN0IGJyZWFrIHRoZXJlLgo+IEl0IHRoZW4g Z2V0cyBzZXQgdG8gZmFsc2Ugb25seSBpZiB0aGUgdHJpZXMgYXJlIDUgYnV0IGl0IHNob3VsZCBh bHNvIGJlIHNldCB0byBmYWxzZSBpbiBjYXNlCj4gb2Ygb3RoZXIgZmFpbHVyZXMgdGhhdCBJIG1l bnRpb25lZCBlbHNlIHdlIHdpbGwgZW5kIHVwIGxlYXZpbmcgaXQgdG8gdHJ1ZSBldmVuIHdoZW4g Y2hhbm5lbCBFUSBuZXZlcgo+IHN1Y2NlZWRlZC4KCkkgc2VlIHdoZXJlIHlvdSdyZSB0YWxraW5n IGFib3V0IG5vdy4gIEkgaG9uZXN0bHkgYmVsaWV2ZSB0aGF0IHRoZSBjb2RlCmFzIHdyaXR0ZW4g aXMgYnJva2VuLiAgQWxsIG9mIHRob3NlIGZhaWxpbmcgJ2JyZWFrJyBzdGF0ZW1lbnRzIHNob3Vs ZCBiZQonY29udGludWUnIHN0YXRlbWVudHMgKHRoZSBicmVhayBmb3Igc3VjY2VzcyBpcyBmaW5l LikgIEFzIHRoZSBjb2RlIGlzIHdyaXR0ZW4sCndlIGJyZWFrIG91dCBvZiB0aGUgbG9vcCBvbiB0 aGUgZmlyc3QgZmFpbHVyZSwgYW5kIGlmICh0cmllcyA9PSA1KSB3aWxsIG5ldmVyCmJlIHRydWUu ICBJZiB3ZSBhY3R1YWxseSBsb29wIHRocm91Z2ggZml2ZSB0aW1lcyBiZWZvcmUgd2UgZ2l2ZSB1 cCwgdGhlbgp0aGlzIHBhdGNoIGFzIHdyaXR0ZW4gaXMgZmluZS4KCkppbQoKCj4gTWFuYXNpCj4g IAo+ID4gPiBSZWdhcmRzCj4gPiA+IE1hbmFzaQo+ID4gPiAKPiA+ID4gPiAgCj4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBpbmRleCBmOTFkZTljLi43OTJiZjU0NyAxMDA2 NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gQEAgLTk5NCw2 ICs5OTQsNyBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+ID4gPiA+ICAJc3RydWN0IGRybV9kcF9hdXgg YXV4Owo+ID4gPiA+ICAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBhdXhfcG93ZXJf ZG9tYWluOwo+ID4gPiA+ICAJdWludDhfdCB0cmFpbl9zZXRbNF07Cj4gPiA+ID4gKwlib29sIHRy YWluX3NldF92YWxpZDsKPiA+ID4gPiAgCWludCBwYW5lbF9wb3dlcl91cF9kZWxheTsKPiA+ID4g PiAgCWludCBwYW5lbF9wb3dlcl9kb3duX2RlbGF5Owo+ID4gPiA+ICAJaW50IHBhbmVsX3Bvd2Vy X2N5Y2xlX2RlbGF5Owo+ID4gPiA+IEBAIC0xNTQ4LDYgKzE1NDksNyBAQCBzdGF0aWMgaW5saW5l IHVuc2lnbmVkIGludCBpbnRlbF9kcF91bnVzZWRfbGFuZV9tYXNrKGludCBsYW5lX2NvdW50KQo+ ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ICBib29sIGludGVsX2RwX3JlYWRfZHBjZChzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ID4gPiArYm9vbCBpc19lZHAoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCk7Cj4gPiA+ID4gIGludCBpbnRlbF9kcF9saW5rX3JlcXVpcmVkKGludCBw aXhlbF9jbG9jaywgaW50IGJwcCk7Cj4gPiA+ID4gIGludCBpbnRlbF9kcF9tYXhfZGF0YV9yYXRl KGludCBtYXhfbGlua19jbG9jaywgaW50IG1heF9sYW5lcyk7Cj4gPiA+ID4gIGJvb2wgaW50ZWxf ZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gPiA+ID4gLS0gCj4gPiA+ID4gMi43LjQKPiA+ID4gPiAKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==