From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH v3] drm/i915/ddi: Get AUX power domain for DP main link too Date: Thu, 21 Jun 2018 13:28:40 -0700 Message-ID: <1529612920.12516.41.camel@intel.com> References: <20180621171247.20350-1-imre.deak@intel.com> <20180621184449.26634-1-imre.deak@intel.com> <1529612070.12516.36.camel@intel.com> <20180621195400.GA26959@ideak-desk.fi.intel.com> Reply-To: dhinakaran.pandiyan@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id D0B996E940 for ; Thu, 21 Jun 2018 20:02:43 +0000 (UTC) In-Reply-To: <20180621195400.GA26959@ideak-desk.fi.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: imre.deak@intel.com Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE4LTA2LTIxIGF0IDIyOjU0ICswMzAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gT24g VGh1LCBKdW4gMjEsIDIwMTggYXQgMDE6MTQ6MzBQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5kaXlh biB3cm90ZToKPiA+IAo+ID4gT24gVGh1LCAyMDE4LTA2LTIxIGF0IDIxOjQ0ICswMzAwLCBJbXJl IERlYWsgd3JvdGU6Cj4gPiA+IAo+ID4gPiBTbyBmYXIgd2UgZ290IGFuIEFVWCBwb3dlciBkb21h aW4gcmVmZXJlbmNlIG9ubHkgZm9yIHRoZSBkdXJhdGlvbgo+ID4gPiBvZgo+ID4gPiBEUAo+ID4g PiBBVVggdHJhbnNmZXJzLiBIb3dldmVyLCB0aGUgZm9sbG93aW5nIHN1Z2dlc3RzIHRoYXQgd2Ug YWxzbyBuZWVkCj4gPiA+IHRoZXNlCj4gPiA+IGZvciBtYWluIGxpbmsgZnVuY3Rpb25hbGl0eToK PiA+ID4gLSBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IHN0YXRlIHdoZXRoZXIgaXQncyBuZWVk ZWQgb3Igbm90IGZvcgo+ID4gPiBtYWluCj4gPiA+IMKgIGxpbmsgZnVuY3Rpb25hbGl0eSwgYnV0 IHN1Z2dlc3RzIHRoYXQgdGhlc2UgcG93ZXIgd2VsbHMgbmVlZCB0bwo+ID4gPiBiZQo+ID4gPiDC oCBlbmFibGVkIGFscmVhZHkgZHVyaW5nIGRpc3BsYXkgY29yZSBpbml0aWFsaXphdGlvbiAoU2Vx dWVuY2VzCj4gPiA+IHRvCj4gPiA+IMKgIEluaXRpYWxpemUgRGlzcGxheSkuCj4gPiBIbW0uIFRo ZSBzZXF1ZW5jZSBhbHNvIHNheXMgIklmIGFuIEF1eCBjaGFubmVsIHdpbGwgbm90IGJlIHVzZWQs IGl0Cj4gPiBkb2VzIG5vdCBuZWVkIHRvIGJlIHBvd2VyZWQgdXAuIgo+IFdlbGwsIEkgY29uc2lk ZXIgdGhhdCBoaW50cyBhdCBub3QgdXNpbmcgdGhlIHBvcnQgYXQgYWxsIGZvciBEUCwKPiBzaW5j ZQo+IGZvciBEUCB5b3Ugd2lsbCBuZWVkIEFVWC4KPiAKCkkgYWxzbyBzZWUgYW4gaW5zdHJ1Y3Rp b24gdG8gInNldCBQT1JUX0NMX0RXMTJfPHBvcnQgbGV0dGVyPiBMYW5lCkVuYWJsZSBBdXggdG8g MWIiIGZvciBhdXggY2hhbm5lbHMgb24gY29tYm8gcG9ydHMuIEEgcXVpY2sgY2hlY2sgc2hvd3MK dGhlIHJlZ2lzdGVyIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBkcml2ZXIuIE15IGNvbmNlcm4gaXMg d2UgbWlnaHQgYmUKbWlzc2luZyBhIHN0ZXAgZm9yIGNvbWJvIHBvcnRzLgoKCj4gPiAKPiA+IAo+ ID4gPiAKPiA+ID4gLSBGb3IgUFNSIHdlIG5lZWQgdG8ga2VlcCB0aGUgQVVYIHBvd2VyIHdlbGwg ZW5hYmxlZC4KPiA+ID4gLSBPbiBJQ0wgY29tYm8gUEhZIHBvcnRzIChub24tVEMpIHRoZSBBVVgg cG93ZXIgd2VsbCBpcyBuZWVkZWQKPiA+ID4gZm9yCj4gPiA+IMKgIGxpbmsgdHJhaW5pbmcgdG9v OiB3aGlsZSB0aGUgcG9ydCBpcyBlbmFibGVkIHdpdGggYSBEUCBsaW5rCj4gPiA+IHRyYWluaW5n Cj4gPiBJIGRvbid0IHNlZSB0aGlzIGluIHRoZSBzcGVjLCBpcyB0aGlzIHNvbWV0aGluZyB5b3Ug b2JzZXJ2ZWQ/Cj4gWWVzLgo+IAo+ID4gCj4gPiAKPiA+ID4gCj4gPiA+IMKgIHRlc3QgcGF0dGVy biB0cnlpbmcgdG8gdG9nZ2xlIHRoZSBBVVggcG93ZXIgd2VsbCB3aWxsIHRpbWUgb3V0Lgo+ID4g Q2FuIHdlIGVuYWJsZSBBVVggcG93ZXIgd2VsbCBiZWZvcmUgbGluayB0cmFpbmluZyBzdGFydHMg YW5kCj4gPiBkaXNhYmxlCj4gPiBhZnRlciB3ZSBhcmUgZG9uZSB0cmFpbmluZz8gSXMgdGhhdCBl bm91Z2g/Cj4gVGhhdCB3YXMgbXkgZmlyc3QgaWRlYSB0b28sIGJ1dCBnaXZlbiB0aGUgcmVzdCBv ZiB0aGUgcG9pbnRzIEkKPiBjb25zaWRlcgo+IGl0IGEgc2FmZXIgb3B0aW9uIHRvIGVuYWJsZSBp dCBmb3IgbWFpbiBsaW5rIGZ1bmN0aW9uYWxpdHkuCj4gCj4gPiAKPiA+IAo+ID4gPiAKPiA+ID4g LSBPbiBJQ0wgTUcgUEhZIHBvcnRzIChUQykgdGhlIEFVWCBwb3dlciB3ZWxsIGlzIG5lZWRlZCBh bHNvIGZvcgo+ID4gPiBtYWluCj4gPiA+IMKgIGxpbmsgZnVuY3Rpb25hbGl0eSAoYm90aCBpbiBE UCBhbmQgSERNSSBtb2RlcykuCj4gPiA+IC0gV2luZG93cyBlbmFibGVzIHRoZXNlIHBvd2VyIHdl bGxzIGJvdGggZm9yIG1haW4gYW5kIEFVWCBsYW5lCj4gPiA+IMKgIGZ1bmN0aW9uYWxpdHkuCj4g PiA+IAo+ID4gPiBCYXNlZCBvbiB0aGUgYWJvdmUgdGFrZSBhbiBBVVggcG93ZXIgcmVmZXJlbmNl IGZvciBtYWluIGxpbmsKPiA+ID4gZnVuY3Rpb25hbGl0eSB0b28uIFRoaXMgbWFrZXMgYSBkaWZm ZXJlbmNlIG9ubHkgb24gR0VOMTArIChHTEsrKQo+ID4gPiBwbGF0Zm9ybXMsIHdoZXJlIHdlIGhh dmUgc2VwYXJhdGUgcG9ydCBzcGVjaWZpYyBBVVggcG93ZXIgd2VsbHMuCj4gPiA+IAo+ID4gPiBG b3IgUFNSIHdlIHN0aWxsIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBwb3J0IEEgYW5kIHRo ZSBvdGhlcgo+ID4gPiBwb3J0cywgc2luY2Ugb24gcG9ydCBBIERDIHN0YXRlcyBtdXN0IHN0YXkg ZW5hYmxlZCBmb3IgbWFpbiBsaW5rCj4gPiA+IGZ1bmN0aW9uYWxpdHksIGJ1dCBEQyBzdGF0ZXMg bXVzdCBiZSBkaXNhYmxlZCBmb3IgZHJpdmVyCj4gPiA+IGluaXRpYXRlZAo+ID4gPiBBVVggdHJh bnNmZXJzLiBTbyByZS11c2UgdGhlIGNvcnJlc3BvbmRpbmcgaGVscGVyIGZyb20KPiA+ID4gaW50 ZWxfcHNyLmMuCj4gPiA+IAo+ID4gPiBTaW5jZSB3ZSB0YWtlIG5vdyBhIHJlZmVyZW5jZSBmb3Ig bWFpbiBsaW5rIGZ1bmN0aW9uYWxpdHkgb24gYWxsCj4gPiA+IERQCj4gPiA+IHBvcnRzIHdlIGNh biBmb3JnbyB0YWtpbmcgdGhlIHNlcGFyYXRlIHBvd2VyIHJlZiBmb3IgUFNSCj4gPiA+IGZ1bmN0 aW9uYWxpdHkuCj4gPiA+IAo+ID4gPiB2MjoKPiA+ID4gLSBNYWtlIHN1cmUgREMgc3RhdGVzIHN0 YXkgZW5hYmxlZCB3aGVuIHRha2luZyB0aGUgcmVmIG9uIHBvcnQgQS4KPiA+ID4gwqAgKFZpbGxl KQo+ID4gPiAKPiA+ID4gdjM6IChWaWxsZSkKPiA+ID4gLSBGaXggY29tbWVudCBhYm91dCBsb2dp YyBmb3IgZW5jb2RlcnMgd2l0aG91dCBhIGNydGMgc3RhdGUgYW5kCj4gPiA+IMKgIGFkZCBGSVhN RSBub3RlIGZvciBhIHNpbXBsaWZpY2F0aW9uIHRvIGF2b2lkIGNhbGxpbmcKPiA+ID4gZ2V0X3Bv d2VyX2RvbWFpbnMKPiA+ID4gwqAgaW4gc3VjaCBjYXNlcy4KPiA+ID4gLSBVc2UgaW50ZWxfY3J0 Y19oYXNfZHBfZW5jb2RlcigpIGluc3RlYWQKPiA+ID4gIWludGVsX2NydGNfaGFzX3R5cGUoSERN SSkuCj4gPiA+IAo+ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiA+ID4gQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFu ZGl5YW5AaW50ZWwuY29tPgo+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBp bnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4KPiA+ID4gLS0tCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmPC oMKgwqDCoMKgwqDCoMKgfCA1NAo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0KPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmPCoMKgwqDCoHwg MTIgKysrKysrKy0KPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDC oMKgwqDCoMKgwqB8wqDCoDMgKy0KPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w c3IuY8KgwqDCoMKgwqDCoMKgwqB8IDQxIC0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+IC0tLS0KPiA+ ID4gLS0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8 wqDCoDEgKwo+ID4gPiDCoDUgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNDcgZGVs ZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4g PiBpbmRleCAwNDRmZTFmYjk4NzIuLjAzMTk4MjViNzI1YiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gQEAgLTE5ODMsMTUgKzE5ODMsNTUgQEAgYm9vbCBpbnRl bF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdAo+ID4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ID4gPiDCoAlyZXR1cm4gcmV0Owo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gLXN0YXRpYyB1NjQg aW50ZWxfZGRpX2dldF9wb3dlcl9kb21haW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4gPiA+ICpl bmNvZGVyKQo+ID4gPiArc3RhdGljIGlubGluZSBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9t YWluCj4gPiA+ICtpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4oc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiA+ID4gK3sKPiA+ID4gKwkvKiBDTkwgSFcgcmVxdWlyZXMgY29ycmVzcG9u ZGluZyBBVVggSU9zIHRvIGJlIHBvd2VyZWQKPiA+ID4gdXAKPiA+ID4gZm9yIFBTUiB3aXRoCj4g PiA+ICsJwqAqIERDIHN0YXRlcyBlbmFibGVkIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWxlIGZvciBk cml2ZXIKPiA+ID4gaW5pdGlhdGVkIEFVWAo+ID4gPiArCcKgKiB0cmFuc2ZlcnMgd2UgbmVlZCB0 aGUgc2FtZSBBVVggSU9zIHRvIGJlIHBvd2VyZWQgYnV0Cj4gPiA+IHdpdGgKPiA+ID4gREMgc3Rh dGVzCj4gPiA+ICsJwqAqIGRpc2FibGVkLiBBY2NvcmRpbmdseSB1c2UgdGhlIEFVWCBwb3dlciBk b21haW4gaGVyZQo+ID4gPiB3aGljaAo+ID4gPiBsZWF2ZXMgREMKPiA+ID4gKwnCoCogc3RhdGVz IGVuYWJsZWQuCj4gPiA+ICsJwqAqIEhvd2V2ZXIsIGZvciBub24tQSBBVVggcG9ydHMgdGhlIGNv cnJlc3BvbmRpbmcgbm9uLQo+ID4gPiBFRFAKPiA+ID4gdHJhbnNjb2RlcnMKPiA+ID4gKwnCoCog d291bGQgaGF2ZSBhbHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4gPiA+ IFRoaXMKPiA+ID4gbWVhbnMgd2UgY2FuCj4gPiA+ICsJwqAqIGFjcXVpcmUgYSB3aWRlciBQT1dF Ul9ET01BSU5fQVVYX3tCLEMsRCxGfSByZWZlcmVuY2UKPiA+ID4gaW5zdGVhZCBvZiBhCj4gPiA+ ICsJwqAqIHNwZWNpZmljIEFVWF9JTyByZWZlcmVuY2Ugd2l0aG91dCBwb3dlcmluZyB1cCBhbnkK PiA+ID4gZXh0cmEKPiA+ID4gd2VsbHMuCj4gPiA+ICsJwqAqIE5vdGUgdGhhdCBQU1IgaXMgZW5h YmxlZCBvbmx5IG9uIFBvcnQgQSBldmVuIHRob3VnaAo+ID4gPiB0aGlzCj4gPiA+IGZ1bmN0aW9u Cj4gPiA+ICsJwqAqIHJldHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBvdGhlciBwb3J0cyB0 b28uCj4gPiA+ICsJwqAqLwo+ID4gPiArCXJldHVybiBpbnRlbF9kcC0+YXV4X2NoID09IEFVWF9D SF9BID8KPiA+ID4gUE9XRVJfRE9NQUlOX0FVWF9JT19BCj4gPiA+IDoKPiA+ID4gKwkJCQkJwqDC oMKgwqDCoMKgaW50ZWxfZHAtCj4gPiA+ID4gCj4gPiA+ID4gYXV4X3Bvd2VyX2RvbWFpbjsKPiA+ ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHU2NCBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFp bnMoc3RydWN0IGludGVsX2VuY29kZXIKPiA+ID4gKmVuY29kZXIsCj4gPiA+ICsJCQkJwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gPiAqY3J0Y19zdGF0ZSkKPiA+ID4g wqB7Cj4gPiA+IMKgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0KPiA+ID4g ZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiA+ID4gwqAJZW51bSBwaXBlIHBpcGU7 Cj4gPiA+ICsJdTY0IGRvbWFpbnM7Cj4gPiA+IMKgCj4gPiA+IC0JaWYgKGludGVsX2RkaV9nZXRf aHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpKQo+ID4gPiAtCQlyZXR1cm4gQklUX1VMTChkaWdfcG9y dC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gPiA+ICsJaWYgKCFpbnRlbF9kZGlfZ2V0X2h3X3N0 YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+IMKgCj4gPiA+IC0J cmV0dXJuIDA7Cj4gPiA+ICsJZG9tYWlucyA9IEJJVF9VTEwoZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4pOwo+ID4gPiArCWlmICghY3J0Y19zdGF0ZSkKPiA+ID4gKwkJcmV0dXJuIGRvbWFp bnM7Cj4gPiA+ICsKPiA+ID4gKwkvKgo+ID4gPiArCcKgKiBUT0RPOiBBZGQgc3VwcG9ydCBmb3Ig TVNUIGVuY29kZXJzLiBBdG0sIHRoZQo+ID4gPiBmb2xsb3dpbmcKPiA+ID4gc2hvdWxkIG5ldmVy Cj4gPiA+ICsJwqAqIGhhcHBlbiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIG9u bHkgZm9yCj4gPiA+IHRoZQo+ID4gPiBwcmltYXJ5Cj4gPiA+ICsJwqAqIGVuY29kZXIgd2hpY2gg ZG9lc24ndCBoYXZlIGl0cyBvd24gcGlwZS9jcnRjX3N0YXRlLgo+ID4gPiArCcKgKi8KPiA+ID4g KwlpZiAoV0FSTl9PTihpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsCj4gPiA+IElOVEVM X09VVFBVVF9EUF9NU1QpKSkKPiA+ID4gKwkJcmV0dXJuIGRvbWFpbnM7Cj4gPiA+ICsKPiA+ID4g KwkvKiBBVVggcG93ZXIgaXMgb25seSBuZWVkZWQgZm9yIChlKURQIG1vZGUsIG5vdCBmb3IKPiA+ ID4gSERNSS4gKi8KPiA+ID4gKwlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihjcnRjX3N0 YXRlKSkgewo+ID4gPiArCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmRpZ19wb3J0LT5k cDsKPiA+ID4gKwo+ID4gPiArCQlkb21haW5zIHw9Cj4gPiA+IEJJVF9VTEwoaW50ZWxfZGRpX21h aW5fbGlua19hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJ cmV0dXJuIGRvbWFpbnM7Cj4gPiA+IMKgfQo+ID4gPiDCoAo+ID4gPiDCoHZvaWQgaW50ZWxfZGRp X2VuYWJsZV9waXBlX2Nsb2NrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4gPiA+ICpj cnRjX3N0YXRlKQo+ID4gPiBAQCAtMjYzMSw2ICsyNjcxLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0Cj4gPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g PiA+IMKgCj4gPiA+IMKgCVdBUk5fT04oaXNfbXN0ICYmIChwb3J0ID09IFBPUlRfQSB8fCBwb3J0 ID09IFBPUlRfRSkpOwo+ID4gPiDCoAo+ID4gPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRl dl9wcml2LAo+ID4gPiArCQkJCWludGVsX2RkaV9tYWluX2xpbmtfYXV4X2RvbWFpbihpCj4gPiA+ IG50ZWwKPiA+ID4gX2RwKSk7Cj4gPiA+ICsKPiA+ID4gwqAJaW50ZWxfZHBfc2V0X2xpbmtfcGFy YW1zKGludGVsX2RwLCBjcnRjX3N0YXRlLQo+ID4gPiA+cG9ydF9jbG9jaywKPiA+ID4gwqAJCQkJ wqBjcnRjX3N0YXRlLT5sYW5lX2NvdW50LAo+ID4gPiBpc19tc3QpOwo+ID4gPiDCoAo+ID4gPiBA QCAtMjc3NSw2ICsyODE4LDkgQEAgc3RhdGljIHZvaWQKPiA+ID4gaW50ZWxfZGRpX3Bvc3RfZGlz YWJsZV9kcChzdHJ1Y3QKPiA+ID4gaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gwqAJaW50 ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGRpZ19wb3J0LQo+ID4gPiA+IAo+ID4gPiA+ IGRkaV9pb19wb3dlcl9kb21haW4pOwo+ID4gPiDCoAo+ID4gPiDCoAlpbnRlbF9kZGlfY2xrX2Rp c2FibGUoZW5jb2Rlcik7Cj4gPiA+ICsKPiA+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChk ZXZfcHJpdiwKPiA+ID4gKwkJCQlpbnRlbF9kZGlfbWFpbl9saW5rX2F1eF9kb21haW4oaQo+ID4g PiBudGVsCj4gPiA+IF9kcCkpOwo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gwqBzdGF0aWMgdm9p ZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIKPiA+ID4g KmVuY29kZXIsCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ ID4gaW5kZXggMmM4ZmVmM2VkZTU0Li5jZTYxNWY4OWI0M2EgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gQEAgLTE1Njc2LDExICsxNTY3NiwyMSBA QCBnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5zKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ID4gwqAJZm9yX2VhY2hfaW50ZWxfZW5jb2RlcigmZGV2X3ByaXYtPmRy bSwgZW5jb2Rlcikgewo+ID4gPiDCoAkJdTY0IGdldF9kb21haW5zOwo+ID4gPiDCoAkJZW51bSBp bnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW47Cj4gPiA+ICsJCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ID4gPiDCoAo+ID4gPiDCoAkJaWYgKCFlbmNvZGVyLT5n ZXRfcG93ZXJfZG9tYWlucykKPiA+ID4gwqAJCQljb250aW51ZTsKPiA+ID4gwqAKPiA+ID4gLQkJ Z2V0X2RvbWFpbnMgPSBlbmNvZGVyLQo+ID4gPiA+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5jb2Rlcik7 Cj4gPiA+ICsJCS8qCj4gPiA+ICsJCcKgKiBGb3IgTVNUIGFuZCBpbmFjdGl2ZSBlbmNvZGVycyB3 ZSBkb24ndCBoYXZlIGEKPiA+ID4gY3J0YyBzdGF0ZS4KPiA+ID4gKwkJwqAqIEZJWE1FOiBubyBu ZWVkIHRvIGNhbGwgZ2V0X3Bvd2VyX2RvbWFpbnMgaW4KPiA+ID4gc3VjaAo+ID4gPiBjYXNlcywg aXQKPiA+ID4gKwkJwqAqIHdpbGwgYWx3YXlzIHJldHVybiAwLgo+ID4gPiArCQnCoCovCj4gPiA+ ICsJCWNydGNfc3RhdGUgPSBlbmNvZGVyLT5iYXNlLmNydGMgPwo+ID4gPiArCQkJwqDCoMKgwqDC oHRvX2ludGVsX2NydGNfc3RhdGUoZW5jb2Rlci0KPiA+ID4gPmJhc2UuY3J0Yy0KPiA+ID4gPiAK PiA+ID4gPiBzdGF0ZSkgOgo+ID4gPiArCQkJwqDCoMKgwqDCoE5VTEw7Cj4gPiA+ICsKPiA+ID4g KwkJZ2V0X2RvbWFpbnMgPSBlbmNvZGVyLQo+ID4gPiA+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5jb2Rl ciwKPiA+ID4gY3J0Y19zdGF0ZSk7Cj4gPiA+IMKgCQlmb3JfZWFjaF9wb3dlcl9kb21haW4oZG9t YWluLCBnZXRfZG9tYWlucykKPiA+ID4gwqAJCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZf cHJpdiwKPiA+ID4gZG9tYWluKTsKPiA+ID4gwqAJfQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+ID4gPiBpbmRleCAwYzNhYzBlYWZkZTAuLjcxNzQ0MjlkOTMwYSAxMDA2NDQK PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gQEAgLTI1NCw3ICsyNTQsOCBA QCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7Cj4gPiA+IMKgCQkJwqDCoMKgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUKPiA+ID4gKnBpcGVfY29uZmlnKTsKPiA+ID4gwqAJLyogUmV0dXJucyBhIG1hc2sg b2YgcG93ZXIgZG9tYWlucyB0aGF0IG5lZWQgdG8gYmUKPiA+ID4gcmVmZXJlbmNlZCBhcyBwYXJ0 Cj4gPiA+IMKgCcKgKiBvZiB0aGUgaGFyZHdhcmUgc3RhdGUgcmVhZG91dCBjb2RlLiAqLwo+ID4g PiAtCXU2NCAoKmdldF9wb3dlcl9kb21haW5zKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cik7Cj4gPiA+ICsJdTY0ICgqZ2V0X3Bvd2VyX2RvbWFpbnMpKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ID4gPiArCQkJCcKgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ID4gKmNy dGNfc3RhdGUpOwo+ID4gPiDCoAkvKgo+ID4gPiDCoAnCoCogQ2FsbGVkIGR1cmluZyBzeXN0ZW0g c3VzcGVuZCBhZnRlciBhbGwgcGVuZGluZwo+ID4gPiByZXF1ZXN0cwo+ID4gPiBmb3IgdGhlCj4g PiA+IMKgCcKgKiBlbmNvZGVyIGFyZSBmbHVzaGVkIChmb3IgZXhhbXBsZSBmb3IgRFAgQVVYCj4g PiA+IHRyYW5zYWN0aW9ucykKPiA+ID4gYW5kCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCj4gPiA+IGluZGV4IGQ0Y2QxOWZlYTE0OC4uZWVjZGQ4YjViNWUwIDEwMDY0NAo+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ID4gPiBAQCAtNTYsNDMgKzU2LDYgQEAKPiA+ ID4gwqAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gPiA+IMKgI2luY2x1ZGUgImk5MTVfZHJ2Lmgi Cj4gPiA+IMKgCj4gPiA+IC1zdGF0aWMgaW5saW5lIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4KPiA+ID4gLXBzcl9hdXhfZG9tYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4g PiA+IC17Cj4gPiA+IC0JLyogQ05MIEhXIHJlcXVpcmVzIGNvcnJlc3BvbmRpbmcgQVVYIElPcyB0 byBiZSBwb3dlcmVkCj4gPiA+IHVwCj4gPiA+IGZvciBQU1IuCj4gPiA+IC0JwqAqIEhvd2V2ZXIs IGZvciBub24tQSBBVVggcG9ydHMgdGhlIGNvcnJlc3BvbmRpbmcgbm9uLQo+ID4gPiBFRFAKPiA+ ID4gdHJhbnNjb2RlcnMKPiA+ID4gLQnCoCogd291bGQgaGF2ZSBhbHJlYWR5IGVuYWJsZWQgcG93 ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4gPiA+IFRoaXMKPiA+ID4gbWVhbnMgd2UgY2FuCj4gPiA+ IC0JwqAqIGFjcXVpcmUgYSB3aWRlciBQT1dFUl9ET01BSU5fQVVYX3tCLEMsRCxGfSByZWZlcmVu Y2UKPiA+ID4gaW5zdGVhZCBvZiBhCj4gPiA+IC0JwqAqIHNwZWNpZmljIEFVWF9JTyByZWZlcmVu Y2Ugd2l0aG91dCBwb3dlcmluZyB1cCBhbnkKPiA+ID4gZXh0cmEKPiA+ID4gd2VsbHMuCj4gPiA+ IC0JwqAqIE5vdGUgdGhhdCBQU1IgaXMgZW5hYmxlZCBvbmx5IG9uIFBvcnQgQSBldmVuIHRob3Vn aAo+ID4gPiB0aGlzCj4gPiA+IGZ1bmN0aW9uCj4gPiA+IC0JwqAqIHJldHVybnMgdGhlIGNvcnJl Y3QgZG9tYWluIGZvciBvdGhlciBwb3J0cyB0b28uCj4gPiA+IC0JwqAqLwo+ID4gPiAtCXJldHVy biBpbnRlbF9kcC0+YXV4X2NoID09IEFVWF9DSF9BID8KPiA+ID4gUE9XRVJfRE9NQUlOX0FVWF9J T19BCj4gPiA+IDoKPiA+ID4gLQkJCQkJwqDCoMKgwqDCoMKgaW50ZWxfZHAtCj4gPiA+ID4gCj4g PiA+ID4gYXV4X3Bvd2VyX2RvbWFpbjsKPiA+ID4gLX0KPiA+ID4gLQo+ID4gPiAtc3RhdGljIHZv aWQgcHNyX2F1eF9pb19wb3dlcl9nZXQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4g LXsKPiA+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9Cj4g PiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQo+ID4gPiB0b19pOTE1KGludGVsX2RpZ19wb3J0LQo+ID4gPiA+IAo+ ID4gPiA+IGJhc2UuYmFzZS5kZXYpOwo+ID4gPiAtCj4gPiA+IC0JaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPCAxMCkKPiA+ID4gLQkJcmV0dXJuOwo+ID4gPiAtCj4gPiA+IC0JaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsCj4gPiA+IHBzcl9hdXhfZG9tYWluKGludGVsX2RwKSk7Cj4g PiA+IC19Cj4gPiA+IC0KPiA+ID4gLXN0YXRpYyB2b2lkIHBzcl9hdXhfaW9fcG93ZXJfcHV0KHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+IC17Cj4gPiA+IC0Jc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+ID4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9k cCk7Cj4gPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KPiA+ID4gdG9f aTkxNShpbnRlbF9kaWdfcG9ydC0KPiA+ID4gPiAKPiA+ID4gPiBiYXNlLmJhc2UuZGV2KTsKPiA+ ID4gLQo+ID4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTApCj4gPiA+IC0JCXJldHVy bjsKPiA+ID4gLQo+ID4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LAo+ID4g PiBwc3JfYXV4X2RvbWFpbihpbnRlbF9kcCkpOwo+ID4gPiAtfQo+ID4gPiAtCj4gPiA+IMKgdm9p ZCBpbnRlbF9wc3JfaXJxX2NvbnRyb2woc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4gPiBib29sCj4gPiA+IGRlYnVnKQo+ID4gPiDCoHsKPiA+ID4gwqAJdTMyIGRlYnVnX21h c2ssIG1hc2s7Cj4gPiA+IEBAIC01OTUsOCArNTU4LDYgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9l bmFibGVfc291cmNlKHN0cnVjdAo+ID4gPiBpbnRlbF9kcAo+ID4gPiAqaW50ZWxfZHAsCj4gPiA+ IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+ ID4gwqAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0KPiA+ID4g PmNwdV90cmFuc2NvZGVyOwo+ID4gPiDCoAo+ID4gPiAtCXBzcl9hdXhfaW9fcG93ZXJfZ2V0KGlu dGVsX2RwKTsKPiA+ID4gLQo+ID4gPiDCoAkvKiBPbmx5IEhTVyBhbmQgQkRXIGhhdmUgUFNSIEFV WCByZWdpc3RlcnMgdGhhdCBuZWVkIHRvCj4gPiA+IGJlCj4gPiA+IHNldHVwLiBTS0wrCj4gPiA+ IMKgCcKgKiB1c2UgaGFyZGNvZGVkIHZhbHVlcyBQU1IgQVVYIHRyYW5zYWN0aW9ucwo+ID4gPiDC oAnCoCovCj4gPiA+IEBAIC03MTcsOCArNjc4LDYgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9kaXNh YmxlKHN0cnVjdCBpbnRlbF9kcAo+ID4gPiAqaW50ZWxfZHAsCj4gPiA+IMKgCQllbHNlCj4gPiA+ IMKgCQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYKPiA+ID4gRURQX1BTUl9FTkFC TEUpOwo+ID4gPiDCoAl9Cj4gPiA+IC0KPiA+ID4gLQlwc3JfYXV4X2lvX3Bvd2VyX3B1dChpbnRl bF9kcCk7Cj4gPiA+IMKgfQo+ID4gPiDCoAo+ID4gPiDCoC8qKgo+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGluZGV4IGRlM2E4MTAzNGY3Ny4u Mjk2OTc4NzIwMWVmIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVu dGltZV9wbS5jCj4gPiA+IEBAIC0xODI0LDYgKzE4MjQsNyBAQCB2b2lkIGludGVsX2Rpc3BsYXlf cG93ZXJfcHV0KHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g wqAJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gPiA+IMKgI2RlZmluZSBHTEtfRElTUExB WV9BVVhfQV9QT1dFUl9ET01BSU5TICgJCVwKPiA+ID4gwqAJQklUX1VMTChQT1dFUl9ET01BSU5f QVVYX0EpIHwJCVwKPiA+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfSU9fQSkgfAkJXAo+ ID4gPiDCoAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+ID4gwqAjZGVmaW5lIEdMS19E SVNQTEFZX0FVWF9CX1BPV0VSX0RPTUFJTlMgKAkJXAo+ID4gPiDCoAlCSVRfVUxMKFBPV0VSX0RP TUFJTl9BVVhfQikgfAkJXApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK