From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3] drm/i915/ddi: Get AUX power domain for DP main link too Date: Tue, 26 Jun 2018 21:03:48 +0300 Message-ID: <20180626180348.GA23311@ideak-desk.fi.intel.com> References: <20180621171247.20350-1-imre.deak@intel.com> <20180621184449.26634-1-imre.deak@intel.com> <1530034826.2574.2.camel@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2055B89214 for ; Tue, 26 Jun 2018 18:04:19 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1530034826.2574.2.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: "intel-gfx@lists.freedesktop.org" , "Pandiyan, Dhinakaran" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMjYsIDIwMTggYXQgMTA6NDA6MjZBTSAtMDcwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IEVtIFNlZywgMjAxOC0wNi0yNSDDoHMgMTY6NTUgLTA3MDAsIFNvdXphLCBKb3NlIGVz Y3JldmV1Ogo+ID4gT24gVGh1LCAyMDE4LTA2LTIxIGF0IDIxOjQ0ICswMzAwLCBJbXJlIERlYWsg d3JvdGU6Cj4gPiA+IFNvIGZhciB3ZSBnb3QgYW4gQVVYIHBvd2VyIGRvbWFpbiByZWZlcmVuY2Ug b25seSBmb3IgdGhlIGR1cmF0aW9uCj4gPiA+IG9mCj4gPiA+IERQCj4gPiA+IEFVWCB0cmFuc2Zl cnMuIEhvd2V2ZXIsIHRoZSBmb2xsb3dpbmcgc3VnZ2VzdHMgdGhhdCB3ZSBhbHNvIG5lZWQKPiA+ ID4gdGhlc2UKPiA+ID4gZm9yIG1haW4gbGluayBmdW5jdGlvbmFsaXR5Ogo+ID4gPiAtIFRoZSBz cGVjaWZpY2F0aW9uIGRvZXNuJ3Qgc3RhdGUgd2hldGhlciBpdCdzIG5lZWRlZCBvciBub3QgZm9y Cj4gPiA+IG1haW4KPiA+ID4gICBsaW5rIGZ1bmN0aW9uYWxpdHksIGJ1dCBzdWdnZXN0cyB0aGF0 IHRoZXNlIHBvd2VyIHdlbGxzIG5lZWQgdG8KPiA+ID4gYmUKPiA+ID4gICBlbmFibGVkIGFscmVh ZHkgZHVyaW5nIGRpc3BsYXkgY29yZSBpbml0aWFsaXphdGlvbiAoU2VxdWVuY2VzIHRvCj4gPiA+ ICAgSW5pdGlhbGl6ZSBEaXNwbGF5KS4KPiAKPiBObywgdGhlIHNwZWNpZmljYXRpb24gc3RhdGVz IGl0J3MgbmVlZGVkLiBQYWdlICJTZXF1ZW5jZXMgZm9yCj4gRGlzcGxheVBvcnQiICh0aGUgSUNM IHZlcnNpb24sIG9mIGNvdXJzZSksIHN0ZXAgMS5iOgo+IAo+ICJUQzogTm90ZSB0aGF0IEFVWCBw b3dlciBpcyByZXF1aXJlZCBmb3IgcnVubmluZyBtYWluIGxpbmsuIgo+IAo+IFNhbWUgZm9yIHRo ZSBIRE1JIHBhZ2UuCgpZZXMsIGZvciBJQ0wgTUcgUEhZIHBvcnRzIChpbiBhbGwgbW9kZXMpIGl0 J3MgY2xlYXJseSBzdGF0ZWQgYXMgSSBhbHNvCndyb3RlIGl0IGJlbG93LiBUaGUgYWJvdmUgaXMg YWJvdXQgdGhlIElDTCBjb21ibyBQSFkgcG9ydHMgYW5kIHRoZSBvdGhlcgpwbGF0Zm9ybXMuIEZv ciB0aG9zZSB0aGUgb25seSBoaW50IGlzIHRoYXQgZW5hYmxpbmcgdGhlIEFVWCBwb3dlciB3ZWxs cwppcyBsaXN0ZWQgYXMgYSBzdGVwIGluIHRoZSAnU2VxdWVuY2VzIHRvIEluaXRpYWxpemUgRGlz cGxheSIuCgo+IAo+ID4gPiAtIEZvciBQU1Igd2UgbmVlZCB0byBrZWVwIHRoZSBBVVggcG93ZXIg d2VsbCBlbmFibGVkLgo+ID4gPiAtIE9uIElDTCBjb21ibyBQSFkgcG9ydHMgKG5vbi1UQykgdGhl IEFVWCBwb3dlciB3ZWxsIGlzIG5lZWRlZCBmb3IKPiA+ID4gICBsaW5rIHRyYWluaW5nIHRvbzog d2hpbGUgdGhlIHBvcnQgaXMgZW5hYmxlZCB3aXRoIGEgRFAgbGluawo+ID4gPiB0cmFpbmluZwo+ ID4gPiAgIHRlc3QgcGF0dGVybiB0cnlpbmcgdG8gdG9nZ2xlIHRoZSBBVVggcG93ZXIgd2VsbCB3 aWxsIHRpbWUgb3V0Lgo+ID4gPiAtIE9uIElDTCBNRyBQSFkgcG9ydHMgKFRDKSB0aGUgQVVYIHBv d2VyIHdlbGwgaXMgbmVlZGVkIGFsc28gZm9yCj4gPiA+IG1haW4KPiA+ID4gICBsaW5rIGZ1bmN0 aW9uYWxpdHkgKGJvdGggaW4gRFAgYW5kIEhETUkgbW9kZXMpLgo+ID4gPiAtIFdpbmRvd3MgZW5h YmxlcyB0aGVzZSBwb3dlciB3ZWxscyBib3RoIGZvciBtYWluIGFuZCBBVVggbGFuZQo+ID4gPiAg IGZ1bmN0aW9uYWxpdHkuCj4gPiA+IAo+ID4gPiBCYXNlZCBvbiB0aGUgYWJvdmUgdGFrZSBhbiBB VVggcG93ZXIgcmVmZXJlbmNlIGZvciBtYWluIGxpbmsKPiA+ID4gZnVuY3Rpb25hbGl0eSB0b28u IFRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIG9ubHkgb24gR0VOMTArIChHTEsrKQo+ID4gPiBwbGF0 Zm9ybXMsIHdoZXJlIHdlIGhhdmUgc2VwYXJhdGUgcG9ydCBzcGVjaWZpYyBBVVggcG93ZXIgd2Vs bHMuCj4gPiA+IAo+ID4gPiBGb3IgUFNSIHdlIHN0aWxsIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0 d2VlbiBwb3J0IEEgYW5kIHRoZSBvdGhlcgo+ID4gPiBwb3J0cywgc2luY2Ugb24gcG9ydCBBIERD IHN0YXRlcyBtdXN0IHN0YXkgZW5hYmxlZCBmb3IgbWFpbiBsaW5rCj4gPiA+IGZ1bmN0aW9uYWxp dHksIGJ1dCBEQyBzdGF0ZXMgbXVzdCBiZSBkaXNhYmxlZCBmb3IgZHJpdmVyIGluaXRpYXRlZAo+ ID4gPiBBVVggdHJhbnNmZXJzLiBTbyByZS11c2UgdGhlIGNvcnJlc3BvbmRpbmcgaGVscGVyIGZy b20gaW50ZWxfcHNyLmMuCj4gPiA+IAo+ID4gPiBTaW5jZSB3ZSB0YWtlIG5vdyBhIHJlZmVyZW5j ZSBmb3IgbWFpbiBsaW5rIGZ1bmN0aW9uYWxpdHkgb24gYWxsIERQCj4gPiA+IHBvcnRzIHdlIGNh biBmb3JnbyB0YWtpbmcgdGhlIHNlcGFyYXRlIHBvd2VyIHJlZiBmb3IgUFNSCj4gPiA+IGZ1bmN0 aW9uYWxpdHkuCj4gPiA+IAo+ID4gPiB2MjoKPiA+ID4gLSBNYWtlIHN1cmUgREMgc3RhdGVzIHN0 YXkgZW5hYmxlZCB3aGVuIHRha2luZyB0aGUgcmVmIG9uIHBvcnQgQS4KPiA+ID4gICAoVmlsbGUp Cj4gPiA+IAo+ID4gPiB2MzogKFZpbGxlKQo+ID4gPiAtIEZpeCBjb21tZW50IGFib3V0IGxvZ2lj IGZvciBlbmNvZGVycyB3aXRob3V0IGEgY3J0YyBzdGF0ZSBhbmQKPiA+ID4gICBhZGQgRklYTUUg bm90ZSBmb3IgYSBzaW1wbGlmaWNhdGlvbiB0byBhdm9pZCBjYWxsaW5nCj4gPiA+IGdldF9wb3dl cl9kb21haW5zCj4gPiA+ICAgaW4gc3VjaCBjYXNlcy4KPiA+ID4gLSBVc2UgaW50ZWxfY3J0Y19o YXNfZHBfZW5jb2RlcigpIGluc3RlYWQKPiA+ID4gIWludGVsX2NydGNfaGFzX3R5cGUoSERNSSku Cj4gPiA+IAo+ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KPiA+ID4gQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5 YW5AaW50ZWwuY29tPgo+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRl bC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNv bT4KPiA+IAo+ID4gVGhlIHNwZWMgaXMgbm90IGNsZWFyIGJ1dCB0aGlzIGZpeCB0aGUgImF1eCBw b3dlciB3ZWxsIiBlbmFibGUKPiA+IHRpbWVvdXRzCj4gPiB0aGF0IEkgd2FzIGdldHRpbmcgaW4g YXV4IEIgc28gbG9va3MgbGlrZSB5b3VyIGludGVycHJldGF0aW9uIGlzCj4gPiByaWdodC4KPiA+ IAo+ID4gUmV2aWV3ZWQtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50 ZWwuY29tPgo+ID4gCj4gPiA+IC0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMgICAgICAgIHwgNTQKPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t Cj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgfCAxMiArKysr KysrLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgIHwgIDMg Ky0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAgICB8IDQxIC0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAtLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMgfCAgMSArCj4gPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDY0IGlu c2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKPiA+ID4gaW5kZXggMDQ0ZmUxZmI5ODcyLi4wMzE5ODI1YjcyNWIgMTAw NjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+IEBAIC0xOTgzLDE1ICsx OTgzLDU1IEBAIGJvb2wgaW50ZWxfZGRpX2dldF9od19zdGF0ZShzdHJ1Y3QKPiA+ID4gaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiAgfQo+ID4gPiAgCj4g PiA+IC1zdGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxf ZW5jb2Rlcgo+ID4gPiAqZW5jb2RlcikKPiA+ID4gK3N0YXRpYyBpbmxpbmUgZW51bSBpbnRlbF9k aXNwbGF5X3Bvd2VyX2RvbWFpbgo+ID4gPiAraW50ZWxfZGRpX21haW5fbGlua19hdXhfZG9tYWlu KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ICt7Cj4gPiA+ICsJLyogQ05MIEhXIHJl cXVpcmVzIGNvcnJlc3BvbmRpbmcgQVVYIElPcyB0byBiZSBwb3dlcmVkIHVwCj4gPiA+IGZvciBQ U1Igd2l0aAo+ID4gPiArCSAqIERDIHN0YXRlcyBlbmFibGVkIGF0IHRoZSBzYW1lIHRpbWUsIHdo aWxlIGZvciBkcml2ZXIKPiA+ID4gaW5pdGlhdGVkIEFVWAo+ID4gPiArCSAqIHRyYW5zZmVycyB3 ZSBuZWVkIHRoZSBzYW1lIEFVWCBJT3MgdG8gYmUgcG93ZXJlZCBidXQKPiA+ID4gd2l0aAo+ID4g PiBEQyBzdGF0ZXMKPiA+ID4gKwkgKiBkaXNhYmxlZC4gQWNjb3JkaW5nbHkgdXNlIHRoZSBBVVgg cG93ZXIgZG9tYWluIGhlcmUKPiA+ID4gd2hpY2gKPiA+ID4gbGVhdmVzIERDCj4gPiA+ICsJICog c3RhdGVzIGVuYWJsZWQuCj4gPiA+ICsJICogSG93ZXZlciwgZm9yIG5vbi1BIEFVWCBwb3J0cyB0 aGUgY29ycmVzcG9uZGluZyBub24tRURQCj4gPiA+IHRyYW5zY29kZXJzCj4gPiA+ICsJICogd291 bGQgaGF2ZSBhbHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4gPiA+IFRo aXMKPiA+ID4gbWVhbnMgd2UgY2FuCj4gPiA+ICsJICogYWNxdWlyZSBhIHdpZGVyIFBPV0VSX0RP TUFJTl9BVVhfe0IsQyxELEZ9IHJlZmVyZW5jZQo+ID4gPiBpbnN0ZWFkIG9mIGEKPiA+ID4gKwkg KiBzcGVjaWZpYyBBVVhfSU8gcmVmZXJlbmNlIHdpdGhvdXQgcG93ZXJpbmcgdXAgYW55IGV4dHJh Cj4gPiA+IHdlbGxzLgo+ID4gPiArCSAqIE5vdGUgdGhhdCBQU1IgaXMgZW5hYmxlZCBvbmx5IG9u IFBvcnQgQSBldmVuIHRob3VnaAo+ID4gPiB0aGlzCj4gPiA+IGZ1bmN0aW9uCj4gPiA+ICsJICog cmV0dXJucyB0aGUgY29ycmVjdCBkb21haW4gZm9yIG90aGVyIHBvcnRzIHRvby4KPiA+ID4gKwkg Ki8KPiA+ID4gKwlyZXR1cm4gaW50ZWxfZHAtPmF1eF9jaCA9PSBBVVhfQ0hfQSA/Cj4gPiA+IFBP V0VSX0RPTUFJTl9BVVhfSU9fQQo+ID4gPiA6Cj4gPiA+ICsJCQkJCSAgICAgIGludGVsX2RwLQo+ ID4gPiA+IGF1eF9wb3dlcl9kb21haW47Cj4gPiA+IAo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtz dGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl cgo+ID4gPiAqZW5jb2RlciwKPiA+ID4gKwkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUKPiA+ID4gKmNydGNfc3RhdGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQgPQo+ID4gPiBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2Up Owo+ID4gPiAgCWVudW0gcGlwZSBwaXBlOwo+ID4gPiArCXU2NCBkb21haW5zOwo+ID4gPiAgCj4g PiA+IC0JaWYgKGludGVsX2RkaV9nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpKQo+ID4gPiAt CQlyZXR1cm4gQklUX1VMTChkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gPiA+ICsJ aWYgKCFpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ID4gKwkJcmV0 dXJuIDA7Cj4gPiA+ICAKPiA+ID4gLQlyZXR1cm4gMDsKPiA+ID4gKwlkb21haW5zID0gQklUX1VM TChkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gPiA+ICsJaWYgKCFjcnRjX3N0YXRl KQo+ID4gPiArCQlyZXR1cm4gZG9tYWluczsKPiA+ID4gKwo+ID4gPiArCS8qCj4gPiA+ICsJICog VE9ETzogQWRkIHN1cHBvcnQgZm9yIE1TVCBlbmNvZGVycy4gQXRtLCB0aGUgZm9sbG93aW5nCj4g PiA+IHNob3VsZCBuZXZlcgo+ID4gPiArCSAqIGhhcHBlbiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHdp bGwgYmUgY2FsbGVkIG9ubHkgZm9yIHRoZQo+ID4gPiBwcmltYXJ5Cj4gPiA+ICsJICogZW5jb2Rl ciB3aGljaCBkb2Vzbid0IGhhdmUgaXRzIG93biBwaXBlL2NydGNfc3RhdGUuCj4gPiA+ICsJICov Cj4gPiA+ICsJaWYgKFdBUk5fT04oaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLAo+ID4g PiBJTlRFTF9PVVRQVVRfRFBfTVNUKSkpCj4gPiA+ICsJCXJldHVybiBkb21haW5zOwo+ID4gPiAr Cj4gPiA+ICsJLyogQVVYIHBvd2VyIGlzIG9ubHkgbmVlZGVkIGZvciAoZSlEUCBtb2RlLCBub3Qg Zm9yIEhETUkuCj4gPiA+ICovCj4gPiA+ICsJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIo Y3J0Y19zdGF0ZSkpIHsKPiA+ID4gKwkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZkaWdf cG9ydC0+ZHA7Cj4gPiA+ICsKPiA+ID4gKwkJZG9tYWlucyB8PQo+ID4gPiBCSVRfVUxMKGludGVs X2RkaV9tYWluX2xpbmtfYXV4X2RvbWFpbihpbnRlbF9kcCkpOwo+ID4gPiArCX0KPiA+ID4gKwo+ ID4gPiArCXJldHVybiBkb21haW5zOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICB2b2lkIGludGVs X2RkaV9lbmFibGVfcGlwZV9jbG9jayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4g PiAqY3J0Y19zdGF0ZSkKPiA+ID4gQEAgLTI2MzEsNiArMjY3MSw5IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdAo+ID4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ID4gPiAgCj4gPiA+ICAJV0FSTl9PTihpc19tc3QgJiYgKHBvcnQgPT0gUE9SVF9BIHx8IHBv cnQgPT0gUE9SVF9FKSk7Cj4gPiA+ICAKPiA+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChk ZXZfcHJpdiwKPiA+ID4gKwkJCQlpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4oaW50Cj4g PiA+IGVsCj4gPiA+IF9kcCkpOwo+ID4gPiArCj4gPiA+ICAJaW50ZWxfZHBfc2V0X2xpbmtfcGFy YW1zKGludGVsX2RwLCBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrLAo+ID4gPiAgCQkJCSBjcnRjX3N0 YXRlLT5sYW5lX2NvdW50LCBpc19tc3QpOwo+ID4gPiAgCj4gPiA+IEBAIC0yNzc1LDYgKzI4MTgs OSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdAo+ID4gPiBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LCBkaWdfcG9ydC0KPiA+ID4gPiBkZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ID4gCj4g PiA+ICAKPiA+ID4gIAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUoZW5jb2Rlcik7Cj4gPiA+ICsKPiA+ ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKPiA+ID4gKwkJCQlpbnRlbF9k ZGlfbWFpbl9saW5rX2F1eF9kb21haW4oaW50Cj4gPiA+IGVsCj4gPiA+IF9kcCkpOwo+ID4gPiAg fQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWko c3RydWN0IGludGVsX2VuY29kZXIKPiA+ID4gKmVuY29kZXIsCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggMmM4ZmVmM2VkZTU0Li5jZTYxNWY4 OWI0M2EgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ ID4gQEAgLTE1Njc2LDExICsxNTY3NiwyMSBAQCBnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5zKHN0 cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gIAlmb3JfZWFjaF9p bnRlbF9lbmNvZGVyKCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVyKSB7Cj4gPiA+ICAJCXU2NCBnZXRf ZG9tYWluczsKPiA+ID4gIAkJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW47 Cj4gPiA+ICsJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ID4gPiAgCj4g PiA+ICAJCWlmICghZW5jb2Rlci0+Z2V0X3Bvd2VyX2RvbWFpbnMpCj4gPiA+ICAJCQljb250aW51 ZTsKPiA+ID4gIAo+ID4gPiAtCQlnZXRfZG9tYWlucyA9IGVuY29kZXItPmdldF9wb3dlcl9kb21h aW5zKGVuY29kZXIpOwo+ID4gPiArCQkvKgo+ID4gPiArCQkgKiBGb3IgTVNUIGFuZCBpbmFjdGl2 ZSBlbmNvZGVycyB3ZSBkb24ndCBoYXZlIGEKPiA+ID4gY3J0YyBzdGF0ZS4KPiA+ID4gKwkJICog RklYTUU6IG5vIG5lZWQgdG8gY2FsbCBnZXRfcG93ZXJfZG9tYWlucyBpbgo+ID4gPiBzdWNoCj4g PiA+IGNhc2VzLCBpdAo+ID4gPiArCQkgKiB3aWxsIGFsd2F5cyByZXR1cm4gMC4KPiA+ID4gKwkJ ICovCj4gPiA+ICsJCWNydGNfc3RhdGUgPSBlbmNvZGVyLT5iYXNlLmNydGMgPwo+ID4gPiArCQkJ ICAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGVuY29kZXItCj4gPiA+ID5iYXNlLmNydGMtCj4gPiA+ ID4gc3RhdGUpIDoKPiA+ID4gCj4gPiA+ICsJCQkgICAgIE5VTEw7Cj4gPiA+ICsKPiA+ID4gKwkJ Z2V0X2RvbWFpbnMgPSBlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyLAo+ID4gPiBj cnRjX3N0YXRlKTsKPiA+ID4gIAkJZm9yX2VhY2hfcG93ZXJfZG9tYWluKGRvbWFpbiwgZ2V0X2Rv bWFpbnMpCj4gPiA+ICAJCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgZG9tYWlu KTsKPiA+ID4gIAl9Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IGlu ZGV4IDBjM2FjMGVhZmRlMC4uNzE3NDQyOWQ5MzBhIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ID4gPiBAQCAtMjU0LDcgKzI1NCw4IEBAIHN0cnVjdCBpbnRlbF9lbmNv ZGVyIHsKPiA+ID4gIAkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7 Cj4gPiA+ICAJLyogUmV0dXJucyBhIG1hc2sgb2YgcG93ZXIgZG9tYWlucyB0aGF0IG5lZWQgdG8g YmUKPiA+ID4gcmVmZXJlbmNlZCBhcyBwYXJ0Cj4gPiA+ICAJICogb2YgdGhlIGhhcmR3YXJlIHN0 YXRlIHJlYWRvdXQgY29kZS4gKi8KPiA+ID4gLQl1NjQgKCpnZXRfcG93ZXJfZG9tYWlucykoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ID4gPiArCXU2NCAoKmdldF9wb3dlcl9kb21h aW5zKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gKwkJCQkgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUKPiA+ID4gKmNydGNfc3RhdGUpOwo+ID4gPiAgCS8qCj4gPiA+ICAJICog Q2FsbGVkIGR1cmluZyBzeXN0ZW0gc3VzcGVuZCBhZnRlciBhbGwgcGVuZGluZyByZXF1ZXN0cwo+ ID4gPiBmb3IgdGhlCj4gPiA+ICAJICogZW5jb2RlciBhcmUgZmx1c2hlZCAoZm9yIGV4YW1wbGUg Zm9yIERQIEFVWAo+ID4gPiB0cmFuc2FjdGlvbnMpCj4gPiA+IGFuZAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gPiBpbmRleCBkNGNkMTlmZWExNDguLmVlY2RkOGI1YjVl MCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ID4gQEAgLTU2LDQz ICs1Niw2IEBACj4gPiA+ICAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gPiA+ICAjaW5jbHVkZSAi aTkxNV9kcnYuaCIKPiA+ID4gIAo+ID4gPiAtc3RhdGljIGlubGluZSBlbnVtIGludGVsX2Rpc3Bs YXlfcG93ZXJfZG9tYWluCj4gPiA+IC1wc3JfYXV4X2RvbWFpbihzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ID4gPiAtewo+ID4gPiAtCS8qIENOTCBIVyByZXF1aXJlcyBjb3JyZXNwb25kaW5n IEFVWCBJT3MgdG8gYmUgcG93ZXJlZCB1cAo+ID4gPiBmb3IgUFNSLgo+ID4gPiAtCSAqIEhvd2V2 ZXIsIGZvciBub24tQSBBVVggcG9ydHMgdGhlIGNvcnJlc3BvbmRpbmcgbm9uLUVEUAo+ID4gPiB0 cmFuc2NvZGVycwo+ID4gPiAtCSAqIHdvdWxkIGhhdmUgYWxyZWFkeSBlbmFibGVkIHBvd2VyIHdl bGwgMiBhbmQgRENfT0ZGLgo+ID4gPiBUaGlzCj4gPiA+IG1lYW5zIHdlIGNhbgo+ID4gPiAtCSAq IGFjcXVpcmUgYSB3aWRlciBQT1dFUl9ET01BSU5fQVVYX3tCLEMsRCxGfSByZWZlcmVuY2UKPiA+ ID4gaW5zdGVhZCBvZiBhCj4gPiA+IC0JICogc3BlY2lmaWMgQVVYX0lPIHJlZmVyZW5jZSB3aXRo b3V0IHBvd2VyaW5nIHVwIGFueSBleHRyYQo+ID4gPiB3ZWxscy4KPiA+ID4gLQkgKiBOb3RlIHRo YXQgUFNSIGlzIGVuYWJsZWQgb25seSBvbiBQb3J0IEEgZXZlbiB0aG91Z2gKPiA+ID4gdGhpcwo+ ID4gPiBmdW5jdGlvbgo+ID4gPiAtCSAqIHJldHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBv dGhlciBwb3J0cyB0b28uCj4gPiA+IC0JICovCj4gPiA+IC0JcmV0dXJuIGludGVsX2RwLT5hdXhf Y2ggPT0gQVVYX0NIX0EgPwo+ID4gPiBQT1dFUl9ET01BSU5fQVVYX0lPX0EKPiA+ID4gOgo+ID4g PiAtCQkJCQkgICAgICBpbnRlbF9kcC0KPiA+ID4gPiBhdXhfcG93ZXJfZG9tYWluOwo+ID4gPiAK PiA+ID4gLX0KPiA+ID4gLQo+ID4gPiAtc3RhdGljIHZvaWQgcHNyX2F1eF9pb19wb3dlcl9nZXQo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gLXsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4gPiA+IGRwX3RvX2RpZ19wb3J0KGludGVs X2RwKTsKPiA+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+ID4gPiB0 b19pOTE1KGludGVsX2RpZ19wb3J0LQo+ID4gPiA+IGJhc2UuYmFzZS5kZXYpOwo+ID4gPiAKPiA+ ID4gLQo+ID4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTApCj4gPiA+IC0JCXJldHVy bjsKPiA+ID4gLQo+ID4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LAo+ID4g PiBwc3JfYXV4X2RvbWFpbihpbnRlbF9kcCkpOwo+ID4gPiAtfQo+ID4gPiAtCj4gPiA+IC1zdGF0 aWMgdm9pZCBwc3JfYXV4X2lvX3Bvd2VyX3B1dChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ID4gPiAtewo+ID4gPiAtCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0KPiA+ID4gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ID4gPiAtCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gPiA+IHRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtCj4gPiA+ ID4gYmFzZS5iYXNlLmRldik7Cj4gPiA+IAo+ID4gPiAtCj4gPiA+IC0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPCAxMCkKPiA+ID4gLQkJcmV0dXJuOwo+ID4gPiAtCj4gPiA+IC0JaW50ZWxfZGlz cGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCj4gPiA+IHBzcl9hdXhfZG9tYWluKGludGVsX2RwKSk7 Cj4gPiA+IC19Cj4gPiA+IC0KPiA+ID4gIHZvaWQgaW50ZWxfcHNyX2lycV9jb250cm9sKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgYm9vbAo+ID4gPiBkZWJ1ZykKPiA+ID4gIHsK PiA+ID4gIAl1MzIgZGVidWdfbWFzaywgbWFzazsKPiA+ID4gQEAgLTU5NSw4ICs1NTgsNiBAQCBz dGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0Cj4gPiA+IGludGVsX2RwCj4g PiA+ICppbnRlbF9kcCwKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7Cj4gPiA+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0g Y3J0Y19zdGF0ZS0KPiA+ID4gPmNwdV90cmFuc2NvZGVyOwo+ID4gPiAgCj4gPiA+IC0JcHNyX2F1 eF9pb19wb3dlcl9nZXQoaW50ZWxfZHApOwo+ID4gPiAtCj4gPiA+ICAJLyogT25seSBIU1cgYW5k IEJEVyBoYXZlIFBTUiBBVVggcmVnaXN0ZXJzIHRoYXQgbmVlZCB0byBiZQo+ID4gPiBzZXR1cC4g U0tMKwo+ID4gPiAgCSAqIHVzZSBoYXJkY29kZWQgdmFsdWVzIFBTUiBBVVggdHJhbnNhY3Rpb25z Cj4gPiA+ICAJICovCj4gPiA+IEBAIC03MTcsOCArNjc4LDYgQEAgc3RhdGljIHZvaWQgaHN3X3Bz cl9kaXNhYmxlKHN0cnVjdCBpbnRlbF9kcAo+ID4gPiAqaW50ZWxfZHAsCj4gPiA+ICAJCWVsc2UK PiA+ID4gIAkJCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmCj4gPiA+IEVEUF9QU1Jf RU5BQkxFKTsKPiA+ID4gIAl9Cj4gPiA+IC0KPiA+ID4gLQlwc3JfYXV4X2lvX3Bvd2VyX3B1dChp bnRlbF9kcCk7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIC8qKgo+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGluZGV4IGRlM2E4MTAzNGY3Ny4u Mjk2OTc4NzIwMWVmIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVu dGltZV9wbS5jCj4gPiA+IEBAIC0xODI0LDYgKzE4MjQsNyBAQCB2b2lkIGludGVsX2Rpc3BsYXlf cG93ZXJfcHV0KHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g IAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+ID4gICNkZWZpbmUgR0xLX0RJU1BMQVlf QVVYX0FfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiA+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fQVVY X0EpIHwJCVwKPiA+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfSU9fQSkgfAkJXAo+ID4g PiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gPiAgI2RlZmluZSBHTEtfRElTUExB WV9BVVhfQl9QT1dFUl9ET01BSU5TICgJCVwKPiA+ID4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9B VVhfQikgfAkJXApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK