From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence Date: Tue, 5 Nov 2019 17:21:06 +0200 Message-ID: <20191105152106.GO1208@intel.com> References: <20191105133900.19590-1-jani.nikula@intel.com> <20191105135055.GN1208@intel.com> <87bltq77aa.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F0E66EAAD for ; Tue, 5 Nov 2019 15:21:10 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87bltq77aa.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBOb3YgMDUsIDIwMTkgYXQgMDM6NTk6NTdQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVHVlLCAwNSBOb3YgMjAxOSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBUdWUsIE5vdiAwNSwgMjAxOSBhdCAwMzoz OTowMFBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+PiBUaGUgcHJlLWluaXRpYWxpemVk IG1hZ2ljIHZhbHVlIGlzIGEgYml0IHNpbGx5LCBzd2l0Y2ggdG8gYSBmbGFnCj4gPj4gaW5zdGVh ZC4gV2hpbGUgYXQgaXQsIGNsZWFuIHVwIHRoZSB2YWxpZGl0eSBjaGVja3MuIE5vIGZ1bmN0aW9u YWwKPiA+PiBjaGFuZ2VzIGFwYXJ0IGZyb20gdGhlIGFkZGVkIGNoZWNrcy4KPiA+PiAKPiA+PiBD YzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4+IC0t LQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYyB8IDEwICst LS0tLS0tLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAg fCAxOSArKysrKysrKysrKy0tLS0tLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICAgIHwgIDggKystLS0tLS0KPiA+PiAgMyBmaWxlcyBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiA+PiAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYwo+ID4+IGluZGV4IGEwM2Y1NmI3YjRlZi4uYzE5YjIz NGJlYmU2IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYmlvcy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9i aW9zLmMKPiA+PiBAQCAtMTUwOSw2ICsxNTA5LDcgQEAgc3RhdGljIHZvaWQgcGFyc2VfZGRpX3Bv cnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICAJCQkgICAgICBwb3J0 X25hbWUocG9ydCksCj4gPj4gIAkJCSAgICAgIGhkbWlfbGV2ZWxfc2hpZnQpOwo+ID4+ICAJCWlu Zm8tPmhkbWlfbGV2ZWxfc2hpZnQgPSBoZG1pX2xldmVsX3NoaWZ0Owo+ID4+ICsJCWluZm8tPmhk bWlfbGV2ZWxfc2hpZnRfc2V0ID0gdHJ1ZTsKPiA+PiAgCX0KPiA+PiAgCj4gPj4gIAlpZiAoYmRi X3ZlcnNpb24gPj0gMjA0KSB7Cj4gPj4gQEAgLTE2OTIsOCArMTY5Myw2IEBAIHBhcnNlX2dlbmVy YWxfZGVmaW5pdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICBz dGF0aWMgdm9pZAo+ID4+ICBpbml0X3ZidF9kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPj4gIHsKPiA+PiAtCWVudW0gcG9ydCBwb3J0Owo+ID4+IC0KPiA+PiAg CWRldl9wcml2LT52YnQuY3J0X2RkY19waW4gPSBHTUJVU19QSU5fVkdBRERDOwo+ID4+ICAKPiA+ PiAgCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJhY2tsaWdodCAqLwo+ID4+IEBAIC0xNzIxLDEzICsx NzIwLDYgQEAgaW5pdF92YnRfZGVmYXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ID4+ICAJZGV2X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxID0gaW50ZWxfYmlvc19zc2Nf ZnJlcXVlbmN5KGRldl9wcml2LAo+ID4+ICAJCQkhSEFTX1BDSF9TUExJVChkZXZfcHJpdikpOwo+ ID4+ICAJRFJNX0RFQlVHX0tNUygiU2V0IGRlZmF1bHQgdG8gU1NDIGF0ICVkIGtIelxuIiwgZGV2 X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxKTsKPiA+PiAtCj4gPj4gLQlmb3JfZWFjaF9wb3J0KHBv cnQpIHsKPiA+PiAtCQlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+ID4+IC0JCQkm ZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdOwo+ID4+IC0KPiA+PiAtCQlpbmZvLT5o ZG1pX2xldmVsX3NoaWZ0ID0gSERNSV9MRVZFTF9TSElGVF9VTktOT1dOOwo+ID4+IC0JfQo+ID4+ ICB9Cj4gPj4gIAo+ID4+ICAvKiBEZWZhdWx0cyB0byBpbml0aWFsaXplIG9ubHkgaWYgdGhlcmUg aXMgbm8gVkJULiAqLwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku Ywo+ID4+IGluZGV4IGM5MTUyMWJjZjA2YS4uZWM1MWY2OTcxYjE2IDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiA+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gPj4gQEAgLTg4OCwxMSArODg4 LDEwIEBAIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgaW50IHR5cGUsIGludCByYXRlLAo+ID4+ICAKPiA+PiAgc3RhdGljIGludCBpbnRl bF9kZGlfaGRtaV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0g cG9ydCBwb3J0KQo+ID4+ICB7Cj4gPj4gKwlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKnBvcnRf aW5mbyA9ICZkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4gPj4gIAlpbnQgbl9l bnRyaWVzLCBsZXZlbCwgZGVmYXVsdF9lbnRyeTsKPiA+PiAgCWVudW0gcGh5IHBoeSA9IGludGVs X3BvcnRfdG9fcGh5KGRldl9wcml2LCBwb3J0KTsKPiA+PiAgCj4gPj4gLQlsZXZlbCA9IGRldl9w cml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XS5oZG1pX2xldmVsX3NoaWZ0Owo+ID4+IC0KPiA+ PiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyKSB7Cj4gPj4gIAkJaWYgKGludGVsX3Bo eV9pc19jb21ibyhkZXZfcHJpdiwgcGh5KSkKPiA+PiAgCQkJaWNsX2dldF9jb21ib19idWZfdHJh bnMoZGV2X3ByaXYsIElOVEVMX09VVFBVVF9IRE1JLAo+ID4+IEBAIC05MjcsMTQgKzkyNiwxOCBA QCBzdGF0aWMgaW50IGludGVsX2RkaV9oZG1pX2xldmVsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcgo+ID4+ICAJCXJldHVybiAwOwo+ID4+ICAJfQo+ID4+ ICAKPiA+PiAtCS8qIENob29zZSBhIGdvb2QgZGVmYXVsdCBpZiBWQlQgaXMgYmFkbHkgcG9wdWxh dGVkICovCj4gPj4gLQlpZiAobGV2ZWwgPT0gSERNSV9MRVZFTF9TSElGVF9VTktOT1dOIHx8IGxl dmVsID49IG5fZW50cmllcykKPiA+PiAtCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Cj4gPj4gLQo+ ID4+ICAJaWYgKFdBUk5fT05fT05DRShuX2VudHJpZXMgPT0gMCkpCj4gPj4gIAkJcmV0dXJuIDA7 Cj4gPj4gLQlpZiAoV0FSTl9PTl9PTkNFKGxldmVsID49IG5fZW50cmllcykpCj4gPj4gLQkJbGV2 ZWwgPSBuX2VudHJpZXMgLSAxOwo+ID4+ICsKPiA+PiArCWlmIChXQVJOX09OX09OQ0UoZGVmYXVs dF9lbnRyeSA+PSBuX2VudHJpZXMpKQo+ID4+ICsJCWRlZmF1bHRfZW50cnkgPSBuX2VudHJpZXMg LSAxOwo+ID4+ICsKPiA+PiArCWlmIChwb3J0X2luZm8tPmhkbWlfbGV2ZWxfc2hpZnRfc2V0ICYm Cj4gPj4gKwkgICAgIVdBUk5fT05fT05DRShwb3J0X2luZm8tPmhkbWlfbGV2ZWxfc2hpZnQgPj0g bl9lbnRyaWVzKSkgewo+ID4+ICsJCWxldmVsID0gcG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0 Owo+ID4+ICsJfSBlbHNlIHsKPiA+PiArCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Cj4gPj4gKwl9 Cj4gPgo+ID4gSSdkIHByb2JhYmx5IHNpbXBsaWZ5IHRoYXQgdG8gc29tZXRoaW5nIGxpa2U6Cj4g Pgo+ID4gaWYgKGxldmVsX3NoaWZ0X3NldCkKPiA+IAlsZXZlbCA9IGxldmVsX3NoaWZ0Owo+ID4g ZWxzZQo+ID4gCWxldmVsID0gZGVmYXVsdDsKPiA+IGlmIChXQVJOX09OX09OQ0UobGV2ZWwgPj0g bl9lbnRyaWVzKSkKPiA+IAlsZXZlbCA9IG5fZW50cmllcyAtIDE7Cj4gCj4gSSB3YW50ZWQgdG8g YWRkIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBkZWZhdWx0X2VudHJ5IGJlaW5nIGJvZ3Vz Cj4gYW5kIHRoZSBWQlQgYmVpbmcgYm9ndXMuCgpBbnkgJ2RlZmF1bHQ+PW5fZW50cmllcycgY2hl Y2sgaXMgZGVhZCBjb2RlIGFueXdheSBzbyB3ZSdkIG5vdApsb3NlIGFueXRoaW5nIHdpdGggdGhl IHNpbXBsZXIgY29kZS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B807C5DF60 for ; Tue, 5 Nov 2019 15:21:13 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3862A21928 for ; Tue, 5 Nov 2019 15:21:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3862A21928 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C93496EAAD; Tue, 5 Nov 2019 15:21:12 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F0E66EAAD for ; Tue, 5 Nov 2019 15:21:10 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Nov 2019 07:21:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,271,1569308400"; d="scan'208";a="232502372" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga002.fm.intel.com with SMTP; 05 Nov 2019 07:21:07 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 05 Nov 2019 17:21:06 +0200 Date: Tue, 5 Nov 2019 17:21:06 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Jani Nikula Message-ID: <20191105152106.GO1208@intel.com> References: <20191105133900.19590-1-jani.nikula@intel.com> <20191105135055.GN1208@intel.com> <87bltq77aa.fsf@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <87bltq77aa.fsf@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH] drm/i915/bios: use a flag for vbt hdmi level shift presence X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191105152106.gBS-fFBDfOYvg3qHiSypV6TNvE6RJCA45jfgBwisFHA@z> T24gVHVlLCBOb3YgMDUsIDIwMTkgYXQgMDM6NTk6NTdQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVHVlLCAwNSBOb3YgMjAxOSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBUdWUsIE5vdiAwNSwgMjAxOSBhdCAwMzoz OTowMFBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+PiBUaGUgcHJlLWluaXRpYWxpemVk IG1hZ2ljIHZhbHVlIGlzIGEgYml0IHNpbGx5LCBzd2l0Y2ggdG8gYSBmbGFnCj4gPj4gaW5zdGVh ZC4gV2hpbGUgYXQgaXQsIGNsZWFuIHVwIHRoZSB2YWxpZGl0eSBjaGVja3MuIE5vIGZ1bmN0aW9u YWwKPiA+PiBjaGFuZ2VzIGFwYXJ0IGZyb20gdGhlIGFkZGVkIGNoZWNrcy4KPiA+PiAKPiA+PiBD YzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4+IC0t LQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYyB8IDEwICst LS0tLS0tLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAg fCAxOSArKysrKysrKysrKy0tLS0tLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICAgIHwgIDggKystLS0tLS0KPiA+PiAgMyBmaWxlcyBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiA+PiAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYwo+ID4+IGluZGV4IGEwM2Y1NmI3YjRlZi4uYzE5YjIz NGJlYmU2IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYmlvcy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9i aW9zLmMKPiA+PiBAQCAtMTUwOSw2ICsxNTA5LDcgQEAgc3RhdGljIHZvaWQgcGFyc2VfZGRpX3Bv cnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICAJCQkgICAgICBwb3J0 X25hbWUocG9ydCksCj4gPj4gIAkJCSAgICAgIGhkbWlfbGV2ZWxfc2hpZnQpOwo+ID4+ICAJCWlu Zm8tPmhkbWlfbGV2ZWxfc2hpZnQgPSBoZG1pX2xldmVsX3NoaWZ0Owo+ID4+ICsJCWluZm8tPmhk bWlfbGV2ZWxfc2hpZnRfc2V0ID0gdHJ1ZTsKPiA+PiAgCX0KPiA+PiAgCj4gPj4gIAlpZiAoYmRi X3ZlcnNpb24gPj0gMjA0KSB7Cj4gPj4gQEAgLTE2OTIsOCArMTY5Myw2IEBAIHBhcnNlX2dlbmVy YWxfZGVmaW5pdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICBz dGF0aWMgdm9pZAo+ID4+ICBpbml0X3ZidF9kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPj4gIHsKPiA+PiAtCWVudW0gcG9ydCBwb3J0Owo+ID4+IC0KPiA+PiAg CWRldl9wcml2LT52YnQuY3J0X2RkY19waW4gPSBHTUJVU19QSU5fVkdBRERDOwo+ID4+ICAKPiA+ PiAgCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJhY2tsaWdodCAqLwo+ID4+IEBAIC0xNzIxLDEzICsx NzIwLDYgQEAgaW5pdF92YnRfZGVmYXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ID4+ICAJZGV2X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxID0gaW50ZWxfYmlvc19zc2Nf ZnJlcXVlbmN5KGRldl9wcml2LAo+ID4+ICAJCQkhSEFTX1BDSF9TUExJVChkZXZfcHJpdikpOwo+ ID4+ICAJRFJNX0RFQlVHX0tNUygiU2V0IGRlZmF1bHQgdG8gU1NDIGF0ICVkIGtIelxuIiwgZGV2 X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxKTsKPiA+PiAtCj4gPj4gLQlmb3JfZWFjaF9wb3J0KHBv cnQpIHsKPiA+PiAtCQlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+ID4+IC0JCQkm ZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdOwo+ID4+IC0KPiA+PiAtCQlpbmZvLT5o ZG1pX2xldmVsX3NoaWZ0ID0gSERNSV9MRVZFTF9TSElGVF9VTktOT1dOOwo+ID4+IC0JfQo+ID4+ ICB9Cj4gPj4gIAo+ID4+ICAvKiBEZWZhdWx0cyB0byBpbml0aWFsaXplIG9ubHkgaWYgdGhlcmUg aXMgbm8gVkJULiAqLwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku Ywo+ID4+IGluZGV4IGM5MTUyMWJjZjA2YS4uZWM1MWY2OTcxYjE2IDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiA+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gPj4gQEAgLTg4OCwxMSArODg4 LDEwIEBAIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgaW50IHR5cGUsIGludCByYXRlLAo+ID4+ICAKPiA+PiAgc3RhdGljIGludCBpbnRl bF9kZGlfaGRtaV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0g cG9ydCBwb3J0KQo+ID4+ICB7Cj4gPj4gKwlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKnBvcnRf aW5mbyA9ICZkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4gPj4gIAlpbnQgbl9l bnRyaWVzLCBsZXZlbCwgZGVmYXVsdF9lbnRyeTsKPiA+PiAgCWVudW0gcGh5IHBoeSA9IGludGVs X3BvcnRfdG9fcGh5KGRldl9wcml2LCBwb3J0KTsKPiA+PiAgCj4gPj4gLQlsZXZlbCA9IGRldl9w cml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XS5oZG1pX2xldmVsX3NoaWZ0Owo+ID4+IC0KPiA+ PiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyKSB7Cj4gPj4gIAkJaWYgKGludGVsX3Bo eV9pc19jb21ibyhkZXZfcHJpdiwgcGh5KSkKPiA+PiAgCQkJaWNsX2dldF9jb21ib19idWZfdHJh bnMoZGV2X3ByaXYsIElOVEVMX09VVFBVVF9IRE1JLAo+ID4+IEBAIC05MjcsMTQgKzkyNiwxOCBA QCBzdGF0aWMgaW50IGludGVsX2RkaV9oZG1pX2xldmVsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcgo+ID4+ICAJCXJldHVybiAwOwo+ID4+ICAJfQo+ID4+ ICAKPiA+PiAtCS8qIENob29zZSBhIGdvb2QgZGVmYXVsdCBpZiBWQlQgaXMgYmFkbHkgcG9wdWxh dGVkICovCj4gPj4gLQlpZiAobGV2ZWwgPT0gSERNSV9MRVZFTF9TSElGVF9VTktOT1dOIHx8IGxl dmVsID49IG5fZW50cmllcykKPiA+PiAtCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Cj4gPj4gLQo+ ID4+ICAJaWYgKFdBUk5fT05fT05DRShuX2VudHJpZXMgPT0gMCkpCj4gPj4gIAkJcmV0dXJuIDA7 Cj4gPj4gLQlpZiAoV0FSTl9PTl9PTkNFKGxldmVsID49IG5fZW50cmllcykpCj4gPj4gLQkJbGV2 ZWwgPSBuX2VudHJpZXMgLSAxOwo+ID4+ICsKPiA+PiArCWlmIChXQVJOX09OX09OQ0UoZGVmYXVs dF9lbnRyeSA+PSBuX2VudHJpZXMpKQo+ID4+ICsJCWRlZmF1bHRfZW50cnkgPSBuX2VudHJpZXMg LSAxOwo+ID4+ICsKPiA+PiArCWlmIChwb3J0X2luZm8tPmhkbWlfbGV2ZWxfc2hpZnRfc2V0ICYm Cj4gPj4gKwkgICAgIVdBUk5fT05fT05DRShwb3J0X2luZm8tPmhkbWlfbGV2ZWxfc2hpZnQgPj0g bl9lbnRyaWVzKSkgewo+ID4+ICsJCWxldmVsID0gcG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0 Owo+ID4+ICsJfSBlbHNlIHsKPiA+PiArCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Cj4gPj4gKwl9 Cj4gPgo+ID4gSSdkIHByb2JhYmx5IHNpbXBsaWZ5IHRoYXQgdG8gc29tZXRoaW5nIGxpa2U6Cj4g Pgo+ID4gaWYgKGxldmVsX3NoaWZ0X3NldCkKPiA+IAlsZXZlbCA9IGxldmVsX3NoaWZ0Owo+ID4g ZWxzZQo+ID4gCWxldmVsID0gZGVmYXVsdDsKPiA+IGlmIChXQVJOX09OX09OQ0UobGV2ZWwgPj0g bl9lbnRyaWVzKSkKPiA+IAlsZXZlbCA9IG5fZW50cmllcyAtIDE7Cj4gCj4gSSB3YW50ZWQgdG8g YWRkIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBkZWZhdWx0X2VudHJ5IGJlaW5nIGJvZ3Vz Cj4gYW5kIHRoZSBWQlQgYmVpbmcgYm9ndXMuCgpBbnkgJ2RlZmF1bHQ+PW5fZW50cmllcycgY2hl Y2sgaXMgZGVhZCBjb2RlIGFueXdheSBzbyB3ZSdkIG5vdApsb3NlIGFueXRoaW5nIHdpdGggdGhl IHNpbXBsZXIgY29kZS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4