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: Thu, 21 Jun 2018 22:54:00 +0300 Message-ID: <20180621195400.GA26959@ideak-desk.fi.intel.com> References: <20180621171247.20350-1-imre.deak@intel.com> <20180621184449.26634-1-imre.deak@intel.com> <1529612070.12516.36.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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 072256E8F4 for ; Thu, 21 Jun 2018 19:54:18 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1529612070.12516.36.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: Dhinakaran Pandiyan Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjEsIDIwMTggYXQgMDE6MTQ6MzBQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBPbiBUaHUsIDIwMTgtMDYtMjEgYXQgMjE6NDQgKzAzMDAsIEltcmUgRGVh ayB3cm90ZToKPiA+IFNvIGZhciB3ZSBnb3QgYW4gQVVYIHBvd2VyIGRvbWFpbiByZWZlcmVuY2Ug b25seSBmb3IgdGhlIGR1cmF0aW9uIG9mCj4gPiBEUAo+ID4gQVVYIHRyYW5zZmVycy4gSG93ZXZl ciwgdGhlIGZvbGxvd2luZyBzdWdnZXN0cyB0aGF0IHdlIGFsc28gbmVlZAo+ID4gdGhlc2UKPiA+ IGZvciBtYWluIGxpbmsgZnVuY3Rpb25hbGl0eToKPiA+IC0gVGhlIHNwZWNpZmljYXRpb24gZG9l c24ndCBzdGF0ZSB3aGV0aGVyIGl0J3MgbmVlZGVkIG9yIG5vdCBmb3IgbWFpbgo+ID4gwqAgbGlu ayBmdW5jdGlvbmFsaXR5LCBidXQgc3VnZ2VzdHMgdGhhdCB0aGVzZSBwb3dlciB3ZWxscyBuZWVk IHRvIGJlCj4gPiDCoCBlbmFibGVkIGFscmVhZHkgZHVyaW5nIGRpc3BsYXkgY29yZSBpbml0aWFs aXphdGlvbiAoU2VxdWVuY2VzIHRvCj4gPiDCoCBJbml0aWFsaXplIERpc3BsYXkpLgo+IEhtbS4g VGhlIHNlcXVlbmNlIGFsc28gc2F5cyAiSWYgYW4gQXV4IGNoYW5uZWwgd2lsbCBub3QgYmUgdXNl ZCwgaXQKPiBkb2VzIG5vdCBuZWVkIHRvIGJlIHBvd2VyZWQgdXAuIgoKV2VsbCwgSSBjb25zaWRl ciB0aGF0IGhpbnRzIGF0IG5vdCB1c2luZyB0aGUgcG9ydCBhdCBhbGwgZm9yIERQLCBzaW5jZQpm b3IgRFAgeW91IHdpbGwgbmVlZCBBVVguCgo+IAo+ID4gLSBGb3IgUFNSIHdlIG5lZWQgdG8ga2Vl cCB0aGUgQVVYIHBvd2VyIHdlbGwgZW5hYmxlZC4KPiA+IC0gT24gSUNMIGNvbWJvIFBIWSBwb3J0 cyAobm9uLVRDKSB0aGUgQVVYIHBvd2VyIHdlbGwgaXMgbmVlZGVkIGZvcgo+ID4gwqAgbGluayB0 cmFpbmluZyB0b286IHdoaWxlIHRoZSBwb3J0IGlzIGVuYWJsZWQgd2l0aCBhIERQIGxpbmsKPiA+ IHRyYWluaW5nCj4gSSBkb24ndCBzZWUgdGhpcyBpbiB0aGUgc3BlYywgaXMgdGhpcyBzb21ldGhp bmcgeW91IG9ic2VydmVkPwoKWWVzLgoKPiAKPiA+IMKgIHRlc3QgcGF0dGVybiB0cnlpbmcgdG8g dG9nZ2xlIHRoZSBBVVggcG93ZXIgd2VsbCB3aWxsIHRpbWUgb3V0Lgo+IAo+IENhbiB3ZSBlbmFi bGUgQVVYIHBvd2VyIHdlbGwgYmVmb3JlIGxpbmsgdHJhaW5pbmcgc3RhcnRzIGFuZCBkaXNhYmxl Cj4gYWZ0ZXIgd2UgYXJlIGRvbmUgdHJhaW5pbmc/IElzIHRoYXQgZW5vdWdoPwoKVGhhdCB3YXMg bXkgZmlyc3QgaWRlYSB0b28sIGJ1dCBnaXZlbiB0aGUgcmVzdCBvZiB0aGUgcG9pbnRzIEkgY29u c2lkZXIKaXQgYSBzYWZlciBvcHRpb24gdG8gZW5hYmxlIGl0IGZvciBtYWluIGxpbmsgZnVuY3Rp b25hbGl0eS4KCj4gCj4gPiAtIE9uIElDTCBNRyBQSFkgcG9ydHMgKFRDKSB0aGUgQVVYIHBvd2Vy IHdlbGwgaXMgbmVlZGVkIGFsc28gZm9yIG1haW4KPiA+IMKgIGxpbmsgZnVuY3Rpb25hbGl0eSAo Ym90aCBpbiBEUCBhbmQgSERNSSBtb2RlcykuCj4gPiAtIFdpbmRvd3MgZW5hYmxlcyB0aGVzZSBw b3dlciB3ZWxscyBib3RoIGZvciBtYWluIGFuZCBBVVggbGFuZQo+ID4gwqAgZnVuY3Rpb25hbGl0 eS4KPiA+IAo+ID4gQmFzZWQgb24gdGhlIGFib3ZlIHRha2UgYW4gQVVYIHBvd2VyIHJlZmVyZW5j ZSBmb3IgbWFpbiBsaW5rCj4gPiBmdW5jdGlvbmFsaXR5IHRvby4gVGhpcyBtYWtlcyBhIGRpZmZl cmVuY2Ugb25seSBvbiBHRU4xMCsgKEdMSyspCj4gPiBwbGF0Zm9ybXMsIHdoZXJlIHdlIGhhdmUg c2VwYXJhdGUgcG9ydCBzcGVjaWZpYyBBVVggcG93ZXIgd2VsbHMuCj4gPiAKPiA+IEZvciBQU1Ig d2Ugc3RpbGwgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHBvcnQgQSBhbmQgdGhlIG90aGVy Cj4gPiBwb3J0cywgc2luY2Ugb24gcG9ydCBBIERDIHN0YXRlcyBtdXN0IHN0YXkgZW5hYmxlZCBm b3IgbWFpbiBsaW5rCj4gPiBmdW5jdGlvbmFsaXR5LCBidXQgREMgc3RhdGVzIG11c3QgYmUgZGlz YWJsZWQgZm9yIGRyaXZlciBpbml0aWF0ZWQKPiA+IEFVWCB0cmFuc2ZlcnMuIFNvIHJlLXVzZSB0 aGUgY29ycmVzcG9uZGluZyBoZWxwZXIgZnJvbSBpbnRlbF9wc3IuYy4KPiA+IAo+ID4gU2luY2Ug d2UgdGFrZSBub3cgYSByZWZlcmVuY2UgZm9yIG1haW4gbGluayBmdW5jdGlvbmFsaXR5IG9uIGFs bCBEUAo+ID4gcG9ydHMgd2UgY2FuIGZvcmdvIHRha2luZyB0aGUgc2VwYXJhdGUgcG93ZXIgcmVm IGZvciBQU1IKPiA+IGZ1bmN0aW9uYWxpdHkuCj4gPiAKPiA+IHYyOgo+ID4gLSBNYWtlIHN1cmUg REMgc3RhdGVzIHN0YXkgZW5hYmxlZCB3aGVuIHRha2luZyB0aGUgcmVmIG9uIHBvcnQgQS4KPiA+ IMKgIChWaWxsZSkKPiA+IAo+ID4gdjM6IChWaWxsZSkKPiA+IC0gRml4IGNvbW1lbnQgYWJvdXQg bG9naWMgZm9yIGVuY29kZXJzIHdpdGhvdXQgYSBjcnRjIHN0YXRlIGFuZAo+ID4gwqAgYWRkIEZJ WE1FIG5vdGUgZm9yIGEgc2ltcGxpZmljYXRpb24gdG8gYXZvaWQgY2FsbGluZwo+ID4gZ2V0X3Bv d2VyX2RvbWFpbnMKPiA+IMKgIGluIHN1Y2ggY2FzZXMuCj4gPiAtIFVzZSBpbnRlbF9jcnRjX2hh c19kcF9lbmNvZGVyKCkgaW5zdGVhZCAhaW50ZWxfY3J0Y19oYXNfdHlwZShIRE1JKS4KPiA+IAo+ ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g PiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+ Cj4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiBTaWdu ZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gPiAtLS0KPiA+IMKg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmPCoMKgwqDCoMKgwqDCoMKgfCA1NAo+ID4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuY8KgwqDCoMKgfCAxMiArKysrKysrLQo+ID4gwqBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoMKgwqDCoMKgwqB8wqDCoDMgKy0KPiA+IMKgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmPCoMKgwqDCoMKgwqDCoMKgfCA0MSAtLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+IC0tLS0KPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cnVudGltZV9wbS5jIHzCoMKgMSArCj4gPiDCoDUgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9u cygrKSwgNDcgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku Ywo+ID4gaW5kZXggMDQ0ZmUxZmI5ODcyLi4wMzE5ODI1YjcyNWIgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiA+IEBAIC0xOTgzLDE1ICsxOTgzLDU1IEBAIGJvb2wgaW50ZWxf ZGRpX2dldF9od19zdGF0ZShzdHJ1Y3QKPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiDC oAlyZXR1cm4gcmV0Owo+ID4gwqB9Cj4gPiDCoAo+ID4gLXN0YXRpYyB1NjQgaW50ZWxfZGRpX2dl dF9wb3dlcl9kb21haW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4gPiAqZW5jb2RlcikKPiA+ICtz dGF0aWMgaW5saW5lIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KPiA+ICtpbnRlbF9k ZGlfbWFpbl9saW5rX2F1eF9kb21haW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICt7 Cj4gPiArCS8qIENOTCBIVyByZXF1aXJlcyBjb3JyZXNwb25kaW5nIEFVWCBJT3MgdG8gYmUgcG93 ZXJlZCB1cAo+ID4gZm9yIFBTUiB3aXRoCj4gPiArCcKgKiBEQyBzdGF0ZXMgZW5hYmxlZCBhdCB0 aGUgc2FtZSB0aW1lLCB3aGlsZSBmb3IgZHJpdmVyCj4gPiBpbml0aWF0ZWQgQVVYCj4gPiArCcKg KiB0cmFuc2ZlcnMgd2UgbmVlZCB0aGUgc2FtZSBBVVggSU9zIHRvIGJlIHBvd2VyZWQgYnV0IHdp dGgKPiA+IERDIHN0YXRlcwo+ID4gKwnCoCogZGlzYWJsZWQuIEFjY29yZGluZ2x5IHVzZSB0aGUg QVVYIHBvd2VyIGRvbWFpbiBoZXJlIHdoaWNoCj4gPiBsZWF2ZXMgREMKPiA+ICsJwqAqIHN0YXRl cyBlbmFibGVkLgo+ID4gKwnCoCogSG93ZXZlciwgZm9yIG5vbi1BIEFVWCBwb3J0cyB0aGUgY29y cmVzcG9uZGluZyBub24tRURQCj4gPiB0cmFuc2NvZGVycwo+ID4gKwnCoCogd291bGQgaGF2ZSBh bHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuIFRoaXMKPiA+IG1lYW5zIHdl IGNhbgo+ID4gKwnCoCogYWNxdWlyZSBhIHdpZGVyIFBPV0VSX0RPTUFJTl9BVVhfe0IsQyxELEZ9 IHJlZmVyZW5jZQo+ID4gaW5zdGVhZCBvZiBhCj4gPiArCcKgKiBzcGVjaWZpYyBBVVhfSU8gcmVm ZXJlbmNlIHdpdGhvdXQgcG93ZXJpbmcgdXAgYW55IGV4dHJhCj4gPiB3ZWxscy4KPiA+ICsJwqAq IE5vdGUgdGhhdCBQU1IgaXMgZW5hYmxlZCBvbmx5IG9uIFBvcnQgQSBldmVuIHRob3VnaCB0aGlz Cj4gPiBmdW5jdGlvbgo+ID4gKwnCoCogcmV0dXJucyB0aGUgY29ycmVjdCBkb21haW4gZm9yIG90 aGVyIHBvcnRzIHRvby4KPiA+ICsJwqAqLwo+ID4gKwlyZXR1cm4gaW50ZWxfZHAtPmF1eF9jaCA9 PSBBVVhfQ0hfQSA/IFBPV0VSX0RPTUFJTl9BVVhfSU9fQQo+ID4gOgo+ID4gKwkJCQkJwqDCoMKg wqDCoMKgaW50ZWxfZHAtCj4gPiA+YXV4X3Bvd2VyX2RvbWFpbjsKPiA+ICt9Cj4gPiArCj4gPiAr c3RhdGljIHU2NCBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGludGVsX2VuY29k ZXIKPiA+ICplbmNvZGVyLAo+ID4gKwkJCQnCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlCj4gPiAqY3J0Y19zdGF0ZSkKPiA+IMKgewo+ID4gwqAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQgPQo+ID4gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsK PiA+IMKgCWVudW0gcGlwZSBwaXBlOwo+ID4gKwl1NjQgZG9tYWluczsKPiA+IMKgCj4gPiAtCWlm IChpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+IC0JCXJldHVybiBC SVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ICsJaWYgKCFpbnRlbF9k ZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ICsJCXJldHVybiAwOwo+ID4gwqAK PiA+IC0JcmV0dXJuIDA7Cj4gPiArCWRvbWFpbnMgPSBCSVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9f cG93ZXJfZG9tYWluKTsKPiA+ICsJaWYgKCFjcnRjX3N0YXRlKQo+ID4gKwkJcmV0dXJuIGRvbWFp bnM7Cj4gPiArCj4gPiArCS8qCj4gPiArCcKgKiBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgTVNUIGVu Y29kZXJzLiBBdG0sIHRoZSBmb2xsb3dpbmcKPiA+IHNob3VsZCBuZXZlcgo+ID4gKwnCoCogaGFw cGVuIHNpbmNlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBmb3IgdGhlCj4gPiBw cmltYXJ5Cj4gPiArCcKgKiBlbmNvZGVyIHdoaWNoIGRvZXNuJ3QgaGF2ZSBpdHMgb3duIHBpcGUv Y3J0Y19zdGF0ZS4KPiA+ICsJwqAqLwo+ID4gKwlpZiAoV0FSTl9PTihpbnRlbF9jcnRjX2hhc190 eXBlKGNydGNfc3RhdGUsCj4gPiBJTlRFTF9PVVRQVVRfRFBfTVNUKSkpCj4gPiArCQlyZXR1cm4g ZG9tYWluczsKPiA+ICsKPiA+ICsJLyogQVVYIHBvd2VyIGlzIG9ubHkgbmVlZGVkIGZvciAoZSlE UCBtb2RlLCBub3QgZm9yIEhETUkuICovCj4gPiArCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNv ZGVyKGNydGNfc3RhdGUpKSB7Cj4gPiArCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmRp Z19wb3J0LT5kcDsKPiA+ICsKPiA+ICsJCWRvbWFpbnMgfD0KPiA+IEJJVF9VTEwoaW50ZWxfZGRp X21haW5fbGlua19hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJcmV0 dXJuIGRvbWFpbnM7Cj4gPiDCoH0KPiA+IMKgCj4gPiDCoHZvaWQgaW50ZWxfZGRpX2VuYWJsZV9w aXBlX2Nsb2NrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4gPiAqY3J0Y19zdGF0ZSkK PiA+IEBAIC0yNjMxLDYgKzI2NzEsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJs ZV9kcChzdHJ1Y3QKPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiDCoAo+ID4gwqAJV0FS Tl9PTihpc19tc3QgJiYgKHBvcnQgPT0gUE9SVF9BIHx8IHBvcnQgPT0gUE9SVF9FKSk7Cj4gPiDC oAo+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwKPiA+ICsJCQkJaW50ZWxf ZGRpX21haW5fbGlua19hdXhfZG9tYWluKGludGVsCj4gPiBfZHApKTsKPiA+ICsKPiA+IMKgCWlu dGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jaywK PiA+IMKgCQkJCcKgY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCwgaXNfbXN0KTsKPiA+IMKgCj4gPiBA QCAtMjc3NSw2ICsyODE4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9k cChzdHJ1Y3QKPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiDCoAlpbnRlbF9kaXNwbGF5 X3Bvd2VyX3B1dChkZXZfcHJpdiwgZGlnX3BvcnQtCj4gPiA+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7 Cj4gPiDCoAo+ID4gwqAJaW50ZWxfZGRpX2Nsa19kaXNhYmxlKGVuY29kZXIpOwo+ID4gKwo+ID4g KwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKPiA+ICsJCQkJaW50ZWxfZGRpX21h aW5fbGlua19hdXhfZG9tYWluKGludGVsCj4gPiBfZHApKTsKPiA+IMKgfQo+ID4gwqAKPiA+IMKg c3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNv ZGVyCj4gPiAqZW5jb2RlciwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPiBpbmRleCAyYzhmZWYzZWRlNTQuLmNlNjE1Zjg5YjQzYSAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTU2NzYsMTEgKzE1Njc2LDIxIEBAIGdl dF9lbmNvZGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0Cj4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiA+IMKgCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoJmRldl9wcml2LT5kcm0sIGVuY29k ZXIpIHsKPiA+IMKgCQl1NjQgZ2V0X2RvbWFpbnM7Cj4gPiDCoAkJZW51bSBpbnRlbF9kaXNwbGF5 X3Bvd2VyX2RvbWFpbiBkb21haW47Cj4gPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZTsKPiA+IMKgCj4gPiDCoAkJaWYgKCFlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucykK PiA+IMKgCQkJY29udGludWU7Cj4gPiDCoAo+ID4gLQkJZ2V0X2RvbWFpbnMgPSBlbmNvZGVyLT5n ZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKPiA+ICsJCS8qCj4gPiArCQnCoCogRm9yIE1TVCBh bmQgaW5hY3RpdmUgZW5jb2RlcnMgd2UgZG9uJ3QgaGF2ZSBhCj4gPiBjcnRjIHN0YXRlLgo+ID4g KwkJwqAqIEZJWE1FOiBubyBuZWVkIHRvIGNhbGwgZ2V0X3Bvd2VyX2RvbWFpbnMgaW4gc3VjaAo+ ID4gY2FzZXMsIGl0Cj4gPiArCQnCoCogd2lsbCBhbHdheXMgcmV0dXJuIDAuCj4gPiArCQnCoCov Cj4gPiArCQljcnRjX3N0YXRlID0gZW5jb2Rlci0+YmFzZS5jcnRjID8KPiA+ICsJCQnCoMKgwqDC oMKgdG9faW50ZWxfY3J0Y19zdGF0ZShlbmNvZGVyLT5iYXNlLmNydGMtCj4gPiA+c3RhdGUpIDoK PiA+ICsJCQnCoMKgwqDCoMKgTlVMTDsKPiA+ICsKPiA+ICsJCWdldF9kb21haW5zID0gZW5jb2Rl ci0+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5jb2RlciwKPiA+IGNydGNfc3RhdGUpOwo+ID4gwqAJCWZv cl9lYWNoX3Bvd2VyX2RvbWFpbihkb21haW4sIGdldF9kb21haW5zKQo+ID4gwqAJCQlpbnRlbF9k aXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgZG9tYWluKTsKPiA+IMKgCX0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggMGMzYWMwZWFmZGUwLi43MTc0NDI5ZDkzMGEg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IEBAIC0yNTQsNyArMjU0LDgg QEAgc3RydWN0IGludGVsX2VuY29kZXIgewo+ID4gwqAJCQnCoMKgwqBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ID4gwqAJLyogUmV0dXJucyBhIG1hc2sgb2YgcG93ZXIg ZG9tYWlucyB0aGF0IG5lZWQgdG8gYmUKPiA+IHJlZmVyZW5jZWQgYXMgcGFydAo+ID4gwqAJwqAq IG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSByZWFkb3V0IGNvZGUuICovCj4gPiAtCXU2NCAoKmdldF9w b3dlcl9kb21haW5zKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7Cj4gPiArCXU2NCAo KmdldF9wb3dlcl9kb21haW5zKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICsJ CQkJwqBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gKmNydGNfc3RhdGUpOwo+ID4gwqAJLyoK PiA+IMKgCcKgKiBDYWxsZWQgZHVyaW5nIHN5c3RlbSBzdXNwZW5kIGFmdGVyIGFsbCBwZW5kaW5n IHJlcXVlc3RzCj4gPiBmb3IgdGhlCj4gPiDCoAnCoCogZW5jb2RlciBhcmUgZmx1c2hlZCAoZm9y IGV4YW1wbGUgZm9yIERQIEFVWCB0cmFuc2FjdGlvbnMpCj4gPiBhbmQKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wc3IuYwo+ID4gaW5kZXggZDRjZDE5ZmVhMTQ4Li5lZWNkZDhiNWI1ZTAgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+IEBAIC01Niw0MyArNTYsNiBAQAo+ ID4gwqAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gPiDCoCNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ ID4gwqAKPiA+IC1zdGF0aWMgaW5saW5lIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4K PiA+IC1wc3JfYXV4X2RvbWFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gLXsKPiA+ IC0JLyogQ05MIEhXIHJlcXVpcmVzIGNvcnJlc3BvbmRpbmcgQVVYIElPcyB0byBiZSBwb3dlcmVk IHVwCj4gPiBmb3IgUFNSLgo+ID4gLQnCoCogSG93ZXZlciwgZm9yIG5vbi1BIEFVWCBwb3J0cyB0 aGUgY29ycmVzcG9uZGluZyBub24tRURQCj4gPiB0cmFuc2NvZGVycwo+ID4gLQnCoCogd291bGQg aGF2ZSBhbHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuIFRoaXMKPiA+IG1l YW5zIHdlIGNhbgo+ID4gLQnCoCogYWNxdWlyZSBhIHdpZGVyIFBPV0VSX0RPTUFJTl9BVVhfe0Is QyxELEZ9IHJlZmVyZW5jZQo+ID4gaW5zdGVhZCBvZiBhCj4gPiAtCcKgKiBzcGVjaWZpYyBBVVhf SU8gcmVmZXJlbmNlIHdpdGhvdXQgcG93ZXJpbmcgdXAgYW55IGV4dHJhCj4gPiB3ZWxscy4KPiA+ IC0JwqAqIE5vdGUgdGhhdCBQU1IgaXMgZW5hYmxlZCBvbmx5IG9uIFBvcnQgQSBldmVuIHRob3Vn aCB0aGlzCj4gPiBmdW5jdGlvbgo+ID4gLQnCoCogcmV0dXJucyB0aGUgY29ycmVjdCBkb21haW4g Zm9yIG90aGVyIHBvcnRzIHRvby4KPiA+IC0JwqAqLwo+ID4gLQlyZXR1cm4gaW50ZWxfZHAtPmF1 eF9jaCA9PSBBVVhfQ0hfQSA/IFBPV0VSX0RPTUFJTl9BVVhfSU9fQQo+ID4gOgo+ID4gLQkJCQkJ wqDCoMKgwqDCoMKgaW50ZWxfZHAtCj4gPiA+YXV4X3Bvd2VyX2RvbWFpbjsKPiA+IC19Cj4gPiAt Cj4gPiAtc3RhdGljIHZvaWQgcHNyX2F1eF9pb19wb3dlcl9nZXQoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPiA+IC17Cj4gPiAtCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0ID0KPiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kaWdfcG9ydC0KPiA+ID5iYXNl LmJhc2UuZGV2KTsKPiA+IC0KPiA+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCAxMCkKPiA+ IC0JCXJldHVybjsKPiA+IC0KPiA+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs IHBzcl9hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4gPiAtfQo+ID4gLQo+ID4gLXN0YXRpYyB2b2lk IHBzcl9hdXhfaW9fcG93ZXJfcHV0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAtewo+ ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4gPiBkcF90 b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtCj4gPiA+YmFzZS5iYXNlLmRldik7Cj4gPiAt Cj4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTApCj4gPiAtCQlyZXR1cm47Cj4gPiAt Cj4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwc3JfYXV4X2RvbWFpbihp bnRlbF9kcCkpOwo+ID4gLX0KPiA+IC0KPiA+IMKgdm9pZCBpbnRlbF9wc3JfaXJxX2NvbnRyb2wo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sCj4gPiBkZWJ1ZykKPiA+IMKg ewo+ID4gwqAJdTMyIGRlYnVnX21hc2ssIG1hc2s7Cj4gPiBAQCAtNTk1LDggKzU1OCw2IEBAIHN0 YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAKPiA+ICppbnRl bF9kcCwKPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKPiA+IMKgCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUt PmNwdV90cmFuc2NvZGVyOwo+ID4gwqAKPiA+IC0JcHNyX2F1eF9pb19wb3dlcl9nZXQoaW50ZWxf ZHApOwo+ID4gLQo+ID4gwqAJLyogT25seSBIU1cgYW5kIEJEVyBoYXZlIFBTUiBBVVggcmVnaXN0 ZXJzIHRoYXQgbmVlZCB0byBiZQo+ID4gc2V0dXAuIFNLTCsKPiA+IMKgCcKgKiB1c2UgaGFyZGNv ZGVkIHZhbHVlcyBQU1IgQVVYIHRyYW5zYWN0aW9ucwo+ID4gwqAJwqAqLwo+ID4gQEAgLTcxNyw4 ICs2NzgsNiBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwCj4g PiAqaW50ZWxfZHAsCj4gPiDCoAkJZWxzZQo+ID4gwqAJCQlXQVJOX09OKEk5MTVfUkVBRChFRFBf UFNSX0NUTCkgJgo+ID4gRURQX1BTUl9FTkFCTEUpOwo+ID4gwqAJfQo+ID4gLQo+ID4gLQlwc3Jf YXV4X2lvX3Bvd2VyX3B1dChpbnRlbF9kcCk7Cj4gPiDCoH0KPiA+IMKgCj4gPiDCoC8qKgo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+IGluZGV4IGRlM2E4 MTAzNGY3Ny4uMjk2OTc4NzIwMWVmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiA+IEBAIC0xODI0LDYgKzE4MjQsNyBAQCB2b2lkIGludGVsX2Rpc3Bs YXlfcG93ZXJfcHV0KHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiDC oAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+IMKgI2RlZmluZSBHTEtfRElTUExBWV9B VVhfQV9QT1dFUl9ET01BSU5TICgJCVwKPiA+IMKgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9B KSB8CQlcCj4gPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9JT19BKSB8CQlcCj4gPiDCoAlC SVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+IMKgI2RlZmluZSBHTEtfRElTUExBWV9BVVhf Ql9QT1dFUl9ET01BSU5TICgJCVwKPiA+IMKgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9CKSB8 CQlcCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=