From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/2] drm/i915: Reuse normal state readout for LVDS/DVO fixed mode Date: Wed, 11 Oct 2017 20:18:25 +0300 Message-ID: <20171011171825.GA10981@intel.com> References: <20171009161951.22420-1-ville.syrjala@linux.intel.com> <150764601326.797.165660555365983150@mail.alporthouse.com> <150773891695.26842.11279312781050205455@mail.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CDDA6E6EC for ; Wed, 11 Oct 2017 17:18:29 +0000 (UTC) Content-Disposition: inline In-Reply-To: <150773891695.26842.11279312781050205455@mail.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMTEsIDIwMTcgYXQgMDU6MjE6NTZQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFF1b3RpbmcgQ2hyaXMgV2lsc29uICgyMDE3LTEwLTEwIDE1OjMzOjMzKQo+ID4gUXVv dGluZyBWaWxsZSBTeXJqYWxhICgyMDE3LTEwLTA5IDE3OjE5OjUwKQo+ID4gPiBGcm9tOiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4g UmV1c2UgdGhlIG5vcm1hbCBzdGF0ZSByZWFkb3V0IGNvZGUgdG8gZ2V0IHRoZSBmaXhlZCBtb2Rl IGZvciBMVkRTL0RWTwo+ID4gPiBlbmNvZGVycy4gVGhpcyByZW1vdmVzIHNvbWUgcGFydGlhbGx5 IGR1cGxpY2F0ZWQgc3RhdGUgcmVhZG91dCBjb2RlCj4gPiA+IGZyb20gTFZEUy9EVk8gZW5jb2Rl cnMuIFRoZSBkdXBsaWNhdGVkIGNvZGUgd2Fzbid0IGFjdHVhbGx5IGV2ZW4KPiA+ID4gcG9wdWxh dGluZyB0aGUgbmVnYXRpdmUgaC92c3luYyBmbGFncywgbGVhZGluZyB0byBwb3NzaWJsZSBzdGF0 ZSBjaGVja2VyCj4gPiA+IGNvbXBsYWludHMuIFRoZSBub3JtYWwgcmVhZG91dCBjb2RlIHBvcHVs YXRlcyB0aGF0IHN0dWZmIGZ1bGx5Lgo+ID4gPiAKPiA+ID4gQ2M6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDUwICsrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgIHwgIDUgKystLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMgICAg IHwgMzMgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMgICAgfCAxOCArKysrLS0tLS0tLS0tCj4gPiA+ICA0IGZpbGVzIGNoYW5n ZWQsIDM5IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiBpbmRleCAxNTg0NGJmOTI0MzQuLmY4Njkz Mzc0OTU1YyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ ID4gPiBAQCAtMTAyNDcsNDggKzEwMjQ3LDQ0IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BjaF9j bG9ja19nZXQoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnBpcGVfY29uZmlnLT5mZGlfbV9uKTsKPiA+ID4gIH0K PiA+ID4gIAo+ID4gPiAtLyoqIFJldHVybnMgdGhlIGN1cnJlbnRseSBwcm9ncmFtbWVkIG1vZGUg b2YgdGhlIGdpdmVuIHBpcGUuICovCj4gPiA+IC1zdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaW50 ZWxfY3J0Y19tb2RlX2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gPiA+ICsvKiBSZXR1cm5zIHRoZSBjdXJyZW50bHkgcHJvZ3JhbW1lZCBtb2RlIG9mIHRoZSBn aXZlbiBlbmNvZGVyLiAqLwo+ID4gPiArc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgo+ID4gPiAr aW50ZWxfZW5jb2Rlcl9jdXJyZW50X21vZGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp Cj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOwo+ID4gPiAtICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ID4gKyAg ICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ID4gICAgICAgICBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ID4gLSAgICAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWc7Cj4gPiA+IC0gICAgICAgZW51bSBwaXBlIHBpcGUgPSBp bnRlbF9jcnRjLT5waXBlOwo+ID4gPiArICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ ID4gPiArICAgICAgIGVudW0gcGlwZSBwaXBlOwo+ID4gPiArCj4gPiA+ICsgICAgICAgaWYgKCFl bmNvZGVyLT5nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpKQo+ID4gPiArICAgICAgICAgICAg ICAgcmV0dXJuIE5VTEw7Cj4gPiAKPiA+IFRoZXJlJ3Mgbm8gY2hhbmNlIHRoYXQgZ2V0X2h3X3N0 YXRlIGNhbiByZXR1cm4gYSBwaXBlIGJleW9uZCBvdXIKPiA+IGtub3dsZWRnZT8gSSdtIHByZXN1 bWluZyB3ZSBhcmUgcGFydCBvZiB0aGUgZWFybHkgaHcgc2V0dXAgaGVyZSwgc28gbWF5Cj4gPiBu b3QgaGF2ZSBzYW5pdGl6ZWQgZXZlcnl0aGluZz8KPiA+IAo+ID4gPiArCj4gPiA+ICsgICAgICAg Y3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKTsKPiA+ID4gIAo+ ID4gPiAgICAgICAgIG1vZGUgPSBremFsbG9jKHNpemVvZigqbW9kZSksIEdGUF9LRVJORUwpOwo+ ID4gPiAgICAgICAgIGlmICghbW9kZSkKPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiBOVUxM Owo+ID4gPiAgCj4gPiA+IC0gICAgICAgcGlwZV9jb25maWcgPSBremFsbG9jKHNpemVvZigqcGlw ZV9jb25maWcpLCBHRlBfS0VSTkVMKTsKPiA+ID4gLSAgICAgICBpZiAoIXBpcGVfY29uZmlnKSB7 Cj4gPiA+ICsgICAgICAgY3J0Y19zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwg R0ZQX0tFUk5FTCk7Cj4gPiA+ICsgICAgICAgaWYgKCFjcnRjX3N0YXRlKSB7Cj4gPiA+ICAgICAg ICAgICAgICAgICBrZnJlZShtb2RlKTsKPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiBOVUxM Owo+ID4gPiAgICAgICAgIH0KPiA+ID4gIAo+ID4gPiAtICAgICAgIC8qCj4gPiA+IC0gICAgICAg ICogQ29uc3RydWN0IGEgcGlwZV9jb25maWcgc3VmZmljaWVudCBmb3IgZ2V0dGluZyB0aGUgY2xv Y2sgaW5mbwo+ID4gPiAtICAgICAgICAqIGJhY2sgb3V0IG9mIGNydGNfY2xvY2tfZ2V0Lgo+ID4g PiAtICAgICAgICAqCj4gPiA+IC0gICAgICAgICogTm90ZSwgaWYgTFZEUyBldmVyIHVzZXMgYSBu b24tMSBwaXhlbCBtdWx0aXBsaWVyLCB3ZSdsbCBuZWVkCj4gPiA+IC0gICAgICAgICogdG8gdXNl IGEgcmVhbCB2YWx1ZSBoZXJlIGluc3RlYWQuCj4gPiA+IC0gICAgICAgICovCj4gPiA+IC0gICAg ICAgcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJhbnNjb2RlcikgcGlwZTsK PiA+ID4gLSAgICAgICBwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciA9IDE7Cj4gPiA+IC0g ICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZHBsbCA9IEk5MTVfUkVBRChEUExMKHBp cGUpKTsKPiA+ID4gLSAgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5mcDAgPSBJOTE1 X1JFQUQoRlAwKHBpcGUpKTsKPiA+ID4gLSAgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0 ZS5mcDEgPSBJOTE1X1JFQUQoRlAxKHBpcGUpKTsKPiA+ID4gLSAgICAgICBpOXh4X2NydGNfY2xv Y2tfZ2V0KGludGVsX2NydGMsIHBpcGVfY29uZmlnKTsKPiA+ID4gKyAgICAgICBjcnRjX3N0YXRl LT5iYXNlLmNydGMgPSAmY3J0Yy0+YmFzZTsKPiA+ID4gIAo+ID4gPiAtICAgICAgIHBpcGVfY29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jayA9Cj4gPiA+IC0gICAgICAgICAgICAg ICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayAvIHBpcGVfY29uZmlnLT5waXhlbF9tdWx0aXBsaWVy Owo+ID4gPiArICAgICAgIGlmICghZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNy dGMsIGNydGNfc3RhdGUpKSB7Cj4gPiA+ICsgICAgICAgICAgICAgICBrZnJlZShjcnRjX3N0YXRl KTsKPiA+ID4gKyAgICAgICAgICAgICAgIGtmcmVlKG1vZGUpOwo+ID4gPiArICAgICAgICAgICAg ICAgcmV0dXJuIE5VTEw7Cj4gPiA+ICsgICAgICAgfQo+ID4gPiAgCj4gPiA+IC0gICAgICAgaW50 ZWxfZ2V0X3BpcGVfdGltaW5ncyhpbnRlbF9jcnRjLCBwaXBlX2NvbmZpZyk7Cj4gPiA+ICsgICAg ICAgZW5jb2Rlci0+Z2V0X2NvbmZpZyhlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+ID4gIAo+ID4g PiAtICAgICAgIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhtb2RlLCBwaXBlX2NvbmZpZyk7 Cj4gPiA+ICsgICAgICAgaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKG1vZGUsIGNydGNfc3Rh dGUpOwo+ID4gPiAgCj4gPiA+IC0gICAgICAga2ZyZWUocGlwZV9jb25maWcpOwo+ID4gPiArICAg ICAgIGtmcmVlKGNydGNfc3RhdGUpOwo+ID4gCj4gPiBUaGlzIGFsbCBsb29rcyBjb25zaXN0ZW50 IHRvIG15IGV5ZXMuCj4gPiA+ICAKPiA+ID4gICAgICAgICByZXR1cm4gbW9kZTsKPiA+ID4gIH0K PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gaW5kZXggMGNhYjY2N2ZmZjU3Li5i NTdhNjkxNDA5YzQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ IEBAIC0xMzYzLDggKzEzNjMsOSBAQCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25u ZWN0b3JfYWxsb2Modm9pZCk7Cj4gPiA+ICBib29sIGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ID4gIHZvaWQgaW50ZWxf Y29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpOwo+ID4gPiAtc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmludGVs X2NydGNfbW9kZV9nZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsK PiA+ID4gK3N0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoKPiA+ID4gK2ludGVsX2VuY29kZXJfY3Vy cmVudF9tb2RlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiA+ID4gKwo+ID4gPiAg ZW51bSBwaXBlIGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPiA+ICBpbnQgaW50ZWxfZ2V0X3BpcGVfZnJvbV9jcnRjX2lk KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kdm8uYwo+ID4gPiBpbmRleCA1YzU2MmUxZjU2YWUuLjUzYzliNzYzZjRj ZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiA+ID4gQEAgLTM3OSwz MiArMzc5LDE1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3MgaW50ZWxf ZHZvX2VuY19mdW5jcyA9IHsKPiA+ID4gICAqIGNoaXAgYmVpbmcgb24gRFZPQi9DIGFuZCBoYXZp bmcgbXVsdGlwbGUgcGlwZXMuCj4gPiA+ICAgKi8KPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqCj4gPiA+IC1pbnRlbF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gPiAraW50ZWxfZHZvX2dldF9jdXJyZW50X21vZGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ID4gPiAtICAgICAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+ID4gLSAgICAg ICBzdHJ1Y3QgaW50ZWxfZHZvICppbnRlbF9kdm8gPSBpbnRlbF9hdHRhY2hlZF9kdm8oY29ubmVj dG9yKTsKPiA+ID4gLSAgICAgICB1aW50MzJfdCBkdm9fdmFsID0gSTkxNV9SRUFEKGludGVsX2R2 by0+ZGV2LmR2b19yZWcpOwo+ID4gPiAtICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlID0gTlVMTDsKPiA+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsK PiA+ID4gIAo+ID4gPiAtICAgICAgIC8qIElmIHRoZSBEVk8gcG9ydCBpcyBhY3RpdmUsIHRoYXQn bGwgYmUgdGhlIExWRFMsIHNvIHdlIGNhbiBwdWxsIG91dAo+ID4gPiAtICAgICAgICAqIGl0cyB0 aW1pbmdzIHRvIGdldCBob3cgdGhlIEJJT1Mgc2V0IHVwIHRoZSBwYW5lbC4KPiA+ID4gLSAgICAg ICAgKi8KPiA+ID4gLSAgICAgICBpZiAoZHZvX3ZhbCAmIERWT19FTkFCTEUpIHsKPiA+ID4gLSAg ICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ID4gPiAtICAgICAgICAgICAg ICAgaW50IHBpcGUgPSAoZHZvX3ZhbCAmIERWT19QSVBFX0JfU0VMRUNUKSA/IDEgOiAwOwo+ID4g PiAtCj4gPiA+IC0gICAgICAgICAgICAgICBjcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUo ZGV2X3ByaXYsIHBpcGUpOwo+ID4gPiAtICAgICAgICAgICAgICAgaWYgKGNydGMpIHsKPiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IGludGVsX2NydGNfbW9kZV9nZXQoZGV2LCAm Y3J0Yy0+YmFzZSk7Cj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGlmIChtb2RlKSB7Cj4g PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZS0+dHlwZSB8PSBEUk1fTU9E RV9UWVBFX1BSRUZFUlJFRDsKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoZHZvX3ZhbCAmIERWT19IU1lOQ19BQ1RJVkVfSElHSCkKPiA+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUtPmZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUEhT WU5DOwo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkdm9fdmFsICYg RFZPX1ZTWU5DX0FDVElWRV9ISUdIKQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbW9kZS0+ZmxhZ3MgfD0gRFJNX01PREVfRkxBR19QVlNZTkM7Cj4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgIH0KPiA+ID4gLSAgICAgICAgICAgICAgIH0KPiA+ID4gKyAg ICAgICBtb2RlID0gaW50ZWxfZW5jb2Rlcl9jdXJyZW50X21vZGUoZW5jb2Rlcik7Cj4gPiAKPiA+ IE9rLgo+ID4gCj4gPiA+ICsgICAgICAgaWYgKG1vZGUpIHsKPiA+ID4gKyAgICAgICAgICAgICAg IERSTV9ERUJVR19LTVMoInVzaW5nIGN1cnJlbnQgKEJJT1MpIG1vZGU6ICIpOwo+ID4gPiArICAg ICAgICAgICAgICAgZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShtb2RlKTsKPiA+ID4gKyAg ICAgICAgICAgICAgIG1vZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4gPiA+ ICAgICAgICAgfQo+ID4gPiAgCj4gPiA+ICAgICAgICAgcmV0dXJuIG1vZGU7Cj4gPiA+IEBAIC01 NTEsNyArNTM0LDcgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAqIG1vZGUgYmVpbmcg b3V0cHV0IHRocm91Z2ggRFZPLgo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KPiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVj dG9yLT5wYW5lbCwKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnRlbF9kdm9fZ2V0X2N1cnJlbnRfbW9kZShjb25uZWN0b3IpLAo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVsX2R2b19nZXRfY3VycmVudF9tb2Rl KGludGVsX2VuY29kZXIpLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsIE5VTEwpOwo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9k dm8tPnBhbmVsX3dhbnRzX2RpdGhlciA9IHRydWU7Cj4gPiA+ICAgICAgICAgICAgICAgICB9Cj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiA+ID4gaW5kZXggYTU1OTU0YTg5MTQ4Li5j NTA3MmI5NTFiOWMgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2x2ZHMuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiA+ ID4gQEAgLTkzOSwxMCArOTM5LDggQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICpmaXhlZF9tb2RlID0gTlVMTDsKPiA+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqZG93bmNsb2NrX21vZGUgPSBOVUxMOwo+ID4gPiAgICAgICAgIHN0cnVjdCBlZGlkICpl ZGlkOwo+ID4gPiAtICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ID4gPiAgICAgICAg IGk5MTVfcmVnX3QgbHZkc19yZWc7Cj4gPiA+ICAgICAgICAgdTMyIGx2ZHM7Cj4gPiA+IC0gICAg ICAgaW50IHBpcGU7Cj4gPiA+ICAgICAgICAgdTggcGluOwo+ID4gPiAgICAgICAgIHUzMiBhbGxv d2VkX3NjYWxlcnM7Cj4gPiA+ICAKPiA+ID4gQEAgLTExMTgsMTcgKzExMTYsMTEgQEAgdm9pZCBp bnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAg ICAgICAgIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKPiA+ID4gICAgICAgICAgICAgICAg IGdvdG8gZmFpbGVkOwo+ID4gPiAgCj4gPiA+IC0gICAgICAgcGlwZSA9IChsdmRzICYgTFZEU19Q SVBFQl9TRUxFQ1QpID8gMSA6IDA7Cj4gPiA+IC0gICAgICAgY3J0YyA9IGludGVsX2dldF9jcnRj X2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKTsKPiA+ID4gLQo+ID4gPiAtICAgICAgIGlmIChjcnRj ICYmIChsdmRzICYgTFZEU19QT1JUX0VOKSkgewo+ID4gPiAtICAgICAgICAgICAgICAgZml4ZWRf bW9kZSA9IGludGVsX2NydGNfbW9kZV9nZXQoZGV2LCAmY3J0Yy0+YmFzZSk7Cj4gPiA+IC0gICAg ICAgICAgICAgICBpZiAoZml4ZWRfbW9kZSkgewo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICBEUk1fREVCVUdfS01TKCJ1c2luZyBjdXJyZW50IChCSU9TKSBtb2RlOiAiKTsKPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShmaXhlZF9t b2RlKTsKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZml4ZWRfbW9kZS0+dHlwZSB8PSBE Uk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290 byBvdXQ7Cj4gPiA+IC0gICAgICAgICAgICAgICB9Cj4gPiA+ICsgICAgICAgZml4ZWRfbW9kZSA9 IGludGVsX2VuY29kZXJfY3VycmVudF9tb2RlKGludGVsX2VuY29kZXIpOwo+ID4gPiArICAgICAg IGlmIChmaXhlZF9tb2RlKSB7Cj4gPiA+ICsgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJ1 c2luZyBjdXJyZW50IChCSU9TKSBtb2RlOiAiKTsKPiA+ID4gKyAgICAgICAgICAgICAgIGRybV9t b2RlX2RlYnVnX3ByaW50bW9kZWxpbmUoZml4ZWRfbW9kZSk7Cj4gPiA+ICsgICAgICAgICAgICAg ICBmaXhlZF9tb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEOwo+ID4gPiAgICAg ICAgIH0KPiA+ID4gIAo+ID4gPiAgICAgICAgIC8qIElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYSBt b2RlIGFmdGVyIGFsbCB0aGF0LCBnaXZlIHVwLiAqLwo+ID4gCj4gPiBSZXZpZXdlZC1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gPiAKPiA+IEkgd2lsbCBnaXZl IGl0IGEgc3BpbiBzaG9ydGx5IChnaXZlIG9yIHRha2UgY29tcGlsYXRpb24gdGltZXMgb24gYSBz bG93Cj4gPiBtYWNoaW5lIGFuZCBmb3JnZXRmdWxuZXNzKS4KPiAKPiBDb21waWxlZCwgYm9vdGVk LCBhbmQgbGlnaHRseSB0b2FzdGVkLAo+IFRlc3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+CgpDb29sLiBUaGFua3MgZm9yIGNoZWNraW5nIGFnYWluLiBQYXRj aCBwdXNoZWQgdG8gZGlucS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=