From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 8/8] drm/i915: Adjust system agent voltage on CNL if required by DDI ports Date: Fri, 20 Oct 2017 19:11:19 +0300 Message-ID: <20171020161119.GM10981@intel.com> References: <20171018204825.2500-1-ville.syrjala@linux.intel.com> <20171018204825.2500-9-ville.syrjala@linux.intel.com> <20171019235456.wagrvqrvuw4m3bas@intel.com> <20171020141804.GJ10981@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 99D916EC90 for ; Fri, 20 Oct 2017 16:11:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171020141804.GJ10981@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMjAsIDIwMTcgYXQgMDU6MTg6MDRQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgT2N0IDE5LCAyMDE3IGF0IDA0OjU0OjU2UE0gLTA3MDAsIFJvZHJp Z28gVml2aSB3cm90ZToKPiA+IAo+ID4gT24gV2VkLCBPY3QgMTgsIDIwMTcgYXQgMDg6NDg6MjVQ TSArMDAwMCwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiA+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gCj4gPiA+IE9uIENOTCB3ZSBt YXkgbmVlZCB0byBidW1wIHVwIHRoZSBzeXN0ZW0gYWdlbnQgdm9sdGFnZSBub3Qgb25seSBkdWUK PiA+ID4gdG8gQ0RDTEsgYnV0IGFsc28gd2hlbiBkcml2aW5nIERESSBwb3J0IHdpdGggYSBzdWZm aWNpZW50bHkgaGlnaCBjbG9jay4KPiA+ID4gVG8gdGhhdCBlbmQgc3RhcnQgdHJhY2tpbmcgdGhl IG1pbmltdW0gYWNjZXB0YWJsZSB2b2x0YWdlIGZvciBlYWNoIGNydGMuCj4gPiA+IFdlIGRvIHRo ZSB0cmFja2luZyB2aWEgY3J0Y3MgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSBraW5kIG9mIGVu Y29kZXIKPiA+ID4gc3RhdGUuIEFsc28gdGhlcmUncyBubyBkb3duc2lkZSB0byBkb2luZyBpdCB0 aGlzIHdheSwgYW5kIGl0IG1hdGNoZXMgaG93Cj4gPiA+IHdlIHRyYWNrIGNkY2xrIHJlcXVpcmVt ZW50cyBvbiBhY2NvdW50IG9mIHBpeGVsIHJhdGUuCj4gPiA+IAo+ID4gPiBDYzogTWlrYSBLYWhv bGEgPG1pa2Eua2Fob2xhQGludGVsLmNvbT4KPiA+ID4gQ2M6IE1hbmFzaSBOYXZhcmUgPG1hbmFz aS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiA+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2 aUBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IAo+ID4gUmV2aWV3ZWQtYnk6IFJvZHJp Z28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+IAo+ID4gVGVzdGVkLWJ5OiBSb2Ry aWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiAoQWx0aG91Z2ggSSBkaWRuJ3Qg ZmluZCBjYXNlcyB3aGVyZSBJIGNvdWxkIGZvcmNlIGEgaGlnaGVyIHZvbHRhZ2UgbGV2ZWwsCj4g PiBldmVyeXRoaW5nIHdvcmtzIHdlbGwgb24gQ05MIHdpdGggdGhpcy4pCj4gCj4gRm9yIGEgcXVp Y2sgdGVzdCBoYWNrIHlvdSBjb3VsZCBqdXN0IHJlZHVjZSB0aGUgcG9ydCBjbG9jayBsaW1pdCBp bgo+IGludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlKCkgdG8gc29tZXRoaW5nIHlvdSBjYW4g cmVhY2guCj4gCj4gU28gcHJvYmFibHkgc29tZXRoaW5nIGxpa2U6Cj4gMS4gZW5hYmxlIG9uZSBw aXBlIHdpdGggbG93IHBvcnQgY2xvY2sgdGhhdCBjYW4gb3BlcmF0ZSBhdCBtaW4gdm9sdGFnZQo+ IDIuIGVuYWJsZSBhIHNlY29uZCBwaXBlIHdpdGggaGlnaGVyIHBvcnQgY2xvY2sgdGhhdCBuZWVk IG1heCB2b2x0YWdlCj4gMy4gc3RhcmUgYXQgdGhlIGxvZ3MgdG8gbWFrZSBzdXJlIHdlIHJhbXAg dXAgdGhlIHZvbHRhZ2UgY29ycmVjdGx5LAo+ICAgIGFuZCB0aGF0IHRoZSBmaXJzdCBwaXBlIGRp ZG4ndCB1bmRlcmdvIGEgbW9kZXNldCBuZWVkbGVzc2x5Cj4gCj4gT2gsIGFuZCBJIGd1ZXNzIHlv dSdkIGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQgYm90aCBwaXBlcyBjYW4gb3BlcmF0ZSBhdAo+IHRo ZSBzYW1lIGxvdyBjZGNsayB2YWx1ZSBzbyB0aGF0IGNkY2xrIGNoYW5nZXMgd29uJ3QgaW50ZXJm ZXJlIHdpdGgKPiB5b3VyIG9ic2VydmF0aW9ucy4KPiAKPiBBY3R1YWxseSB0aGlzIGtpbmQgb2Yg aGFjayBjb3VsZCBiZSB0ZXN0ZWQgb24gYW55IHBsYXRmb3JtLCBhc3N1bWluZwo+IHRoZXkgd2ls bCB0b2xlcmF0ZSB2b2x0YWdlIGNoYW5nZXMgd2l0aCBwaXBlcyBvbi4gSSBndWVzcyBJIGNhbiBn aXZlCj4gaXQgYSBxdWljayB3aGlybCBvbiBteSBTS0wgaGVyZSBhbmQgc2VlIGlmIHRoZSBzbW9r ZSBlc2NhcGVzIDspCgpPSywgcXVpY2sgdGVzdCBoZXJlIGZvdW5kIHNvbWUgYnVncy4gSSBzZW50 IGEgdjIgd2hpY2ggc2VlbXMgdG8gZG8gdGhlCnJpZ2h0IHRoaW5nIG9uIG15IFNLTCB3aXRoIHRo ZSBhZm9yZW1lbnRpb25lZCBoYWNrcyBpbiBwbGFjZS4KCj4gCj4gPiAKPiA+IAo+ID4gPiAtLS0K PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAyICsrCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jICAgfCAzNCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyAgICAgfCAxMyArKysrKysrKysrKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAgNiArKysrKysKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jICB8ICA1ICsrKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCAgICAgfCAgNiArKysrKysKPiA+ID4gIDYgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gPiA+IGluZGV4IGQzYWM1OGRjMjc1Zi4uMTg1NzExYTg1MmIwIDEwMDY0NAo+ID4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gQEAgLTI0MTUsNiArMjQxNSw4IEBAIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlIHsKPiA+ID4gIAl1bnNpZ25lZCBpbnQgYWN0aXZlX2NydGNzOwo+ID4g PiAgCS8qIG1pbmltdW0gYWNjZXB0YWJsZSBjZGNsayBmb3IgZWFjaCBwaXBlICovCj4gPiA+ICAJ aW50IG1pbl9jZGNsa1tJOTE1X01BWF9QSVBFU107Cj4gPiA+ICsJLyogbWluaW11bSBhY2NlcHRh YmxlIHZvbHRhZ2UgZm9yIGVhY2ggcGlwZSAqLwo+ID4gPiArCXU4IG1pbl92b2x0YWdlW0k5MTVf TUFYX1BJUEVTXTsKPiA+ID4gIAo+ID4gPiAgCWludCBkcGlvX3BoeV9pb3NmX3BvcnRbSTkxNV9O VU1fUEhZU19WTFZdOwo+ID4gPiAgCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ ID4gPiBpbmRleCA3OTVhMThmNjRjNGMuLjAzNWM0NDg1ODkwOCAxMDA2NDQKPiA+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gPiA+IEBAIC0xNjY2LDYgKzE2NjYsMTMgQEAgc3Rh dGljIHZvaWQgY25sX3NldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gPiA+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGN1X2xvY2spOwo+ID4gPiAgCj4gPiA+ ICAJaW50ZWxfdXBkYXRlX2NkY2xrKGRldl9wcml2KTsKPiA+ID4gKwo+ID4gPiArCS8qCj4gPiA+ ICsJICogQ2FuJ3QgcmVhZCB0aGlzIG91dCA6KCBDYW4ndCByZWx5IG9uIC5nZXRfY2RjbGsoKSBz aW5jZSBpdAo+ID4gPiArCSAqIGRvZXNuJ3Qga25vdyBhYm91dCBEREkgdm9sdGFnZSByZXF1aXJl bWVudHMuIFNvIGxldCdzIGp1c3QKPiA+ID4gKwkgKiBhc3N1bWUgZXZlcnl0aGluZyBpcyBhcyBl eHBlY3RlZC4KPiA+ID4gKwkgKi8KPiA+ID4gKwlkZXZfcHJpdi0+Y2RjbGsuaHcudm9sdGFnZSA9 IGNkY2xrX3N0YXRlLT52b2x0YWdlOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgaW50 IGNubF9jZGNsa19wbGxfdmNvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50 IGNkY2xrKQo+ID4gPiBAQCAtMTkzNSw2ICsxOTQyLDI5IEBAIHN0YXRpYyBpbnQgaW50ZWxfY29t cHV0ZV9taW5fY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gPiAgCXJl dHVybiBtaW5fY2RjbGs7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gK3N0YXRpYyB1OCBpbnRlbF9j b21wdXRlX21pbl92b2x0YWdlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4g PiArewo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo c3RhdGUtPmJhc2UuZGV2KTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKPiA+ID4g KwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ID4gKwl1OCBtaW5fdm9s dGFnZTsKPiA+ID4gKwlpbnQgaTsKPiA+ID4gKwllbnVtIHBpcGUgcGlwZTsKPiA+ID4gKwo+ID4g PiArCW1lbWNweShzdGF0ZS0+bWluX3ZvbHRhZ2UsIGRldl9wcml2LT5taW5fdm9sdGFnZSwKPiA+ ID4gKwkgICAgICAgc2l6ZW9mKHN0YXRlLT5taW5fdm9sdGFnZSkpOwo+ID4gPiArCj4gPiA+ICsJ Zm9yX2VhY2hfbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUs IGkpCj4gPiA+ICsJCXN0YXRlLT5taW5fdm9sdGFnZVtpXSA9IGNydGNfc3RhdGUtPm1pbl92b2x0 YWdlOwo+ID4gPiArCj4gPiA+ICsJbWluX3ZvbHRhZ2UgPSAwOwo+ID4gPiArCWZvcl9lYWNoX3Bp cGUoZGV2X3ByaXYsIHBpcGUpCj4gPiA+ICsJCW1pbl92b2x0YWdlID0gbWF4KHN0YXRlLT5taW5f dm9sdGFnZVtwaXBlXSwKPiA+ID4gKwkJCQkgIG1pbl92b2x0YWdlKTsKPiA+ID4gKwo+ID4gPiAr CXJldHVybiBtaW5fdm9sdGFnZTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAgc3RhdGljIGludCB2 bHZfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KHN0YXRlLT5kZXYpOwo+ID4gPiBAQCAtMjA5MSw3ICsyMTIxLDkgQEAgc3RhdGljIGludCBjbmxf bW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ID4g IAo+ID4gPiAgCWludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsLnZjbyA9IHZjbzsKPiA+ID4gIAlp bnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC5jZGNsayA9IGNkY2xrOwo+ID4gPiAtCWludGVsX3N0 YXRlLT5jZGNsay5sb2dpY2FsLnZvbHRhZ2UgPSBjbmxfY2FsY192b2x0YWdlKGNkY2xrKTsKPiA+ ID4gKwlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC52b2x0YWdlID0KPiA+ID4gKwkJbWF4KGNu bF9jYWxjX3ZvbHRhZ2UoY2RjbGspLAo+ID4gPiArCQkgICAgaW50ZWxfY29tcHV0ZV9taW5fdm9s dGFnZShpbnRlbF9zdGF0ZSkpOwo+ID4gPiAgCj4gPiA+ICAJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0 aXZlX2NydGNzKSB7Cj4gPiA+ICAJCWNkY2xrID0gY25sX2NhbGNfY2RjbGsoMCk7Cj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+IGluZGV4IGFkZjUxYjMyODg0NC4uZjAyZTNjMmY0 YWQyIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiBAQCAtMjUy NSw2ICsyNTI1LDE1IEBAIGJvb2wgaW50ZWxfZGRpX2lzX2F1ZGlvX2VuYWJsZWQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCXJldHVybiBmYWxzZTsKPiA+ID4gIH0K PiA+ID4gIAo+ID4gPiArdm9pZCBpbnRlbF9kZGlfY29tcHV0ZV9taW5fdm9sdGFnZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkJICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ICt7Cj4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTAgJiYgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU5NDAwMCkKPiA+ID4gKwkJ Y3J0Y19zdGF0ZS0+bWluX3ZvbHRhZ2UgPSAyOwo+ID4gPiArCWVsc2UKPiA+ID4gKwkJY3J0Y19z dGF0ZS0+bWluX3ZvbHRhZ2UgPSAwOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICB2b2lkIGludGVs X2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCQkJ ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gPiA+ICB7Cj4gPiA+IEBA IC0yNjI0LDYgKzI2MzMsOCBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkKPiA+ ID4gIAkJcGlwZV9jb25maWctPmxhbmVfbGF0X29wdGltX21hc2sgPQo+ID4gPiAgCQkJYnh0X2Rk aV9waHlfZ2V0X2xhbmVfbGF0X29wdGltX21hc2soZW5jb2Rlcik7Cj4gPiA+ICsKPiA+ID4gKwlp bnRlbF9kZGlfY29tcHV0ZV9taW5fdm9sdGFnZShkZXZfcHJpdiwgcGlwZV9jb25maWcpOwo+ID4g PiAgfQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+IEBAIC0yNjUwLDYgKzI2NjEsOCBA QCBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gPiA+ICAJCQlieHRfZGRpX3BoeV9jYWxjX2xhbmVfbGF0X29wdGltX21h c2soZW5jb2RlciwKPiA+ID4gIAkJCQkJCQkgICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50KTsK PiA+ID4gIAo+ID4gPiArCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlKGRldl9wcml2LCBw aXBlX2NvbmZpZyk7Cj4gPiA+ICsKPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiAgCj4gPiA+ICB9 Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggMzJlN2Nj YTUyZGEyLi43ZDI5M2VjYjUxYzQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiA+ID4gQEAgLTU5MzgsNiArNTkzOCw3IEBAIHN0YXRpYyB2b2lkIGludGVs X2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAKPiA+ ID4gIAlkZXZfcHJpdi0+YWN0aXZlX2NydGNzICY9IH4oMSA8PCBpbnRlbF9jcnRjLT5waXBlKTsK PiA+ID4gIAlkZXZfcHJpdi0+bWluX2NkY2xrW2ludGVsX2NydGMtPnBpcGVdID0gMDsKPiA+ID4g KwlkZXZfcHJpdi0+bWluX3ZvbHRhZ2VbaW50ZWxfY3J0Yy0+cGlwZV0gPSAwOwo+ID4gPiAgfQo+ ID4gPiAgCj4gPiA+ICAvKgo+ID4gPiBAQCAtMTEzMDQsNiArMTEzMDUsOCBAQCBpbnRlbF9waXBl X2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g IAlQSVBFX0NPTkZfQ0hFQ0tfQ0xPQ0tfRlVaWlkoYmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xv Y2spOwo+ID4gPiAgCVBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpaWShwb3J0X2Nsb2NrKTsKPiA+ ID4gIAo+ID4gPiArCVBJUEVfQ09ORl9DSEVDS19JKG1pbl92b2x0YWdlKTsKPiA+ID4gKwo+ID4g PiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19YCj4gPiA+ICAjdW5kZWYgUElQRV9DT05GX0NIRUNL X0kKPiA+ID4gICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfUAo+ID4gPiBAQCAtMTI1MzIsNiArMTI1 MzUsOCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiA+ID4gIAlpZiAoaW50ZWxfc3RhdGUtPm1vZGVzZXQpIHsKPiA+ID4gIAkJbWVtY3B5 KGRldl9wcml2LT5taW5fY2RjbGssIGludGVsX3N0YXRlLT5taW5fY2RjbGssCj4gPiA+ICAJCSAg ICAgICBzaXplb2YoaW50ZWxfc3RhdGUtPm1pbl9jZGNsaykpOwo+ID4gPiArCQltZW1jcHkoZGV2 X3ByaXYtPm1pbl92b2x0YWdlLCBpbnRlbF9zdGF0ZS0+bWluX3ZvbHRhZ2UsCj4gPiA+ICsJCSAg ICAgICBzaXplb2YoaW50ZWxfc3RhdGUtPm1pbl92b2x0YWdlKSk7Cj4gPiA+ICAJCWRldl9wcml2 LT5hY3RpdmVfY3J0Y3MgPSBpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzOwo+ID4gPiAgCQlkZXZf cHJpdi0+Y2RjbGsubG9naWNhbCA9IGludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+ID4gPiAg CQlkZXZfcHJpdi0+Y2RjbGsuYWN0dWFsID0gaW50ZWxfc3RhdGUtPmNkY2xrLmFjdHVhbDsKPiA+ ID4gQEAgLTE1MDQyLDYgKzE1MDQ3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFk b3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICAJCX0KPiA+ID4gIAo+ ID4gPiAgCQlkZXZfcHJpdi0+bWluX2NkY2xrW2NydGMtPnBpcGVdID0gbWluX2NkY2xrOwo+ID4g PiArCQlkZXZfcHJpdi0+bWluX3ZvbHRhZ2VbY3J0Yy0+cGlwZV0gPSBjcnRjX3N0YXRlLT5taW5f dm9sdGFnZTsKPiA+ID4gIAo+ID4gPiAgCQlpbnRlbF9waXBlX2NvbmZpZ19zYW5pdHlfY2hlY2so ZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+ID4gPiAgCX0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmMKPiA+ID4gaW5kZXggNzcyNTIxNDQwYTlmLi42YzFkYTg4YjVmZWYgMTAwNjQ0 Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiA+IEBAIC0zNCw2ICsz NCw3IEBAIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gIAkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnLAo+ID4gPiAgCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSkKPiA+ID4gIHsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZHBf bXN0X2VuY29kZXIgKmludGVsX21zdCA9IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpOwo+ID4g PiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0 LT5wcmltYXJ5Owo+ID4gPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGln X3BvcnQtPmRwOwo+ID4gPiBAQCAtODcsNiArODgsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9t c3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAK PiA+ID4gIAlwaXBlX2NvbmZpZy0+ZHBfbV9uLnR1ID0gc2xvdHM7Cj4gPiA+ICAKPiA+ID4gKwlp bnRlbF9kZGlfY29tcHV0ZV9taW5fdm9sdGFnZShkZXZfcHJpdiwgcGlwZV9jb25maWcpOwo+ID4g PiArCj4gPiA+ICAJcmV0dXJuIHRydWU7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gQEAgLTMwNyw2 ICszMTAsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9tc3RfZW5jX2dldF9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAJaW50ZWxfZHBfZ2V0X21fbihjcnRjLCBw aXBlX2NvbmZpZyk7Cj4gPiA+ICAKPiA+ID4gIAlpbnRlbF9kZGlfY2xvY2tfZ2V0KCZpbnRlbF9k aWdfcG9ydC0+YmFzZSwgcGlwZV9jb25maWcpOwo+ID4gPiArCj4gPiA+ICsJaW50ZWxfZGRpX2Nv bXB1dGVfbWluX3ZvbHRhZ2UoZGV2X3ByaXYsIHBpcGVfY29uZmlnKTsKPiA+ID4gIH0KPiA+ID4g IAo+ID4gPiAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfZ2V0X2RkY19tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g PiBpbmRleCA3NjVhNzM3NzAwYzUuLjAwMjg5NGIxM2Q2OSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gQEAgLTM4Niw2ICszODYsOCBAQCBzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlIHsKPiA+ID4gIAl1bnNpZ25lZCBpbnQgYWN0aXZlX2NydGNzOwo+ID4gPiAg CS8qIG1pbmltdW0gYWNjZXB0YWJsZSBjZGNsayBmb3IgZWFjaCBwaXBlICovCj4gPiA+ICAJaW50 IG1pbl9jZGNsa1tJOTE1X01BWF9QSVBFU107Cj4gPiA+ICsJLyogbWluaW11bSBhY2NlcHRhYmxl IHZvbHRhZ2UgZm9yIGVhY2ggcGlwZSAqLwo+ID4gPiArCXU4IG1pbl92b2x0YWdlW0k5MTVfTUFY X1BJUEVTXTsKPiA+ID4gIAo+ID4gPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSBz aGFyZWRfZHBsbFtJOTE1X05VTV9QTExTXTsKPiA+ID4gIAo+ID4gPiBAQCAtNzM5LDYgKzc0MSw4 IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ID4gIAkgKi8KPiA+ID4gIAl1aW50OF90 IGxhbmVfbGF0X29wdGltX21hc2s7Cj4gPiA+ICAKPiA+ID4gKwl1OCBtaW5fdm9sdGFnZTsKPiA+ ID4gKwo+ID4gPiAgCS8qIFBhbmVsIGZpdHRlciBjb250cm9scyBmb3IgZ2VuMi1nZW40ICsgVkxW ICovCj4gPiA+ICAJc3RydWN0IHsKPiA+ID4gIAkJdTMyIGNvbnRyb2w7Cj4gPiA+IEBAIC0xMjk0 LDYgKzEyOTgsOCBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gPiA+ICAJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKTsKPiA+ID4gIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gPiAgCQkJCSAgICBib29sIHN0 YXRlKTsKPiA+ID4gK3ZvaWQgaW50ZWxfZGRpX2NvbXB1dGVfbWluX3ZvbHRhZ2Uoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ID4gIHUzMiBieHRfc2lnbmFsX2xldmVscyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ID4gIHVpbnQzMl90IGRkaV9zaWduYWxfbGV2ZWxzKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gPiAgdTggaW50ZWxfZGRpX2RwX3ZvbHRhZ2Vf bWF4KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiA+ID4gLS0gCj4gPiA+IDIuMTMu Ngo+ID4gPiAKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbCBPVEMKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=