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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 0A318C433DB for ; Wed, 20 Jan 2021 15:15:17 +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 95DE52336D for ; Wed, 20 Jan 2021 15:15:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 95DE52336D 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 2D10689A7A; Wed, 20 Jan 2021 15:15:14 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id B792F89A4B for ; Wed, 20 Jan 2021 15:15:13 +0000 (UTC) IronPort-SDR: Cz9U/zPmHwb8oeOwatBya8IWB0VHxh91D0Tw9uK6v1CB3XeRGc51oPvyt8wTBXR5MzPPLT/E4u PFGvMFfxY79g== X-IronPort-AV: E=McAfee;i="6000,8403,9870"; a="263931250" X-IronPort-AV: E=Sophos;i="5.79,361,1602572400"; d="scan'208";a="263931250" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2021 07:15:13 -0800 IronPort-SDR: SMu8vAW4fyvAUdkDHzqw7n+5581d8AsR2LlkwqEGgMalCSV+UXneImsISwZgXDaXROMFZLNfgZ /SodUMoAtI5g== X-IronPort-AV: E=Sophos;i="5.79,361,1602572400"; d="scan'208";a="366274433" Received: from kuhongje-mobl5.amr.corp.intel.com (HELO josouza-mobl2.intel.com) ([10.251.145.99]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2021 07:15:11 -0800 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Wed, 20 Jan 2021 07:16:09 -0800 Message-Id: <20210120151611.132591-2-jose.souza@intel.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120151611.132591-1-jose.souza@intel.com> References: <20210120151611.132591-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 2/4] drm/i915/gen11+: Only load DRAM information from pcode 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" VXAgdG8gbm93IHdlIHdlcmUgcmVhZGluZyBzb21lIERSQU0gaW5mb3JtYXRpb24gZnJvbSBNQ0hC QVIgcmVnaXN0ZXIKYW5kIGZyb20gcGNvZGUgd2hhdCBpcyBhbHJlYWR5IG5vdCBnb29kIGJ1dCBz b21lIEdFTjEyKFRHTC1IIGFuZCBBREwtUykKcGxhdGZvcm1zIGhhdmUgTUNIQkFSIERSQU0gaW5m b3JtYXRpb24gaW4gZGlmZmVyZW50IG9mZnNldHMuCgpUaGlzIHdhcyBub3RpZmllZCB0byBIVyB0 ZWFtIHRoYXQgZGVjaWRlZCB0aGF0IHRoZSBiZXN0IGFsdGVybmF0aXZlIGlzCmFsd2F5cyBhcHBs eSB0aGUgMTZnYl9kaW1tIHdhdGVybWFyayBhZGp1c3RtZW50IGZvciBHRU4xMisgcGxhdGZvcm1z CmFuZCByZWFkIHRoZSByZW1hbmluZyBEUkFNIGluZm9ybWF0aW9uIG5lZWRlZCB0byBvdGhlciBk aXNwbGF5CnByb2dyYW1taW5nIGZyb20gcGNvZGUuCgpTbyBoZXJlIG1vdmluZyB0aGUgRFJBTSBw Y29kZSBmdW5jdGlvbiB0byBpbnRlbF9kcmFtLmMsIHJlbW92aW5nCnRoZSBkdXBsaWNhdGVkIGZp ZWxkcyBmcm9tIGludGVsX3Fndl9pbmZvLCBzZXR0aW5nIGFuZCB1c2luZwppbmZvcm1hdGlvbiBm cm9tIGRyYW1faW5mby4KClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpv c2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYncuYyB8IDk4ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcmFtLmMg ICAgICAgfCA3NyArKysrKysrKysrKysrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDk3IGluc2Vy dGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYncuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfYncuYwppbmRleCBiZDA2MDQwNGQyNDkuLjEzNjhiZDk2ZWQ3MyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYncuYwpAQCAtMTksNzcgKzE5LDkgQEAgc3RydWN0IGludGVs X3Fndl9wb2ludCB7CiAKIHN0cnVjdCBpbnRlbF9xZ3ZfaW5mbyB7CiAJc3RydWN0IGludGVsX3Fn dl9wb2ludCBwb2ludHNbSTkxNV9OVU1fUUdWX1BPSU5UU107Ci0JdTggbnVtX3BvaW50czsKLQl1 OCBudW1fY2hhbm5lbHM7CiAJdTggdF9ibDsKLQllbnVtIGludGVsX2RyYW1fdHlwZSBkcmFtX3R5 cGU7CiB9OwogCi1zdGF0aWMgaW50IGljbF9wY29kZV9yZWFkX21lbV9nbG9iYWxfaW5mbyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCSAgc3RydWN0IGludGVsX3Fndl9p bmZvICpxaSkKLXsKLQl1MzIgdmFsID0gMDsKLQlpbnQgcmV0OwotCi0JcmV0ID0gc2FuZHlicmlk Z2VfcGNvZGVfcmVhZChkZXZfcHJpdiwKLQkJCQkgICAgIElDTF9QQ09ERV9NRU1fU1VCU1lTWVNU RU1fSU5GTyB8Ci0JCQkJICAgICBJQ0xfUENPREVfTUVNX1NTX1JFQURfR0xPQkFMX0lORk8sCi0J CQkJICAgICAmdmFsLCBOVUxMKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0JaWYgKElT X0dFTihkZXZfcHJpdiwgMTIpKSB7Ci0JCXN3aXRjaCAodmFsICYgMHhmKSB7Ci0JCWNhc2UgMDoK LQkJCXFpLT5kcmFtX3R5cGUgPSBJTlRFTF9EUkFNX0REUjQ7Ci0JCQlicmVhazsKLQkJY2FzZSAz OgotCQkJcWktPmRyYW1fdHlwZSA9IElOVEVMX0RSQU1fTFBERFI0OwotCQkJYnJlYWs7Ci0JCWNh c2UgNDoKLQkJCXFpLT5kcmFtX3R5cGUgPSBJTlRFTF9EUkFNX0REUjM7Ci0JCQlicmVhazsKLQkJ Y2FzZSA1OgotCQkJcWktPmRyYW1fdHlwZSA9IElOVEVMX0RSQU1fTFBERFIzOwotCQkJYnJlYWs7 Ci0JCWRlZmF1bHQ6Ci0JCQlNSVNTSU5HX0NBU0UodmFsICYgMHhmKTsKLQkJCWJyZWFrOwotCQl9 Ci0JfSBlbHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDExKSkgewotCQlzd2l0Y2ggKHZhbCAmIDB4 ZikgewotCQljYXNlIDA6Ci0JCQlxaS0+ZHJhbV90eXBlID0gSU5URUxfRFJBTV9ERFI0OwotCQkJ YnJlYWs7Ci0JCWNhc2UgMToKLQkJCXFpLT5kcmFtX3R5cGUgPSBJTlRFTF9EUkFNX0REUjM7Ci0J CQlicmVhazsKLQkJY2FzZSAyOgotCQkJcWktPmRyYW1fdHlwZSA9IElOVEVMX0RSQU1fTFBERFIz OwotCQkJYnJlYWs7Ci0JCWNhc2UgMzoKLQkJCXFpLT5kcmFtX3R5cGUgPSBJTlRFTF9EUkFNX0xQ RERSNDsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJTUlTU0lOR19DQVNFKHZhbCAmIDB4Zik7 Ci0JCQlicmVhazsKLQkJfQotCX0gZWxzZSB7Ci0JCU1JU1NJTkdfQ0FTRShJTlRFTF9HRU4oZGV2 X3ByaXYpKTsKLQkJcWktPmRyYW1fdHlwZSA9IElOVEVMX0RSQU1fTFBERFIzOyAvKiBDb25zZXJ2 YXRpdmUgZGVmYXVsdCAqLwotCX0KLQotCXFpLT5udW1fY2hhbm5lbHMgPSAodmFsICYgMHhmMCkg Pj4gNDsKLQlxaS0+bnVtX3BvaW50cyA9ICh2YWwgJiAweGYwMCkgPj4gODsKLQotCWlmIChJU19H RU4oZGV2X3ByaXYsIDEyKSkKLQkJcWktPnRfYmwgPSBxaS0+ZHJhbV90eXBlID09IElOVEVMX0RS QU1fRERSNCA/IDQgOiAxNjsKLQllbHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDExKSkKLQkJcWkt PnRfYmwgPSBxaS0+ZHJhbV90eXBlID09IElOVEVMX0RSQU1fRERSNCA/IDQgOiA4OwotCi0JcmV0 dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgaWNsX3Bjb2RlX3JlYWRfcWd2X3BvaW50X2luZm8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgc3RydWN0IGludGVsX3Fndl9w b2ludCAqc3AsCiAJCQkJCSBpbnQgcG9pbnQpCkBAIC0xMzksMTcgKzcxLDE5IEBAIGludCBpY2xf cGNvZGVfcmVzdHJpY3RfcWd2X3BvaW50cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiBzdGF0aWMgaW50IGljbF9nZXRfcWd2X3BvaW50cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfcWd2X2luZm8gKnFpKQogeworCXN0 cnVjdCBkcmFtX2luZm8gKmRyYW1faW5mbyA9ICZkZXZfcHJpdi0+ZHJhbV9pbmZvOwogCWludCBp LCByZXQ7CiAKLQlyZXQgPSBpY2xfcGNvZGVfcmVhZF9tZW1fZ2xvYmFsX2luZm8oZGV2X3ByaXYs IHFpKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCWlmIChJU19HRU4oZGV2X3ByaXYsIDEy KSkKKwkJcWktPnRfYmwgPSBkZXZfcHJpdi0+ZHJhbV9pbmZvLnR5cGUgPT0gSU5URUxfRFJBTV9E RFI0ID8gNCA6IDE2OworCWVsc2UgaWYgKElTX0dFTihkZXZfcHJpdiwgMTEpKQorCQlxaS0+dF9i bCA9IGRldl9wcml2LT5kcmFtX2luZm8udHlwZSA9PSBJTlRFTF9EUkFNX0REUjQgPyA0IDogODsK IAogCWlmIChkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwKLQkJCXFpLT5udW1fcG9pbnRzID4g QVJSQVlfU0laRShxaS0+cG9pbnRzKSkpCi0JCXFpLT5udW1fcG9pbnRzID0gQVJSQVlfU0laRShx aS0+cG9pbnRzKTsKKwkJCWRyYW1faW5mby0+cWd2X3BvaW50cyA+IEFSUkFZX1NJWkUocWktPnBv aW50cykpKQorCQlkcmFtX2luZm8tPnFndl9wb2ludHMgPSBBUlJBWV9TSVpFKHFpLT5wb2ludHMp OwogCi0JZm9yIChpID0gMDsgaSA8IHFpLT5udW1fcG9pbnRzOyBpKyspIHsKKwlmb3IgKGkgPSAw OyBpIDwgZHJhbV9pbmZvLT5xZ3ZfcG9pbnRzOyBpKyspIHsKIAkJc3RydWN0IGludGVsX3Fndl9w b2ludCAqc3AgPSAmcWktPnBvaW50c1tpXTsKIAogCQlyZXQgPSBpY2xfcGNvZGVfcmVhZF9xZ3Zf cG9pbnRfaW5mbyhkZXZfcHJpdiwgc3AsIGkpOwpAQCAtMTcxLDEyICsxMDUsMTMgQEAgc3RhdGlj IGludCBpY2xfY2FsY19idyhpbnQgZGNsaywgaW50IG51bSwgaW50IGRlbikKIAlyZXR1cm4gRElW X1JPVU5EX0NMT1NFU1QobnVtICogZGNsayAqIDEwMCwgZGVuICogNik7CiB9CiAKLXN0YXRpYyBp bnQgaWNsX3NhZ3ZfbWF4X2RjbGsoY29uc3Qgc3RydWN0IGludGVsX3Fndl9pbmZvICpxaSkKK3N0 YXRpYyBpbnQgaWNsX3NhZ3ZfbWF4X2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAorCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcWd2X2luZm8gKnFpKQogewogCXUxNiBk Y2xrID0gMDsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBxaS0+bnVtX3BvaW50czsgaSsr KQorCWZvciAoaSA9IDA7IGkgPCBkZXZfcHJpdi0+ZHJhbV9pbmZvLnFndl9wb2ludHM7IGkrKykK IAkJZGNsayA9IG1heChkY2xrLCBxaS0+cG9pbnRzW2ldLmRjbGspOwogCiAJcmV0dXJuIGRjbGs7 CkBAIC0yMDcsNiArMTQyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9zYV9pbmZvIHJr bF9zYV9pbmZvID0gewogCiBzdGF0aWMgaW50IGljbF9nZXRfYndfaW5mbyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IHN0cnVjdCBpbnRlbF9zYV9pbmZvICpzYSkKIHsK KwlzdHJ1Y3QgZHJhbV9pbmZvICpkcmFtX2luZm8gPSAmZGV2X3ByaXYtPmRyYW1faW5mbzsKIAlz dHJ1Y3QgaW50ZWxfcWd2X2luZm8gcWkgPSB7fTsKIAlib29sIGlzX3lfdGlsZSA9IHRydWU7IC8q IGFzc3VtZSB5IHRpbGUgbWF5IGJlIHVzZWQgKi8KIAlpbnQgbnVtX2NoYW5uZWxzOwpAQCAtMjIy LDEwICsxNTgsMTAgQEAgc3RhdGljIGludCBpY2xfZ2V0X2J3X2luZm8oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBjb25zdCBzdHJ1Y3QgaW50ZWwKIAkJCSAgICAiRmFpbGVkIHRv IGdldCBtZW1vcnkgc3Vic3lzdGVtIGluZm9ybWF0aW9uLCBpZ25vcmluZyBiYW5kd2lkdGggbGlt aXRzIik7CiAJCXJldHVybiByZXQ7CiAJfQotCW51bV9jaGFubmVscyA9IHFpLm51bV9jaGFubmVs czsKKwludW1fY2hhbm5lbHMgPSBkcmFtX2luZm8tPm51bV9jaGFubmVsczsKIAogCWRlaW50ZXJs ZWF2ZSA9IERJVl9ST1VORF9VUChudW1fY2hhbm5lbHMsIGlzX3lfdGlsZSA/IDQgOiAyKTsKLQlk Y2xrX21heCA9IGljbF9zYWd2X21heF9kY2xrKCZxaSk7CisJZGNsa19tYXggPSBpY2xfc2Fndl9t YXhfZGNsayhkZXZfcHJpdiwgJnFpKTsKIAogCWlwcWRlcHRocGNoID0gMTY7CiAKQEAgLTI0MSw5 ICsxNzcsOSBAQCBzdGF0aWMgaW50IGljbF9nZXRfYndfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIGNvbnN0IHN0cnVjdCBpbnRlbAogCQljbHBjaGdyb3VwID0gKHNhLT5k ZWJ1cnN0ICogZGVpbnRlcmxlYXZlIC8gbnVtX2NoYW5uZWxzKSA8PCBpOwogCQliaS0+bnVtX3Bs YW5lcyA9IChpcHFkZXB0aCAtIGNscGNoZ3JvdXApIC8gY2xwY2hncm91cCArIDE7CiAKLQkJYmkt Pm51bV9xZ3ZfcG9pbnRzID0gcWkubnVtX3BvaW50czsKKwkJYmktPm51bV9xZ3ZfcG9pbnRzID0g ZHJhbV9pbmZvLT5xZ3ZfcG9pbnRzOwogCi0JCWZvciAoaiA9IDA7IGogPCBxaS5udW1fcG9pbnRz OyBqKyspIHsKKwkJZm9yIChqID0gMDsgaiA8IGRyYW1faW5mby0+cWd2X3BvaW50czsgaisrKSB7 CiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfcWd2X3BvaW50ICpzcCA9ICZxaS5wb2ludHNbal07CiAJ CQlpbnQgY3QsIGJ3OwogCkBAIC0yNzQsNyArMjEwLDcgQEAgc3RhdGljIGludCBpY2xfZ2V0X2J3 X2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBjb25zdCBzdHJ1Y3QgaW50 ZWwKIAkgKiBTQUdWIHBvaW50LCBidXQgd2UgY2FuJ3Qgc2VuZCBQQ29kZSBjb21tYW5kcyB0byBy ZXN0cmljdCBpdAogCSAqIGFzIGl0IHdpbGwgZmFpbCBhbmQgcG9pbnRsZXNzIGFueXdheS4KIAkg Ki8KLQlpZiAocWkubnVtX3BvaW50cyA9PSAxKQorCWlmIChkcmFtX2luZm8tPnFndl9wb2ludHMg PT0gMSkKIAkJZGV2X3ByaXYtPnNhZ3Zfc3RhdHVzID0gSTkxNV9TQUdWX05PVF9DT05UUk9MTEVE OwogCWVsc2UKIAkJZGV2X3ByaXYtPnNhZ3Zfc3RhdHVzID0gSTkxNV9TQUdWX0VOQUJMRUQ7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBhMWNjNjBkZTk5ZjAuLjY2Zjc2M2ZlN2E4MyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC02MDgsMTQgKzYwOCwxNSBAQCBzdGF0aWMgaW50IGk5 MTVfZHJpdmVyX2h3X3Byb2JlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJ Z290byBlcnJfbXNpOwogCiAJaW50ZWxfb3ByZWdpb25fc2V0dXAoZGV2X3ByaXYpOworCisJaW50 ZWxfcGNvZGVfaW5pdChkZXZfcHJpdik7CisKIAkvKgogCSAqIEZpbGwgdGhlIGRyYW0gc3RydWN0 dXJlIHRvIGdldCB0aGUgc3lzdGVtIGRyYW0gaW5mby4gVGhpcyB3aWxsIGJlCiAJICogdXNlZCBm b3IgbWVtb3J5IGxhdGVuY3kgY2FsY3VsYXRpb24uCiAJICovCiAJaW50ZWxfZHJhbV9kZXRlY3Qo ZGV2X3ByaXYpOwogCi0JaW50ZWxfcGNvZGVfaW5pdChkZXZfcHJpdik7Ci0KIAlpbnRlbF9id19p bml0X2h3KGRldl9wcml2KTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggMjUwZTkyOTEwZmExLi5hMmFlMjEwODJiMzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMTE0NCw2ICsxMTQ0LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQkJSU5URUxf RFJBTV9MUEREUjMsCiAJCQlJTlRFTF9EUkFNX0xQRERSNAogCQl9IHR5cGU7CisJCXU4IHFndl9w b2ludHM7CiAJfSBkcmFtX2luZm87CiAKIAlzdHJ1Y3QgaW50ZWxfYndfaW5mbyB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcmFtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcmFtLmMKaW5kZXggNjk0ZmJkOGM5Y2Q0Li4xMjk4ODIzYzk1N2MgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RyYW0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcmFtLmMKQEAgLTUsNiArNSw3IEBACiAKICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2RyYW0uaCIKKyNpbmNsdWRlICJpbnRlbF9zaWRlYmFu ZC5oIgogCiBzdHJ1Y3QgZHJhbV9kaW1tX2luZm8gewogCXUxNiBzaXplOwpAQCAtNDA4LDYgKzQw OSw3OCBAQCBzdGF0aWMgaW50IGJ4dF9nZXRfZHJhbV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGljbF9wY29kZV9yZWFkX21l bV9nbG9iYWxfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJc3Ry dWN0IGRyYW1faW5mbyAqZHJhbV9pbmZvID0gJmRldl9wcml2LT5kcmFtX2luZm87CisJdTMyIHZh bCA9IDA7CisJaW50IHJldDsKKworCXJldCA9IHNhbmR5YnJpZGdlX3Bjb2RlX3JlYWQoZGV2X3By aXYsCisJCQkJICAgICBJQ0xfUENPREVfTUVNX1NVQlNZU1lTVEVNX0lORk8gfAorCQkJCSAgICAg SUNMX1BDT0RFX01FTV9TU19SRUFEX0dMT0JBTF9JTkZPLAorCQkJCSAgICAgJnZhbCwgTlVMTCk7 CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChJU19HRU4oZGV2X3ByaXYsIDEyKSkg eworCQlzd2l0Y2ggKHZhbCAmIDB4ZikgeworCQljYXNlIDA6CisJCQlkcmFtX2luZm8tPnR5cGUg PSBJTlRFTF9EUkFNX0REUjQ7CisJCQlicmVhazsKKwkJY2FzZSAzOgorCQkJZHJhbV9pbmZvLT50 eXBlID0gSU5URUxfRFJBTV9MUEREUjQ7CisJCQlicmVhazsKKwkJY2FzZSA0OgorCQkJZHJhbV9p bmZvLT50eXBlID0gSU5URUxfRFJBTV9ERFIzOworCQkJYnJlYWs7CisJCWNhc2UgNToKKwkJCWRy YW1faW5mby0+dHlwZSA9IElOVEVMX0RSQU1fTFBERFIzOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6 CisJCQlNSVNTSU5HX0NBU0UodmFsICYgMHhmKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCX0gZWxz ZSB7CisJCXN3aXRjaCAodmFsICYgMHhmKSB7CisJCWNhc2UgMDoKKwkJCWRyYW1faW5mby0+dHlw ZSA9IElOVEVMX0RSQU1fRERSNDsKKwkJCWJyZWFrOworCQljYXNlIDE6CisJCQlkcmFtX2luZm8t PnR5cGUgPSBJTlRFTF9EUkFNX0REUjM7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJZHJhbV9p bmZvLT50eXBlID0gSU5URUxfRFJBTV9MUEREUjM7CisJCQlicmVhazsKKwkJY2FzZSAzOgorCQkJ ZHJhbV9pbmZvLT50eXBlID0gSU5URUxfRFJBTV9MUEREUjQ7CisJCQlicmVhazsKKwkJZGVmYXVs dDoKKwkJCU1JU1NJTkdfQ0FTRSh2YWwgJiAweGYpOworCQkJcmV0dXJuIC0xOworCQl9CisJfQor CisJZHJhbV9pbmZvLT5udW1fY2hhbm5lbHMgPSAodmFsICYgMHhmMCkgPj4gNDsKKwlkcmFtX2lu Zm8tPnFndl9wb2ludHMgPSAodmFsICYgMHhmMDApID4+IDg7CisKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIGludCBnZW4xMV9nZXRfZHJhbV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQoreworCWlmIChJTlRFTF9HRU4oaTkxNSkgPT0gMTEpIHsKKwkJaW50IHJldCA9IHNrbF9n ZXRfZHJhbV9pbmZvKGk5MTUpOworCisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0gZWxz ZSB7CisJCS8qIEFsd2F5cyBuZWVkZWQgZm9yIEdFTjEyKyAqLworCQlpOTE1LT5kcmFtX2luZm8u aXNfMTZnYl9kaW1tID0gdHJ1ZTsKKwl9CisKKwlyZXR1cm4gaWNsX3Bjb2RlX3JlYWRfbWVtX2ds b2JhbF9pbmZvKGk5MTUpOworfQorCiB2b2lkIGludGVsX2RyYW1fZGV0ZWN0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogewogCXN0cnVjdCBkcmFtX2luZm8gKmRyYW1faW5mbyA9ICZp OTE1LT5kcmFtX2luZm87CkBAIC00MjMsNyArNDk2LDkgQEAgdm9pZCBpbnRlbF9kcmFtX2RldGVj dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpZiAoSU5URUxfR0VOKGk5MTUpIDwg OSB8fCAhSEFTX0RJU1BMQVkoaTkxNSkpCiAJCXJldHVybjsKIAotCWlmIChJU19HRU45X0xQKGk5 MTUpKQorCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gMTEpCisJCXJldCA9IGdlbjExX2dldF9kcmFt X2luZm8oaTkxNSk7CisJZWxzZSBpZiAoSVNfR0VOOV9MUChpOTE1KSkKIAkJcmV0ID0gYnh0X2dl dF9kcmFtX2luZm8oaTkxNSk7CiAJZWxzZQogCQlyZXQgPSBza2xfZ2V0X2RyYW1faW5mbyhpOTE1 KTsKLS0gCjIuMzAuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==