From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH 1/4] drm/i915/bios: use a flag for vbt hdmi level shift presence Date: Tue, 29 Oct 2019 17:39:27 +0200 Message-ID: <20191029153930.27103-1-jani.nikula@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 D13486E445 for ; Tue, 29 Oct 2019 15:39:40 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org VGhlIHByZS1pbml0aWFsaXplZCBtYWdpYyB2YWx1ZSBpcyBhIGJpdCBzaWxseSwgc3dpdGNoIHRv IGEgZmxhZwppbnN0ZWFkLiBXaGlsZSBhdCBpdCwgY2xlYW4gdXAgdGhlIHZhbGlkaXR5IGNoZWNr cy4gTm8gZnVuY3Rpb25hbApjaGFuZ2VzIGFwYXJ0IGZyb20gdGhlIGFkZGVkIGNoZWNrcy4KCkNj OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIHwgMTAgKy0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgfCAxOSArKysrKysrKysrKy0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICB8ICA4ICsrLS0t LS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMKaW5kZXggNjNjMWJkNGMy OTU0Li41Yzc4ZjUyYmU5YjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf Ymlvcy5jCkBAIC0xNTA5LDYgKzE1MDksNyBAQCBzdGF0aWMgdm9pZCBwYXJzZV9kZGlfcG9ydChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICBwb3J0X25hbWUocG9y dCksCiAJCQkgICAgICBoZG1pX2xldmVsX3NoaWZ0KTsKIAkJaW5mby0+aGRtaV9sZXZlbF9zaGlm dCA9IGhkbWlfbGV2ZWxfc2hpZnQ7CisJCWluZm8tPmhkbWlfbGV2ZWxfc2hpZnRfc2V0ID0gdHJ1 ZTsKIAl9CiAKIAlpZiAoYmRiX3ZlcnNpb24gPj0gMjA0KSB7CkBAIC0xNjkyLDggKzE2OTMsNiBA QCBwYXJzZV9nZW5lcmFsX2RlZmluaXRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIHN0YXRpYyB2b2lkCiBpbml0X3ZidF9kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0JZW51bSBwb3J0IHBvcnQ7Ci0KIAlkZXZfcHJpdi0+dmJ0LmNy dF9kZGNfcGluID0gR01CVVNfUElOX1ZHQUREQzsKIAogCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJh Y2tsaWdodCAqLwpAQCAtMTcyMSwxMyArMTcyMCw2IEBAIGluaXRfdmJ0X2RlZmF1bHRzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+dmJ0Lmx2ZHNfc3NjX2Zy ZXEgPSBpbnRlbF9iaW9zX3NzY19mcmVxdWVuY3koZGV2X3ByaXYsCiAJCQkhSEFTX1BDSF9TUExJ VChkZXZfcHJpdikpOwogCURSTV9ERUJVR19LTVMoIlNldCBkZWZhdWx0IHRvIFNTQyBhdCAlZCBr SHpcbiIsIGRldl9wcml2LT52YnQubHZkc19zc2NfZnJlcSk7Ci0KLQlmb3IgKHBvcnQgPSBQT1JU X0E7IHBvcnQgPCBJOTE1X01BWF9QT1JUUzsgcG9ydCsrKSB7Ci0JCXN0cnVjdCBkZGlfdmJ0X3Bv cnRfaW5mbyAqaW5mbyA9Ci0JCQkmZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdOwot Ci0JCWluZm8tPmhkbWlfbGV2ZWxfc2hpZnQgPSBIRE1JX0xFVkVMX1NISUZUX1VOS05PV047Ci0J fQogfQogCiAvKiBEZWZhdWx0cyB0byBpbml0aWFsaXplIG9ubHkgaWYgdGhlcmUgaXMgbm8gVkJU LiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKaW5kZXggMjgxNTk0 YmNiZmFlLi45ZTAwYTZkNmI3ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kZGkuYwpAQCAtODg4LDExICs4ODgsMTAgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdHlwZSwgaW50IHJhdGUsCiAKIHN0 YXRpYyBpbnQgaW50ZWxfZGRpX2hkbWlfbGV2ZWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKIHsKKwlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKnBv cnRfaW5mbyA9ICZkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07CiAJaW50IG5fZW50 cmllcywgbGV2ZWwsIGRlZmF1bHRfZW50cnk7CiAJZW51bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90 b19waHkoZGV2X3ByaXYsIHBvcnQpOwogCi0JbGV2ZWwgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0 X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9zaGlmdDsKLQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDEyKSB7CiAJCWlmIChpbnRlbF9waHlfaXNfY29tYm8oZGV2X3ByaXYsIHBoeSkpCiAJCQlp Y2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhkZXZfcHJpdiwgSU5URUxfT1VUUFVUX0hETUksCkBAIC05 MjcsMTQgKzkyNiwxOCBAQCBzdGF0aWMgaW50IGludGVsX2RkaV9oZG1pX2xldmVsKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcgogCQlyZXR1cm4gMDsKIAl9 CiAKLQkvKiBDaG9vc2UgYSBnb29kIGRlZmF1bHQgaWYgVkJUIGlzIGJhZGx5IHBvcHVsYXRlZCAq LwotCWlmIChsZXZlbCA9PSBIRE1JX0xFVkVMX1NISUZUX1VOS05PV04gfHwgbGV2ZWwgPj0gbl9l bnRyaWVzKQotCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Ci0KIAlpZiAoV0FSTl9PTl9PTkNFKG5f ZW50cmllcyA9PSAwKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKFdBUk5fT05fT05DRShsZXZlbCA+PSBu X2VudHJpZXMpKQotCQlsZXZlbCA9IG5fZW50cmllcyAtIDE7CisKKwlpZiAoV0FSTl9PTl9PTkNF KGRlZmF1bHRfZW50cnkgPj0gbl9lbnRyaWVzKSkKKwkJZGVmYXVsdF9lbnRyeSA9IG5fZW50cmll cyAtIDE7CisKKwlpZiAocG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0X3NldCAmJgorCSAgICAh V0FSTl9PTl9PTkNFKHBvcnRfaW5mby0+aGRtaV9sZXZlbF9zaGlmdCA+PSBuX2VudHJpZXMpKSB7 CisJCWxldmVsID0gcG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0OworCX0gZWxzZSB7CisJCWxl dmVsID0gZGVmYXVsdF9lbnRyeTsKKwl9CiAKIAlyZXR1cm4gbGV2ZWw7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCBhMjJkOTY5Y2IzNTIuLjlmYWY1Y2I2YmZhYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC02MjcsMTMgKzYyNyw5IEBAIHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5m byB7CiAKIAlpbnQgbWF4X3RtZHNfY2xvY2s7CiAKLQkvKgotCSAqIFRoaXMgaXMgYW4gaW5kZXgg aW4gdGhlIEhETUkvRFZJIERESSBidWZmZXIgdHJhbnNsYXRpb24gdGFibGUuCi0JICogVGhlIHNw ZWNpYWwgdmFsdWUgSERNSV9MRVZFTF9TSElGVF9VTktOT1dOIG1lYW5zIHRoZSBWQlQgZGlkbid0 Ci0JICogcG9wdWxhdGUgdGhpcyBmaWVsZC4KLQkgKi8KLSNkZWZpbmUgSERNSV9MRVZFTF9TSElG VF9VTktOT1dOCTB4ZmYKKwkvKiBUaGlzIGlzIGFuIGluZGV4IGluIHRoZSBIRE1JL0RWSSBEREkg YnVmZmVyIHRyYW5zbGF0aW9uIHRhYmxlLiAqLwogCXU4IGhkbWlfbGV2ZWxfc2hpZnQ7CisJdTgg aGRtaV9sZXZlbF9zaGlmdF9zZXQ6MTsKIAogCXU4IHN1cHBvcnRzX2R2aToxOwogCXU4IHN1cHBv cnRzX2hkbWk6MTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4 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=-9.7 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_GIT 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 31B99CA9EAE for ; Tue, 29 Oct 2019 15:39:42 +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 0AA0020874 for ; Tue, 29 Oct 2019 15:39:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0AA0020874 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 7BF2B6E445; Tue, 29 Oct 2019 15:39:41 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D13486E445 for ; Tue, 29 Oct 2019 15:39:40 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Oct 2019 08:39:39 -0700 X-IronPort-AV: E=Sophos;i="5.68,244,1569308400"; d="scan'208";a="193644974" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Oct 2019 08:39:37 -0700 From: Jani Nikula To: intel-gfx@lists.freedesktop.org Date: Tue, 29 Oct 2019 17:39:27 +0200 Message-Id: <20191029153930.27103-1-jani.nikula@intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Subject: [Intel-gfx] [PATCH 1/4] 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: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191029153927.lwke6eGMb90WF6rWtza2gx-iu-2x8QojtPUTy_xnWGA@z> VGhlIHByZS1pbml0aWFsaXplZCBtYWdpYyB2YWx1ZSBpcyBhIGJpdCBzaWxseSwgc3dpdGNoIHRv IGEgZmxhZwppbnN0ZWFkLiBXaGlsZSBhdCBpdCwgY2xlYW4gdXAgdGhlIHZhbGlkaXR5IGNoZWNr cy4gTm8gZnVuY3Rpb25hbApjaGFuZ2VzIGFwYXJ0IGZyb20gdGhlIGFkZGVkIGNoZWNrcy4KCkNj OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIHwgMTAgKy0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgfCAxOSArKysrKysrKysrKy0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICB8ICA4ICsrLS0t LS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMKaW5kZXggNjNjMWJkNGMy OTU0Li41Yzc4ZjUyYmU5YjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf Ymlvcy5jCkBAIC0xNTA5LDYgKzE1MDksNyBAQCBzdGF0aWMgdm9pZCBwYXJzZV9kZGlfcG9ydChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICBwb3J0X25hbWUocG9y dCksCiAJCQkgICAgICBoZG1pX2xldmVsX3NoaWZ0KTsKIAkJaW5mby0+aGRtaV9sZXZlbF9zaGlm dCA9IGhkbWlfbGV2ZWxfc2hpZnQ7CisJCWluZm8tPmhkbWlfbGV2ZWxfc2hpZnRfc2V0ID0gdHJ1 ZTsKIAl9CiAKIAlpZiAoYmRiX3ZlcnNpb24gPj0gMjA0KSB7CkBAIC0xNjkyLDggKzE2OTMsNiBA QCBwYXJzZV9nZW5lcmFsX2RlZmluaXRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIHN0YXRpYyB2b2lkCiBpbml0X3ZidF9kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0JZW51bSBwb3J0IHBvcnQ7Ci0KIAlkZXZfcHJpdi0+dmJ0LmNy dF9kZGNfcGluID0gR01CVVNfUElOX1ZHQUREQzsKIAogCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJh Y2tsaWdodCAqLwpAQCAtMTcyMSwxMyArMTcyMCw2IEBAIGluaXRfdmJ0X2RlZmF1bHRzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+dmJ0Lmx2ZHNfc3NjX2Zy ZXEgPSBpbnRlbF9iaW9zX3NzY19mcmVxdWVuY3koZGV2X3ByaXYsCiAJCQkhSEFTX1BDSF9TUExJ VChkZXZfcHJpdikpOwogCURSTV9ERUJVR19LTVMoIlNldCBkZWZhdWx0IHRvIFNTQyBhdCAlZCBr SHpcbiIsIGRldl9wcml2LT52YnQubHZkc19zc2NfZnJlcSk7Ci0KLQlmb3IgKHBvcnQgPSBQT1JU X0E7IHBvcnQgPCBJOTE1X01BWF9QT1JUUzsgcG9ydCsrKSB7Ci0JCXN0cnVjdCBkZGlfdmJ0X3Bv cnRfaW5mbyAqaW5mbyA9Ci0JCQkmZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdOwot Ci0JCWluZm8tPmhkbWlfbGV2ZWxfc2hpZnQgPSBIRE1JX0xFVkVMX1NISUZUX1VOS05PV047Ci0J fQogfQogCiAvKiBEZWZhdWx0cyB0byBpbml0aWFsaXplIG9ubHkgaWYgdGhlcmUgaXMgbm8gVkJU LiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKaW5kZXggMjgxNTk0 YmNiZmFlLi45ZTAwYTZkNmI3ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kZGkuYwpAQCAtODg4LDExICs4ODgsMTAgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgdHlwZSwgaW50IHJhdGUsCiAKIHN0 YXRpYyBpbnQgaW50ZWxfZGRpX2hkbWlfbGV2ZWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKIHsKKwlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKnBv cnRfaW5mbyA9ICZkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07CiAJaW50IG5fZW50 cmllcywgbGV2ZWwsIGRlZmF1bHRfZW50cnk7CiAJZW51bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90 b19waHkoZGV2X3ByaXYsIHBvcnQpOwogCi0JbGV2ZWwgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0 X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9zaGlmdDsKLQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDEyKSB7CiAJCWlmIChpbnRlbF9waHlfaXNfY29tYm8oZGV2X3ByaXYsIHBoeSkpCiAJCQlp Y2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhkZXZfcHJpdiwgSU5URUxfT1VUUFVUX0hETUksCkBAIC05 MjcsMTQgKzkyNiwxOCBAQCBzdGF0aWMgaW50IGludGVsX2RkaV9oZG1pX2xldmVsKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcgogCQlyZXR1cm4gMDsKIAl9 CiAKLQkvKiBDaG9vc2UgYSBnb29kIGRlZmF1bHQgaWYgVkJUIGlzIGJhZGx5IHBvcHVsYXRlZCAq LwotCWlmIChsZXZlbCA9PSBIRE1JX0xFVkVMX1NISUZUX1VOS05PV04gfHwgbGV2ZWwgPj0gbl9l bnRyaWVzKQotCQlsZXZlbCA9IGRlZmF1bHRfZW50cnk7Ci0KIAlpZiAoV0FSTl9PTl9PTkNFKG5f ZW50cmllcyA9PSAwKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKFdBUk5fT05fT05DRShsZXZlbCA+PSBu X2VudHJpZXMpKQotCQlsZXZlbCA9IG5fZW50cmllcyAtIDE7CisKKwlpZiAoV0FSTl9PTl9PTkNF KGRlZmF1bHRfZW50cnkgPj0gbl9lbnRyaWVzKSkKKwkJZGVmYXVsdF9lbnRyeSA9IG5fZW50cmll cyAtIDE7CisKKwlpZiAocG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0X3NldCAmJgorCSAgICAh V0FSTl9PTl9PTkNFKHBvcnRfaW5mby0+aGRtaV9sZXZlbF9zaGlmdCA+PSBuX2VudHJpZXMpKSB7 CisJCWxldmVsID0gcG9ydF9pbmZvLT5oZG1pX2xldmVsX3NoaWZ0OworCX0gZWxzZSB7CisJCWxl dmVsID0gZGVmYXVsdF9lbnRyeTsKKwl9CiAKIAlyZXR1cm4gbGV2ZWw7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCBhMjJkOTY5Y2IzNTIuLjlmYWY1Y2I2YmZhYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC02MjcsMTMgKzYyNyw5IEBAIHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5m byB7CiAKIAlpbnQgbWF4X3RtZHNfY2xvY2s7CiAKLQkvKgotCSAqIFRoaXMgaXMgYW4gaW5kZXgg aW4gdGhlIEhETUkvRFZJIERESSBidWZmZXIgdHJhbnNsYXRpb24gdGFibGUuCi0JICogVGhlIHNw ZWNpYWwgdmFsdWUgSERNSV9MRVZFTF9TSElGVF9VTktOT1dOIG1lYW5zIHRoZSBWQlQgZGlkbid0 Ci0JICogcG9wdWxhdGUgdGhpcyBmaWVsZC4KLQkgKi8KLSNkZWZpbmUgSERNSV9MRVZFTF9TSElG VF9VTktOT1dOCTB4ZmYKKwkvKiBUaGlzIGlzIGFuIGluZGV4IGluIHRoZSBIRE1JL0RWSSBEREkg YnVmZmVyIHRyYW5zbGF0aW9uIHRhYmxlLiAqLwogCXU4IGhkbWlfbGV2ZWxfc2hpZnQ7CisJdTgg aGRtaV9sZXZlbF9zaGlmdF9zZXQ6MTsKIAogCXU4IHN1cHBvcnRzX2R2aToxOwogCXU4IHN1cHBv cnRzX2hkbWk6MTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4