From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 2/3] drm/i915/icl: Fix TypeC legacy HDMI HPD handling Date: Sun, 16 Dec 2018 23:05:27 -0800 Message-ID: <20181217070527.GB49538@intel.com> References: <20181213194850.25406-1-imre.deak@intel.com> <20181213194850.25406-3-imre.deak@intel.com> <20181213210651.GC1681@intel.com> <20181213232507.GA26382@ideak-desk.fi.intel.com> <20181214222209.GB31365@intel.com> <20181214232545.GA21061@ideak-desk.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C0176E285 for ; Mon, 17 Dec 2018 07:05:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181214232545.GA21061@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 List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCBEZWMgMTUsIDIwMTggYXQgMDE6MjU6NDVBTSArMDIwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIEZyaSwgRGVjIDE0LCAyMDE4IGF0IDAyOjIyOjA5UE0gLTA4MDAsIFJvZHJpZ28gVml2 aSB3cm90ZToKPiA+IE9uIEZyaSwgRGVjIDE0LCAyMDE4IGF0IDAxOjI1OjA3QU0gKzAyMDAsIElt cmUgRGVhayB3cm90ZToKPiA+ID4gT24gVGh1LCBEZWMgMTMsIDIwMTggYXQgMDE6MDY6NTFQTSAt MDgwMCwgUm9kcmlnbyBWaXZpIHdyb3RlOgo+ID4gPiA+IE9uIFRodSwgRGVjIDEzLCAyMDE4IGF0 IDA5OjQ4OjQ5UE0gKzAyMDAsIEltcmUgRGVhayB3cm90ZToKPiA+ID4gPiA+IEF0bSBIUEQgZGlz Y29ubmVjdCBldmVudHMgb24gVHlwZUMgcG9ydHMgd2lsbCBicmVhayB0aGluZ3MsIHNpbmNlIHdl J2xsCj4gPiA+ID4gPiBzd2l0Y2ggdGhlIFR5cGVDIG1vZGUgKGJldHdlZW4gTGVnYWN5IGFuZCBk aXNjb25uZWN0ZWQgbW9kZXMgYXMgd2VsbCBhcwo+ID4gPiA+ID4gYW1vbmcgVVNCIERQIGFsdGVy bmF0ZSwgVGh1bmRlcmJvbHQgYWx0ZXJuYXRlIGFuZCBkaXNjb25uZWN0ZWQgbW9kZXMpIG9uCj4g PiA+ID4gPiB0aGUgZmx5IGZyb20gdGhlIEhQRCBkaXNjb25uZWN0IGludGVycnVwdCB3b3JrIHdo aWxlIHRoZSBwb3J0IG1heSBiZQo+ID4gPiA+ID4gc3RpbGwgYWN0aXZlLgo+ID4gPiA+ID4gCj4g PiA+ID4gPiBFdmVuIGlmIHRoZSBwb3J0IGhhcHBlbnMgdG8gYmUgbm90IGFjdGl2ZSBkdXJpbmcg dGhlIGRpc2Nvbm5lY3Qgd2UnZAo+ID4gPiA+ID4gc3RpbGwgaGF2ZSBhIHByb2JsZW0gZHVyaW5n IGEgc3Vic2VxdWVudCBtb2Rlc2V0IG9yIEFVWCB0cmFuc2ZlciB0aGF0Cj4gPiA+ID4gPiBjb3Vs ZCBoYXBwZW4gcmVnYXJkbGVzcyBvZiB0aGUgcG9ydCdzIGNvbm5lY3RlZCBzdGF0ZS4gRm9yIGlu c3RhbmNlIHRoZQo+ID4gPiA+ID4gc3lzdGVtIHJlc3VtZSBkaXNwbGF5IG1vZGUgcmVzdG9yZSBj b2RlIGFuZCB1c2Vyc3BhY2UgY291bGQgcGVyZm9ybSBhCj4gPiA+ID4gPiBtb2Rlc2V0IG9uIHRo ZSBwb3J0IG9yIHVzZXJzcGFjZSBjb3VsZCBzdGFydCBhbiBBVVggdHJhbnNmZXIgZXZlbiBpZiB0 aGUKPiA+ID4gPiA+IHBvcnQgaXMgaW4gZGlzY29ubmVjdGVkIHN0YXRlLgo+ID4gPiA+ID4gCj4g PiA+ID4gPiBUbyBmaXggdGhpcyBrZWVwIGxlZ2FjeSBUeXBlQyBwb3J0cyBpbiBUeXBlQyBsZWdh Y3kgbW9kZSB3aGVuZXZlciB3ZSdyZQo+ID4gPiA+ID4gbm90IHN1c3BlbmRlZC4gVGhlIGxlZ2Fj eSBtb2RlIGlzIGEgc3RhdGljIGNvbmZpZ3VyYXRpb24gYXMgb3Bwb3NlZCB0bwo+ID4gPiA+ID4g dGhlIFRodW5kZXJib2x0IGFuZCBVU0IgRFAgYWx0ZXJuYXRlIG1vZGVzIGJldHdlZW4gd2hpY2gg d2UgY2FuIHN3aXRjaAo+ID4gPiA+ID4gZHluYW1pY2FsbHkuCj4gPiA+ID4gPiAKPiA+ID4gPiA+ IFdlIGRvbid0IGhhdmUgeWV0IGFuIGV4cGxpY2l0IHdheSB0byBkZXRlY3QgVHlwZUMgbGVnYWN5 IHBvcnRzLCBidXQgd2UKPiA+ID4gPiA+IGNhbiBpbXBseSB0aGF0IGF0IGxlYXN0IGluIGNhc2Ug b2YgSERNSSBlbmFibGVkIHBvcnRzLCBzaW5jZSBIRE1JIGNhbgo+ID4gPiA+ID4gb25seSBiZSBw cm92aWRlZCBpbiBsZWdhY3kgbW9kZS4gU28gbWFyayBUeXBlQyBIRE1JIGVuYWJsZWQgcG9ydHMg YXMKPiA+ID4gPiA+IGxlZ2FjeSBhbmQgcnVuIHRoZSBUeXBlQyBQSFkgY29ubmVjdCBzZXF1ZW5j ZSBleHBsaWNpdGx5IGR1cmluZyBkcml2ZXIKPiA+ID4gPiA+IGxvYWRpbmcgYW5kIHN5c3RlbSBy ZXN1bWUuIFRoZSBjb25uZWN0IHdpbGwgc3VjY2VlZCBldmVuIGlmIHRoZSBkaXNwbGF5Cj4gPiA+ ID4gPiBpcyBub3QgY29ubmVjdGVkIHRvIGJlZ2luIHdpdGggKG9yIGRpc2FwcGVhcnMgZHVyaW5n IHRoZSBzdXNwZW5kZWQKPiA+ID4gPiA+IHN0YXRlKSBzaW5jZSBmb3IgbGVnYWN5IHBvcnRzIHRo ZSBQT1JUX1RYX0RGTEVYRFBQTVMgLwo+ID4gPiA+ID4gRFBfUEhZX01PREVfU1RBVFVTX0NPTVBM RVRFRCBmbGFnIGlzIGFsd2F5cyBzZXQgKGFzIG9wcG9zZWQgdG8gdGhlIFVTQgo+ID4gPiA+ID4g RFAgYWx0ZXJuYXRlIG1vZGUgd2hlcmUgaXQgZ2V0cyBzZXQgb25seSB3aGVuIGEgZGlzcGxheSBp cyBjb25uZWN0ZWQpLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBDb3JyZXNwb25kaW5nbHkgcnVuIHRo ZSBUeXBlQyBQSFkgZGlzY29ubmVjdCBzZXF1ZW5jZSBkdXJpbmcgc3lzdGVtCj4gPiA+ID4gPiBz dXNwZW5kIGFuZCBkcml2ZXIgdW5sb2FkaW5nLCBidXQgZGlzY29ubmVjdCBkdXJpbmcgc3VzcGVu ZCBvbmx5IGZvcgo+ID4gPiA+ID4gbGVnYWN5IFR5cGVDIG1vZGUuIFdlIHdpbGwgbmVlZCB0byBk aXNjb25uZWN0IGV2ZW4gaW4gVVNCIERQIGFsdGVybmF0ZQo+ID4gPiA+ID4gbW9kZSBpbiB0aGUg ZnV0dXJlLCBidXQgYXRtIHdlIGRvbid0IGhhdmUgYSB3YXkgdG8gcmVjb25uZWN0IHRoZSBwb3J0 Cj4gPiA+ID4gPiBpbiB0aGlzIG1vZGUgZHVyaW5nIHJlc3VtZSBpZiB0aGUgZGlzcGxheSBkaXNh cHBlYXJzIHdoaWxlIGJlaW5nCj4gPiA+ID4gPiBzdXNwZW5kZWQuIFNvIGZvciBub3cgcHVudCBv biB0aGlzIGNhc2UuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IE5vdGUgdGhhdCB3ZSBkbyBub3QgZGlz Y29ubmVjdCB0aGUgcG9ydCBkdXJpbmcgcnVudGltZSBzdXNwZW5kOyBpbgo+ID4gPiA+ID4gbGVn YWN5IG1vZGUgdGhlcmUgYXJlIG5vIHNoYXJlZCBIVyByZXNvdXJjZXMgKFBIWSBsYW5lcykgd2l0 aCBvdGhlciBIVwo+ID4gPiA+ID4gYmxvY2tzIChVU0IpLCBzbyBubyBuZWVkIHRvIHJlbGVhc2Ug LyByZWFjcXVpcmUgdGhlc2UgcmVzb3VyY2VzIGFzIHdpdGgKPiA+ID4gPiA+IFVTQiBEUCBhbHRl cm5hdGUgbW9kZS4gVGhlIG9ubHkgcmVhc29uIHRvIGRpc2Nvbm5lY3QgbGVnYWN5IHBvcnRzIGR1 cmluZwo+ID4gPiA+ID4gc3lzdGVtIHN1c3BlbmQgaXMgdGhhdCB0aGUgUE9SVF9UWF9ERkxFWERQ UE1TIC8KPiA+ID4gPiA+IERQX1BIWV9NT0RFX1NUQVRVU19DT01QTEVURUQgZmxhZyBtdXN0IGJl IHJlY2hlY2tlZCBhbmQgdGhlIHBvcnQgbXVzdCBiZQo+ID4gPiA+ID4gY29ubmVjdGVkIGFnYWlu IGR1cmluZyBzeXN0ZW0gcmVzdW1lLiBXZSBtYXkgYWxzbyBuZWVkIHRvIHR1cm4gdGhlIGNoZWNr Cj4gPiA+ID4gPiBmb3IgdGhpcyBmbGFnIGludG8gYSBwb2xsLCBkZXBlbmRpbmcgb24gZnVydGhl ciB0ZXN0cyBhbmQgY2xhcmlmaWNhdGlvbnMKPiA+ID4gPiA+IHdlIGFyZSBleHBlY3RpbmcgZnJv bSBIVy9GVyBwZW9wbGUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IElmIFZCVCBzYXlzIHRoYXQgdGhl IHBvcnQgcHJvdmlkZXMgb25seSBEUCBmdW5jdGlvbmFsaXR5IHRoZW4gd2UgY2FuJ3QKPiA+ID4g PiA+IGFzc3VtZSB0aGF0IGl0J3MgYSBsZWdhY3kgcG9ydCBhcyBmb3IgSERNSSAoc2luY2UgaXQg Y291bGQgYXMgd2VsbCBiZQo+ID4gPiA+ID4gYSBUQlQvRFAgQWx0IGNvbm5lY3RvciksIHNvIHdl J2xsIHNvbHZlIEhQRCBoYW5kbGluZyBmb3IgdGhlIERQIGNhc2UKPiA+ID4gPiA+IHdpdGggYSBk aWZmZXJlbnQgbWV0aG9kIGluIHRoZSBuZXh0IHBhdGNoLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBF dmVudHVhbGx5IC0gaW5zdGVhZCBvZiB0aGUgYWJvdmUgbWV0aG9kIC0gd2UnbGwgZGVwZW5kIG9u IGFuIGV4cGxpY2l0Cj4gPiA+ID4gPiBkZXRlY3Rpb24gbWV0aG9kIHByb3ZpZGVkIGVpdGhlciB2 aWEgYSBWQlQgZmxhZyBvciBhIEZXL0hXIHJlZ2lzdGVyIGJvdGgKPiA+ID4gPiA+IGZvciB0aGUg SERNSSBhbmQgRFAgY2FzZS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQnVnemlsbGE6IGh0dHBzOi8v YnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODA3MAo+ID4gPiA+ID4gQnVn emlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODky NAo+ID4gPiA+ID4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gPiA+ID4gPiBDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRl bC5jb20+Cj4gPiA+ID4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t Pgo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29t Pgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gPiA+ID4g PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgfCAyOSArKysrKysrKysrKysrKy0t LS0tLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICA1ICsr Ky0KPiA+ID4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0 aW9ucygtKQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4g PiA+ID4gaW5kZXggZjNlMWQ2YTBiN2RkLi4yZTQ3ZmZhMWM5NWEgMTAwNjQ0Cj4gPiA+ID4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiA+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gPiA+IEBAIC0zOTAxLDkgKzM5MDEs NTAgQEAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ICAKPiA+ ID4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZW5jb2Rlcl9zdXNwZW5kKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsJc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2Up Owo+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlpbnRlbF9kcF9lbmNvZGVy X3N1c3BlbmQoZW5jb2Rlcik7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCS8qCj4gPiA+ID4gPiAr CSAqIFRPRE86IGRpc2Nvbm5lY3QgYWxzbyBmcm9tIFVTQiBEUCBhbHRlcm5hdGUgbW9kZSBvbmNl IHdlIGhhdmUgYQo+ID4gPiA+ID4gKwkgKiB3YXkgdG8gaGFuZGxlIHRoZSBtb2Rlc2V0IHJlc3Rv cmUgaW4gdGhhdCBtb2RlIGR1cmluZyByZXN1bWUKPiA+ID4gPiA+ICsJICogZXZlbiBpZiB0aGUg c2luayBoYXMgZGlzYXBwZWFyZWQgd2hpbGUgYmVpbmcgc3VzcGVuZGVkLgo+ID4gPiA+ID4gKwkg Ki8KPiA+ID4gPiA+ICsJaWYgKGRpZ19wb3J0LT50Y19sZWdhY3lfcG9ydCkKPiA+ID4gPiA+ICsJ CWljbF90Y19waHlfZGlzY29ubmVjdChpOTE1LCBkaWdfcG9ydCk7Cj4gPiA+ID4gPiArfQo+ID4g PiA+ID4gKwo+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGludGVsX2RkaV9lbmNvZGVyX3Jlc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIpCj4gPiA+ID4gPiArewo+ID4gPiA+ID4gKwlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChkcm1f ZW5jb2Rlcik7Cj4gPiA+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9f aTkxNShkcm1fZW5jb2Rlci0+ZGV2KTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaWYgKGludGVs X3BvcnRfaXNfdGMoaTkxNSwgZGlnX3BvcnQtPmJhc2UucG9ydCkpCj4gPiA+ID4gPiArCQlpbnRl bF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKCZkaWdfcG9ydC0+YmFzZSk7Cj4gPiA+ID4gPiArCj4g PiA+ID4gPiArCWludGVsX2RwX2VuY29kZXJfcmVzZXQoZHJtX2VuY29kZXIpOwo+ID4gPiA+IAo+ ID4gPiA+IGRvIHdlIG5lZWQgYWxsIG9mIHRoYXQ/Cj4gPiA+IAo+ID4gPiBZb3UgbWVhbiBpZiB3 ZSBuZWVkIHRvIGNhbGwgaW50ZWxfZHBfZW5jb2Rlcl9yZXNldCgpPyBUaGF0IHdhcyB0aGUKPiA+ ID4gb3JpZ2luYWwgc3RhdGUsIGFzIGJlZm9yZSB0aGlzIGNoYW5nZSB3ZSBoYWQKPiA+IAo+ID4g eWVzLgo+ID4gCj4gPiA+IAo+ID4gPiAJLnJlc2V0ID0gaW50ZWxfZHBfZW5jb2Rlcl9yZXNldAo+ ID4gPiAKPiA+ID4gaW4gaW50ZWxfZGRpX2Z1bmNzLiAKPiA+ID4gCj4gPiA+ID4gb3IgY291bGQg c2ltcGx5Cj4gPiA+ID4gCj4gPiA+ID4gaW50ZWxfZHAtPnJlc2V0X2xpbmtfcGFyYW1zID0gdHJ1 ZTsKPiA+ID4gPiAKPiA+ID4gPiBpbnN0ZWFkPyEgCj4gPiA+IAo+ID4gPiBOb3Qgc3VyZSBob3cg d2UgY291bGQgYXZvaWQgY2FsbGluZyBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KCkgaGVyZSwgaXQK PiA+ID4gaGFzIHJlcXVpcmVkIExTUENPTiBhbmQgZURQIHNwZWNpZmljIHBhcnRzLgo+ID4gCj4g PiBJIGhhZCBpbiBteSBtaW5kIHRoZSB0eXBlX2Mgb25seSwgc29ycnkuCj4gPiAKPiA+IEJ1dCBu b3cgd2hhdCBJIGRvbid0IHVuZGVyc3RhbmQgaXMgd2h5IHdlIGRvbid0IG5lZWQgdG8gZG8gdGhl IHNhbWUKPiA+IGFuZCBjYWxsIGludGVsX2RwX2VuY29kZXJfZGVzdHJveSBmcm9tIGluc2lkZSBp bnRlbF9kZGlfZW5jb2Rlcl9kZXN0cm95Lgo+ID4gaXQgc2VlbXMgdGhhdCB3ZSB3aWxsIGxvb3Nl IHNvbWUgTFNQQ09OIGFuZCBlRFAgdGhlcmUgYXMgd2VsbC4uLgo+IAo+IFRoYXQgc3R1ZmYgbW92 ZWQgdG8gaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93b3JrKCkgYXMgZXhwbGFpbmVkIGJlbG93LAo+ IHdoaWNoIGlzIGNhbGxlZCBmcm9tIGludGVsX2RkaV9lbmNvZGVyX2Rlc3Ryb3koKS4KCmhtbW0s IG5vdyBJIHNhdyB0aGlzIHBhcnQgb2YgdGhlIG1vdmUuIHNvcnJ5Li4uCkkgdGhpbmsgdGhlIG5v bi1zeW1tZXRyaWMgbmFtZSBnb3QgYSBiaXQgY29uZnVzaW5nLCBidXQgdGhlCmNvZGUgaXMgaW5k ZWVkIHJpZ2h0LCBzbzoKClJldmlld2VkLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBp bnRlbC5jb20+Cgo+IAo+ID4gCj4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+ID4gK30KPiA+ID4gPiA+ ICsKPiA+ID4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZW5jb2Rlcl9kZXN0cm95KHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiArCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rl ci0+ZGV2KTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93 b3JrKGVuY29kZXIpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlpZiAoaW50ZWxfcG9ydF9pc190 YyhpOTE1LCBkaWdfcG9ydC0+YmFzZS5wb3J0KSkKPiA+ID4gPiA+ICsJCWljbF90Y19waHlfZGlz Y29ubmVjdChpOTE1LCBkaWdfcG9ydCk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCWRybV9lbmNv ZGVyX2NsZWFudXAoZW5jb2Rlcik7Cj4gPiA+ID4gCj4gPiA+ID4gYW5kIGhlcmUgZG9uJ3Qgd2Ug bmVlZCBzdHVmZiBvbiBpbnRlbF9kcF9lbmNvZGVyIGRlc3Ryb3kgaGVyZSBsaWtlCj4gPiA+ID4g aW50ZWxfZHBfYXV4X2Zpbmk/Cj4gPiA+IAo+ID4gPiBZZXMgd2UgZG8sIHRoYXQncyBwYXJ0IG9m IHRoZSBuZXcgaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93b3JrKCkgZnVuYy4KPiA+ID4gSGFkIHRv IHNwbGl0IHVwIGludGVsX2RwX2VuY29kZXJfZGVzdHJveSgpLCBzaW5jZSB3ZSB3YW50IHRvIGZs dXNoIGFueQo+ID4gPiBwZW5kaW5nIHdvcmsgb24gdGhlIGVuY29kZXIgZmlyc3QgKGZvciBpbnN0 YW5jZSBNU1Qgc3BlY2lmaWMgc3R1ZmYpIHRoZW4KPiA+ID4gZGlzY29ubmVjdCB0aGUgVEMgUEhZ LCB0aGVuIGRvIHRoZSBEUk0gY29yZSBjbGVhbnVwIGFuZCBrZnJlZS4gUHJvYmFibHkKPiA+ID4g c2hvdWxkJ3ZlIGJlZW4gaW4gdGhlIGNvbW1pdCBsb2cuCj4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+ ID4gKwlrZnJlZShkaWdfcG9ydCk7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3MgaW50ZWxfZGRpX2Z1bmNzID0g ewo+ID4gPiA+ID4gLQkucmVzZXQgPSBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0LAo+ID4gPiA+ID4g LQkuZGVzdHJveSA9IGludGVsX2RwX2VuY29kZXJfZGVzdHJveSwKPiA+ID4gPiA+ICsJLnJlc2V0 ID0gaW50ZWxfZGRpX2VuY29kZXJfcmVzZXQsCj4gPiA+ID4gPiArCS5kZXN0cm95ID0gaW50ZWxf ZGRpX2VuY29kZXJfZGVzdHJveSwKPiA+ID4gPiA+ICB9Owo+ID4gPiA+ID4gIAo+ID4gPiA+ID4g IHN0YXRpYyBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICoKPiA+ID4gPiA+IEBAIC00MTk3LDcgKzQy MzgsNyBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgZW51bSBwb3J0IHBvcnQpCj4gPiA+ID4gPiAgCWludGVsX2VuY29kZXItPnBvc3RfZGlz YWJsZSA9IGludGVsX2RkaV9wb3N0X2Rpc2FibGU7Cj4gPiA+ID4gPiAgCWludGVsX2VuY29kZXIt PmdldF9od19zdGF0ZSA9IGludGVsX2RkaV9nZXRfaHdfc3RhdGU7Cj4gPiA+ID4gPiAgCWludGVs X2VuY29kZXItPmdldF9jb25maWcgPSBpbnRlbF9kZGlfZ2V0X2NvbmZpZzsKPiA+ID4gPiA+IC0J aW50ZWxfZW5jb2Rlci0+c3VzcGVuZCA9IGludGVsX2RwX2VuY29kZXJfc3VzcGVuZDsKPiA+ID4g PiA+ICsJaW50ZWxfZW5jb2Rlci0+c3VzcGVuZCA9IGludGVsX2RkaV9lbmNvZGVyX3N1c3BlbmQ7 Cj4gPiA+ID4gPiAgCWludGVsX2VuY29kZXItPmdldF9wb3dlcl9kb21haW5zID0gaW50ZWxfZGRp X2dldF9wb3dlcl9kb21haW5zOwo+ID4gPiA+ID4gIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5U RUxfT1VUUFVUX0RESTsKPiA+ID4gPiA+ICAJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluID0g aW50ZWxfcG9ydF90b19wb3dlcl9kb21haW4ocG9ydCk7Cj4gPiA+ID4gPiBAQCAtNDI1Nyw2ICs0 Mjk4LDkgQEAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGVudW0gcG9ydCBwb3J0KQo+ID4gPiA+ID4gIAlpZiAoaW50ZWxfZW5jb2Rlci0+dHlw ZSAhPSBJTlRFTF9PVVRQVVRfRURQICYmIGluaXRfaGRtaSkgewo+ID4gPiA+ID4gIAkJaWYgKCFp bnRlbF9kZGlfaW5pdF9oZG1pX2Nvbm5lY3RvcihpbnRlbF9kaWdfcG9ydCkpCj4gPiA+ID4gPiAg CQkJZ290byBlcnI7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCQlpZiAoaW50ZWxfcG9ydF9pc190 YyhkZXZfcHJpdiwgcG9ydCkpCj4gPiA+ID4gPiArCQkJaW50ZWxfZGlnX3BvcnQtPnRjX2xlZ2Fj eV9wb3J0ID0gdHJ1ZTsKPiA+ID4gPiA+ICAJfQo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIAlpZiAo aW5pdF9sc3Bjb24pIHsKPiA+ID4gPiA+IEBAIC00Mjc0LDYgKzQzMTgsMTAgQEAgdm9pZCBpbnRl bF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBw b3J0KQo+ID4gPiA+ID4gIAl9Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgCWludGVsX2luZm9mcmFt ZV9pbml0KGludGVsX2RpZ19wb3J0KTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaWYgKGludGVs X3BvcnRfaXNfdGMoZGV2X3ByaXYsIHBvcnQpKQo+ID4gPiA+ID4gKwkJaW50ZWxfZGlnaXRhbF9w b3J0X2Nvbm5lY3RlZChpbnRlbF9lbmNvZGVyKTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICAJcmV0 dXJuOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIGVycjoKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+ID4gPiA+ID4gaW5kZXggMDgyNTk0YmI2NWE3Li4xOWU0OWFkYWI1NDggMTAwNjQ0 Cj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4gPiBAQCAtNTEw OCw5ICs1MTA4LDYgQEAgc3RhdGljIHZvaWQgaWNsX3VwZGF0ZV90Y19wb3J0X3R5cGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiA+ID4gIAkJCSAgICAgIHRjX3R5cGVf bmFtZShpbnRlbF9kaWdfcG9ydC0+dGNfdHlwZSkpOwo+ID4gPiA+ID4gIH0KPiA+ID4gPiA+ICAK PiA+ID4gPiA+IC1zdGF0aWMgdm9pZCBpY2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiA+ID4gLQkJCQkgIHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0KTsKPiA+ID4gPiA+IC0KPiA+ID4gPiA+ICAvKgo+ID4gPiA+ID4g ICAqIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgZmlyc3QgcGFydCBvZiB0aGUgQ29ubmVj dCBGbG93IGRlc2NyaWJlZCBieSBvdXIKPiA+ID4gPiA+ICAgKiBzcGVjaWZpY2F0aW9uLCBHZW4x MSBUeXBlQyBQcm9ncmFtbWluZyBjaGFwdGVyLiBUaGUgcmVzdCBvZiB0aGUgZmxvdyAocmVhZGlu Zwo+ID4gPiA+ID4gQEAgLTUxNDUsNiArNTE0Miw3IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlf Y29ubmVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gPiAgCXZh bCA9IEk5MTVfUkVBRChQT1JUX1RYX0RGTEVYRFBQTVMpOwo+ID4gPiA+ID4gIAlpZiAoISh2YWwg JiBEUF9QSFlfTU9ERV9TVEFUVVNfQ09NUExFVEVEKHRjX3BvcnQpKSkgewo+ID4gPiA+ID4gIAkJ RFJNX0RFQlVHX0tNUygiRFAgUEhZIGZvciBUQyBwb3J0ICVkIG5vdCByZWFkeVxuIiwgdGNfcG9y dCk7Cj4gPiA+ID4gPiArCQlXQVJOX09OKGRpZ19wb3J0LT50Y19sZWdhY3lfcG9ydCk7Cj4gPiA+ ID4gPiAgCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ID4gPiAgCX0KPiA+ID4gPiA+ICAKPiA+ID4gPiA+ IEBAIC01MTc2LDggKzUxNzQsOCBAQCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X2Nvbm5lY3Qoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiA+ID4gICAqIFNlZSB0aGUgY29t bWVudCBhdCB0aGUgY29ubmVjdCBmdW5jdGlvbi4gVGhpcyBpbXBsZW1lbnRzIHRoZSBEaXNjb25u ZWN0Cj4gPiA+ID4gPiAgICogRmxvdy4KPiA+ID4gPiA+ICAgKi8KPiA+ID4gPiA+IC1zdGF0aWMg dm9pZCBpY2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4gPiA+ID4gLQkJCQkgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 KQo+ID4gPiA+ID4gK3ZvaWQgaWNsX3RjX3BoeV9kaXNjb25uZWN0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiA+ICsJCQkgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkaWdfcG9ydCkKPiA+ID4gPiA+ICB7Cj4gPiA+ID4gPiAgCWVudW0gdGNfcG9ydCB0Y19w b3J0ID0gaW50ZWxfcG9ydF90b190YyhkZXZfcHJpdiwgZGlnX3BvcnQtPmJhc2UucG9ydCk7Cj4g PiA+ID4gPiAgCj4gPiA+ID4gPiBAQCAtNTIyMiw3ICs1MjIwLDggQEAgc3RhdGljIGJvb2wgaWNs X3RjX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ ID4gPiA+ICAJYm9vbCBpc19sZWdhY3ksIGlzX3R5cGVjLCBpc190YnQ7Cj4gPiA+ID4gPiAgCXUz MiBkcHNwOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gLQlpc19sZWdhY3kgPSBJOTE1X1JFQUQoU0RF SVNSKSAmIFNERV9UQ19IT1RQTFVHX0lDUCh0Y19wb3J0KTsKPiA+ID4gPiA+ICsJaXNfbGVnYWN5 ID0gaW50ZWxfZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0IHx8Cj4gPiA+ID4gPiArCQlJOTE1X1JF QUQoU0RFSVNSKSAmIFNERV9UQ19IT1RQTFVHX0lDUCh0Y19wb3J0KTsKPiA+ID4gPiA+ICAKPiA+ ID4gPiA+ICAJLyoKPiA+ID4gPiA+ICAJICogVGhlIHNwZWMgc2F5cyB3ZSBzaG91bGRuJ3QgYmUg dXNpbmcgdGhlIElTUiBiaXRzIGZvciBkZXRlY3RpbmcKPiA+ID4gPiA+IEBAIC01MjMzLDcgKzUy MzIsMTQgQEAgc3RhdGljIGJvb2wgaWNsX3RjX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiA+ICAJaXNfdGJ0ID0gZHBzcCAmIFRDX0xJVkVf U1RBVEVfVEJUKHRjX3BvcnQpOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIAlpZiAoIWlzX2xlZ2Fj eSAmJiAhaXNfdHlwZWMgJiYgIWlzX3RidCkgewo+ID4gPiA+ID4gLQkJaWNsX3RjX3BoeV9kaXNj b25uZWN0KGRldl9wcml2LCBpbnRlbF9kaWdfcG9ydCk7Cj4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ ID4gKwkJICogV2UgZGlzY29ubmVjdCBmcm9tIGxlZ2FjeSBtb2RlIG9ubHkgZHVyaW5nIHN5c3Rl bQo+ID4gPiA+ID4gKwkJICogc3VzcGVuZCBhbmQgZHJpdmVyIHVubG9hZGluZywgb3RoZXJ3aXNl IHdlIGtlZXAgdGhlIHBvcnQgaW4KPiA+ID4gPiA+ICsJCSAqIGxlZ2FjeSBtb2RlIGV2ZW4gYWZ0 ZXIgYW4gSFBEIGRpc2Nvbm5lY3QgZXZlbnQuCj4gPiA+ID4gPiArCQkgKi8KPiA+ID4gPiA+ICsJ CWlmIChpbnRlbF9kaWdfcG9ydC0+dGNfdHlwZSAhPSBUQ19QT1JUX0xFR0FDWSkKPiA+ID4gPiA+ ICsJCQlpY2xfdGNfcGh5X2Rpc2Nvbm5lY3QoZGV2X3ByaXYsIGludGVsX2RpZ19wb3J0KTsKPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ICAJCXJldHVybiBmYWxzZTsKPiA+ID4gPiA+ICAJfQo+ID4gPiA+ ID4gIAo+ID4gPiA+ID4gQEAgLTU1NDIsNyArNTU0OCw3IEBAIGludGVsX2RwX2Nvbm5lY3Rvcl91 bnJlZ2lzdGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiA+ID4gPiAgCWlu dGVsX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ ID4gIAo+ID4gPiA+ID4gLXZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKPiA+ID4gPiA+ICt2b2lkIGludGVsX2RwX2VuY29kZXJfZmx1c2hf d29yayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ID4gPiAgewo+ID4gPiA+ID4g IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdf cG9ydChlbmNvZGVyKTsKPiA+ID4gPiA+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZp bnRlbF9kaWdfcG9ydC0+ZHA7Cj4gPiA+ID4gPiBAQCAtNTU2NSw5ICs1NTcxLDE0IEBAIHZvaWQg aW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+ ID4gPiA+ICAJfQo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIAlpbnRlbF9kcF9hdXhfZmluaShpbnRl bF9kcCk7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gK3N0YXRpYyB2b2lkIGlu dGVsX2RwX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ ID4gPiArewo+ID4gPiA+ID4gKwlpbnRlbF9kcF9lbmNvZGVyX2ZsdXNoX3dvcmsoZW5jb2Rlcik7 Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgCWRybV9lbmNvZGVyX2NsZWFudXAoZW5jb2Rlcik7Cj4g PiA+ID4gPiAtCWtmcmVlKGludGVsX2RpZ19wb3J0KTsKPiA+ID4gPiA+ICsJa2ZyZWUoZW5jX3Rv X2RpZ19wb3J0KGVuY29kZXIpKTsKPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAg dm9pZCBpbnRlbF9kcF9lbmNvZGVyX3N1c3BlbmQoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIpCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ID4gaW5k ZXggZDA4ZjA4ZjYwN2RkLi45N2M0MjJiZWE3ZmIgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiA+IEBAIC0xMjM0LDYgKzEyMzQsNyBAQCBzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKPiA+ID4gPiA+ICAJLyogVXNlZCBmb3IgRFAgYW5kIElD TCsgVHlwZUMvRFAgYW5kIFR5cGVDL0hETUkgcG9ydHMuICovCj4gPiA+ID4gPiAgCWVudW0gYXV4 X2NoIGF1eF9jaDsKPiA+ID4gPiA+ICAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBk ZGlfaW9fcG93ZXJfZG9tYWluOwo+ID4gPiA+ID4gKwlib29sIHRjX2xlZ2FjeV9wb3J0OjE7Cj4g PiA+ID4gPiAgCWVudW0gdGNfcG9ydF90eXBlIHRjX3R5cGU7Cj4gPiA+ID4gPiAgCj4gPiA+ID4g PiAgCXZvaWQgKCp3cml0ZV9pbmZvZnJhbWUpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ID4gPiA+ID4gQEAgLTE4MDYsNyArMTgwNyw3IEBAIHZvaWQgaW50ZWxfZHBfc2lua19zZXRf ZGVjb21wcmVzc2lvbl9zdGF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiA+ID4g IAkJCQkJICAgYm9vbCBlbmFibGUpOwo+ID4gPiA+ID4gIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9y ZXNldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+ID4gPiA+ID4gIHZvaWQgaW50ZWxf ZHBfZW5jb2Rlcl9zdXNwZW5kKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKTsK PiA+ID4gPiA+IC12b2lkIGludGVsX2RwX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpOwo+ID4gPiA+ID4gK3ZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93b3Jr KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gPiA+ID4gPiAgYm9vbCBpbnRlbF9kcF9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiA+ICAJ CQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ID4gPiA+ICAJ CQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKPiA+ID4gPiA+ IEBAIC0xODc0LDYgKzE4NzUsOCBAQCBib29sIGludGVsX2RwX3JlYWRfZHBjZChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKPiA+ID4gPiA+ICBpbnQgaW50ZWxfZHBfbGlua19yZXF1aXJlZChp bnQgcGl4ZWxfY2xvY2ssIGludCBicHApOwo+ID4gPiA+ID4gIGludCBpbnRlbF9kcF9tYXhfZGF0 YV9yYXRlKGludCBtYXhfbGlua19jbG9jaywgaW50IG1heF9sYW5lcyk7Cj4gPiA+ID4gPiAgYm9v bCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKTsKPiA+ID4gPiA+ICt2b2lkIGljbF90Y19waHlfZGlzY29ubmVjdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ID4gPiArCQkJICAgc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQpOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIC8qIGludGVsX2RwX2F1 eF9iYWNrbGlnaHQuYyAqLwo+ID4gPiA+ID4gIGludCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGln aHRfZnVuY3Moc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKTsKPiA+ID4g PiA+IC0tIAo+ID4gPiA+ID4gMi4xMy4yCj4gPiA+ID4gPiAKPiA+ID4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gPiA+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g PiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==