From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH v3] drm/i915/ddi: Get AUX power domain for DP main link too Date: Tue, 26 Jun 2018 10:40:26 -0700 Message-ID: <1530034826.2574.2.camel@intel.com> References: <20180621171247.20350-1-imre.deak@intel.com> <20180621184449.26634-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85CCE6E4EC for ; Tue, 26 Jun 2018 17:40:38 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" , "intel-gfx@lists.freedesktop.org" , "Deak, Imre" Cc: "Pandiyan, Dhinakaran" List-Id: intel-gfx@lists.freedesktop.org RW0gU2VnLCAyMDE4LTA2LTI1IMOgcyAxNjo1NSAtMDcwMCwgU291emEsIEpvc2UgZXNjcmV2ZXU6 Cj4gT24gVGh1LCAyMDE4LTA2LTIxIGF0IDIxOjQ0ICswMzAwLCBJbXJlIERlYWsgd3JvdGU6Cj4g PiBTbyBmYXIgd2UgZ290IGFuIEFVWCBwb3dlciBkb21haW4gcmVmZXJlbmNlIG9ubHkgZm9yIHRo ZSBkdXJhdGlvbgo+ID4gb2YKPiA+IERQCj4gPiBBVVggdHJhbnNmZXJzLiBIb3dldmVyLCB0aGUg Zm9sbG93aW5nIHN1Z2dlc3RzIHRoYXQgd2UgYWxzbyBuZWVkCj4gPiB0aGVzZQo+ID4gZm9yIG1h aW4gbGluayBmdW5jdGlvbmFsaXR5Ogo+ID4gLSBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IHN0 YXRlIHdoZXRoZXIgaXQncyBuZWVkZWQgb3Igbm90IGZvcgo+ID4gbWFpbgo+ID4gICBsaW5rIGZ1 bmN0aW9uYWxpdHksIGJ1dCBzdWdnZXN0cyB0aGF0IHRoZXNlIHBvd2VyIHdlbGxzIG5lZWQgdG8K PiA+IGJlCj4gPiAgIGVuYWJsZWQgYWxyZWFkeSBkdXJpbmcgZGlzcGxheSBjb3JlIGluaXRpYWxp emF0aW9uIChTZXF1ZW5jZXMgdG8KPiA+ICAgSW5pdGlhbGl6ZSBEaXNwbGF5KS4KCk5vLCB0aGUg c3BlY2lmaWNhdGlvbiBzdGF0ZXMgaXQncyBuZWVkZWQuIFBhZ2UgIlNlcXVlbmNlcyBmb3IKRGlz cGxheVBvcnQiICh0aGUgSUNMIHZlcnNpb24sIG9mIGNvdXJzZSksIHN0ZXAgMS5iOgoKIlRDOiBO b3RlIHRoYXQgQVVYIHBvd2VyIGlzIHJlcXVpcmVkIGZvciBydW5uaW5nIG1haW4gbGluay4iCgpT YW1lIGZvciB0aGUgSERNSSBwYWdlLgoKPiA+IC0gRm9yIFBTUiB3ZSBuZWVkIHRvIGtlZXAgdGhl IEFVWCBwb3dlciB3ZWxsIGVuYWJsZWQuCj4gPiAtIE9uIElDTCBjb21ibyBQSFkgcG9ydHMgKG5v bi1UQykgdGhlIEFVWCBwb3dlciB3ZWxsIGlzIG5lZWRlZCBmb3IKPiA+ICAgbGluayB0cmFpbmlu ZyB0b286IHdoaWxlIHRoZSBwb3J0IGlzIGVuYWJsZWQgd2l0aCBhIERQIGxpbmsKPiA+IHRyYWlu aW5nCj4gPiAgIHRlc3QgcGF0dGVybiB0cnlpbmcgdG8gdG9nZ2xlIHRoZSBBVVggcG93ZXIgd2Vs bCB3aWxsIHRpbWUgb3V0Lgo+ID4gLSBPbiBJQ0wgTUcgUEhZIHBvcnRzIChUQykgdGhlIEFVWCBw b3dlciB3ZWxsIGlzIG5lZWRlZCBhbHNvIGZvcgo+ID4gbWFpbgo+ID4gICBsaW5rIGZ1bmN0aW9u YWxpdHkgKGJvdGggaW4gRFAgYW5kIEhETUkgbW9kZXMpLgo+ID4gLSBXaW5kb3dzIGVuYWJsZXMg dGhlc2UgcG93ZXIgd2VsbHMgYm90aCBmb3IgbWFpbiBhbmQgQVVYIGxhbmUKPiA+ICAgZnVuY3Rp b25hbGl0eS4KPiA+IAo+ID4gQmFzZWQgb24gdGhlIGFib3ZlIHRha2UgYW4gQVVYIHBvd2VyIHJl ZmVyZW5jZSBmb3IgbWFpbiBsaW5rCj4gPiBmdW5jdGlvbmFsaXR5IHRvby4gVGhpcyBtYWtlcyBh IGRpZmZlcmVuY2Ugb25seSBvbiBHRU4xMCsgKEdMSyspCj4gPiBwbGF0Zm9ybXMsIHdoZXJlIHdl IGhhdmUgc2VwYXJhdGUgcG9ydCBzcGVjaWZpYyBBVVggcG93ZXIgd2VsbHMuCj4gPiAKPiA+IEZv ciBQU1Igd2Ugc3RpbGwgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHBvcnQgQSBhbmQgdGhl IG90aGVyCj4gPiBwb3J0cywgc2luY2Ugb24gcG9ydCBBIERDIHN0YXRlcyBtdXN0IHN0YXkgZW5h YmxlZCBmb3IgbWFpbiBsaW5rCj4gPiBmdW5jdGlvbmFsaXR5LCBidXQgREMgc3RhdGVzIG11c3Qg YmUgZGlzYWJsZWQgZm9yIGRyaXZlciBpbml0aWF0ZWQKPiA+IEFVWCB0cmFuc2ZlcnMuIFNvIHJl LXVzZSB0aGUgY29ycmVzcG9uZGluZyBoZWxwZXIgZnJvbSBpbnRlbF9wc3IuYy4KPiA+IAo+ID4g U2luY2Ugd2UgdGFrZSBub3cgYSByZWZlcmVuY2UgZm9yIG1haW4gbGluayBmdW5jdGlvbmFsaXR5 IG9uIGFsbCBEUAo+ID4gcG9ydHMgd2UgY2FuIGZvcmdvIHRha2luZyB0aGUgc2VwYXJhdGUgcG93 ZXIgcmVmIGZvciBQU1IKPiA+IGZ1bmN0aW9uYWxpdHkuCj4gPiAKPiA+IHYyOgo+ID4gLSBNYWtl IHN1cmUgREMgc3RhdGVzIHN0YXkgZW5hYmxlZCB3aGVuIHRha2luZyB0aGUgcmVmIG9uIHBvcnQg QS4KPiA+ICAgKFZpbGxlKQo+ID4gCj4gPiB2MzogKFZpbGxlKQo+ID4gLSBGaXggY29tbWVudCBh Ym91dCBsb2dpYyBmb3IgZW5jb2RlcnMgd2l0aG91dCBhIGNydGMgc3RhdGUgYW5kCj4gPiAgIGFk ZCBGSVhNRSBub3RlIGZvciBhIHNpbXBsaWZpY2F0aW9uIHRvIGF2b2lkIGNhbGxpbmcKPiA+IGdl dF9wb3dlcl9kb21haW5zCj4gPiAgIGluIHN1Y2ggY2FzZXMuCj4gPiAtIFVzZSBpbnRlbF9jcnRj X2hhc19kcF9lbmNvZGVyKCkgaW5zdGVhZAo+ID4gIWludGVsX2NydGNfaGFzX3R5cGUoSERNSSku Cj4gPiAKPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+ID4gQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50 ZWwuY29tPgo+ID4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ ID4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IAo+IFRo ZSBzcGVjIGlzIG5vdCBjbGVhciBidXQgdGhpcyBmaXggdGhlICJhdXggcG93ZXIgd2VsbCIgZW5h YmxlCj4gdGltZW91dHMKPiB0aGF0IEkgd2FzIGdldHRpbmcgaW4gYXV4IEIgc28gbG9va3MgbGlr ZSB5b3VyIGludGVycHJldGF0aW9uIGlzCj4gcmlnaHQuCj4gCj4gUmV2aWV3ZWQtYnk6IEpvc8Op IFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+IAo+ID4gLS0tCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgNTQKPiA+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICB8IDEyICsrKysrKystCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgICAgIHwgIDMgKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w c3IuYyAgICAgICAgfCA0MSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+IC0tLS0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAgMSArCj4gPiAgNSBmaWxlcyBj aGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBpbmRleCAwNDRmZTFmYjk4NzIuLjAzMTk4MjViNzI1 YiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gQEAgLTE5ODMsMTUgKzE5 ODMsNTUgQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdAo+ID4gaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPiA+ICAJcmV0dXJuIHJldDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGlj IHU2NCBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGludGVsX2VuY29kZXIKPiA+ ICplbmNvZGVyKQo+ID4gK3N0YXRpYyBpbmxpbmUgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbgo+ID4gK2ludGVsX2RkaV9tYWluX2xpbmtfYXV4X2RvbWFpbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQo+ID4gK3sKPiA+ICsJLyogQ05MIEhXIHJlcXVpcmVzIGNvcnJlc3BvbmRpbmcg QVVYIElPcyB0byBiZSBwb3dlcmVkIHVwCj4gPiBmb3IgUFNSIHdpdGgKPiA+ICsJICogREMgc3Rh dGVzIGVuYWJsZWQgYXQgdGhlIHNhbWUgdGltZSwgd2hpbGUgZm9yIGRyaXZlcgo+ID4gaW5pdGlh dGVkIEFVWAo+ID4gKwkgKiB0cmFuc2ZlcnMgd2UgbmVlZCB0aGUgc2FtZSBBVVggSU9zIHRvIGJl IHBvd2VyZWQgYnV0Cj4gPiB3aXRoCj4gPiBEQyBzdGF0ZXMKPiA+ICsJICogZGlzYWJsZWQuIEFj Y29yZGluZ2x5IHVzZSB0aGUgQVVYIHBvd2VyIGRvbWFpbiBoZXJlCj4gPiB3aGljaAo+ID4gbGVh dmVzIERDCj4gPiArCSAqIHN0YXRlcyBlbmFibGVkLgo+ID4gKwkgKiBIb3dldmVyLCBmb3Igbm9u LUEgQVVYIHBvcnRzIHRoZSBjb3JyZXNwb25kaW5nIG5vbi1FRFAKPiA+IHRyYW5zY29kZXJzCj4g PiArCSAqIHdvdWxkIGhhdmUgYWxyZWFkeSBlbmFibGVkIHBvd2VyIHdlbGwgMiBhbmQgRENfT0ZG Lgo+ID4gVGhpcwo+ID4gbWVhbnMgd2UgY2FuCj4gPiArCSAqIGFjcXVpcmUgYSB3aWRlciBQT1dF Ul9ET01BSU5fQVVYX3tCLEMsRCxGfSByZWZlcmVuY2UKPiA+IGluc3RlYWQgb2YgYQo+ID4gKwkg KiBzcGVjaWZpYyBBVVhfSU8gcmVmZXJlbmNlIHdpdGhvdXQgcG93ZXJpbmcgdXAgYW55IGV4dHJh Cj4gPiB3ZWxscy4KPiA+ICsJICogTm90ZSB0aGF0IFBTUiBpcyBlbmFibGVkIG9ubHkgb24gUG9y dCBBIGV2ZW4gdGhvdWdoCj4gPiB0aGlzCj4gPiBmdW5jdGlvbgo+ID4gKwkgKiByZXR1cm5zIHRo ZSBjb3JyZWN0IGRvbWFpbiBmb3Igb3RoZXIgcG9ydHMgdG9vLgo+ID4gKwkgKi8KPiA+ICsJcmV0 dXJuIGludGVsX2RwLT5hdXhfY2ggPT0gQVVYX0NIX0EgPwo+ID4gUE9XRVJfRE9NQUlOX0FVWF9J T19BCj4gPiA6Cj4gPiArCQkJCQkgICAgICBpbnRlbF9kcC0KPiA+ID4gYXV4X3Bvd2VyX2RvbWFp bjsKPiA+IAo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJf ZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2Rlcgo+ID4gKmVuY29kZXIsCj4gPiArCQkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gKmNydGNfc3RhdGUpCj4gPiAgewo+ID4gIAlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9Cj4gPiBlbmNfdG9fZGlnX3BvcnQo JmVuY29kZXItPmJhc2UpOwo+ID4gIAllbnVtIHBpcGUgcGlwZTsKPiA+ICsJdTY0IGRvbWFpbnM7 Cj4gPiAgCj4gPiAtCWlmIChpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkK PiA+IC0JCXJldHVybiBCSVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ ICsJaWYgKCFpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ICsJCXJl dHVybiAwOwo+ID4gIAo+ID4gLQlyZXR1cm4gMDsKPiA+ICsJZG9tYWlucyA9IEJJVF9VTEwoZGln X3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOwo+ID4gKwlpZiAoIWNydGNfc3RhdGUpCj4gPiAr CQlyZXR1cm4gZG9tYWluczsKPiA+ICsKPiA+ICsJLyoKPiA+ICsJICogVE9ETzogQWRkIHN1cHBv cnQgZm9yIE1TVCBlbmNvZGVycy4gQXRtLCB0aGUgZm9sbG93aW5nCj4gPiBzaG91bGQgbmV2ZXIK PiA+ICsJICogaGFwcGVuIHNpbmNlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBm b3IgdGhlCj4gPiBwcmltYXJ5Cj4gPiArCSAqIGVuY29kZXIgd2hpY2ggZG9lc24ndCBoYXZlIGl0 cyBvd24gcGlwZS9jcnRjX3N0YXRlLgo+ID4gKwkgKi8KPiA+ICsJaWYgKFdBUk5fT04oaW50ZWxf Y3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLAo+ID4gSU5URUxfT1VUUFVUX0RQX01TVCkpKQo+ID4g KwkJcmV0dXJuIGRvbWFpbnM7Cj4gPiArCj4gPiArCS8qIEFVWCBwb3dlciBpcyBvbmx5IG5lZWRl ZCBmb3IgKGUpRFAgbW9kZSwgbm90IGZvciBIRE1JLgo+ID4gKi8KPiA+ICsJaWYgKGludGVsX2Ny dGNfaGFzX2RwX2VuY29kZXIoY3J0Y19zdGF0ZSkpIHsKPiA+ICsJCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSAmZGlnX3BvcnQtPmRwOwo+ID4gKwo+ID4gKwkJZG9tYWlucyB8PQo+ID4gQklU X1VMTChpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4oaW50ZWxfZHApKTsKPiA+ICsJfQo+ ID4gKwo+ID4gKwlyZXR1cm4gZG9tYWluczsKPiA+ICB9Cj4gPiAgCj4gPiAgdm9pZCBpbnRlbF9k ZGlfZW5hYmxlX3BpcGVfY2xvY2soY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ICpj cnRjX3N0YXRlKQo+ID4gQEAgLTI2MzEsNiArMjY3MSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rk aV9wcmVfZW5hYmxlX2RwKHN0cnVjdAo+ID4gaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAK PiA+ICAJV0FSTl9PTihpc19tc3QgJiYgKHBvcnQgPT0gUE9SVF9BIHx8IHBvcnQgPT0gUE9SVF9F KSk7Cj4gPiAgCj4gPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LAo+ID4gKwkJ CQlpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4oaW50Cj4gPiBlbAo+ID4gX2RwKSk7Cj4g PiArCj4gPiAgCWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgY3J0Y19zdGF0ZS0+ cG9ydF9jbG9jaywKPiA+ICAJCQkJIGNydGNfc3RhdGUtPmxhbmVfY291bnQsIGlzX21zdCk7Cj4g PiAgCj4gPiBAQCAtMjc3NSw2ICsyODE4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3Rf ZGlzYWJsZV9kcChzdHJ1Y3QKPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBkaWdfcG9ydC0KPiA+ID4gZGRpX2lvX3Bvd2Vy X2RvbWFpbik7Cj4gPiAKPiA+ICAKPiA+ICAJaW50ZWxfZGRpX2Nsa19kaXNhYmxlKGVuY29kZXIp Owo+ID4gKwo+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKPiA+ICsJCQkJ aW50ZWxfZGRpX21haW5fbGlua19hdXhfZG9tYWluKGludAo+ID4gZWwKPiA+IF9kcCkpOwo+ID4g IH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWkoc3Ry dWN0IGludGVsX2VuY29kZXIKPiA+ICplbmNvZGVyLAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+IGluZGV4IDJjOGZlZjNlZGU1NC4uY2U2MTVmODliNDNhIDEwMDY0 NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC0xNTY3NiwxMSAr MTU2NzYsMjEgQEAgZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucyhzdHJ1Y3QKPiA+IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gIAlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKCZkZXZfcHJp di0+ZHJtLCBlbmNvZGVyKSB7Cj4gPiAgCQl1NjQgZ2V0X2RvbWFpbnM7Cj4gPiAgCQllbnVtIGlu dGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKPiA+ICsJCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlOwo+ID4gIAo+ID4gIAkJaWYgKCFlbmNvZGVyLT5nZXRfcG93ZXJf ZG9tYWlucykKPiA+ICAJCQljb250aW51ZTsKPiA+ICAKPiA+IC0JCWdldF9kb21haW5zID0gZW5j b2Rlci0+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5jb2Rlcik7Cj4gPiArCQkvKgo+ID4gKwkJICogRm9y IE1TVCBhbmQgaW5hY3RpdmUgZW5jb2RlcnMgd2UgZG9uJ3QgaGF2ZSBhCj4gPiBjcnRjIHN0YXRl Lgo+ID4gKwkJICogRklYTUU6IG5vIG5lZWQgdG8gY2FsbCBnZXRfcG93ZXJfZG9tYWlucyBpbgo+ ID4gc3VjaAo+ID4gY2FzZXMsIGl0Cj4gPiArCQkgKiB3aWxsIGFsd2F5cyByZXR1cm4gMC4KPiA+ ICsJCSAqLwo+ID4gKwkJY3J0Y19zdGF0ZSA9IGVuY29kZXItPmJhc2UuY3J0YyA/Cj4gPiArCQkJ ICAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGVuY29kZXItCj4gPiA+YmFzZS5jcnRjLQo+ID4gPiBz dGF0ZSkgOgo+ID4gCj4gPiArCQkJICAgICBOVUxMOwo+ID4gKwo+ID4gKwkJZ2V0X2RvbWFpbnMg PSBlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyLAo+ID4gY3J0Y19zdGF0ZSk7Cj4g PiAgCQlmb3JfZWFjaF9wb3dlcl9kb21haW4oZG9tYWluLCBnZXRfZG9tYWlucykKPiA+ICAJCQlp bnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgZG9tYWluKTsKPiA+ICAJfQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBpbmRleCAwYzNhYzBlYWZkZTAuLjcxNzQ0Mjlk OTMwYSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTI1NCw3ICsy NTQsOCBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7Cj4gPiAgCQkJICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICAJLyogUmV0dXJucyBhIG1hc2sgb2YgcG93ZXIg ZG9tYWlucyB0aGF0IG5lZWQgdG8gYmUKPiA+IHJlZmVyZW5jZWQgYXMgcGFydAo+ID4gIAkgKiBv ZiB0aGUgaGFyZHdhcmUgc3RhdGUgcmVhZG91dCBjb2RlLiAqLwo+ID4gLQl1NjQgKCpnZXRfcG93 ZXJfZG9tYWlucykoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ID4gKwl1NjQgKCpn ZXRfcG93ZXJfZG9tYWlucykoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJ CSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gKmNydGNfc3RhdGUpOwo+ID4gIAkvKgo+ID4g IAkgKiBDYWxsZWQgZHVyaW5nIHN5c3RlbSBzdXNwZW5kIGFmdGVyIGFsbCBwZW5kaW5nIHJlcXVl c3RzCj4gPiBmb3IgdGhlCj4gPiAgCSAqIGVuY29kZXIgYXJlIGZsdXNoZWQgKGZvciBleGFtcGxl IGZvciBEUCBBVVgKPiA+IHRyYW5zYWN0aW9ucykKPiA+IGFuZAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Bzci5jCj4gPiBpbmRleCBkNGNkMTlmZWExNDguLmVlY2RkOGI1YjVlMCAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gQEAgLTU2LDQzICs1Niw2IEBACj4gPiAg I2luY2x1ZGUgImludGVsX2Rydi5oIgo+ID4gICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ID4gIAo+ ID4gLXN0YXRpYyBpbmxpbmUgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbgo+ID4gLXBz cl9hdXhfZG9tYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAtewo+ID4gLQkvKiBD TkwgSFcgcmVxdWlyZXMgY29ycmVzcG9uZGluZyBBVVggSU9zIHRvIGJlIHBvd2VyZWQgdXAKPiA+ IGZvciBQU1IuCj4gPiAtCSAqIEhvd2V2ZXIsIGZvciBub24tQSBBVVggcG9ydHMgdGhlIGNvcnJl c3BvbmRpbmcgbm9uLUVEUAo+ID4gdHJhbnNjb2RlcnMKPiA+IC0JICogd291bGQgaGF2ZSBhbHJl YWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4gPiBUaGlzCj4gPiBtZWFucyB3 ZSBjYW4KPiA+IC0JICogYWNxdWlyZSBhIHdpZGVyIFBPV0VSX0RPTUFJTl9BVVhfe0IsQyxELEZ9 IHJlZmVyZW5jZQo+ID4gaW5zdGVhZCBvZiBhCj4gPiAtCSAqIHNwZWNpZmljIEFVWF9JTyByZWZl cmVuY2Ugd2l0aG91dCBwb3dlcmluZyB1cCBhbnkgZXh0cmEKPiA+IHdlbGxzLgo+ID4gLQkgKiBO b3RlIHRoYXQgUFNSIGlzIGVuYWJsZWQgb25seSBvbiBQb3J0IEEgZXZlbiB0aG91Z2gKPiA+IHRo aXMKPiA+IGZ1bmN0aW9uCj4gPiAtCSAqIHJldHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBv dGhlciBwb3J0cyB0b28uCj4gPiAtCSAqLwo+ID4gLQlyZXR1cm4gaW50ZWxfZHAtPmF1eF9jaCA9 PSBBVVhfQ0hfQSA/Cj4gPiBQT1dFUl9ET01BSU5fQVVYX0lPX0EKPiA+IDoKPiA+IC0JCQkJCSAg ICAgIGludGVsX2RwLQo+ID4gPiBhdXhfcG93ZXJfZG9tYWluOwo+ID4gCj4gPiAtfQo+ID4gLQo+ ID4gLXN0YXRpYyB2b2lkIHBzcl9hdXhfaW9fcG93ZXJfZ2V0KHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4gPiAtewo+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCA9Cj4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiAtCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gPiB0b19pOTE1KGludGVsX2RpZ19wb3J0LQo+ID4gPiBi YXNlLmJhc2UuZGV2KTsKPiA+IAo+ID4gLQo+ID4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8 IDEwKQo+ID4gLQkJcmV0dXJuOwo+ID4gLQo+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChk ZXZfcHJpdiwKPiA+IHBzcl9hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4gPiAtfQo+ID4gLQo+ID4g LXN0YXRpYyB2b2lkIHBzcl9hdXhfaW9fcG93ZXJfcHV0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCj4gPiAtewo+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9Cj4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9Cj4gPiB0b19pOTE1KGludGVsX2RpZ19wb3J0LQo+ID4gPiBiYXNl LmJhc2UuZGV2KTsKPiA+IAo+ID4gLQo+ID4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEw KQo+ID4gLQkJcmV0dXJuOwo+ID4gLQo+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwKPiA+IHBzcl9hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4gPiAtfQo+ID4gLQo+ID4gIHZv aWQgaW50ZWxfcHNyX2lycV9jb250cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgYm9vbAo+ID4gZGVidWcpCj4gPiAgewo+ID4gIAl1MzIgZGVidWdfbWFzaywgbWFzazsKPiA+ IEBAIC01OTUsOCArNTU4LDYgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0 cnVjdAo+ID4gaW50ZWxfZHAKPiA+ICppbnRlbF9kcCwKPiA+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gIAllbnVtIHRyYW5zY29kZXIgY3B1 X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLQo+ID4gPmNwdV90cmFuc2NvZGVyOwo+ID4gIAo+ID4g LQlwc3JfYXV4X2lvX3Bvd2VyX2dldChpbnRlbF9kcCk7Cj4gPiAtCj4gPiAgCS8qIE9ubHkgSFNX IGFuZCBCRFcgaGF2ZSBQU1IgQVVYIHJlZ2lzdGVycyB0aGF0IG5lZWQgdG8gYmUKPiA+IHNldHVw LiBTS0wrCj4gPiAgCSAqIHVzZSBoYXJkY29kZWQgdmFsdWVzIFBTUiBBVVggdHJhbnNhY3Rpb25z Cj4gPiAgCSAqLwo+ID4gQEAgLTcxNyw4ICs2NzgsNiBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rp c2FibGUoc3RydWN0IGludGVsX2RwCj4gPiAqaW50ZWxfZHAsCj4gPiAgCQllbHNlCj4gPiAgCQkJ V0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYKPiA+IEVEUF9QU1JfRU5BQkxFKTsKPiA+ ICAJfQo+ID4gLQo+ID4gLQlwc3JfYXV4X2lvX3Bvd2VyX3B1dChpbnRlbF9kcCk7Cj4gPiAgfQo+ ID4gIAo+ID4gIC8qKgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPiA+IGluZGV4IGRlM2E4MTAzNGY3Ny4uMjk2OTc4NzIwMWVmIDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+IEBAIC0xODI0LDYgKzE4MjQsNyBA QCB2b2lkIGludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gICNkZWZp bmUgR0xLX0RJU1BMQVlfQVVYX0FfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAgCUJJVF9VTEwoUE9X RVJfRE9NQUlOX0FVWF9BKSB8CQlcCj4gPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9JT19B KSB8CQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gICNkZWZpbmUgR0xL X0RJU1BMQVlfQVVYX0JfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9N QUlOX0FVWF9CKSB8CQlcCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=