From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/2] drm/i915/ddi: Get AUX power domain for DP main link too Date: Thu, 21 Jun 2018 21:57:06 +0300 Message-ID: <20180621185706.GD20559@ideak-desk.fi.intel.com> References: <20180621155830.11311-1-imre.deak@intel.com> <20180621173715.GS20518@intel.com> <20180621181855.GB20559@ideak-desk.fi.intel.com> <20180621185454.GA3392@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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 546D46E936 for ; Thu, 21 Jun 2018 18:57:25 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180621185454.GA3392@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: intel-gfx@lists.freedesktop.org, Dhinakaran Pandiyan , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjEsIDIwMTggYXQgMTE6NTQ6NTVBTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUaHUsIEp1biAyMSwgMjAxOCBhdCAwOToxODo1NVBNICswMzAwLCBJbXJlIERl YWsgd3JvdGU6Cj4gPiBPbiBUaHUsIEp1biAyMSwgMjAxOCBhdCAwODozNzoxNVBNICswMzAwLCBW aWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiA+IE9uIFRodSwgSnVuIDIxLCAyMDE4IGF0IDA2OjU4 OjI5UE0gKzAzMDAsIEltcmUgRGVhayB3cm90ZToKPiA+ID4gPiBTbyBmYXIgd2UgZ290IGFuIEFV WCBwb3dlciBkb21haW4gcmVmZXJlbmNlIG9ubHkgZm9yIHRoZSBkdXJhdGlvbiBvZiBEUAo+ID4g PiA+IEFVWCB0cmFuc2ZlcnMuIEhvd2V2ZXIsIHRoZSBmb2xsb3dpbmdzIHN1Z2dlc3QgdGhhdCB3 ZSBhbHNvIG5lZWQgdGhlc2UKPiA+ID4gPiBmb3IgbWFpbiBsaW5rIGZ1bmN0aW9uYWxpdHk6Cj4g PiA+ID4gLSBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IHN0YXRlIHdoZXRoZXIgaXQncyBuZWVk ZWQgb3Igbm90IGZvciBtYWluCj4gPiA+ID4gICBsaW5rIGZ1bmN0aW9uYWxpdHksIGJ1dCBzdWdn ZXN0cyB0aGF0IHRoZXNlIHBvd2VyIHdlbGxzIG5lZWQgdG8gYmUKPiA+ID4gPiAgIGVuYWJsZWQg YWxyZWFkeSBkdXJpbmcgZGlzcGxheSBjb3JlIGluaXRpYWxpemF0aW9uIChTZXF1ZW5jZXMgdG8K PiA+ID4gPiAgIEluaXRpYWxpemUgRGlzcGxheSkuCj4gPiA+ID4gLSBGb3IgUFNSIHdlIG5lZWQg dG8ga2VlcCB0aGUgQVVYIHBvd2VyIHdlbGwgZW5hYmxlZC4KPiA+ID4gPiAtIE9uIElDTCBjb21i byBQSFkgcG9ydHMgKG5vbi1UQykgdGhlIEFVWCBwb3dlciB3ZWxsIGlzIG5lZWRlZCBmb3IKPiA+ ID4gPiAgIGxpbmsgdHJhaW5pbmcgdG9vOiB3aGlsZSB0aGUgcG9ydCBpcyBlbmFibGVkIHdpdGgg YSBEUCBsaW5rIHRyYWluaW5nCj4gPiA+ID4gICB0ZXN0IHBhdHRlcm4gdHJ5aW5nIHRvIHRvZ2ds ZSB0aGUgQVVYIHBvd2VyIHdlbGwgd2lsbCB0aW1lIG91dC4KPiA+ID4gPiAtIE9uIElDTCBNRyBQ SFkgcG9ydHMgKFRDKSB0aGUgQVVYIHBvd2VyIHdlbGwgaXMgbmVlZGVkIGFsc28gZm9yIG1haW4K PiA+ID4gPiAgIGxpbmsgZnVuY3Rpb25hbGl0eSAoYm90aCBpbiBEUCBhbmQgSERNSSBtb2Rlcyku Cj4gPiA+ID4gLSBXaW5kb3dzIGVuYWJsZXMgdGhlc2UgcG93ZXIgd2VsbHMgYm90aCBmb3IgbWFp biBhbmQgQVVYIGxhbmUKPiA+ID4gPiAgIGZ1bmN0aW9uYWxpdHkuCj4gPiA+ID4gCj4gPiA+ID4g QmFzZWQgb24gdGhlIGFib3ZlIHRha2UgYW4gQVVYIHBvd2VyIHJlZmVyZW5jZSBmb3IgbWFpbiBs aW5rCj4gPiA+ID4gZnVuY3Rpb25hbGl0eSB0b28uIFRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIG9u bHkgb24gR0VOMTArIChHTEsrKQo+ID4gPiA+IHBsYXRmb3Jtcywgd2hlcmUgd2UgaGF2ZSBzZXBh cmF0ZSBwb3J0IHNwZWNpZmljIEFVWCBwb3dlciB3ZWxsCj4gCj4gQ3VycmVudGx5IEkgZ2V0IEFV WCB0aW1lb3V0cyBhbmQgdW5hYmxlIHRvIHN0YXJ0IGxpbmsgdHJhaW5pbmcgb24gRFAKPiB3aXRo b3V0IGRpc2FibGVfcG93ZXJfd2VsbD0wIG9wdGlvbiBzZXQuICBJIHRoaW5rIHRoZSByZWFzb24g d2FzIHRoYXQKPiB3ZSB3ZXJlIG5vdCBnZXR0aW5nIHRoZSBwb3dlciBkb21haW4gZm9yIHRoZSBB VVguICBTbyBob3BlZnVsbHkgdGhpcwo+IHBhdGNoIHNob3VsZCBmaXggaXQuCgpZZXMsIHRoYXQn cyBiZWNhdXNlIGR1cmluZyBsaW5rIHRyYWluaW5nIC0gd2hlcmUgdGhlIHBvcnQgaXMgZW5hYmxl ZAp3aXRoIGEgdHJhaW5pbmcgcGF0dGVybiBzZXQgLSB3ZSBjYW4ndCBlbmFibGUgdGhlIEFVWCBw b3dlciB3ZWxsLCBpdCdsbAp0aW1lIG91dC4gQi9jIG9mIHRoYXQgQVVYIHRyYW5zZmVycyB3aWxs IHRpbWUgb3V0IHRvby4gQWZ0ZXIgZGlzYWJsaW5nCnRoZSB0cmFpbmluZyBwYXR0ZXJuIGFuZCBl bmFibGluZyB0aGUgcG9ydCBmb3IgcmVhbCB2aWRlbyBzaWduYWxzLCBBVVgKZW5hYmxpbmcgc3Rh cnRzIHRvIHdvcmsgYWdhaW4uLgoKLS1JbXJlCgoKPiAKPiBNYW5hc2kKPiAKPiA+ID4gPiAKPiA+ ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiA+ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRl bC5jb20+Cj4gPiA+ID4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29t Pgo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K PiA+ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAg IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyICsrKysrKysrKysrLQo+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMyArKy0KPiA+ID4gPiAgMyBm aWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+ID4gaW5kZXggMDQ0ZmUxZmI5ODcy Li5iMDljYjY5NjliYmIgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku Ywo+ID4gPiA+IEBAIC0xOTgzLDE1ICsxOTgzLDM2IEBAIGJvb2wgaW50ZWxfZGRpX2dldF9od19z dGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiAgCXJldHVybiByZXQ7 Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gLXN0YXRpYyB1NjQgaW50ZWxfZGRpX2dldF9w b3dlcl9kb21haW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiA+ICtzdGF0 aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiA+ID4gPiArCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ID4gPiA+ICAJZW51 bSBwaXBlIHBpcGU7Cj4gPiA+ID4gKwl1NjQgZG9tYWluczsKPiA+ID4gPiAgCj4gPiA+ID4gLQlp ZiAoaW50ZWxfZGRpX2dldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSkpCj4gPiA+ID4gLQkJcmV0 dXJuIEJJVF9VTEwoZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOwo+ID4gPiA+ICsJaWYg KCFpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ID4gPiArCQlyZXR1 cm4gMDsKPiA+ID4gPiAgCj4gPiA+ID4gLQlyZXR1cm4gMDsKPiA+ID4gPiArCWRvbWFpbnMgPSBC SVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ID4gPiArCWlmICghY3J0 Y19zdGF0ZSkKPiA+ID4gPiArCQlyZXR1cm4gZG9tYWluczsKPiA+ID4gPiArCj4gPiA+ID4gKwkv Kgo+ID4gPiA+ICsJICogVE9ETzogQWRkIHN1cHBvcnQgZm9yIE1TVCBlbmNvZGVycy4gQXRtLCB0 aGUgZm9sbG93aW5nIHNob3VsZCBuZXZlcgo+ID4gPiA+ICsJICogaGFwcGVuIHNpbmNlIHRoaXMg ZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBmb3IgdGhlIHByaW1hcnkKPiA+ID4gPiArCSAq IGVuY29kZXIgd2hpY2ggZG9lc24ndCBoYXZlIGl0cyBvd24gcGlwZS9jcnRjX3N0YXRlLgo+ID4g PiA+ICsJICovCj4gPiA+ID4gKwlpZiAoV0FSTl9PTihpbnRlbF9jcnRjX2hhc190eXBlKGNydGNf c3RhdGUsIElOVEVMX09VVFBVVF9EUF9NU1QpKSkKPiA+ID4gPiArCQlyZXR1cm4gZG9tYWluczsK PiA+ID4gPiArCj4gPiA+ID4gKwkvKiBBVVggcG93ZXIgaXMgb25seSBuZWVkZWQgZm9yIChlKURQ IG1vZGUsIG5vdCBmb3IgSERNSS4gKi8KPiA+ID4gPiArCWlmICghaW50ZWxfY3J0Y19oYXNfdHlw ZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfSERNSSkpIHsKPiA+ID4gPiArCQlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gJmRpZ19wb3J0LT5kcDsKPiA+ID4gPiArCj4gPiA+ID4gKwkJZG9t YWlucyB8PSBCSVRfVUxMKGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKPiA+ID4gPiArCX0K PiA+ID4gPiArCj4gPiA+ID4gKwlyZXR1cm4gZG9tYWluczsKPiA+ID4gPiAgfQo+ID4gPiA+ICAK PiA+ID4gPiAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3BpcGVfY2xvY2soY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ID4gQEAgLTI2MzEsNiArMjY1Miw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ID4gPiA+ICAKPiA+ID4gPiAgCVdBUk5fT04oaXNfbXN0ICYmIChwb3J0ID09 IFBPUlRfQSB8fCBwb3J0ID09IFBPUlRfRSkpOwo+ID4gPiA+ICAKPiA+ID4gPiArCWludGVsX2Rp c3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7Cj4g PiA+ID4gKwo+ID4gPiA+ICAJaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBjcnRj X3N0YXRlLT5wb3J0X2Nsb2NrLAo+ID4gPiA+ICAJCQkJIGNydGNfc3RhdGUtPmxhbmVfY291bnQs IGlzX21zdCk7Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC0yNzc1LDYgKzI3OTgsOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ID4gPiA+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGRpZ19wb3J0 LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ID4gPiAgCj4gPiA+ID4gIAlpbnRlbF9kZGlfY2xr X2Rpc2FibGUoZW5jb2Rlcik7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJaW50ZWxfZGlzcGxheV9wb3dl cl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKPiA+ID4gPiAgfQo+ ID4gPiA+ICAKPiA+ID4gPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9oZG1p KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+ID4gPiBpbmRleCAyYzhmZWYzZWRlNTQuLmQ5ZmVmY2VjNGIxYSAx MDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4g PiBAQCAtMTU2NzYsMTEgKzE1Njc2LDIxIEBAIGdldF9lbmNvZGVyX3Bvd2VyX2RvbWFpbnMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiA+ICAJZm9yX2VhY2hfaW50ZWxf ZW5jb2RlcigmZGV2X3ByaXYtPmRybSwgZW5jb2Rlcikgewo+ID4gPiA+ICAJCXU2NCBnZXRfZG9t YWluczsKPiA+ID4gPiAgCQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsK PiA+ID4gPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ID4gPiAg Cj4gPiA+ID4gIAkJaWYgKCFlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucykKPiA+ID4gPiAgCQkJ Y29udGludWU7Cj4gPiA+ID4gIAo+ID4gPiA+IC0JCWdldF9kb21haW5zID0gZW5jb2Rlci0+Z2V0 X3Bvd2VyX2RvbWFpbnMoZW5jb2Rlcik7Cj4gPiA+ID4gKwkJLyoKPiA+ID4gPiArCQkgKiBJbiBj YXNlIG9mIGEgZGFuZ2xpbmcgZW5jb2RlciB3aXRob3V0IGEgY3J0YyB3ZSBzdGlsbCBuZWVkCj4g PiA+ID4gKwkJICogdG8gZ2V0IHBvd2VyIGRvbWFpbiByZWZzLiBTdWNoIGVuY29kZXJzIHdpbGwg YmUgZGlzYWJsZWQKPiA+ID4gPiArCQkgKiBkcm9wcGluZyB0aGVzZSByZWZlcmVuY2VzLgo+ID4g PiA+ICsJCSAqLwo+ID4gPiA+ICsJCWNydGNfc3RhdGUgPSBlbmNvZGVyLT5iYXNlLmNydGMgPwo+ ID4gPiA+ICsJCQkgICAgIHRvX2ludGVsX2NydGNfc3RhdGUoZW5jb2Rlci0+YmFzZS5jcnRjLT5z dGF0ZSkgOgo+ID4gPiA+ICsJCQkgICAgIE5VTEw7Cj4gPiA+IAo+ID4gPiBBY3R1YWxseSBJIHRo aW5rIHdlIGNhbiBqdXN0IGRyb3AgdGhpcyBOVUxMIGNydGMgc3RhdGUgY2FzZS4gSWYgdGhlCj4g PiA+IGVuY29kZXIgaXMgYWN0aXZlIGl0IHdpbGwgaGF2ZSBhIGNydGMgYXNzaWduZWQsIGFuZCBv bmx5IHRoZW4gZG8gd2UKPiA+ID4gYWN0dWFsbHkgc2h1dCBpdCBkb3duIGlmIHRoZSBjb25uZWN0 b3IvY3J0YyBpcyBub3QgYWN0aXZlLiBTbyBpZiB3ZSB3ZQo+ID4gPiBldmVyIGRpZCBnZXQgaW50 byBhIHNpdHVhdGlvbiB3aGVyZSB3ZSBkaWRuJ3QgaGF2ZSB0aGUgY3J0YyB3ZSdkCj4gPiA+IGxl YWsgdGhlIHBvd2VyIHJlZmVyZW5jZXMuIEFsc28gd2UgbmVlZCB0aGUgY3J0YyBzdGF0ZSB0byBz aHV0IGRvd24KPiA+ID4gdGhlIGVuY29kZXIuCj4gPiAKPiA+IEVyciwgdGhhbmtzIGZvciBjYXRj aGluZyB0aGF0LiBDb25mdXNlZCBteXNlbGYgcmVhZGluZwo+ID4gaW50ZWxfc2FuaXRpemVfZW5j b2RlcigpLCB0aGlua2luZyB0aGF0IHdlJ2xsIGRpc2FibGUgdGhlcmUgZW5jb2RlcnMKPiA+IHdp dGhvdXQgYSBjcnRjLCBidXQgdGhhdCdzIG5vdCB0aGUgY2FzZSBhcyB5b3UgcG9pbnRlZCBvdXQu IFNpbmNlCj4gPiBlbmNvZGVyLT5iYXNlLmNydGMgY2FuIGJlIE5VTEwgZm9yIE1TVCBJIHdpbGwg c3RpbGwga2VlcCB0aGUgYWJvdmUgYW5kCj4gPiByZWx5IG9uIGludGVsX2RkaV9nZXRfaHdfc3Rh dGUoKSB0byBza2lwIHRha2luZyBwb3dlciByZWZzIGZvciB0aGF0Cj4gPiBjYXNlLiBXaWxsIHVw ZGF0ZSB0aGUgY29tbWVudCBhY2Nyb2RpbmdseS4KPiA+IAo+ID4gPiBUaGUgZW50aXJlIHNhbml0 aXplX2VuY29kZXIoKSB0aGluZyBpcyBhIGJpdCB3b25reS4gSW4gY2FzZSB3ZSBoYXZlIGFuCj4g PiA+IGFjdGl2ZSBlbmNvZGVyIHdpdGhvdXQgYSBjb25uZWN0b3IgaXQgd29uJ3QgYWN0dWFsbHkg ZG8gYW55dGhpbmcuIEkKPiA+ID4gc3VwcG9zZSB0aGF0IGNvdWxkIGF0IGxlYXN0IGhhcHBlbiB3 aXRoIHNkdm8uIFdpdGggZGRpIGl0IHdvdWxkIHJlcXVpcmVkCj4gPiA+IHRoZSBwb3J0IHRvIGJl IGVuYWJsZWQgd2l0aCB0aGUgd3JvbmcgbW9kZSB3aGljaCBJIHN1cHBvc2UgaXMgYQo+ID4gPiBz bGlnaHRseSBsZXNzIHJlYWxpc3RpYyBvcHRpb24uCj4gPiA+IAo+ID4gPiBBbm90aGVyIGNhc2Ug d2hlbiB3ZSB3b3VsZG4ndCBkbyBhbnl0aGluZyBpcyBpZiB0aGUgcG9ydCBpcyBlbmFibGVkCj4g PiA+IHdpdGhvdXQgYW55IHRyYW5zY29kZXIgaGF2aW5nIHNlbGVjdGVkIGl0LiBUaGF0IGNvdWxk IGhhcHBlbiB3aXRoCj4gPiA+IENQVC9QUFQgRFAgb3IgRERJLiBPdGhlciBwb3J0IHR5cGVzIGhh dmUgdGhlIHBpcGUgc2VsZWN0IGJpdHMgb24gdGhlCj4gPiA+IHBvcnQgc28gaXQncyBub3QgcG9z c2libGUgdG8gZ2V0IGludG8gdGhhdCBzaXR1YXRpb24uCj4gPiA+IAo+ID4gPiBTaW5jZSB3ZSBk b24ndCBzZWVtIHRvIGhhdmUgYW55IG15c3RlcmlvdXMgYnVnIHJlcG9ydHMgYWJvdXQgcG9ydHMg YmVpbmcKPiA+ID4gd29ua3kgbWF5YmUgdGhlc2UgdGhpbmdzIGp1c3QgZG9uJ3QgaGFwcGVuIGlu IHByYWN0aWNlLiBPciBldmVyeXRoaW5nCj4gPiA+IGp1c3QgaGFwcGVucyB0byB3b3JrIG91dCBi eSBhY2NpZW50IGV2ZW4gaWYgZG9uJ3Qgc2h1dCB0aGluZ3MgZG93bgo+ID4gPiBjbGVhbmx5Lgo+ ID4gPiAKPiA+ID4gPiArCj4gPiA+ID4gKwkJZ2V0X2RvbWFpbnMgPSBlbmNvZGVyLT5nZXRfcG93 ZXJfZG9tYWlucyhlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+ID4gPiAgCQlmb3JfZWFjaF9wb3dl cl9kb21haW4oZG9tYWluLCBnZXRfZG9tYWlucykKPiA+ID4gPiAgCQkJaW50ZWxfZGlzcGxheV9w b3dlcl9nZXQoZGV2X3ByaXYsIGRvbWFpbik7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBpbmRleCAwYzNhYzBlYWZkZTAuLjcxNzQ0MjlkOTMwYSAx MDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gQEAgLTI1 NCw3ICsyNTQsOCBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7Cj4gPiA+ID4gIAkJCSAgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gPiA+ID4gIAkvKiBSZXR1cm5zIGEg bWFzayBvZiBwb3dlciBkb21haW5zIHRoYXQgbmVlZCB0byBiZSByZWZlcmVuY2VkIGFzIHBhcnQK PiA+ID4gPiAgCSAqIG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSByZWFkb3V0IGNvZGUuICovCj4gPiA+ ID4gLQl1NjQgKCpnZXRfcG93ZXJfZG9tYWlucykoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpOwo+ID4gPiA+ICsJdTY0ICgqZ2V0X3Bvd2VyX2RvbWFpbnMpKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ID4gPiA+ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKTsKPiA+ID4gPiAgCS8qCj4gPiA+ID4gIAkgKiBDYWxsZWQgZHVyaW5nIHN5c3RlbSBz dXNwZW5kIGFmdGVyIGFsbCBwZW5kaW5nIHJlcXVlc3RzIGZvciB0aGUKPiA+ID4gPiAgCSAqIGVu Y29kZXIgYXJlIGZsdXNoZWQgKGZvciBleGFtcGxlIGZvciBEUCBBVVggdHJhbnNhY3Rpb25zKSBh bmQKPiA+ID4gPiAtLSAKPiA+ID4gPiAyLjEzLjIKPiA+ID4gCj4gPiA+IC0tIAo+ID4gPiBWaWxs ZSBTeXJqw6Rsw6QKPiA+ID4gSW50ZWwKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK