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=-12.7 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=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 6A903C433E7 for ; Mon, 12 Oct 2020 21:31:11 +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 13EB92080D for ; Mon, 12 Oct 2020 21:31:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 13EB92080D 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 6AEE86E81C; Mon, 12 Oct 2020 21:31:10 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A2996E7DD for ; Mon, 12 Oct 2020 21:30:56 +0000 (UTC) IronPort-SDR: v41OdIi7trAhzjrdTAwZWw9DI3stijie1UxrRkE2V/W7U9FprcDqjh97+byy286ItaVOI8kEPo LIqCYVbgu9Rw== X-IronPort-AV: E=McAfee;i="6000,8403,9772"; a="145671042" X-IronPort-AV: E=Sophos;i="5.77,368,1596524400"; d="scan'208";a="145671042" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 14:30:55 -0700 IronPort-SDR: SECwmFZ4EgMonX3RkSdm5CqtFguRhqo6oD0ZvZbkkhIBnPfgaeZuDsxTunWFLJxo8B1N46UTrI QSU9FYlzaKcw== X-IronPort-AV: E=Sophos;i="5.77,368,1596524400"; d="scan'208";a="463245006" Received: from lucas-s2600cw.jf.intel.com ([10.165.21.202]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 14:30:54 -0700 From: Lucas De Marchi To: intel-gfx@lists.freedesktop.org Date: Mon, 12 Oct 2020 14:29:56 -0700 Message-Id: <20201012212959.871513-13-lucas.demarchi@intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012212959.871513-1-lucas.demarchi@intel.com> References: <20201012212959.871513-1-lucas.demarchi@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v7 12/15] 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogU3R1YXJ0IFN1bW1lcnMgPHN0dWFydC5zdW1tZXJzQGludGVsLmNvbT4KCkRHMSBzaGFy ZXMgc29tZSB3b3JrYXJvdW5kcyB3aXRoIFRHTCBhbmQgUktMIGFuZCBhbHNvIGhhcyBzb21lCmFk ZGl0aW9uYWwgd29ya2Fyb3VuZHMgb2YgaXRzIG93bi4KCnYyOiBDb3JyZWN0IGxvY2F0aW9uIG9m IFdhXzE0MDg2MTUwNzIgKEpvaG5IKS4KdjM6IEFwcGx5IFdBcyAxNjA2NzAwNjE3LCAxODAxMTQ2 NDE2NCBhbmQgMjIwMTA5MzEyOTYgdG8gREcxIChKb3PDqSkKdjQgKEFudXNoYSkKICAtIEFkZCBX YV8yMjAxMDI3MTAyMQogIC0gcy9XYV8xNDAxMDA5Njg0NC9XYV8xNDA5ODM2Njg2CnY1OgogIC0g RXh0ZW5kIFdhXzE0MDEwOTE5MTM4IHRvIGFsbCByZXZzIChNYXR0IEF0d29vZCkKICAtIFBvd2Vy IGdhdGUgbWVkaWEgaXMgZ2xvYmFsIGdlbjEyIGRlc2lnbi4gKFJvZHJpZ28pCiAgLSBSZWJhc2Ug KEx1Y2FzKQoKQlNwZWM6IDUzNTA4CgpDYzogTWF0dCBBdHdvb2QgPG1hdHRoZXcucy5hdHdvb2RA aW50ZWwuY29tPgpDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KQ2M6 IFJhZGhha3Jpc2huYSBTcmlwYWRhIDxyYWRoYWtyaXNobmEuc3JpcGFkYUBpbnRlbC5jb20+CkNj OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogU3R1YXJ0IFN1bW1lcnMgPHN0dWFydC5zdW1tZXJzQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClJldmlld2VkLWJ5 OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Ci0tLQogLi4uL2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jICAgIHwgICA1ICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCAgIDQgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMgICB8IDExMSArKysrKysrKysrKysr Ky0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAgICAgICAgICAgICB8ICAg MiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgICAgfCAgMTAg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgICB8ICAzOSAr KysrLS0KIDYgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9wb3dlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bv d2VyLmMKaW5kZXggNDkzNGM4OTg4MmIxLi4xOGFmMDc4YzIwOGIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCkBAIC01MjczLDgg KzUyNzMsOSBAQCBzdGF0aWMgdm9pZCB0Z2xfYndfYnVkZHlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJdW5zaWduZWQgbG9uZyBhYm94X21hc2sgPSBJTlRFTF9JTkZP KGRldl9wcml2KS0+YWJveF9tYXNrOwogCWludCBjb25maWcsIGk7CiAKLQlpZiAoSVNfVEdMX0RJ U1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0IwKSkKLQkJLyogV2Ff MTQwOTc2NzEwODogdGdsICovCisJaWYgKElTX0RHMV9SRVZJRChkZXZfcHJpdiwgREcxX1JFVklE X0EwLCBERzFfUkVWSURfQTApIHx8CisJICAgIElTX1RHTF9ESVNQX1JFVklEKGRldl9wcml2LCBU R0xfUkVWSURfQTAsIFRHTF9SRVZJRF9CMCkpCisJCS8qIFdhXzE0MDk3NjcxMDg6dGdsLGRnMSAq LwogCQl0YWJsZSA9IHdhXzE0MDk3NjcxMDhfYnVkZHlfcGFnZV9tYXNrczsKIAllbHNlCiAJCXRh YmxlID0gdGdsX2J1ZGR5X3BhZ2VfbWFza3M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9zcHJpdGUuYwppbmRleCAzYWU3NDcwYzFiOGIuLjg4YmZlYmRmOTIyOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zcHJpdGUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCkBAIC0yODg2LDggKzI4 ODYsOCBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0 IGRybV9wbGFuZSAqX3BsYW5lLAogc3RhdGljIGJvb2wgZ2VuMTJfcGxhbmVfc3VwcG9ydHNfbWNf Y2NzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJZW51bSBwbGFuZV9p ZCBwbGFuZV9pZCkKIHsKLQkvKiBXYV8xNDAxMDQ3NzAwODp0Z2xbYTAuLmMwXSxya2xbYWxsXSAq LwotCWlmIChJU19ST0NLRVRMQUtFKGRldl9wcml2KSB8fAorCS8qIFdhXzE0MDEwNDc3MDA4OnRn bFthMC4uYzBdLHJrbFthbGxdLGRnMVthbGxdICovCisJaWYgKElTX0RHMShkZXZfcHJpdikgfHwg SVNfUk9DS0VUTEFLRShkZXZfcHJpdikgfHwKIAkgICAgSVNfVEdMX0RJU1BfUkVWSUQoZGV2X3By aXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0MwKSkKIAkJcmV0dXJuIGZhbHNlOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYwppbmRleCA3OGM1NDgwYzY0 MDEuLmY0NWNiMmU0MGZjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfd29ya2Fyb3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jCkBAIC02NzIsNiArNjcyLDIwIEBAIHN0YXRpYyB2b2lkIHRnbF9jdHhfd29ya2Fy b3VuZHNfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJICAgICAgIDApOwog fQogCitzdGF0aWMgdm9pZCBkZzFfY3R4X3dvcmthcm91bmRzX2luaXQoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLAorCQkJCSAgICAgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQorewor CWdlbjEyX2N0eF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSwgd2FsKTsKKworCS8qIFdhXzE0MDkw NDQ3NjQgKi8KKwlXQV9DTFJfQklUX01BU0tFRChHRU4xMV9DT01NT05fU0xJQ0VfQ0hJQ0tFTjMs CisJCQkgIERHMV9GTE9BVF9QT0lOVF9CTEVORF9PUFRfU1RSSUNUX01PREVfRU4pOworCisJLyog V2FfMjIwMTA0OTMyOTggKi8KKwlXQV9TRVRfQklUX01BU0tFRChISVpfQ0hJQ0tFTiwKKwkJCSAg REcxX0haX1JFQURfU1VQUFJFU1NJT05fT1BUSU1JWkFUSU9OX0RJU0FCTEUpOworfQorCiBzdGF0 aWMgdm9pZAogX19pbnRlbF9lbmdpbmVfaW5pdF9jdHhfd2Eoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLAogCQkJICAgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLApAQCAtNjg0LDcgKzY5 OCw5IEBAIF9faW50ZWxfZW5naW5lX2luaXRfY3R4X3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIAogCXdhX2luaXRfc3RhcnQod2FsLCBuYW1lLCBlbmdpbmUtPm5hbWUpOwogCi0J aWYgKElTX1JPQ0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKQorCWlmIChJU19E RzEoaTkxNSkpCisJCWRnMV9jdHhfd29ya2Fyb3VuZHNfaW5pdChlbmdpbmUsIHdhbCk7CisJZWxz ZSBpZiAoSVNfUk9DS0VUTEFLRShpOTE1KSB8fCBJU19USUdFUkxBS0UoaTkxNSkpCiAJCXRnbF9j dHhfd29ya2Fyb3VuZHNfaW5pdChlbmdpbmUsIHdhbCk7CiAJZWxzZSBpZiAoSVNfR0VOKGk5MTUs IDEyKSkKIAkJZ2VuMTJfY3R4X3dvcmthcm91bmRzX2luaXQoZW5naW5lLCB3YWwpOwpAQCAtMTI0 NCwxMCArMTI2MCwzNiBAQCB0Z2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCQkJICAgIEwzX0NMS0dB VEVfRElTIHwgTDNfQ1IyWF9DTEtHQVRFX0RJUyk7CiB9CiAKK3N0YXRpYyB2b2lkCitkZzFfZ3Rf d29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5 MTVfd2FfbGlzdCAqd2FsKQoreworCWdlbjEyX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2Fs KTsKKworCS8qIFdhXzE2MDcwODcwNTY6ZGcxICovCisJaWYgKElTX0RHMV9SRVZJRChpOTE1LCBE RzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkpCisJCXdhX3dyaXRlX29yKHdhbCwKKwkJCSAgICBT TElDRV9VTklUX0xFVkVMX0NMS0dBVEUsCisJCQkgICAgTDNfQ0xLR0FURV9ESVMgfCBMM19DUjJY X0NMS0dBVEVfRElTKTsKKworCS8qIFdhXzE0MDk0MjA2MDQ6ZGcxICovCisJaWYgKElTX0RHMShp OTE1KSkKKwkJd2Ffd3JpdGVfb3Iod2FsLAorCQkJICAgIFNVQlNMSUNFX1VOSVRfTEVWRUxfQ0xL R0FURTIsCisJCQkgICAgQ1BTU1VOSVRfQ0xLR0FURV9ESVMpOworCisJLyogV2FfMTQwODYxNTA3 MjpkZzEgKi8KKwkvKiBFbXBpcmljYWwgdGVzdGluZyBzaG93cyB0aGlzIHJlZ2lzdGVyIGlzIHVu YWZmZWN0ZWQgYnkgZW5naW5lIHJlc2V0LiAqLworCWlmIChJU19ERzEoaTkxNSkpCisJCXdhX3dy aXRlX29yKHdhbCwgVU5TTElDRV9VTklUX0xFVkVMX0NMS0dBVEUyLAorCQkJICAgIFZTVU5JVF9D TEtHQVRFX0RJU19UR0wpOworfQorCiBzdGF0aWMgdm9pZAogZ3RfaW5pdF93b3JrYXJvdW5kcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQog ewotCWlmIChJU19USUdFUkxBS0UoaTkxNSkpCisJaWYgKElTX0RHMShpOTE1KSkKKwkJZGcxX2d0 X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2FsKTsKKwllbHNlIGlmIChJU19USUdFUkxBS0UoaTkx NSkpCiAJCXRnbF9ndF93b3JrYXJvdW5kc19pbml0KGk5MTUsIHdhbCk7CiAJZWxzZSBpZiAoSVNf R0VOKGk5MTUsIDEyKSkKIAkJZ2VuMTJfZ3Rfd29ya2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOwpA QCAtMTYxMiw2ICsxNjU0LDIwIEBAIHN0YXRpYyB2b2lkIHRnbF93aGl0ZWxpc3RfYnVpbGQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCX0KIH0KIAorc3RhdGljIHZvaWQgZGcxX3do aXRlbGlzdF9idWlsZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJc3RydWN0 IGk5MTVfd2FfbGlzdCAqdyA9ICZlbmdpbmUtPndoaXRlbGlzdDsKKworCXRnbF93aGl0ZWxpc3Rf YnVpbGQoZW5naW5lKTsKKworCS8qIEdFTjpCVUc6MTQwOTI4MDQ0MTpkZzEgKi8KKwlpZiAoSVNf REcxX1JFVklEKGVuZ2luZS0+aTkxNSwgREcxX1JFVklEX0EwLCBERzFfUkVWSURfQTApICYmCisJ ICAgIChlbmdpbmUtPmNsYXNzID09IFJFTkRFUl9DTEFTUyB8fAorCSAgICAgZW5naW5lLT5jbGFz cyA9PSBDT1BZX0VOR0lORV9DTEFTUykpCisJCXdoaXRlbGlzdF9yZWdfZXh0KHcsIFJJTkdfSUQo ZW5naW5lLT5tbWlvX2Jhc2UpLAorCQkJCSAgUklOR19GT1JDRV9UT19OT05QUklWX0FDQ0VTU19S RCk7Cit9CisKIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVu Z2luZS0+aTkxNTsKQEAgLTE2MTksNyArMTY3NSw5IEBAIHZvaWQgaW50ZWxfZW5naW5lX2luaXRf d2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCXdhX2luaXRfc3Rh cnQodywgIndoaXRlbGlzdCIsIGVuZ2luZS0+bmFtZSk7CiAKLQlpZiAoSVNfR0VOKGk5MTUsIDEy KSkKKwlpZiAoSVNfREcxKGk5MTUpKQorCQlkZzFfd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSk7CisJ ZWxzZSBpZiAoSVNfR0VOKGk5MTUsIDEyKSkKIAkJdGdsX3doaXRlbGlzdF9idWlsZChlbmdpbmUp OwogCWVsc2UgaWYgKElTX0dFTihpOTE1LCAxMSkpCiAJCWljbF93aGl0ZWxpc3RfYnVpbGQoZW5n aW5lKTsKQEAgLTE2NzMsMTUgKzE3MzEsMTggQEAgcmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OwogCi0JaWYgKElTX1RH TF9VWV9HVF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkpIHsKKwlpZiAo SVNfREcxX1JFVklEKGk5MTUsIERHMV9SRVZJRF9BMCwgREcxX1JFVklEX0EwKSB8fAorCSAgICBJ U19UR0xfVVlfR1RfUkVWSUQoaTkxNSwgVEdMX1JFVklEX0EwLCBUR0xfUkVWSURfQTApKSB7CiAJ CS8qCi0JCSAqIFdhXzE2MDcxMzgzMzY6dGdsCi0JCSAqIFdhXzE2MDcwNjM5ODg6dGdsCisJCSAq IFdhXzE2MDcxMzgzMzY6dGdsW2EwXSxkZzFbYTBdCisJCSAqIFdhXzE2MDcwNjM5ODg6dGdsW2Ew XSxkZzFbYTBdCiAJCSAqLwogCQl3YV93cml0ZV9vcih3YWwsCiAJCQkgICAgR0VOOV9DVFhfUFJF RU1QVF9SRUcsCiAJCQkgICAgR0VOMTJfRElTQUJMRV9QT1NIX0JVU1lfRkZfRE9QX0NHKTsKKwl9 CiAKKwlpZiAoSVNfVEdMX1VZX0dUX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklE X0EwKSkgewogCQkvKgogCQkgKiBXYV8xNjA2Njc5MTAzOnRnbAogCQkgKiAoc2VlIGFsc28gV2Ff MTYwNjY4MjE2NjppY2wpCkBAIC0xNjk1LDM1ICsxNzU2LDQxIEBAIHJjc19lbmdpbmVfd2FfaW5p dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndh bCkKIAkJCSAgICBWU1VOSVRfQ0xLR0FURV9ESVNfVEdMKTsKIAl9CiAKLQlpZiAoSVNfUk9DS0VU TEFLRShpOTE1KSB8fCBJU19USUdFUkxBS0UoaTkxNSkpIHsKLQkJLyogV2FfMTYwNjkzMTYwMTp0 Z2wscmtsICovCisJaWYgKElTX0RHMShpOTE1KSB8fCBJU19ST0NLRVRMQUtFKGk5MTUpIHx8IElT X1RJR0VSTEFLRShpOTE1KSkgeworCQkvKiBXYV8xNjA2OTMxNjAxOnRnbCxya2wsZGcxICovCiAJ CXdhX21hc2tlZF9lbih3YWwsIEdFTjdfUk9XX0NISUNLRU4yLCBHRU4xMl9ESVNBQkxFX0VBUkxZ X1JFQUQpOwogCi0JCS8qIFdhXzE0MDk4MDQ4MDg6dGdsLHJrbCAqLworCQkvKgorCQkgKiBXYV8x NDA3OTI4OTc5OnRnbCBBKgorCQkgKiBXYV8xODAxMTQ2NDE2NDp0Z2xbQjArXSxkZzFbQjArXQor CQkgKiBXYV8yMjAxMDkzMTI5Njp0Z2xbQjArXSxkZzFbQjArXQorCQkgKiBXYV8xNDAxMDkxOTEz ODpya2wsIGRnMQorCQkgKi8KKwkJd2Ffd3JpdGVfb3Iod2FsLCBHRU43X0ZGX1RIUkVBRF9NT0RF LAorCQkJICAgIEdFTjEyX0ZGX1RFU1NFTEFUSU9OX0RPUF9HQVRFX0RJU0FCTEUpOworCX0KKwor CWlmIChJU19ERzFfUkVWSUQoaTkxNSwgREcxX1JFVklEX0EwLCBERzFfUkVWSURfQTApIHx8CisJ ICAgIElTX1JPQ0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKSB7CisJCS8qIFdh XzE0MDk4MDQ4MDg6dGdsLHJrbCxkZzFbYTBdICovCiAJCXdhX21hc2tlZF9lbih3YWwsIEdFTjdf Uk9XX0NISUNLRU4yLAogCQkJICAgICBHRU4xMl9QVVNIX0NPTlNUX0RFUkVGX0hPTERfRElTKTsK IAogCQkvKgogCQkgKiBXYV8xNDA5MDg1MjI1OnRnbAotCQkgKiBXYV8xNDAxMDIyOTIwNjp0Z2ws cmtsCisJCSAqIFdhXzE0MDEwMjI5MjA2OnRnbCxya2wsZGcxW2EwXQogCQkgKi8KIAkJd2FfbWFz a2VkX2VuKHdhbCwgR0VOOV9ST1dfQ0hJQ0tFTjQsIEdFTjEyX0RJU0FCTEVfVERMX1BVU0gpOwog Ci0JCS8qCi0JCSAqIFdhXzE0MDc5Mjg5Nzk6dGdsIEEqCi0JCSAqIFdhXzE4MDExNDY0MTY0OnRn bCBCMCsKLQkJICogV2FfMjIwMTA5MzEyOTY6dGdsIEIwKwotCQkgKiBXYV8xNDAxMDkxOTEzODpy a2wsdGdsCi0JCSAqLwotCQl3YV93cml0ZV9vcih3YWwsIEdFTjdfRkZfVEhSRUFEX01PREUsCi0J CQkgICAgR0VOMTJfRkZfVEVTU0VMQVRJT05fRE9QX0dBVEVfRElTQUJMRSk7Ci0KIAkJLyoKIAkJ ICogV2FfMTYwNzAzMDMxNzp0Z2wKIAkJICogV2FfMTYwNzE4NjUwMDp0Z2wKLQkJICogV2FfMTYw NzI5NzYyNzp0Z2wscmtsIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzCi0JCSAq IFdBIGluIHRoZSBCU3BlYzsgc29tZSBpbmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsCi0J CSAqIG90aGVycyBpbmRpY2F0ZSBpdCBhcHBsaWVzIHRvIGFsbCBzdGVwcGluZ3MuCisJCSAqIFdh XzE2MDcyOTc2Mjc6dGdsLHJrbCxkZzFbYTBdCisJCSAqCisJCSAqIE9uIFRHTCBhbmQgUktMIHRo ZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzIFdBIGluIHRoZQorCQkgKiBCU3BlYzsg c29tZSBpbmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsIG90aGVycyBpbmRpY2F0ZQorCQkg KiBpdCBhcHBsaWVzIHRvIGFsbCBzdGVwcGluZ3Mgc28gd2UgdHJ1c3QgdGhlICJhbGwgc3RlcHBp bmdzLiIKKwkJICogRm9yIERHMSB0aGlzIG9ubHkgYXBwbGllcyB0byBBMC4KIAkJICovCiAJCXdh X21hc2tlZF9lbih3YWwsCiAJCQkgICAgIEdFTjZfUkNfU0xFRVBfUFNNSV9DT05UUk9MLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggMjQ5NzMwNTYxYjZjLi5kZjQyZWJmZDg5NDkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAtOTEwLDYgKzkxMCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gZGcxX2luZm8gX19tYXliZV91bnVzZWQgPSB7CiAJLnBsYXRm b3JtX2VuZ2luZV9tYXNrID0KIAkJQklUKFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSB8 CiAJCUJJVChWQ1MwKSB8IEJJVChWQ1MyKSwKKwkvKiBXYV8xNjAxMTIyNzkyMiAqLworCS5wcGd0 dF9zaXplID0gNDcsCiB9OwogCiAjdW5kZWYgR0VOCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCA3OWI1NzlmZDhjZjAuLjFkN2Q5MDJiYjY0MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBA IC0yNTMwLDYgKzI1MzAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3JlZ192YWxp ZChpOTE1X3JlZ190IHJlZykKICNkZWZpbmUgUklOR19QU01JX0NUTChiYXNlKQlfTU1JTygoYmFz ZSkgKyAweDUwKQogI2RlZmluZSBSSU5HX01BWF9JRExFKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4 NTQpCiAjZGVmaW5lIFJJTkdfSFdTX1BHQShiYXNlKQlfTU1JTygoYmFzZSkgKyAweDgwKQorI2Rl ZmluZSBSSU5HX0lEKGJhc2UpCQlfTU1JTygoYmFzZSkgKyAweDhjKQogI2RlZmluZSBSSU5HX0hX U19QR0FfR0VONihiYXNlKQlfTU1JTygoYmFzZSkgKyAweDIwODApCiAjZGVmaW5lIFJJTkdfUkVT RVRfQ1RMKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4ZDApCiAjZGVmaW5lICAgUkVTRVRfQ1RMX0NB VF9FUlJPUgkgICBSRUdfQklUKDIpCkBAIC00MTQ5LDYgKzQxNTAsNyBAQCBlbnVtIHsKIAogI2Rl ZmluZSBHRU45X0NMS0dBVEVfRElTXzMJCV9NTUlPKDB4NDY1MzgpCiAjZGVmaW5lICAgVEdMX1ZS SF9HQVRJTkdfRElTCQlSRUdfQklUKDMxKQorI2RlZmluZSAgIERQVF9HQVRJTkdfRElTCQlSRUdf QklUKDIyKQogCiAjZGVmaW5lIEdFTjlfQ0xLR0FURV9ESVNfNAkJX01NSU8oMHg0NjUzQykKICNk ZWZpbmUgICBCWFRfR01CVVNfR0FUSU5HX0RJUwkJKDEgPDwgMTQpCkBAIC04MDIxLDEyICs4MDIz LDE0IEBAIGVudW0gewogI2RlZmluZSBHRU44X0wzQ05UTFJFRwlfTU1JTygweDcwMzQpCiAgICNk ZWZpbmUgR0VOOF9FUlJERVRCQ1RSTCAoMSA8PCA5KQogCi0jZGVmaW5lIEdFTjExX0NPTU1PTl9T TElDRV9DSElDS0VOMwkJX01NSU8oMHg3MzA0KQotICAjZGVmaW5lIEdFTjExX0JMRU5EX0VNQl9G SVhfRElTQUJMRV9JTl9SQ0MJKDEgPDwgMTEpCi0gICNkZWZpbmUgR0VOMTJfRElTQUJMRV9DUFNf QVdBUkVfQ09MT1JfUElQRQkoMSA8PCA5KQorI2RlZmluZSBHRU4xMV9DT01NT05fU0xJQ0VfQ0hJ Q0tFTjMJCQlfTU1JTygweDczMDQpCisgICNkZWZpbmUgREcxX0ZMT0FUX1BPSU5UX0JMRU5EX09Q VF9TVFJJQ1RfTU9ERV9FTglSRUdfQklUKDEyKQorICAjZGVmaW5lIEdFTjExX0JMRU5EX0VNQl9G SVhfRElTQUJMRV9JTl9SQ0MJCVJFR19CSVQoMTEpCisgICNkZWZpbmUgR0VOMTJfRElTQUJMRV9D UFNfQVdBUkVfQ09MT1JfUElQRQkJUkVHX0JJVCg5KQogCiAjZGVmaW5lIEhJWl9DSElDS0VOCQkJ CQlfTU1JTygweDcwMTgpCiAjIGRlZmluZSBDSFZfSFpfOFg4X01PREVfSU5fMVgJCQkJKDEgPDwg MTUpCisjIGRlZmluZSBERzFfSFpfUkVBRF9TVVBQUkVTU0lPTl9PUFRJTUlaQVRJT05fRElTQUJM RSAgICgxIDw8IDE0KQogIyBkZWZpbmUgQkRXX0hJWl9QT1dFUl9DT01QSUxFUl9DTE9DS19HQVRJ TkdfRElTQUJMRQkoMSA8PCAzKQogCiAjZGVmaW5lIEdFTjlfU0xJQ0VfQ09NTU9OX0VDT19DSElD S0VOMAkJX01NSU8oMHg3MzA4KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggOGNkNjI0MDJk NTk3Li5hZTZiMzY3ZTYzY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNzExNiwyNSAr NzExNiwyNiBAQCBzdGF0aWMgdm9pZCBpY2xfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJIDAsIENOTF9ERUxBWV9QTVJTUCk7CiB9CiAKLXN0 YXRpYyB2b2lkIHRnbF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCitzdGF0aWMgdm9pZCBnZW4xMl9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQl1MzIgdmRfcGdfZW5hYmxlID0gMDsKIAl1bnNpZ25l ZCBpbnQgaTsKIAorCS8qIFRoaXMgaXMgbm90IGEgV0EuIEVuYWJsZSBWRCBIQ1AgJiBNRlhfRU5D IHBvd2VyZ2F0ZSAqLworCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9WQ1M7IGkrKykKKwkJaWYg KEhBU19FTkdJTkUoJmk5MTUtPmd0LCBfVkNTKGkpKSkKKwkJCWludGVsX3VuY29yZV9ybXcoJmk5 MTUtPnVuY29yZSwgUE9XRVJHQVRFX0VOQUJMRSwgMCwKKwkJCQkJIFZETl9IQ1BfUE9XRVJHQVRF X0VOQUJMRShpKSB8CisJCQkJCSBWRE5fTUZYX1BPV0VSR0FURV9FTkFCTEUoaSkpOworfQorCitz dGF0aWMgdm9pZCB0Z2xfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCWdlbjEyX2luaXRfY2xvY2tfZ2F0aW5nKGRldl9wcml2KTsKKwogCS8q IFdhXzE0MDkxMjAwMTM6dGdsICovCiAJSTkxNV9XUklURShJTEtfRFBGQ19DSElDS0VOLAogCQkg ICBJTEtfRFBGQ19DSElDS0VOX0NPTVBfRFVNTVlfUElYRUwpOwogCi0JLyogVGhpcyBpcyBub3Qg YSBXQS4gRW5hYmxlIFZEIEhDUCAmIE1GWF9FTkMgcG93ZXJnYXRlICovCi0JZm9yIChpID0gMDsg aSA8IEk5MTVfTUFYX1ZDUzsgaSsrKSB7Ci0JCWlmIChIQVNfRU5HSU5FKCZkZXZfcHJpdi0+Z3Qs IF9WQ1MoaSkpKQotCQkJdmRfcGdfZW5hYmxlIHw9IFZETl9IQ1BfUE9XRVJHQVRFX0VOQUJMRShp KSB8Ci0JCQkJCVZETl9NRlhfUE9XRVJHQVRFX0VOQUJMRShpKTsKLQl9Ci0KLQlJOTE1X1dSSVRF KFBPV0VSR0FURV9FTkFCTEUsCi0JCSAgIEk5MTVfUkVBRChQT1dFUkdBVEVfRU5BQkxFKSB8IHZk X3BnX2VuYWJsZSk7Ci0KIAkvKiBXYV8xNDA5ODI1Mzc2OnRnbCAocHJlLXByb2QpKi8KIAlpZiAo SVNfVEdMX0RJU1BfUkVWSUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0IxKSkK IAkJSTkxNV9XUklURShHRU45X0NMS0dBVEVfRElTXzMsIEk5MTVfUkVBRChHRU45X0NMS0dBVEVf RElTXzMpIHwKQEAgLTcxNDUsNiArNzE0NiwxNiBAQCBzdGF0aWMgdm9pZCB0Z2xfaW5pdF9jbG9j a19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJIDAsIERGUl9E SVNBQkxFKTsKIH0KIAorc3RhdGljIHZvaWQgZGcxX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlnZW4xMl9pbml0X2Nsb2NrX2dhdGluZyhk ZXZfcHJpdik7CisKKwkvKiBXYV8xNDA5ODM2Njg2OmRnMVthMF0gKi8KKwlpZiAoSVNfREcxX1JF VklEKGRldl9wcml2LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkpCisJCUk5MTVfV1JJVEUo R0VOOV9DTEtHQVRFX0RJU18zLCBJOTE1X1JFQUQoR0VOOV9DTEtHQVRFX0RJU18zKSB8CisJCQkg ICBEUFRfR0FUSU5HX0RJUyk7Cit9CisKIHN0YXRpYyB2b2lkIGNucF9pbml0X2Nsb2NrX2dhdGlu ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJaWYgKCFIQVNfUENIX0NO UChkZXZfcHJpdikpCkBAIC03NTkwLDcgKzc2MDEsOSBAQCBzdGF0aWMgdm9pZCBub3BfaW5pdF9j bG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICovCiB2b2lk IGludGVsX2luaXRfY2xvY2tfZ2F0aW5nX2hvb2tzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIHsKLQlpZiAoSVNfR0VOKGRldl9wcml2LCAxMikpCisJaWYgKElTX0RHMShkZXZf cHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gZGcxX2luaXRf Y2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0dFTihkZXZfcHJpdiwgMTIpKQogCQlkZXZfcHJp di0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IHRnbF9pbml0X2Nsb2NrX2dhdGluZzsKIAll bHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDExKSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9j bG9ja19nYXRpbmcgPSBpY2xfaW5pdF9jbG9ja19nYXRpbmc7Ci0tIAoyLjI4LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=