From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v3] drm/i915/ddi: Get AUX power domain for DP main link too Date: Tue, 26 Jun 2018 12:24:09 -0700 Message-ID: <20180626192408.GB10353@intel.com> References: <20180621171247.20350-1-imre.deak@intel.com> <20180621184449.26634-1-imre.deak@intel.com> <1530034826.2574.2.camel@intel.com> <20180626180348.GA23311@ideak-desk.fi.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 11FBB88E66 for ; Tue, 26 Jun 2018 19:21:19 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180626180348.GA23311@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 Cc: "intel-gfx@lists.freedesktop.org" , Paulo Zanoni , "Pandiyan, Dhinakaran" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMjYsIDIwMTggYXQgMDk6MDM6NDhQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIFR1ZSwgSnVuIDI2LCAyMDE4IGF0IDEwOjQwOjI2QU0gLTA3MDAsIFBhdWxvIFphbm9u aSB3cm90ZToKPiA+IEVtIFNlZywgMjAxOC0wNi0yNSDDoHMgMTY6NTUgLTA3MDAsIFNvdXphLCBK b3NlIGVzY3JldmV1Ogo+ID4gPiBPbiBUaHUsIDIwMTgtMDYtMjEgYXQgMjE6NDQgKzAzMDAsIElt cmUgRGVhayB3cm90ZToKPiA+ID4gPiBTbyBmYXIgd2UgZ290IGFuIEFVWCBwb3dlciBkb21haW4g cmVmZXJlbmNlIG9ubHkgZm9yIHRoZSBkdXJhdGlvbgo+ID4gPiA+IG9mCj4gPiA+ID4gRFAKPiA+ ID4gPiBBVVggdHJhbnNmZXJzLiBIb3dldmVyLCB0aGUgZm9sbG93aW5nIHN1Z2dlc3RzIHRoYXQg d2UgYWxzbyBuZWVkCj4gPiA+ID4gdGhlc2UKPiA+ID4gPiBmb3IgbWFpbiBsaW5rIGZ1bmN0aW9u YWxpdHk6Cj4gPiA+ID4gLSBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IHN0YXRlIHdoZXRoZXIg aXQncyBuZWVkZWQgb3Igbm90IGZvcgo+ID4gPiA+IG1haW4KPiA+ID4gPiAgIGxpbmsgZnVuY3Rp b25hbGl0eSwgYnV0IHN1Z2dlc3RzIHRoYXQgdGhlc2UgcG93ZXIgd2VsbHMgbmVlZCB0bwo+ID4g PiA+IGJlCj4gPiA+ID4gICBlbmFibGVkIGFscmVhZHkgZHVyaW5nIGRpc3BsYXkgY29yZSBpbml0 aWFsaXphdGlvbiAoU2VxdWVuY2VzIHRvCj4gPiA+ID4gICBJbml0aWFsaXplIERpc3BsYXkpLgo+ ID4gCj4gPiBObywgdGhlIHNwZWNpZmljYXRpb24gc3RhdGVzIGl0J3MgbmVlZGVkLiBQYWdlICJT ZXF1ZW5jZXMgZm9yCj4gPiBEaXNwbGF5UG9ydCIgKHRoZSBJQ0wgdmVyc2lvbiwgb2YgY291cnNl KSwgc3RlcCAxLmI6Cj4gPiAKPiA+ICJUQzogTm90ZSB0aGF0IEFVWCBwb3dlciBpcyByZXF1aXJl ZCBmb3IgcnVubmluZyBtYWluIGxpbmsuIgo+ID4gCj4gPiBTYW1lIGZvciB0aGUgSERNSSBwYWdl Lgo+IAo+IFllcywgZm9yIElDTCBNRyBQSFkgcG9ydHMgKGluIGFsbCBtb2RlcykgaXQncyBjbGVh cmx5IHN0YXRlZCBhcyBJIGFsc28KPiB3cm90ZSBpdCBiZWxvdy4gVGhlIGFib3ZlIGlzIGFib3V0 IHRoZSBJQ0wgY29tYm8gUEhZIHBvcnRzIGFuZCB0aGUgb3RoZXIKPiBwbGF0Zm9ybXMuIEZvciB0 aG9zZSB0aGUgb25seSBoaW50IGlzIHRoYXQgZW5hYmxpbmcgdGhlIEFVWCBwb3dlciB3ZWxscwo+ IGlzIGxpc3RlZCBhcyBhIHN0ZXAgaW4gdGhlICdTZXF1ZW5jZXMgdG8gSW5pdGlhbGl6ZSBEaXNw bGF5Ii4KPgoKSSB0ZXN0ZWQgdGhpcyBwYXRjaCB3aXRoIHRoZSBsYXRlc3Qgc3RlcHBpbmcgd2l0 aCBEUCBvbiBDb21ibyBQSFkgcG9ydC4KV2l0aG91dCB0aGlzIHBhdGNoIGl0IHdhcyBnaXZpbmcg bWUgQVVYIHRpbWVvdXRzIGFuZCBjb3VsZCBuZXZlciBzdWNjZWVkIHdpdGggbGluawp0cmFpbmlu Zy4gSSBuZWVkZWQgdGhpcyBwYXRjaCB0byBzdWNjZXNzZnVsbHkgdHJhaW4gdGhlIGxpbmsgYW5k IGdldCBkaXNwbGF5IG91dApvbiBDb21ibyBQSHkgUG9ydCBCIERQLgpTbywKClRlc3RlZC1ieTog TWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KCk1hbmFzaQoKPiA+IAo+ ID4gPiA+IC0gRm9yIFBTUiB3ZSBuZWVkIHRvIGtlZXAgdGhlIEFVWCBwb3dlciB3ZWxsIGVuYWJs ZWQuCj4gPiA+ID4gLSBPbiBJQ0wgY29tYm8gUEhZIHBvcnRzIChub24tVEMpIHRoZSBBVVggcG93 ZXIgd2VsbCBpcyBuZWVkZWQgZm9yCj4gPiA+ID4gICBsaW5rIHRyYWluaW5nIHRvbzogd2hpbGUg dGhlIHBvcnQgaXMgZW5hYmxlZCB3aXRoIGEgRFAgbGluawo+ID4gPiA+IHRyYWluaW5nCj4gPiA+ ID4gICB0ZXN0IHBhdHRlcm4gdHJ5aW5nIHRvIHRvZ2dsZSB0aGUgQVVYIHBvd2VyIHdlbGwgd2ls bCB0aW1lIG91dC4KPiA+ID4gPiAtIE9uIElDTCBNRyBQSFkgcG9ydHMgKFRDKSB0aGUgQVVYIHBv d2VyIHdlbGwgaXMgbmVlZGVkIGFsc28gZm9yCj4gPiA+ID4gbWFpbgo+ID4gPiA+ICAgbGluayBm dW5jdGlvbmFsaXR5IChib3RoIGluIERQIGFuZCBIRE1JIG1vZGVzKS4KPiA+ID4gPiAtIFdpbmRv d3MgZW5hYmxlcyB0aGVzZSBwb3dlciB3ZWxscyBib3RoIGZvciBtYWluIGFuZCBBVVggbGFuZQo+ ID4gPiA+ICAgZnVuY3Rpb25hbGl0eS4KPiA+ID4gPiAKPiA+ID4gPiBCYXNlZCBvbiB0aGUgYWJv dmUgdGFrZSBhbiBBVVggcG93ZXIgcmVmZXJlbmNlIGZvciBtYWluIGxpbmsKPiA+ID4gPiBmdW5j dGlvbmFsaXR5IHRvby4gVGhpcyBtYWtlcyBhIGRpZmZlcmVuY2Ugb25seSBvbiBHRU4xMCsgKEdM SyspCj4gPiA+ID4gcGxhdGZvcm1zLCB3aGVyZSB3ZSBoYXZlIHNlcGFyYXRlIHBvcnQgc3BlY2lm aWMgQVVYIHBvd2VyIHdlbGxzLgo+ID4gPiA+IAo+ID4gPiA+IEZvciBQU1Igd2Ugc3RpbGwgbmVl ZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHBvcnQgQSBhbmQgdGhlIG90aGVyCj4gPiA+ID4gcG9y dHMsIHNpbmNlIG9uIHBvcnQgQSBEQyBzdGF0ZXMgbXVzdCBzdGF5IGVuYWJsZWQgZm9yIG1haW4g bGluawo+ID4gPiA+IGZ1bmN0aW9uYWxpdHksIGJ1dCBEQyBzdGF0ZXMgbXVzdCBiZSBkaXNhYmxl ZCBmb3IgZHJpdmVyIGluaXRpYXRlZAo+ID4gPiA+IEFVWCB0cmFuc2ZlcnMuIFNvIHJlLXVzZSB0 aGUgY29ycmVzcG9uZGluZyBoZWxwZXIgZnJvbSBpbnRlbF9wc3IuYy4KPiA+ID4gPiAKPiA+ID4g PiBTaW5jZSB3ZSB0YWtlIG5vdyBhIHJlZmVyZW5jZSBmb3IgbWFpbiBsaW5rIGZ1bmN0aW9uYWxp dHkgb24gYWxsIERQCj4gPiA+ID4gcG9ydHMgd2UgY2FuIGZvcmdvIHRha2luZyB0aGUgc2VwYXJh dGUgcG93ZXIgcmVmIGZvciBQU1IKPiA+ID4gPiBmdW5jdGlvbmFsaXR5Lgo+ID4gPiA+IAo+ID4g PiA+IHYyOgo+ID4gPiA+IC0gTWFrZSBzdXJlIERDIHN0YXRlcyBzdGF5IGVuYWJsZWQgd2hlbiB0 YWtpbmcgdGhlIHJlZiBvbiBwb3J0IEEuCj4gPiA+ID4gICAoVmlsbGUpCj4gPiA+ID4gCj4gPiA+ ID4gdjM6IChWaWxsZSkKPiA+ID4gPiAtIEZpeCBjb21tZW50IGFib3V0IGxvZ2ljIGZvciBlbmNv ZGVycyB3aXRob3V0IGEgY3J0YyBzdGF0ZSBhbmQKPiA+ID4gPiAgIGFkZCBGSVhNRSBub3RlIGZv ciBhIHNpbXBsaWZpY2F0aW9uIHRvIGF2b2lkIGNhbGxpbmcKPiA+ID4gPiBnZXRfcG93ZXJfZG9t YWlucwo+ID4gPiA+ICAgaW4gc3VjaCBjYXNlcy4KPiA+ID4gPiAtIFVzZSBpbnRlbF9jcnRjX2hh c19kcF9lbmNvZGVyKCkgaW5zdGVhZAo+ID4gPiA+ICFpbnRlbF9jcnRjX2hhc190eXBlKEhETUkp Lgo+ID4gPiA+IAo+ID4gPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+ID4gPiA+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFu LnBhbmRpeWFuQGludGVsLmNvbT4KPiA+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4gVGhlIHNwZWMgaXMgbm90IGNsZWFyIGJ1dCB0aGlz IGZpeCB0aGUgImF1eCBwb3dlciB3ZWxsIiBlbmFibGUKPiA+ID4gdGltZW91dHMKPiA+ID4gdGhh dCBJIHdhcyBnZXR0aW5nIGluIGF1eCBCIHNvIGxvb2tzIGxpa2UgeW91ciBpbnRlcnByZXRhdGlv biBpcwo+ID4gPiByaWdodC4KPiA+ID4gCj4gPiA+IFJldmlld2VkLWJ5OiBKb3PDqSBSb2JlcnRv IGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiA+ID4gCj4gPiA+ID4gLS0tCj4gPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICB8IDU0Cj4gPiA+ID4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8IDEyICsrKysrKystCj4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICB8ICAzICstCj4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAgICB8IDQxIC0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ID4gPiA+IC0tLS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jIHwgIDEgKwo+ID4gPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyks IDQ3IGRlbGV0aW9ucygtKQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKPiA+ID4gPiBpbmRleCAwNDRmZTFmYjk4NzIuLjAzMTk4MjViNzI1YiAxMDA2NDQK PiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+ID4gQEAgLTE5ODMsMTUg KzE5ODMsNTUgQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdAo+ID4gPiA+IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiA+ICB9Cj4g PiA+ID4gIAo+ID4gPiA+IC1zdGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhz dHJ1Y3QgaW50ZWxfZW5jb2Rlcgo+ID4gPiA+ICplbmNvZGVyKQo+ID4gPiA+ICtzdGF0aWMgaW5s aW5lIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KPiA+ID4gPiAraW50ZWxfZGRpX21h aW5fbGlua19hdXhfZG9tYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gK3sK PiA+ID4gPiArCS8qIENOTCBIVyByZXF1aXJlcyBjb3JyZXNwb25kaW5nIEFVWCBJT3MgdG8gYmUg cG93ZXJlZCB1cAo+ID4gPiA+IGZvciBQU1Igd2l0aAo+ID4gPiA+ICsJICogREMgc3RhdGVzIGVu YWJsZWQgYXQgdGhlIHNhbWUgdGltZSwgd2hpbGUgZm9yIGRyaXZlcgo+ID4gPiA+IGluaXRpYXRl ZCBBVVgKPiA+ID4gPiArCSAqIHRyYW5zZmVycyB3ZSBuZWVkIHRoZSBzYW1lIEFVWCBJT3MgdG8g YmUgcG93ZXJlZCBidXQKPiA+ID4gPiB3aXRoCj4gPiA+ID4gREMgc3RhdGVzCj4gPiA+ID4gKwkg KiBkaXNhYmxlZC4gQWNjb3JkaW5nbHkgdXNlIHRoZSBBVVggcG93ZXIgZG9tYWluIGhlcmUKPiA+ ID4gPiB3aGljaAo+ID4gPiA+IGxlYXZlcyBEQwo+ID4gPiA+ICsJICogc3RhdGVzIGVuYWJsZWQu Cj4gPiA+ID4gKwkgKiBIb3dldmVyLCBmb3Igbm9uLUEgQVVYIHBvcnRzIHRoZSBjb3JyZXNwb25k aW5nIG5vbi1FRFAKPiA+ID4gPiB0cmFuc2NvZGVycwo+ID4gPiA+ICsJICogd291bGQgaGF2ZSBh bHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4gPiA+ID4gVGhpcwo+ID4g PiA+IG1lYW5zIHdlIGNhbgo+ID4gPiA+ICsJICogYWNxdWlyZSBhIHdpZGVyIFBPV0VSX0RPTUFJ Tl9BVVhfe0IsQyxELEZ9IHJlZmVyZW5jZQo+ID4gPiA+IGluc3RlYWQgb2YgYQo+ID4gPiA+ICsJ ICogc3BlY2lmaWMgQVVYX0lPIHJlZmVyZW5jZSB3aXRob3V0IHBvd2VyaW5nIHVwIGFueSBleHRy YQo+ID4gPiA+IHdlbGxzLgo+ID4gPiA+ICsJICogTm90ZSB0aGF0IFBTUiBpcyBlbmFibGVkIG9u bHkgb24gUG9ydCBBIGV2ZW4gdGhvdWdoCj4gPiA+ID4gdGhpcwo+ID4gPiA+IGZ1bmN0aW9uCj4g PiA+ID4gKwkgKiByZXR1cm5zIHRoZSBjb3JyZWN0IGRvbWFpbiBmb3Igb3RoZXIgcG9ydHMgdG9v Lgo+ID4gPiA+ICsJICovCj4gPiA+ID4gKwlyZXR1cm4gaW50ZWxfZHAtPmF1eF9jaCA9PSBBVVhf Q0hfQSA/Cj4gPiA+ID4gUE9XRVJfRE9NQUlOX0FVWF9JT19BCj4gPiA+ID4gOgo+ID4gPiA+ICsJ CQkJCSAgICAgIGludGVsX2RwLQo+ID4gPiA+ID4gYXV4X3Bvd2VyX2RvbWFpbjsKPiA+ID4gPiAK PiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiArc3RhdGljIHU2NCBpbnRlbF9kZGlfZ2V0X3Bv d2VyX2RvbWFpbnMoc3RydWN0IGludGVsX2VuY29kZXIKPiA+ID4gPiAqZW5jb2RlciwKPiA+ID4g PiArCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gPiA+ICpjcnRjX3N0YXRl KQo+ID4gPiA+ICB7Cj4gPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCA9Cj4gPiA+ID4gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiA+ID4gPiAgCWVu dW0gcGlwZSBwaXBlOwo+ID4gPiA+ICsJdTY0IGRvbWFpbnM7Cj4gPiA+ID4gIAo+ID4gPiA+IC0J aWYgKGludGVsX2RkaV9nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpKQo+ID4gPiA+IC0JCXJl dHVybiBCSVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ID4gPiArCWlm ICghaW50ZWxfZGRpX2dldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSkpCj4gPiA+ID4gKwkJcmV0 dXJuIDA7Cj4gPiA+ID4gIAo+ID4gPiA+IC0JcmV0dXJuIDA7Cj4gPiA+ID4gKwlkb21haW5zID0g QklUX1VMTChkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gPiA+ID4gKwlpZiAoIWNy dGNfc3RhdGUpCj4gPiA+ID4gKwkJcmV0dXJuIGRvbWFpbnM7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJ LyoKPiA+ID4gPiArCSAqIFRPRE86IEFkZCBzdXBwb3J0IGZvciBNU1QgZW5jb2RlcnMuIEF0bSwg dGhlIGZvbGxvd2luZwo+ID4gPiA+IHNob3VsZCBuZXZlcgo+ID4gPiA+ICsJICogaGFwcGVuIHNp bmNlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBmb3IgdGhlCj4gPiA+ID4gcHJp bWFyeQo+ID4gPiA+ICsJICogZW5jb2RlciB3aGljaCBkb2Vzbid0IGhhdmUgaXRzIG93biBwaXBl L2NydGNfc3RhdGUuCj4gPiA+ID4gKwkgKi8KPiA+ID4gPiArCWlmIChXQVJOX09OKGludGVsX2Ny dGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwKPiA+ID4gPiBJTlRFTF9PVVRQVVRfRFBfTVNUKSkpCj4g PiA+ID4gKwkJcmV0dXJuIGRvbWFpbnM7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJLyogQVVYIHBvd2Vy IGlzIG9ubHkgbmVlZGVkIGZvciAoZSlEUCBtb2RlLCBub3QgZm9yIEhETUkuCj4gPiA+ID4gKi8K PiA+ID4gPiArCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVyKGNydGNfc3RhdGUpKSB7Cj4g PiA+ID4gKwkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZkaWdfcG9ydC0+ZHA7Cj4gPiA+ ID4gKwo+ID4gPiA+ICsJCWRvbWFpbnMgfD0KPiA+ID4gPiBCSVRfVUxMKGludGVsX2RkaV9tYWlu X2xpbmtfYXV4X2RvbWFpbihpbnRlbF9kcCkpOwo+ID4gPiA+ICsJfQo+ID4gPiA+ICsKPiA+ID4g PiArCXJldHVybiBkb21haW5zOwo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ICB2b2lkIGlu dGVsX2RkaV9lbmFibGVfcGlwZV9jbG9jayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ ID4gPiA+ICpjcnRjX3N0YXRlKQo+ID4gPiA+IEBAIC0yNjMxLDYgKzI2NzEsOSBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QKPiA+ID4gPiBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ID4gPiA+ICAKPiA+ID4gPiAgCVdBUk5fT04oaXNfbXN0ICYmIChwb3J0ID09 IFBPUlRfQSB8fCBwb3J0ID09IFBPUlRfRSkpOwo+ID4gPiA+ICAKPiA+ID4gPiArCWludGVsX2Rp c3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LAo+ID4gPiA+ICsJCQkJaW50ZWxfZGRpX21haW5fbGlu a19hdXhfZG9tYWluKGludAo+ID4gPiA+IGVsCj4gPiA+ID4gX2RwKSk7Cj4gPiA+ID4gKwo+ID4g PiA+ICAJaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBjcnRjX3N0YXRlLT5wb3J0 X2Nsb2NrLAo+ID4gPiA+ICAJCQkJIGNydGNfc3RhdGUtPmxhbmVfY291bnQsIGlzX21zdCk7Cj4g PiA+ID4gIAo+ID4gPiA+IEBAIC0yNzc1LDYgKzI4MTgsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k ZGlfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdAo+ID4gPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gPiA+ID4gIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgZGlnX3BvcnQtCj4g PiA+ID4gPiBkZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ID4gPiAKPiA+ID4gPiAgCj4gPiA+ID4g IAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUoZW5jb2Rlcik7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJaW50 ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCj4gPiA+ID4gKwkJCQlpbnRlbF9kZGlfbWFp bl9saW5rX2F1eF9kb21haW4oaW50Cj4gPiA+ID4gZWwKPiA+ID4gPiBfZHApKTsKPiA+ID4gPiAg fQo+ID4gPiA+ICAKPiA+ID4gPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9o ZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyCj4gPiA+ID4gKmVuY29kZXIsCj4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ID4gaW5kZXggMmM4ZmVmM2Vk ZTU0Li5jZTYxNWY4OWI0M2EgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPiA+ID4gQEAgLTE1Njc2LDExICsxNTY3NiwyMSBAQCBnZXRfZW5jb2Rl cl9wb3dlcl9kb21haW5zKHN0cnVjdAo+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ID4gPiA+ICAJZm9yX2VhY2hfaW50ZWxfZW5jb2RlcigmZGV2X3ByaXYtPmRybSwgZW5jb2Rl cikgewo+ID4gPiA+ICAJCXU2NCBnZXRfZG9tYWluczsKPiA+ID4gPiAgCQllbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKPiA+ID4gPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ID4gPiAgCj4gPiA+ID4gIAkJaWYgKCFlbmNvZGVyLT5nZXRf cG93ZXJfZG9tYWlucykKPiA+ID4gPiAgCQkJY29udGludWU7Cj4gPiA+ID4gIAo+ID4gPiA+IC0J CWdldF9kb21haW5zID0gZW5jb2Rlci0+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5jb2Rlcik7Cj4gPiA+ ID4gKwkJLyoKPiA+ID4gPiArCQkgKiBGb3IgTVNUIGFuZCBpbmFjdGl2ZSBlbmNvZGVycyB3ZSBk b24ndCBoYXZlIGEKPiA+ID4gPiBjcnRjIHN0YXRlLgo+ID4gPiA+ICsJCSAqIEZJWE1FOiBubyBu ZWVkIHRvIGNhbGwgZ2V0X3Bvd2VyX2RvbWFpbnMgaW4KPiA+ID4gPiBzdWNoCj4gPiA+ID4gY2Fz ZXMsIGl0Cj4gPiA+ID4gKwkJICogd2lsbCBhbHdheXMgcmV0dXJuIDAuCj4gPiA+ID4gKwkJICov Cj4gPiA+ID4gKwkJY3J0Y19zdGF0ZSA9IGVuY29kZXItPmJhc2UuY3J0YyA/Cj4gPiA+ID4gKwkJ CSAgICAgdG9faW50ZWxfY3J0Y19zdGF0ZShlbmNvZGVyLQo+ID4gPiA+ID5iYXNlLmNydGMtCj4g PiA+ID4gPiBzdGF0ZSkgOgo+ID4gPiA+IAo+ID4gPiA+ICsJCQkgICAgIE5VTEw7Cj4gPiA+ID4g Kwo+ID4gPiA+ICsJCWdldF9kb21haW5zID0gZW5jb2Rlci0+Z2V0X3Bvd2VyX2RvbWFpbnMoZW5j b2RlciwKPiA+ID4gPiBjcnRjX3N0YXRlKTsKPiA+ID4gPiAgCQlmb3JfZWFjaF9wb3dlcl9kb21h aW4oZG9tYWluLCBnZXRfZG9tYWlucykKPiA+ID4gPiAgCQkJaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsIGRvbWFpbik7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+IGluZGV4IDBjM2FjMGVhZmRlMC4uNzE3NDQyOWQ5MzBh IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBAQCAt MjU0LDcgKzI1NCw4IEBAIHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKPiA+ID4gPiAgCQkJICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ID4gPiAgCS8qIFJldHVybnMg YSBtYXNrIG9mIHBvd2VyIGRvbWFpbnMgdGhhdCBuZWVkIHRvIGJlCj4gPiA+ID4gcmVmZXJlbmNl ZCBhcyBwYXJ0Cj4gPiA+ID4gIAkgKiBvZiB0aGUgaGFyZHdhcmUgc3RhdGUgcmVhZG91dCBjb2Rl LiAqLwo+ID4gPiA+IC0JdTY0ICgqZ2V0X3Bvd2VyX2RvbWFpbnMpKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKTsKPiA+ID4gPiArCXU2NCAoKmdldF9wb3dlcl9kb21haW5zKShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiArCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZQo+ID4gPiA+ICpjcnRjX3N0YXRlKTsKPiA+ID4gPiAgCS8qCj4gPiA+ID4gIAkgKiBDYWxs ZWQgZHVyaW5nIHN5c3RlbSBzdXNwZW5kIGFmdGVyIGFsbCBwZW5kaW5nIHJlcXVlc3RzCj4gPiA+ ID4gZm9yIHRoZQo+ID4gPiA+ICAJICogZW5jb2RlciBhcmUgZmx1c2hlZCAoZm9yIGV4YW1wbGUg Zm9yIERQIEFVWAo+ID4gPiA+IHRyYW5zYWN0aW9ucykKPiA+ID4gPiBhbmQKPiA+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiA+ID4gPiBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gPiA+ID4gaW5kZXggZDRjZDE5ZmVhMTQ4Li5l ZWNkZDhiNWI1ZTAgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ ID4gPiA+IEBAIC01Niw0MyArNTYsNiBAQAo+ID4gPiA+ICAjaW5jbHVkZSAiaW50ZWxfZHJ2Lmgi Cj4gPiA+ID4gICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ID4gPiA+ICAKPiA+ID4gPiAtc3RhdGlj IGlubGluZSBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCj4gPiA+ID4gLXBzcl9hdXhf ZG9tYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ID4gLXsKPiA+ID4gPiAtCS8q IENOTCBIVyByZXF1aXJlcyBjb3JyZXNwb25kaW5nIEFVWCBJT3MgdG8gYmUgcG93ZXJlZCB1cAo+ ID4gPiA+IGZvciBQU1IuCj4gPiA+ID4gLQkgKiBIb3dldmVyLCBmb3Igbm9uLUEgQVVYIHBvcnRz IHRoZSBjb3JyZXNwb25kaW5nIG5vbi1FRFAKPiA+ID4gPiB0cmFuc2NvZGVycwo+ID4gPiA+IC0J ICogd291bGQgaGF2ZSBhbHJlYWR5IGVuYWJsZWQgcG93ZXIgd2VsbCAyIGFuZCBEQ19PRkYuCj4g PiA+ID4gVGhpcwo+ID4gPiA+IG1lYW5zIHdlIGNhbgo+ID4gPiA+IC0JICogYWNxdWlyZSBhIHdp ZGVyIFBPV0VSX0RPTUFJTl9BVVhfe0IsQyxELEZ9IHJlZmVyZW5jZQo+ID4gPiA+IGluc3RlYWQg b2YgYQo+ID4gPiA+IC0JICogc3BlY2lmaWMgQVVYX0lPIHJlZmVyZW5jZSB3aXRob3V0IHBvd2Vy aW5nIHVwIGFueSBleHRyYQo+ID4gPiA+IHdlbGxzLgo+ID4gPiA+IC0JICogTm90ZSB0aGF0IFBT UiBpcyBlbmFibGVkIG9ubHkgb24gUG9ydCBBIGV2ZW4gdGhvdWdoCj4gPiA+ID4gdGhpcwo+ID4g PiA+IGZ1bmN0aW9uCj4gPiA+ID4gLQkgKiByZXR1cm5zIHRoZSBjb3JyZWN0IGRvbWFpbiBmb3Ig b3RoZXIgcG9ydHMgdG9vLgo+ID4gPiA+IC0JICovCj4gPiA+ID4gLQlyZXR1cm4gaW50ZWxfZHAt PmF1eF9jaCA9PSBBVVhfQ0hfQSA/Cj4gPiA+ID4gUE9XRVJfRE9NQUlOX0FVWF9JT19BCj4gPiA+ ID4gOgo+ID4gPiA+IC0JCQkJCSAgICAgIGludGVsX2RwLQo+ID4gPiA+ID4gYXV4X3Bvd2VyX2Rv bWFpbjsKPiA+ID4gPiAKPiA+ID4gPiAtfQo+ID4gPiA+IC0KPiA+ID4gPiAtc3RhdGljIHZvaWQg cHNyX2F1eF9pb19wb3dlcl9nZXQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gPiAt ewo+ID4gPiA+IC0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+ ID4gPiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+ID4gPiAtCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gPiA+ID4gdG9faTkxNShpbnRlbF9kaWdfcG9ydC0KPiA+ ID4gPiA+IGJhc2UuYmFzZS5kZXYpOwo+ID4gPiA+IAo+ID4gPiA+IC0KPiA+ID4gPiAtCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpIDwgMTApCj4gPiA+ID4gLQkJcmV0dXJuOwo+ID4gPiA+IC0KPiA+ ID4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LAo+ID4gPiA+IHBzcl9hdXhf ZG9tYWluKGludGVsX2RwKSk7Cj4gPiA+ID4gLX0KPiA+ID4gPiAtCj4gPiA+ID4gLXN0YXRpYyB2 b2lkIHBzcl9hdXhfaW9fcG93ZXJfcHV0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ ID4gLXsKPiA+ID4gPiAtCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0KPiA+ID4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiA+ID4gLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+ID4gPiA+IHRvX2k5MTUoaW50ZWxfZGlnX3BvcnQt Cj4gPiA+ID4gPiBiYXNlLmJhc2UuZGV2KTsKPiA+ID4gPiAKPiA+ID4gPiAtCj4gPiA+ID4gLQlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEwKQo+ID4gPiA+IC0JCXJldHVybjsKPiA+ID4gPiAt Cj4gPiA+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKPiA+ID4gPiBwc3Jf YXV4X2RvbWFpbihpbnRlbF9kcCkpOwo+ID4gPiA+IC19Cj4gPiA+ID4gLQo+ID4gPiA+ICB2b2lk IGludGVsX3Bzcl9pcnFfY29udHJvbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGJvb2wKPiA+ID4gPiBkZWJ1ZykKPiA+ID4gPiAgewo+ID4gPiA+ICAJdTMyIGRlYnVnX21hc2ss IG1hc2s7Cj4gPiA+ID4gQEAgLTU5NSw4ICs1NTgsNiBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX2Vu YWJsZV9zb3VyY2Uoc3RydWN0Cj4gPiA+ID4gaW50ZWxfZHAKPiA+ID4gPiAqaW50ZWxfZHAsCj4g PiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4gPiA+ID4gIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLQo+ ID4gPiA+ID5jcHVfdHJhbnNjb2RlcjsKPiA+ID4gPiAgCj4gPiA+ID4gLQlwc3JfYXV4X2lvX3Bv d2VyX2dldChpbnRlbF9kcCk7Cj4gPiA+ID4gLQo+ID4gPiA+ICAJLyogT25seSBIU1cgYW5kIEJE VyBoYXZlIFBTUiBBVVggcmVnaXN0ZXJzIHRoYXQgbmVlZCB0byBiZQo+ID4gPiA+IHNldHVwLiBT S0wrCj4gPiA+ID4gIAkgKiB1c2UgaGFyZGNvZGVkIHZhbHVlcyBQU1IgQVVYIHRyYW5zYWN0aW9u cwo+ID4gPiA+ICAJICovCj4gPiA+ID4gQEAgLTcxNyw4ICs2NzgsNiBAQCBzdGF0aWMgdm9pZCBo c3dfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwCj4gPiA+ID4gKmludGVsX2RwLAo+ID4gPiA+ ICAJCWVsc2UKPiA+ID4gPiAgCQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYKPiA+ ID4gPiBFRFBfUFNSX0VOQUJMRSk7Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gLQo+ID4gPiA+IC0JcHNy X2F1eF9pb19wb3dlcl9wdXQoaW50ZWxfZHApOwo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ ICAvKioKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVu dGltZV9wbS5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPiA+ID4gPiBpbmRleCBkZTNhODEwMzRmNzcuLjI5Njk3ODcyMDFlZiAxMDA2NDQKPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ID4gPiBAQCAt MTgyNCw2ICsxODI0LDcgQEAgdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChzdHJ1Y3QKPiA+ ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiAgCUJJVF9VTEwoUE9XRVJf RE9NQUlOX0lOSVQpKQo+ID4gPiA+ICAjZGVmaW5lIEdMS19ESVNQTEFZX0FVWF9BX1BPV0VSX0RP TUFJTlMgKAkJXAo+ID4gPiA+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fQVVYX0EpIHwJCVwKPiA+ ID4gPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9JT19BKSB8CQlcCj4gPiA+ID4gIAlCSVRf VUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+ID4gPiAgI2RlZmluZSBHTEtfRElTUExBWV9BVVhf Ql9QT1dFUl9ET01BSU5TICgJCVwKPiA+ID4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9C KSB8CQlcCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=