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=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 6D6CAC432C3 for ; Fri, 24 Jul 2020 21:39: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 49094206EB for ; Fri, 24 Jul 2020 21:39:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 49094206EB 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 68E846EA22; Fri, 24 Jul 2020 21:39:32 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C68F6EA12 for ; Fri, 24 Jul 2020 21:39:25 +0000 (UTC) IronPort-SDR: dTPP4t9XTQ7DRTVBolhCAdTSIdfDd/e+u/ETUZmzM10P4w0s66Di05Np6prn0KJYoWB2rLGhQw urPVN1P/Z5HQ== X-IronPort-AV: E=McAfee;i="6000,8403,9692"; a="149970019" X-IronPort-AV: E=Sophos;i="5.75,392,1589266800"; d="scan'208";a="149970019" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jul 2020 14:39:24 -0700 IronPort-SDR: mgPCug5sf322i4TIbbiPKR8mPQWLCZj9A6dmRj/WG6z8W1sK4kylK0BVGHPQP58ibbZTQQWjGr ue4h2bNudGpg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,392,1589266800"; d="scan'208";a="329041989" Received: from ldmartin1-desk.jf.intel.com ([10.165.21.151]) by orsmga007.jf.intel.com with ESMTP; 24 Jul 2020 14:39:23 -0700 From: Lucas De Marchi To: intel-gfx@lists.freedesktop.org Date: Fri, 24 Jul 2020 14:39:16 -0700 Message-Id: <20200724213918.27424-21-lucas.demarchi@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200724213918.27424-1-lucas.demarchi@intel.com> References: <20200724213918.27424-1-lucas.demarchi@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v5 20/22] drm/i915/dg1: Add initial DG1 workarounds 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: , Cc: Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogU3R1YXJ0IFN1bW1lcnMgPHN0dWFydC5zdW1tZXJzQGludGVsLmNvbT4KCkRHMSBzaGFy ZXMgc29tZSB3b3JrYXJvdW5kcyB3aXRoIFRHTCBhbmQgUktMIGFuZCBhbHNvIGhhcyBzb21lCmFk ZGl0aW9uYWwgd29ya2Fyb3VuZHMgb2YgaXRzIG93bi4KCk1lZGlhIHBvd2VyIGdhdGluZyBzaG91 bGQgbm90IGJlIGFwcGxpZWQgc28gd2UganVzdCBzZXQgaXQgdG8Kbm9wX2luaXRfY2xvY2tfZ2F0 aW5nKCkuCgp2MjogQ29ycmVjdGVkIGxvY2F0aW9uIG9mIFdhXzE0MDg2MTUwNzIgKEpvaG5IKS4K CnYzOiBBcGx5aW5nIFdBcyAxNjA2NzAwNjE3LCAxODAxMTQ2NDE2NCBhbmQgMjIwMTA5MzEyOTYg dG8gREcxIChKb3PDqSkKCnY0OiBBZGQgV2FfMjIwMTAyNzEwMjEgKEFudXNoYSkKLSBzL1dhXzE0 MDEwMDk2ODQ0L1dhXzE0MDk4MzY2ODYgIChBbnVzaGEpCgpCU3BlYzogNTM1MDgKCkNjOiBNYXR0 IEF0d29vZCA8bWF0dGhldy5zLmF0d29vZEBpbnRlbC5jb20+CkNjOiBNYXR0IFJvcGVyIDxtYXR0 aGV3LmQucm9wZXJAaW50ZWwuY29tPgpDYzogUmFkaGFrcmlzaG5hIFNyaXBhZGEgPHJhZGhha3Jp c2huYS5zcmlwYWRhQGludGVsLmNvbT4KQ2M6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uu c291emFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdHVhcnQgU3VtbWVycyA8c3R1YXJ0LnN1 bW1lcnNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRl bWFyY2hpQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEu c3JpdmF0c2FAaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfcG93ZXIuYyAgICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9zcHJpdGUuYyAgIHwgICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jICAgfCAxMDEgKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BjaS5jICAgICAgICAgICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCAgICAgICAgICAgICAgIHwgIDEwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jICAgICAgICAgICAgICAgfCAgMTcgKystCiA2IGZpbGVzIGNoYW5nZWQsIDExNCBp bnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCmluZGV4IGI1MWI4MmNiMjM5OC4uMjFm MzljOTQwNTZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXlfcG93ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXlfcG93ZXIuYwpAQCAtNTQ2Miw4ICs1NDYyLDkgQEAgc3RhdGljIHZvaWQgdGdsX2J3 X2J1ZGR5X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXVuc2lnbmVk IGxvbmcgYWJveF9tYXNrID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmFib3hfbWFzazsKIAlpbnQg Y29uZmlnLCBpOwogCi0JaWYgKElTX1RHTF9SRVZJRChkZXZfcHJpdiwgVEdMX1JFVklEX0EwLCBU R0xfUkVWSURfQjApKQotCQkvKiBXYV8xNDA5NzY3MTA4OiB0Z2wgKi8KKwlpZiAoSVNfREcxX1JF VklEKGRldl9wcml2LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwKKwkgICAgSVNfVEdM X1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9CMCkpCisJCS8qIFdhXzE0 MDk3NjcxMDg6dGdsLGRnMSAqLwogCQl0YWJsZSA9IHdhXzE0MDk3NjcxMDhfYnVkZHlfcGFnZV9t YXNrczsKIAllbHNlCiAJCXRhYmxlID0gdGdsX2J1ZGR5X3BhZ2VfbWFza3M7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYwppbmRleCBjMjZjYTAyOWZjMGEuLmQw M2EyMzllNjk3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0 ZS5jCkBAIC0yODQzLDggKzI4NDMsOCBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9ybWF0X21v ZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogc3RhdGljIGJvb2wgZ2VuMTJf cGxhbmVfc3VwcG9ydHNfbWNfY2NzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkJCQkJZW51bSBwbGFuZV9pZCBwbGFuZV9pZCkKIHsKLQkvKiBXYV8xNDAxMDQ3NzAwODp0Z2xb YTAuLmMwXSxya2xbYWxsXSAqLwotCWlmIChJU19ST0NLRVRMQUtFKGRldl9wcml2KSB8fAorCS8q IFdhXzE0MDEwNDc3MDA4OnRnbFthMC4uYzBdLHJrbFthbGxdLGRnMVthbGxdICovCisJaWYgKElT X0RHMShkZXZfcHJpdikgfHwgSVNfUk9DS0VUTEFLRShkZXZfcHJpdikgfHwKIAkgICAgSVNfVEdM X1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9DMCkpCiAJCXJldHVybiBm YWxzZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fy b3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKaW5k ZXggY2VmMWMxMjI2OTZmLi44ZDc4MGU4NWZjZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfd29ya2Fyb3VuZHMuYwpAQCAtNjQxLDYgKzY0MSwyMCBAQCBzdGF0aWMgdm9pZCB0 Z2xfY3R4X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAog CSAgICAgICAwKTsKIH0KIAorc3RhdGljIHZvaWQgZGcxX2N0eF93b3JrYXJvdW5kc19pbml0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCQkgICAgIHN0cnVjdCBpOTE1X3dhX2xp c3QgKndhbCkKK3sKKwlnZW4xMl9jdHhfd29ya2Fyb3VuZHNfaW5pdChlbmdpbmUsIHdhbCk7CisK KwkvKiBXYV8xNDA5MDQ0NzY0ICovCisJV0FfQ0xSX0JJVF9NQVNLRUQoR0VOMTFfQ09NTU9OX1NM SUNFX0NISUNLRU4zLAorCQkJICBERzFfRkxPQVRfUE9JTlRfQkxFTkRfT1BUX1NUUklDVF9NT0RF X0VOKTsKKworCS8qIFdhXzIyMDEwNDkzMjk4ICovCisJV0FfU0VUX0JJVF9NQVNLRUQoSElaX0NI SUNLRU4sCisJCQkgIERHMV9IWl9SRUFEX1NVUFBSRVNTSU9OX09QVElNSVpBVElPTl9ESVNBQkxF KTsKK30KKwogc3RhdGljIHZvaWQKIF9faW50ZWxfZW5naW5lX2luaXRfY3R4X3dhKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwK QEAgLTY1Myw3ICs2NjcsOSBAQCBfX2ludGVsX2VuZ2luZV9pbml0X2N0eF93YShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAl3YV9pbml0X3N0YXJ0KHdhbCwgbmFtZSwgZW5naW5l LT5uYW1lKTsKIAotCWlmIChJU19ST0NLRVRMQUtFKGk5MTUpIHx8IElTX1RJR0VSTEFLRShpOTE1 KSkKKwlpZiAoSVNfREcxKGk5MTUpKQorCQlkZzFfY3R4X3dvcmthcm91bmRzX2luaXQoZW5naW5l LCB3YWwpOworCWVsc2UgaWYgKElTX1JPQ0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5 MTUpKQogCQl0Z2xfY3R4X3dvcmthcm91bmRzX2luaXQoZW5naW5lLCB3YWwpOwogCWVsc2UgaWYg KElTX0dFTihpOTE1LCAxMikpCiAJCWdlbjEyX2N0eF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSwg d2FsKTsKQEAgLTEyMTMsMTAgKzEyMjksMzYgQEAgdGdsX2d0X3dvcmthcm91bmRzX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkKIAkJ CSAgICBMM19DTEtHQVRFX0RJUyB8IEwzX0NSMlhfQ0xLR0FURV9ESVMpOwogfQogCitzdGF0aWMg dm9pZAorZGcxX2d0X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkKK3sKKwlnZW4xMl9ndF93b3JrYXJvdW5kc19p bml0KGk5MTUsIHdhbCk7CisKKwkvKiBXYV8xNjA3MDg3MDU2OmRnMSAqLworCWlmIChJU19ERzFf UkVWSUQoaTkxNSwgREcxX1JFVklEX0EwLCBERzFfUkVWSURfQTApKQorCQl3YV93cml0ZV9vcih3 YWwsCisJCQkgICAgU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFLAorCQkJICAgIEwzX0NMS0dBVEVf RElTIHwgTDNfQ1IyWF9DTEtHQVRFX0RJUyk7CisKKwkvKiBXYV8xNDA5NDIwNjA0OmRnMSAqLwor CWlmIChJU19ERzEoaTkxNSkpCisJCXdhX3dyaXRlX29yKHdhbCwKKwkJCSAgICBTVUJTTElDRV9V TklUX0xFVkVMX0NMS0dBVEUyLAorCQkJICAgIENQU1NVTklUX0NMS0dBVEVfRElTKTsKKworCS8q IFdhXzE0MDg2MTUwNzI6ZGcxICovCisJLyogRW1waXJpY2FsIHRlc3Rpbmcgc2hvd3MgdGhpcyBy ZWdpc3RlciBpcyB1bmFmZmVjdGVkIGJ5IGVuZ2luZSByZXNldC4gKi8KKwlpZiAoSVNfREcxKGk5 MTUpKQorCQl3YV93cml0ZV9vcih3YWwsIFVOU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFMiwKKwkJ CSAgICBWU1VOSVRfQ0xLR0FURV9ESVNfVEdMKTsKK30KKwogc3RhdGljIHZvaWQKIGd0X2luaXRf d29ya2Fyb3VuZHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1X3dh X2xpc3QgKndhbCkKIHsKLQlpZiAoSVNfVElHRVJMQUtFKGk5MTUpKQorCWlmIChJU19ERzEoaTkx NSkpCisJCWRnMV9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7CisJZWxzZSBpZiAoSVNf VElHRVJMQUtFKGk5MTUpKQogCQl0Z2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOwog CWVsc2UgaWYgKElTX0dFTihpOTE1LCAxMikpCiAJCWdlbjEyX2d0X3dvcmthcm91bmRzX2luaXQo aTkxNSwgd2FsKTsKQEAgLTE1ODEsNiArMTYyMywyMCBAQCBzdGF0aWMgdm9pZCB0Z2xfd2hpdGVs aXN0X2J1aWxkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl9CiB9CiAKK3N0YXRp YyB2b2lkIGRnMV93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQoreworCXN0cnVjdCBpOTE1X3dhX2xpc3QgKncgPSAmZW5naW5lLT53aGl0ZWxpc3Q7CisKKwl0 Z2xfd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSk7CisKKwkvKiBHRU46QlVHOjE0MDkyODA0NDE6ZGcx ICovCisJaWYgKElTX0RHMV9SRVZJRChlbmdpbmUtPmk5MTUsIERHMV9SRVZJRF9BMCwgREcxX1JF VklEX0EwKSAmJgorCSAgICAoZW5naW5lLT5jbGFzcyA9PSBSRU5ERVJfQ0xBU1MgfHwKKwkgICAg IGVuZ2luZS0+Y2xhc3MgPT0gQ09QWV9FTkdJTkVfQ0xBU1MpKQorCQl3aGl0ZWxpc3RfcmVnX2V4 dCh3LCBSSU5HX0lEKGVuZ2luZS0+bW1pb19iYXNlKSwKKwkJCQkgIFJJTkdfRk9SQ0VfVE9fTk9O UFJJVl9BQ0NFU1NfUkQpOworfQorCiB2b2lkIGludGVsX2VuZ2luZV9pbml0X3doaXRlbGlzdChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSBlbmdpbmUtPmk5MTU7CkBAIC0xNTg4LDcgKzE2NDQsOSBAQCB2b2lkIGludGVs X2VuZ2luZV9pbml0X3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAK IAl3YV9pbml0X3N0YXJ0KHcsICJ3aGl0ZWxpc3QiLCBlbmdpbmUtPm5hbWUpOwogCi0JaWYgKElT X0dFTihpOTE1LCAxMikpCisJaWYgKElTX0RHMShpOTE1KSkKKwkJZGcxX3doaXRlbGlzdF9idWls ZChlbmdpbmUpOworCWVsc2UgaWYgKElTX0dFTihpOTE1LCAxMikpCiAJCXRnbF93aGl0ZWxpc3Rf YnVpbGQoZW5naW5lKTsKIAllbHNlIGlmIChJU19HRU4oaTkxNSwgMTEpKQogCQlpY2xfd2hpdGVs aXN0X2J1aWxkKGVuZ2luZSk7CkBAIC0xNjQyLDE1ICsxNzAwLDE4IEBAIHJjc19lbmdpbmVfd2Ff aW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X3dhX2xpc3Qg KndhbCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsK IAotCWlmIChJU19UR0xfUkVWSUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKSB7 CisJaWYgKElTX0RHMV9SRVZJRChpOTE1LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwK KwkgICAgSVNfVEdMX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0EwKSkgewog CQkvKgotCQkgKiBXYV8xNjA3MTM4MzM2OnRnbAotCQkgKiBXYV8xNjA3MDYzOTg4OnRnbAorCQkg KiBXYV8xNjA3MTM4MzM2OnRnbFthMF0sZGcxW2EwXQorCQkgKiBXYV8xNjA3MDYzOTg4OnRnbFth MF0sZGcxW2EwXQogCQkgKi8KIAkJd2Ffd3JpdGVfb3Iod2FsLAogCQkJICAgIEdFTjlfQ1RYX1BS RUVNUFRfUkVHLAogCQkJICAgIEdFTjEyX0RJU0FCTEVfUE9TSF9CVVNZX0ZGX0RPUF9DRyk7CisJ fQogCisJaWYgKElTX1RHTF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkp IHsKIAkJLyoKIAkJICogV2FfMTYwNjY3OTEwMzp0Z2wKIAkJICogKHNlZSBhbHNvIFdhXzE2MDY2 ODIxNjY6aWNsKQpAQCAtMTY2NCwyNCArMTcyNSwyNyBAQCByY3NfZW5naW5lX3dhX2luaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwpCiAJ CQkgICAgVlNVTklUX0NMS0dBVEVfRElTX1RHTCk7CiAJfQogCi0JaWYgKElTX1JPQ0tFVExBS0Uo aTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKSB7Ci0JCS8qIFdhXzE2MDY5MzE2MDE6dGdsLHJr bCAqLworCWlmIChJU19ERzEoaTkxNSkgfHwgSVNfUk9DS0VUTEFLRShpOTE1KSB8fCBJU19USUdF UkxBS0UoaTkxNSkpIHsKKwkJLyogV2FfMTYwNjkzMTYwMTp0Z2wscmtsLGRnMSAqLwogCQl3YV9t YXNrZWRfZW4od2FsLCBHRU43X1JPV19DSElDS0VOMiwgR0VOMTJfRElTQUJMRV9FQVJMWV9SRUFE KTsKKwl9CiAKLQkJLyogV2FfMTQwOTgwNDgwODp0Z2wscmtsICovCisJaWYgKElTX0RHMV9SRVZJ RChpOTE1LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkgfHwKKwkgICAgSVNfUk9DS0VUTEFL RShpOTE1KSB8fCBJU19USUdFUkxBS0UoaTkxNSkpIHsKKwkJLyogV2FfMTQwOTgwNDgwODp0Z2ws cmtsLGRnMVthMF0gKi8KIAkJd2FfbWFza2VkX2VuKHdhbCwgR0VON19ST1dfQ0hJQ0tFTjIsCiAJ CQkgICAgIEdFTjEyX1BVU0hfQ09OU1RfREVSRUZfSE9MRF9ESVMpOwogCiAJCS8qCiAJCSAqIFdh XzE0MDkwODUyMjU6dGdsCi0JCSAqIFdhXzE0MDEwMjI5MjA2OnRnbCxya2wKKwkJICogV2FfMTQw MTAyMjkyMDY6dGdsLHJrbCxkZzFbYTBdCiAJCSAqLwogCQl3YV9tYXNrZWRfZW4od2FsLCBHRU45 X1JPV19DSElDS0VONCwgR0VOMTJfRElTQUJMRV9URExfUFVTSCk7CiAKIAkJLyoKIAkJICogV2Ff MTQwNzkyODk3OTp0Z2wgQSoKLQkJICogV2FfMTgwMTE0NjQxNjQ6dGdsIEIwKwotCQkgKiBXYV8y MjAxMDkzMTI5Njp0Z2wgQjArCisJCSAqIFdhXzE4MDExNDY0MTY0OnRnbFtCMCtdLGRnMVtCMCtd CisJCSAqIFdhXzIyMDEwOTMxMjk2OnRnbFtCMCtdLGRnMVtCMCtdCiAJCSAqIFdhXzE0MDEwOTE5 MTM4OnJrbAogCQkgKi8KIAkJd2Ffd3JpdGVfb3Iod2FsLCBHRU43X0ZGX1RIUkVBRF9NT0RFLApA QCAtMTY5MCw5ICsxNzU0LDEyIEBAIHJjc19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkKIAkJLyoKIAkJICogV2Ff MTYwNzAzMDMxNzp0Z2wKIAkJICogV2FfMTYwNzE4NjUwMDp0Z2wKLQkJICogV2FfMTYwNzI5NzYy Nzp0Z2wscmtsIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzCi0JCSAqIFdBIGlu IHRoZSBCU3BlYzsgc29tZSBpbmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsCi0JCSAqIG90 aGVycyBpbmRpY2F0ZSBpdCBhcHBsaWVzIHRvIGFsbCBzdGVwcGluZ3MuCisJCSAqIFdhXzE2MDcy OTc2Mjc6dGdsLHJrbCxkZzFbYTBdCisJCSAqCisJCSAqIE9uIFRHTCBhbmQgUktMIHRoZXJlIGFy ZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzIFdBIGluIHRoZQorCQkgKiBCU3BlYzsgc29tZSBp bmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsIG90aGVycyBpbmRpY2F0ZQorCQkgKiBpdCBh cHBsaWVzIHRvIGFsbCBzdGVwcGluZ3Mgc28gd2UgdHJ1c3QgdGhlICJhbGwgc3RlcHBpbmdzLiIK KwkJICogRm9yIERHMSB0aGlzIG9ubHkgYXBwbGllcyB0byBBMC4KIAkJICovCiAJCXdhX21hc2tl ZF9lbih3YWwsCiAJCQkgICAgIEdFTjZfUkNfU0xFRVBfUFNNSV9DT05UUk9MLApAQCAtMTcwMCw4 ICsxNzY3LDggQEAgcmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCQkJICAgICBHRU44X1JDX1NFTUFfSURM RV9NU0dfRElTQUJMRSk7CiAJfQogCi0JaWYgKElTX1RJR0VSTEFLRShpOTE1KSkgewotCQkvKiBX YV8xNjA2NzAwNjE3OnRnbCAqLworCWlmIChJU19USUdFUkxBS0UoaTkxNSkgfHwgSVNfREcxKGk5 MTUpKSB7CisJCS8qIFdhXzIyMDEwMjcxMDIxLCBXYV8xNjA2NzAwNjE3OiB0Z2wsZGcxICovCiAJ CXdhX21hc2tlZF9lbih3YWwsCiAJCQkgICAgIEdFTjlfQ1NfREVCVUdfTU9ERTEsCiAJCQkgICAg IEZGX0RPUF9DTE9DS19HQVRFX0RJU0FCTEUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXgg MzY2ZGRmYzhkZjZiLi5jMmRmZGY1MjQxOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAt OTEwLDYgKzkxMCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gZGcx X2luZm8gX19tYXliZV91bnVzZWQgPSB7CiAJLnBsYXRmb3JtX2VuZ2luZV9tYXNrID0KIAkJQklU KFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSB8CiAJCUJJVChWQ1MwKSB8IEJJVChWQ1My KSwKKwkvKiBXYV8xNjAxMTIyNzkyMiAqLworCS5wcGd0dF9zaXplID0gNDcsCiB9OwogCiAjdW5k ZWYgR0VOCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCA3OWVkYWRhMjVjZTEuLjRlOTUzMTJl YmEyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0yNTQyLDYgKzI1NDIsNyBAQCBzdGF0 aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3JlZ192YWxpZChpOTE1X3JlZ190IHJlZykKICNkZWZp bmUgUklOR19QU01JX0NUTChiYXNlKQlfTU1JTygoYmFzZSkgKyAweDUwKQogI2RlZmluZSBSSU5H X01BWF9JRExFKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4NTQpCiAjZGVmaW5lIFJJTkdfSFdTX1BH QShiYXNlKQlfTU1JTygoYmFzZSkgKyAweDgwKQorI2RlZmluZSBSSU5HX0lEKGJhc2UpCQlfTU1J TygoYmFzZSkgKyAweDhjKQogI2RlZmluZSBSSU5HX0hXU19QR0FfR0VONihiYXNlKQlfTU1JTygo YmFzZSkgKyAweDIwODApCiAjZGVmaW5lIFJJTkdfUkVTRVRfQ1RMKGJhc2UpCV9NTUlPKChiYXNl KSArIDB4ZDApCiAjZGVmaW5lICAgUkVTRVRfQ1RMX0NBVF9FUlJPUgkgICBSRUdfQklUKDIpCkBA IC00MTYxLDYgKzQxNjIsNyBAQCBlbnVtIHsKIAogI2RlZmluZSBHRU45X0NMS0dBVEVfRElTXzMJ CV9NTUlPKDB4NDY1MzgpCiAjZGVmaW5lICAgVEdMX1ZSSF9HQVRJTkdfRElTCQlSRUdfQklUKDMx KQorI2RlZmluZSAgIERQVF9HQVRJTkdfRElTCQlSRUdfQklUKDIyKQogCiAjZGVmaW5lIEdFTjlf Q0xLR0FURV9ESVNfNAkJX01NSU8oMHg0NjUzQykKICNkZWZpbmUgICBCWFRfR01CVVNfR0FUSU5H X0RJUwkJKDEgPDwgMTQpCkBAIC04MDQwLDEyICs4MDQyLDE0IEBAIGVudW0gewogI2RlZmluZSBH RU44X0wzQ05UTFJFRwlfTU1JTygweDcwMzQpCiAgICNkZWZpbmUgR0VOOF9FUlJERVRCQ1RSTCAo MSA8PCA5KQogCi0jZGVmaW5lIEdFTjExX0NPTU1PTl9TTElDRV9DSElDS0VOMwkJX01NSU8oMHg3 MzA0KQotICAjZGVmaW5lIEdFTjExX0JMRU5EX0VNQl9GSVhfRElTQUJMRV9JTl9SQ0MJKDEgPDwg MTEpCi0gICNkZWZpbmUgR0VOMTJfRElTQUJMRV9DUFNfQVdBUkVfQ09MT1JfUElQRQkoMSA8PCA5 KQorI2RlZmluZSBHRU4xMV9DT01NT05fU0xJQ0VfQ0hJQ0tFTjMJCQlfTU1JTygweDczMDQpCisg ICNkZWZpbmUgREcxX0ZMT0FUX1BPSU5UX0JMRU5EX09QVF9TVFJJQ1RfTU9ERV9FTglSRUdfQklU KDEyKQorICAjZGVmaW5lIEdFTjExX0JMRU5EX0VNQl9GSVhfRElTQUJMRV9JTl9SQ0MJCVJFR19C SVQoMTEpCisgICNkZWZpbmUgR0VOMTJfRElTQUJMRV9DUFNfQVdBUkVfQ09MT1JfUElQRQkJUkVH X0JJVCg5KQogCiAjZGVmaW5lIEhJWl9DSElDS0VOCQkJCQlfTU1JTygweDcwMTgpCiAjIGRlZmlu ZSBDSFZfSFpfOFg4X01PREVfSU5fMVgJCQkJKDEgPDwgMTUpCisjIGRlZmluZSBERzFfSFpfUkVB RF9TVVBQUkVTU0lPTl9PUFRJTUlaQVRJT05fRElTQUJMRSAgICgxIDw8IDE0KQogIyBkZWZpbmUg QkRXX0hJWl9QT1dFUl9DT01QSUxFUl9DTE9DS19HQVRJTkdfRElTQUJMRQkoMSA8PCAzKQogCiAj ZGVmaW5lIEdFTjlfU0xJQ0VfQ09NTU9OX0VDT19DSElDS0VOMAkJX01NSU8oMHg3MzA4KQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMGExYTk1MDYwZjM4Li4zNGQ0YTk3NjgyN2QgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNzE0NSw2ICs3MTQ1LDE5IEBAIHN0YXRpYyB2b2lkIHRn bF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ CQkgMCwgREZSX0RJU0FCTEUpOwogfQogCitzdGF0aWMgdm9pZCBkZzFfaW5pdF9jbG9ja19nYXRp bmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCS8qCisJICogQXMgb3Bw b3NlZCB0byBUR0wsIHdlIHNob3VsZCBub3QgdG91Y2ggdGhlIHJlZ2lzdGVycyBmb3IgIG1lZGlh IHBvd2VyCisJICogZ2F0aW5nCisJICovCisKKwkvKiBXYV8xNDA5ODM2Njg2IDpkZzFbYTBdICov CisJaWYgKElTX0RHMV9SRVZJRChkZXZfcHJpdiwgREcxX1JFVklEX0EwLCBERzFfUkVWSURfQTAp KQorCQlJOTE1X1dSSVRFKEdFTjlfQ0xLR0FURV9ESVNfMywgSTkxNV9SRUFEKEdFTjlfQ0xLR0FU RV9ESVNfMykgfAorCQkJICAgRFBUX0dBVElOR19ESVMpOworfQorCiBzdGF0aWMgdm9pZCBjbnBf aW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewog CWlmICghSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQpAQCAtNzU5MCw3ICs3NjAzLDkgQEAgc3RhdGlj IHZvaWQgbm9wX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKICAqLwogdm9pZCBpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29rcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKElTX0dFTihkZXZfcHJpdiwgMTIpKQor CWlmIChJU19ERzEoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dh dGluZyA9IGRnMV9pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19HRU4oZGV2X3ByaXYs IDEyKSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSB0Z2xfaW5pdF9j bG9ja19nYXRpbmc7CiAJZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCAxMSkpCiAJCWRldl9wcml2 LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaWNsX2luaXRfY2xvY2tfZ2F0aW5nOwotLSAK Mi4yNi4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK