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 17:18:04 +0300 Message-ID: <20171020141804.GJ10981@intel.com> References: <20171018204825.2500-1-ville.syrjala@linux.intel.com> <20171018204825.2500-9-ville.syrjala@linux.intel.com> <20171019235456.wagrvqrvuw4m3bas@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 02B706EC6F for ; Fri, 20 Oct 2017 14:18:07 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171019235456.wagrvqrvuw4m3bas@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 T24gVGh1LCBPY3QgMTksIDIwMTcgYXQgMDQ6NTQ6NTZQTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IAo+IE9uIFdlZCwgT2N0IDE4LCAyMDE3IGF0IDA4OjQ4OjI1UE0gKzAwMDAsIFZpbGxl IFN5cmphbGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4gCj4gPiBPbiBDTkwgd2UgbWF5IG5lZWQgdG8gYnVtcCB1cCB0 aGUgc3lzdGVtIGFnZW50IHZvbHRhZ2Ugbm90IG9ubHkgZHVlCj4gPiB0byBDRENMSyBidXQgYWxz byB3aGVuIGRyaXZpbmcgRERJIHBvcnQgd2l0aCBhIHN1ZmZpY2llbnRseSBoaWdoIGNsb2NrLgo+ ID4gVG8gdGhhdCBlbmQgc3RhcnQgdHJhY2tpbmcgdGhlIG1pbmltdW0gYWNjZXB0YWJsZSB2b2x0 YWdlIGZvciBlYWNoIGNydGMuCj4gPiBXZSBkbyB0aGUgdHJhY2tpbmcgdmlhIGNydGNzIGJlY2F1 c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkga2luZCBvZiBlbmNvZGVyCj4gPiBzdGF0ZS4gQWxzbyB0aGVy ZSdzIG5vIGRvd25zaWRlIHRvIGRvaW5nIGl0IHRoaXMgd2F5LCBhbmQgaXQgbWF0Y2hlcyBob3cK PiA+IHdlIHRyYWNrIGNkY2xrIHJlcXVpcmVtZW50cyBvbiBhY2NvdW50IG9mIHBpeGVsIHJhdGUu Cj4gPiAKPiA+IENjOiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgo+ID4gQ2M6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiBDYzogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiAKPiBSZXZpZXdl ZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IAo+IFRlc3RlZC1i eTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IChBbHRob3VnaCBJIGRp ZG4ndCBmaW5kIGNhc2VzIHdoZXJlIEkgY291bGQgZm9yY2UgYSBoaWdoZXIgdm9sdGFnZSBsZXZl bCwKPiBldmVyeXRoaW5nIHdvcmtzIHdlbGwgb24gQ05MIHdpdGggdGhpcy4pCgpGb3IgYSBxdWlj ayB0ZXN0IGhhY2sgeW91IGNvdWxkIGp1c3QgcmVkdWNlIHRoZSBwb3J0IGNsb2NrIGxpbWl0IGlu CmludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlKCkgdG8gc29tZXRoaW5nIHlvdSBjYW4gcmVh Y2guCgpTbyBwcm9iYWJseSBzb21ldGhpbmcgbGlrZToKMS4gZW5hYmxlIG9uZSBwaXBlIHdpdGgg bG93IHBvcnQgY2xvY2sgdGhhdCBjYW4gb3BlcmF0ZSBhdCBtaW4gdm9sdGFnZQoyLiBlbmFibGUg YSBzZWNvbmQgcGlwZSB3aXRoIGhpZ2hlciBwb3J0IGNsb2NrIHRoYXQgbmVlZCBtYXggdm9sdGFn ZQozLiBzdGFyZSBhdCB0aGUgbG9ncyB0byBtYWtlIHN1cmUgd2UgcmFtcCB1cCB0aGUgdm9sdGFn ZSBjb3JyZWN0bHksCiAgIGFuZCB0aGF0IHRoZSBmaXJzdCBwaXBlIGRpZG4ndCB1bmRlcmdvIGEg bW9kZXNldCBuZWVkbGVzc2x5CgpPaCwgYW5kIEkgZ3Vlc3MgeW91J2QgaGF2ZSB0byBtYWtlIHN1 cmUgdGhhdCBib3RoIHBpcGVzIGNhbiBvcGVyYXRlIGF0CnRoZSBzYW1lIGxvdyBjZGNsayB2YWx1 ZSBzbyB0aGF0IGNkY2xrIGNoYW5nZXMgd29uJ3QgaW50ZXJmZXJlIHdpdGgKeW91ciBvYnNlcnZh dGlvbnMuCgpBY3R1YWxseSB0aGlzIGtpbmQgb2YgaGFjayBjb3VsZCBiZSB0ZXN0ZWQgb24gYW55 IHBsYXRmb3JtLCBhc3N1bWluZwp0aGV5IHdpbGwgdG9sZXJhdGUgdm9sdGFnZSBjaGFuZ2VzIHdp dGggcGlwZXMgb24uIEkgZ3Vlc3MgSSBjYW4gZ2l2ZQppdCBhIHF1aWNrIHdoaXJsIG9uIG15IFNL TCBoZXJlIGFuZCBzZWUgaWYgdGhlIHNtb2tlIGVzY2FwZXMgOykKCj4gCj4gCj4gPiAtLS0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMiArKwo+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICB8IDM0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAg fCAxMyArKysrKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgIDYgKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMg IHwgIDUgKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg NiArKysrKysKPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBpbmRleCBkM2FjNThkYzI3 NWYuLjE4NTcxMWE4NTJiMCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IEBA IC0yNDE1LDYgKzI0MTUsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gPiAgCXVuc2ln bmVkIGludCBhY3RpdmVfY3J0Y3M7Cj4gPiAgCS8qIG1pbmltdW0gYWNjZXB0YWJsZSBjZGNsayBm b3IgZWFjaCBwaXBlICovCj4gPiAgCWludCBtaW5fY2RjbGtbSTkxNV9NQVhfUElQRVNdOwo+ID4g KwkvKiBtaW5pbXVtIGFjY2VwdGFibGUgdm9sdGFnZSBmb3IgZWFjaCBwaXBlICovCj4gPiArCXU4 IG1pbl92b2x0YWdlW0k5MTVfTUFYX1BJUEVTXTsKPiA+ICAKPiA+ICAJaW50IGRwaW9fcGh5X2lv c2ZfcG9ydFtJOTE1X05VTV9QSFlTX1ZMVl07Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NkY2xrLmMKPiA+IGluZGV4IDc5NWExOGY2NGM0Yy4uMDM1YzQ0ODU4OTA4IDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gQEAgLTE2NjYsNiArMTY2NiwxMyBAQCBz dGF0aWMgdm9pZCBjbmxfc2V0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGN1X2xvY2spOwo+ID4gIAo+ID4gIAlp bnRlbF91cGRhdGVfY2RjbGsoZGV2X3ByaXYpOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBDYW4n dCByZWFkIHRoaXMgb3V0IDooIENhbid0IHJlbHkgb24gLmdldF9jZGNsaygpIHNpbmNlIGl0Cj4g PiArCSAqIGRvZXNuJ3Qga25vdyBhYm91dCBEREkgdm9sdGFnZSByZXF1aXJlbWVudHMuIFNvIGxl dCdzIGp1c3QKPiA+ICsJICogYXNzdW1lIGV2ZXJ5dGhpbmcgaXMgYXMgZXhwZWN0ZWQuCj4gPiAr CSAqLwo+ID4gKwlkZXZfcHJpdi0+Y2RjbGsuaHcudm9sdGFnZSA9IGNkY2xrX3N0YXRlLT52b2x0 YWdlOwo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgaW50IGNubF9jZGNsa19wbGxfdmNvKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IGNkY2xrKQo+ID4gQEAgLTE5MzUsNiAr MTk0MiwyOSBAQCBzdGF0aWMgaW50IGludGVsX2NvbXB1dGVfbWluX2NkY2xrKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICAJcmV0dXJuIG1pbl9jZGNsazsKPiA+ICB9Cj4gPiAg Cj4gPiArc3RhdGljIHU4IGludGVsX2NvbXB1dGVfbWluX3ZvbHRhZ2Uoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5iYXNlLmRldik7Cj4gPiArCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ ICsJdTggbWluX3ZvbHRhZ2U7Cj4gPiArCWludCBpOwo+ID4gKwllbnVtIHBpcGUgcGlwZTsKPiA+ ICsKPiA+ICsJbWVtY3B5KHN0YXRlLT5taW5fdm9sdGFnZSwgZGV2X3ByaXYtPm1pbl92b2x0YWdl LAo+ID4gKwkgICAgICAgc2l6ZW9mKHN0YXRlLT5taW5fdm9sdGFnZSkpOwo+ID4gKwo+ID4gKwlm b3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwg aSkKPiA+ICsJCXN0YXRlLT5taW5fdm9sdGFnZVtpXSA9IGNydGNfc3RhdGUtPm1pbl92b2x0YWdl Owo+ID4gKwo+ID4gKwltaW5fdm9sdGFnZSA9IDA7Cj4gPiArCWZvcl9lYWNoX3BpcGUoZGV2X3By aXYsIHBpcGUpCj4gPiArCQltaW5fdm9sdGFnZSA9IG1heChzdGF0ZS0+bWluX3ZvbHRhZ2VbcGlw ZV0sCj4gPiArCQkJCSAgbWluX3ZvbHRhZ2UpOwo+ID4gKwo+ID4gKwlyZXR1cm4gbWluX3ZvbHRh Z2U7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQgdmx2X21vZGVzZXRfY2FsY19jZGNsayhz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ID4gQEAgLTIwOTEs NyArMjEyMSw5IEBAIHN0YXRpYyBpbnQgY25sX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCj4gPiAgCWludGVsX3N0YXRlLT5jZGNsay5sb2dp Y2FsLnZjbyA9IHZjbzsKPiA+ICAJaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwuY2RjbGsgPSBj ZGNsazsKPiA+IC0JaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwudm9sdGFnZSA9IGNubF9jYWxj X3ZvbHRhZ2UoY2RjbGspOwo+ID4gKwlpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC52b2x0YWdl ID0KPiA+ICsJCW1heChjbmxfY2FsY192b2x0YWdlKGNkY2xrKSwKPiA+ICsJCSAgICBpbnRlbF9j b21wdXRlX21pbl92b2x0YWdlKGludGVsX3N0YXRlKSk7Cj4gPiAgCj4gPiAgCWlmICghaW50ZWxf c3RhdGUtPmFjdGl2ZV9jcnRjcykgewo+ID4gIAkJY2RjbGsgPSBjbmxfY2FsY19jZGNsaygwKTsK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBpbmRleCBhZGY1MWIzMjg4NDQuLmYwMmUz YzJmNGFkMiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gQEAgLTI1MjUs NiArMjUyNSwxNSBAQCBib29sIGludGVsX2RkaV9pc19hdWRpb19lbmFibGVkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAJcmV0dXJuIGZhbHNlOwo+ID4gIH0KPiA+ICAK PiA+ICt2b2lkIGludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gPiArewo+ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCAmJiBj cnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gNTk0MDAwKQo+ID4gKwkJY3J0Y19zdGF0ZS0+bWluX3Zv bHRhZ2UgPSAyOwo+ID4gKwllbHNlCj4gPiArCQljcnRjX3N0YXRlLT5taW5fdm9sdGFnZSA9IDA7 Cj4gPiArfQo+ID4gKwo+ID4gIHZvaWQgaW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCj4gPiAgewo+ID4gQEAgLTI2MjQsNiArMjYzMyw4IEBAIHZvaWQgaW50ZWxfZGRp X2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCWlmIChJU19H RU45X0xQKGRldl9wcml2KSkKPiA+ICAJCXBpcGVfY29uZmlnLT5sYW5lX2xhdF9vcHRpbV9tYXNr ID0KPiA+ICAJCQlieHRfZGRpX3BoeV9nZXRfbGFuZV9sYXRfb3B0aW1fbWFzayhlbmNvZGVyKTsK PiA+ICsKPiA+ICsJaW50ZWxfZGRpX2NvbXB1dGVfbWluX3ZvbHRhZ2UoZGV2X3ByaXYsIHBpcGVf Y29uZmlnKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gQEAgLTI2NTAsNiArMjY2 MSw4IEBAIHN0YXRpYyBib29sIGludGVsX2RkaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQlieHRfZGRpX3BoeV9jYWxjX2xhbmVfbGF0X29wdGlt X21hc2soZW5jb2RlciwKPiA+ICAJCQkJCQkJICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCk7 Cj4gPiAgCj4gPiArCWludGVsX2RkaV9jb21wdXRlX21pbl92b2x0YWdlKGRldl9wcml2LCBwaXBl X2NvbmZpZyk7Cj4gPiArCj4gPiAgCXJldHVybiByZXQ7Cj4gPiAgCj4gPiAgfQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggMzJlN2NjYTUyZGEyLi43ZDI5M2Vj YjUxYzQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAg LTU5MzgsNiArNTkzOCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21p YyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCj4gPiAgCWRldl9wcml2LT5hY3RpdmVfY3J0 Y3MgJj0gfigxIDw8IGludGVsX2NydGMtPnBpcGUpOwo+ID4gIAlkZXZfcHJpdi0+bWluX2NkY2xr W2ludGVsX2NydGMtPnBpcGVdID0gMDsKPiA+ICsJZGV2X3ByaXYtPm1pbl92b2x0YWdlW2ludGVs X2NydGMtPnBpcGVdID0gMDsKPiA+ICB9Cj4gPiAgCj4gPiAgLyoKPiA+IEBAIC0xMTMwNCw2ICsx MTMwNSw4IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ID4gIAlQSVBFX0NPTkZfQ0hFQ0tfQ0xPQ0tfRlVaWlkoYmFzZS5hZGp1 c3RlZF9tb2RlLmNydGNfY2xvY2spOwo+ID4gIAlQSVBFX0NPTkZfQ0hFQ0tfQ0xPQ0tfRlVaWlko cG9ydF9jbG9jayk7Cj4gPiAgCj4gPiArCVBJUEVfQ09ORl9DSEVDS19JKG1pbl92b2x0YWdlKTsK PiA+ICsKPiA+ICAjdW5kZWYgUElQRV9DT05GX0NIRUNLX1gKPiA+ICAjdW5kZWYgUElQRV9DT05G X0NIRUNLX0kKPiA+ICAjdW5kZWYgUElQRV9DT05GX0NIRUNLX1AKPiA+IEBAIC0xMjUzMiw2ICsx MjUzNSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ID4gIAlpZiAoaW50ZWxfc3RhdGUtPm1vZGVzZXQpIHsKPiA+ICAJCW1lbWNweShk ZXZfcHJpdi0+bWluX2NkY2xrLCBpbnRlbF9zdGF0ZS0+bWluX2NkY2xrLAo+ID4gIAkJICAgICAg IHNpemVvZihpbnRlbF9zdGF0ZS0+bWluX2NkY2xrKSk7Cj4gPiArCQltZW1jcHkoZGV2X3ByaXYt Pm1pbl92b2x0YWdlLCBpbnRlbF9zdGF0ZS0+bWluX3ZvbHRhZ2UsCj4gPiArCQkgICAgICAgc2l6 ZW9mKGludGVsX3N0YXRlLT5taW5fdm9sdGFnZSkpOwo+ID4gIAkJZGV2X3ByaXYtPmFjdGl2ZV9j cnRjcyA9IGludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3M7Cj4gPiAgCQlkZXZfcHJpdi0+Y2RjbGsu bG9naWNhbCA9IGludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsOwo+ID4gIAkJZGV2X3ByaXYtPmNk Y2xrLmFjdHVhbCA9IGludGVsX3N0YXRlLT5jZGNsay5hY3R1YWw7Cj4gPiBAQCAtMTUwNDIsNiAr MTUwNDcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCX0KPiA+ICAKPiA+ICAJCWRldl9wcml2LT5taW5f Y2RjbGtbY3J0Yy0+cGlwZV0gPSBtaW5fY2RjbGs7Cj4gPiArCQlkZXZfcHJpdi0+bWluX3ZvbHRh Z2VbY3J0Yy0+cGlwZV0gPSBjcnRjX3N0YXRlLT5taW5fdm9sdGFnZTsKPiA+ICAKPiA+ICAJCWlu dGVsX3BpcGVfY29uZmlnX3Nhbml0eV9jaGVjayhkZXZfcHJpdiwgY3J0Y19zdGF0ZSk7Cj4gPiAg CX0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiBpbmRleCA3NzI1MjE0NDBh OWYuLjZjMWRhODhiNWZlZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3Qu Ywo+ID4gQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAkJCQkJc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ID4gIAkJCQkJc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ICAJc3RydWN0IGlu dGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNl KTsKPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRl bF9tc3QtPnByaW1hcnk7Cj4gPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxf ZGlnX3BvcnQtPmRwOwo+ID4gQEAgLTg3LDYgKzg4LDggQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBf bXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAo+ ID4gIAlwaXBlX2NvbmZpZy0+ZHBfbV9uLnR1ID0gc2xvdHM7Cj4gPiAgCj4gPiArCWludGVsX2Rk aV9jb21wdXRlX21pbl92b2x0YWdlKGRldl9wcml2LCBwaXBlX2NvbmZpZyk7Cj4gPiArCj4gPiAg CXJldHVybiB0cnVlOwo+ID4gIH0KPiA+ICAKPiA+IEBAIC0zMDcsNiArMzEwLDggQEAgc3RhdGlj IHZvaWQgaW50ZWxfZHBfbXN0X2VuY19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ID4gIAlpbnRlbF9kcF9nZXRfbV9uKGNydGMsIHBpcGVfY29uZmlnKTsKPiA+ICAK PiA+ICAJaW50ZWxfZGRpX2Nsb2NrX2dldCgmaW50ZWxfZGlnX3BvcnQtPmJhc2UsIHBpcGVfY29u ZmlnKTsKPiA+ICsKPiA+ICsJaW50ZWxfZGRpX2NvbXB1dGVfbWluX3ZvbHRhZ2UoZGV2X3ByaXYs IHBpcGVfY29uZmlnKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGludCBpbnRlbF9kcF9tc3Rf Z2V0X2RkY19tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDc2NWE3Mzc3MDBjNS4uMDAyODk0YjEzZDY5IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtMzg2LDYgKzM4Niw4IEBA IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgewo+ID4gIAl1bnNpZ25lZCBpbnQgYWN0aXZlX2Ny dGNzOwo+ID4gIAkvKiBtaW5pbXVtIGFjY2VwdGFibGUgY2RjbGsgZm9yIGVhY2ggcGlwZSAqLwo+ ID4gIAlpbnQgbWluX2NkY2xrW0k5MTVfTUFYX1BJUEVTXTsKPiA+ICsJLyogbWluaW11bSBhY2Nl cHRhYmxlIHZvbHRhZ2UgZm9yIGVhY2ggcGlwZSAqLwo+ID4gKwl1OCBtaW5fdm9sdGFnZVtJOTE1 X01BWF9QSVBFU107Cj4gPiAgCj4gPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSBz aGFyZWRfZHBsbFtJOTE1X05VTV9QTExTXTsKPiA+ICAKPiA+IEBAIC03MzksNiArNzQxLDggQEAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ID4gIAkgKi8KPiA+ICAJdWludDhfdCBsYW5lX2xh dF9vcHRpbV9tYXNrOwo+ID4gIAo+ID4gKwl1OCBtaW5fdm9sdGFnZTsKPiA+ICsKPiA+ICAJLyog UGFuZWwgZml0dGVyIGNvbnRyb2xzIGZvciBnZW4yLWdlbjQgKyBWTFYgKi8KPiA+ICAJc3RydWN0 IHsKPiA+ICAJCXUzMiBjb250cm9sOwo+ID4gQEAgLTEyOTQsNiArMTI5OCw4IEBAIHZvaWQgaW50 ZWxfZGRpX2Nsb2NrX2dldChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQkg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICB2b2lkIGludGVsX2Rk aV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKPiA+ICAJCQkJICAgIGJvb2wgc3RhdGUpOwo+ID4gK3ZvaWQgaW50ZWxfZGRpX2Nv bXB1dGVfbWluX3ZvbHRhZ2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4g KwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPiAgdTMyIGJ4 dF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gIHVpbnQzMl90 IGRkaV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gIHU4IGlu dGVsX2RkaV9kcF92b2x0YWdlX21heChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7Cj4g PiAtLSAKPiA+IDIuMTMuNgo+ID4gCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK