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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,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 294A1C10DCE for ; Fri, 13 Mar 2020 16:48:46 +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 04C1C206E7 for ; Fri, 13 Mar 2020 16:48:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04C1C206E7 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 76A3D6EC26; Fri, 13 Mar 2020 16:48:45 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7EAC36EC24 for ; Fri, 13 Mar 2020 16:48:41 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Mar 2020 09:48:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,549,1574150400"; d="scan'208";a="278288741" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga002.fm.intel.com with SMTP; 13 Mar 2020 09:48:38 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 13 Mar 2020 18:48:38 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Fri, 13 Mar 2020 18:48:20 +0200 Message-Id: <20200313164831.5980-3-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200313164831.5980-1-ville.syrjala@linux.intel.com> References: <20200313164831.5980-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 02/13] drm/i915: Move TRANS_DDI_FUNC_CTL2 programming where it belongs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo aXMgcG9ydCBzeW5jIGVuYWJsZS9kaXNhYmxlIHN0dWZmIGlzIG1pc3BsYWNlZC4gSXQncyBqdXN0 IGFub3RoZXIgc3RlcApvZiB0aGUgbm9ybWFsIFRSQU5TX0RESV9GVU5DX0NUTCBlbmFibGUuIE1v dmUgaXQgdG8gaXRzIG5hdHVyYWwgcGxhY2UuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgIHwgNzEgKysrKysrKysrKystLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMzQgLS0tLS0tLS0t LQogMiBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwppbmRleCA3M2QwZjQ2NDhjMDYu LjhkNDg2MjgyZWVhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5j CkBAIC0xNTU4LDEyICsxNTU4LDM0IEBAIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVy X2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1 X3RyYW5zY29kZXI7Ci0JdTMyIHRlbXA7CisJdTMyIGN0bDsKIAotCXRlbXAgPSBpbnRlbF9kZGlf dHJhbnNjb2Rlcl9mdW5jX3JlZ192YWxfZ2V0KGNydGNfc3RhdGUpOworCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExKSB7CisJCWVudW0gdHJhbnNjb2RlciBtYXN0ZXJfdHJhbnNjb2RlciA9 IGNydGNfc3RhdGUtPm1hc3Rlcl90cmFuc2NvZGVyOworCQl1MzIgY3RsMiA9IDA7CisKKwkJaWYg KG1hc3Rlcl90cmFuc2NvZGVyICE9IElOVkFMSURfVFJBTlNDT0RFUikgeworCQkJdTggbWFzdGVy X3NlbGVjdDsKKworCQkJaWYgKG1hc3Rlcl90cmFuc2NvZGVyID09IFRSQU5TQ09ERVJfRURQKQor CQkJCW1hc3Rlcl9zZWxlY3QgPSAwOworCQkJZWxzZQorCQkJCW1hc3Rlcl9zZWxlY3QgPSBtYXN0 ZXJfdHJhbnNjb2RlciArIDE7CisKKwkJCWN0bDIgfD0gUE9SVF9TWU5DX01PREVfRU5BQkxFIHwK KwkJCQkoUE9SVF9TWU5DX01PREVfTUFTVEVSX1NFTEVDVChtYXN0ZXJfc2VsZWN0KSAmCisJCQkJ IFBPUlRfU1lOQ19NT0RFX01BU1RFUl9TRUxFQ1RfTUFTSykgPDwKKwkJCQlQT1JUX1NZTkNfTU9E RV9NQVNURVJfU0VMRUNUX1NISUZUOworCQl9CisKKwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYs CisJCQkgICAgICAgVFJBTlNfRERJX0ZVTkNfQ1RMMihjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rl ciksIGN0bDIpOworCX0KKworCWN0bCA9IGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVnX3Zh bF9nZXQoY3J0Y19zdGF0ZSk7CiAJaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwg SU5URUxfT1VUUFVUX0RQX01TVCkpCi0JCXRlbXAgfD0gVFJBTlNfRERJX0RQX1ZDX1BBWUxPQURf QUxMT0M7Ci0JaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFRSQU5TX0RESV9GVU5DX0NUTChjcHVf dHJhbnNjb2RlciksIHRlbXApOworCQljdGwgfD0gVFJBTlNfRERJX0RQX1ZDX1BBWUxPQURfQUxM T0M7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJh bnNjb2RlciksIGN0bCk7CiB9CiAKIC8qCkBAIC0xNTc2LDExICsxNTk4LDExIEBAIGludGVsX2Rk aV9jb25maWdfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2Rl ciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwotCXUzMiB0ZW1wOworCXUzMiBjdGw7CiAK LQl0ZW1wID0gaW50ZWxfZGRpX3RyYW5zY29kZXJfZnVuY19yZWdfdmFsX2dldChjcnRjX3N0YXRl KTsKLQl0ZW1wICY9IH5UUkFOU19ERElfRlVOQ19FTkFCTEU7Ci0JaW50ZWxfZGVfd3JpdGUoZGV2 X3ByaXYsIFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIHRlbXApOworCWN0bCA9 IGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVnX3ZhbF9nZXQoY3J0Y19zdGF0ZSk7CisJY3Rs ICY9IH5UUkFOU19ERElfRlVOQ19FTkFCTEU7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFRS QU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIGN0bCk7CiB9CiAKIHZvaWQgaW50ZWxf ZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQpAQCAtMTU4OCwyMCArMTYxMCwyMyBAQCB2b2lkIGludGVsX2RkaV9kaXNh YmxlX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZQogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNy dGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwotCXUzMiB2YWw7CisJdTMyIGN0bDsKIAotCXZhbCA9 IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2Rl cikpOwotCXZhbCAmPSB+VFJBTlNfRERJX0ZVTkNfRU5BQkxFOworCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDExKQorCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgVFJBTlNfRERJX0ZVTkNf Q1RMMihjcHVfdHJhbnNjb2RlciksIDApOworCisJY3RsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJp diwgVFJBTlNfRERJX0ZVTkNfQ1RMKGNwdV90cmFuc2NvZGVyKSk7CisJY3RsICY9IH5UUkFOU19E RElfRlVOQ19FTkFCTEU7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMikgewogCQlp ZiAoIWludGVsX2RwX21zdF9pc19tYXN0ZXJfdHJhbnMoY3J0Y19zdGF0ZSkpIHsKLQkJCXZhbCAm PSB+KFRHTF9UUkFOU19ERElfUE9SVF9NQVNLIHwKKwkJCWN0bCAmPSB+KFRHTF9UUkFOU19ERElf UE9SVF9NQVNLIHwKIAkJCQkgVFJBTlNfRERJX01PREVfU0VMRUNUX01BU0spOwogCQl9CiAJfSBl bHNlIHsKLQkJdmFsICY9IH4oVFJBTlNfRERJX1BPUlRfTUFTSyB8IFRSQU5TX0RESV9NT0RFX1NF TEVDVF9NQVNLKTsKKwkJY3RsICY9IH4oVFJBTlNfRERJX1BPUlRfTUFTSyB8IFRSQU5TX0RESV9N T0RFX1NFTEVDVF9NQVNLKTsKIAl9Ci0JaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFRSQU5TX0RE SV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIHZhbCk7CisJaW50ZWxfZGVfd3JpdGUoZGV2X3By aXYsIFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIGN0bCk7CiAKIAlpZiAoZGV2 X3ByaXYtPnF1aXJrcyAmIFFVSVJLX0lOQ1JFQVNFX0RESV9ESVNBQkxFRF9USU1FICYmCiAJICAg IGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKSB7CkBA IC0zNDA1LDIxICszNDMwLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9o ZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWludGVsX2RwX2R1YWxfbW9kZV9z ZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgZmFsc2UpOwogfQogCi1zdGF0aWMgdm9pZCBpY2xf ZGlzYWJsZV90cmFuc2NvZGVyX3BvcnRfc3luYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwotCi0JaWYgKG9sZF9jcnRj X3N0YXRlLT5tYXN0ZXJfdHJhbnNjb2RlciA9PSBJTlZBTElEX1RSQU5TQ09ERVIpCi0JCXJldHVy bjsKLQotCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyBUcmFuc2NvZGVyIFBvcnQgU3luYyBvbiBT bGF2ZSBUcmFuc2NvZGVyICVzXG4iLAotCQkgICAgICB0cmFuc2NvZGVyX25hbWUob2xkX2NydGNf c3RhdGUtPmNwdV90cmFuc2NvZGVyKSk7Ci0KLQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwKLQkJ ICAgICAgIFRSQU5TX0RESV9GVU5DX0NUTDIob2xkX2NydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVy KSwgMCk7Ci19Ci0KIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpvbGRfY29ubl9zdGF0ZSkKQEAgLTM0MzQsOSArMzQ0NCw2IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAkJ aW50ZWxfZGlzYWJsZV9waXBlKG9sZF9jcnRjX3N0YXRlKTsKIAotCQlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMSkKLQkJCWljbF9kaXNhYmxlX3RyYW5zY29kZXJfcG9ydF9zeW5jKG9sZF9j cnRjX3N0YXRlKTsKLQogCQlpbnRlbF9kZGlfZGlzYWJsZV90cmFuc2NvZGVyX2Z1bmMob2xkX2Ny dGNfc3RhdGUpOwogCiAJCWludGVsX2RzY19kaXNhYmxlKG9sZF9jcnRjX3N0YXRlKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggOGYyM2M0ZDUx YzMzLi5jNDliNGU2ZWIzZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCkBAIC00OTk4LDM3ICs0OTk4LDYgQEAgc3RhdGljIHZvaWQgaWNsX3NldF9w aXBlX2NoaWNrZW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJaW50ZWxfZGVfd3JpdGUoZGV2 X3ByaXYsIFBJUEVfQ0hJQ0tFTihwaXBlKSwgdG1wKTsKIH0KIAotc3RhdGljIHZvaWQgaWNsX2Vu YWJsZV90cmFuc19wb3J0X3N5bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtPnVhcGkuY3J0Yyk7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5iYXNlLmRldik7Ci0JdTMyIHRyYW5zX2RkaV9mdW5jX2N0bDJfdmFsOwot CXU4IG1hc3Rlcl9zZWxlY3Q7Ci0KLQkvKgotCSAqIENvbmZpZ3VyZSB0aGUgbWFzdGVyIHNlbGVj dCBhbmQgZW5hYmxlIFRyYW5zY29kZXIgUG9ydCBTeW5jIGZvcgotCSAqIFNsYXZlIENSVENzIHRy YW5zY29kZXIuCi0JICovCi0JaWYgKGNydGNfc3RhdGUtPm1hc3Rlcl90cmFuc2NvZGVyID09IElO VkFMSURfVFJBTlNDT0RFUikKLQkJcmV0dXJuOwotCi0JaWYgKGNydGNfc3RhdGUtPm1hc3Rlcl90 cmFuc2NvZGVyID09IFRSQU5TQ09ERVJfRURQKQotCQltYXN0ZXJfc2VsZWN0ID0gMDsKLQllbHNl Ci0JCW1hc3Rlcl9zZWxlY3QgPSBjcnRjX3N0YXRlLT5tYXN0ZXJfdHJhbnNjb2RlciArIDE7Ci0K LQkvKiBTZXQgdGhlIG1hc3RlciBzZWxlY3QgYml0cyBmb3IgVHJhbmFzY29kZXIgUG9ydCBTeW5j ICovCi0JdHJhbnNfZGRpX2Z1bmNfY3RsMl92YWwgPSAoUE9SVF9TWU5DX01PREVfTUFTVEVSX1NF TEVDVChtYXN0ZXJfc2VsZWN0KSAmCi0JCQkJICAgUE9SVF9TWU5DX01PREVfTUFTVEVSX1NFTEVD VF9NQVNLKSA8PAotCQlQT1JUX1NZTkNfTU9ERV9NQVNURVJfU0VMRUNUX1NISUZUOwotCS8qIEVu YWJsZSBUcmFuc2NvZGVyIFBvcnQgU3luYyAqLwotCXRyYW5zX2RkaV9mdW5jX2N0bDJfdmFsIHw9 IFBPUlRfU1lOQ19NT0RFX0VOQUJMRTsKLQotCWludGVsX2RlX3dyaXRlKGRldl9wcml2LAotCQkg ICAgICAgVFJBTlNfRERJX0ZVTkNfQ1RMMihjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlciksCi0J CSAgICAgICB0cmFuc19kZGlfZnVuY19jdGwyX3ZhbCk7Ci19Ci0KIHN0YXRpYyB2b2lkIGludGVs X2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwpAQCAtNzAzNyw5ICs3MDA2LDYgQEAgc3Rh dGljIHZvaWQgaHN3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl LAogCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQogCQlpbnRlbF9zZXRf cGlwZV90aW1pbmdzKG5ld19jcnRjX3N0YXRlKTsKIAotCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDExKQotCQlpY2xfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhuZXdfY3J0Y19zdGF0ZSk7Ci0K IAlpbnRlbF9zZXRfcGlwZV9zcmNfc2l6ZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoY3B1X3Ry YW5zY29kZXIgIT0gVFJBTlNDT0RFUl9FRFAgJiYKLS0gCjIuMjQuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==