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=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 861BDC433F1 for ; Fri, 10 Jul 2020 12:00:15 +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 64A9C2078D for ; Fri, 10 Jul 2020 12:00:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 64A9C2078D 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 819156EC01; Fri, 10 Jul 2020 12:00:14 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA7016EC00 for ; Fri, 10 Jul 2020 12:00:12 +0000 (UTC) IronPort-SDR: fhkHUv4xTz1w/94v4z0GWzwCrTU2mYmS8ssSVij3q90nHHYONg1YQIcot4SDylBEii2Yycphyt mRujKmogyNfQ== X-IronPort-AV: E=McAfee;i="6000,8403,9677"; a="149653758" X-IronPort-AV: E=Sophos;i="5.75,335,1589266800"; d="scan'208";a="149653758" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2020 05:00:12 -0700 IronPort-SDR: YC0g/0PUaNFzLcza7Uy0wAnvmDY4tSomlqPWJdmFvxzlJg6E76ES0nPTbwv0YwYBufCUkLKAxw +rOB75jeNESg== X-IronPort-AV: E=Sophos;i="5.75,335,1589266800"; d="scan'208";a="458257745" Received: from nmartino-mobl1.ger.corp.intel.com (HELO mwahaha-bdw.ger.corp.intel.com) ([10.255.207.224]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2020 05:00:09 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Date: Fri, 10 Jul 2020 12:57:24 +0100 Message-Id: <20200710115757.290984-28-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200710115757.290984-1-matthew.auld@intel.com> References: <20200710115757.290984-1-matthew.auld@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [RFC 27/60] 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 aW5nKCkuCgpCU3BlYzogNTM1MDgKCnYyOiBBbHNvIGFkZCBXYV8xNjAxMTIyNzkyMgoKQ2M6IE1h dHQgQXR3b29kIDxtYXR0aGV3LnMuYXR3b29kQGludGVsLmNvbT4KQ2M6IE1hdHQgUm9wZXIgPG1h dHRoZXcuZC5yb3BlckBpbnRlbC5jb20+CkNjOiBSYWRoYWtyaXNobmEgU3JpcGFkYSA8cmFkaGFr cmlzaG5hLnNyaXBhZGFAaW50ZWwuY29tPgpDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9z ZS5zb3V6YUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0dWFydCBTdW1tZXJzIDxzdHVhcnQu c3VtbWVyc0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMu ZGVtYXJjaGlAaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfcG93ZXIuYyAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3Nwcml0ZS5jICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fy b3VuZHMuYyAgIHwgOTEgKysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wY2kuYyAgICAgICAgICAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCAgICAgICAgICAgICAgIHwgMTAgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMgICAgICAgICAgICAgICB8IDE3ICsrKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTA4IGluc2Vy dGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKaW5kZXggYjUxYjgyY2IyMzk4Li4yMWYzOWM5 NDA1NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV9wb3dlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV9wb3dlci5jCkBAIC01NDYyLDggKzU0NjIsOSBAQCBzdGF0aWMgdm9pZCB0Z2xfYndfYnVk ZHlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJdW5zaWduZWQgbG9u ZyBhYm94X21hc2sgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+YWJveF9tYXNrOwogCWludCBjb25m aWcsIGk7CiAKLQlpZiAoSVNfVEdMX1JFVklEKGRldl9wcml2LCBUR0xfUkVWSURfQTAsIFRHTF9S RVZJRF9CMCkpCi0JCS8qIFdhXzE0MDk3NjcxMDg6IHRnbCAqLworCWlmIChJU19ERzFfUkVWSUQo ZGV2X3ByaXYsIERHMV9SRVZJRF9BMCwgREcxX1JFVklEX0EwKSB8fAorCSAgICBJU19UR0xfUkVW SUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0IwKSkKKwkJLyogV2FfMTQwOTc2 NzEwODp0Z2wsZGcxICovCiAJCXRhYmxlID0gd2FfMTQwOTc2NzEwOF9idWRkeV9wYWdlX21hc2tz OwogCWVsc2UKIAkJdGFibGUgPSB0Z2xfYnVkZHlfcGFnZV9tYXNrczsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCmluZGV4IGMyNmNhMDI5ZmMwYS4uZDAzYTIz OWU2OTc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nw cml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMK QEAgLTI4NDMsOCArMjg0Myw4IEBAIHN0YXRpYyBib29sIHNrbF9wbGFuZV9mb3JtYXRfbW9kX3N1 cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiBzdGF0aWMgYm9vbCBnZW4xMl9wbGFu ZV9zdXBwb3J0c19tY19jY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJ CQllbnVtIHBsYW5lX2lkIHBsYW5lX2lkKQogewotCS8qIFdhXzE0MDEwNDc3MDA4OnRnbFthMC4u YzBdLHJrbFthbGxdICovCi0JaWYgKElTX1JPQ0tFVExBS0UoZGV2X3ByaXYpIHx8CisJLyogV2Ff MTQwMTA0NzcwMDg6dGdsW2EwLi5jMF0scmtsW2FsbF0sZGcxW2FsbF0gKi8KKwlpZiAoSVNfREcx KGRldl9wcml2KSB8fCBJU19ST0NLRVRMQUtFKGRldl9wcml2KSB8fAogCSAgICBJU19UR0xfUkVW SUQoZGV2X3ByaXYsIFRHTF9SRVZJRF9BMCwgVEdMX1JFVklEX0MwKSkKIAkJcmV0dXJuIGZhbHNl OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5k cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYwppbmRleCAx NTIxZGJjMTNiOWQuLjYyOTQwMjJlMjNhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF93b3JrYXJvdW5kcy5jCkBAIC02NDEsNiArNjQxLDIwIEBAIHN0YXRpYyB2b2lkIHRnbF9j dHhfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJICAg ICAgIDApOwogfQogCitzdGF0aWMgdm9pZCBkZzFfY3R4X3dvcmthcm91bmRzX2luaXQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAorCQkJCSAgICAgc3RydWN0IGk5MTVfd2FfbGlzdCAq d2FsKQoreworCWdlbjEyX2N0eF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSwgd2FsKTsKKworCS8q IFdhXzE0MDkwNDQ3NjQgKi8KKwlXQV9DTFJfQklUX01BU0tFRChHRU4xMV9DT01NT05fU0xJQ0Vf Q0hJQ0tFTjMsCisJCQkgIERHMV9GTE9BVF9QT0lOVF9CTEVORF9PUFRfU1RSSUNUX01PREVfRU4p OworCisJLyogV2FfMjIwMTA0OTMyOTggKi8KKwlXQV9TRVRfQklUX01BU0tFRChISVpfQ0hJQ0tF TiwKKwkJCSAgREcxX0haX1JFQURfU1VQUFJFU1NJT05fT1BUSU1JWkFUSU9OX0RJU0FCTEUpOwor fQorCiBzdGF0aWMgdm9pZAogX19pbnRlbF9lbmdpbmVfaW5pdF9jdHhfd2Eoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAogCQkJICAgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLApAQCAt NjUzLDcgKzY2Nyw5IEBAIF9faW50ZWxfZW5naW5lX2luaXRfY3R4X3dhKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwKIAogCXdhX2luaXRfc3RhcnQod2FsLCBuYW1lLCBlbmdpbmUtPm5h bWUpOwogCi0JaWYgKElTX1JPQ0tFVExBS0UoaTkxNSkgfHwgSVNfVElHRVJMQUtFKGk5MTUpKQor CWlmIChJU19ERzEoaTkxNSkpCisJCWRnMV9jdHhfd29ya2Fyb3VuZHNfaW5pdChlbmdpbmUsIHdh bCk7CisJZWxzZSBpZiAoSVNfUk9DS0VUTEFLRShpOTE1KSB8fCBJU19USUdFUkxBS0UoaTkxNSkp CiAJCXRnbF9jdHhfd29ya2Fyb3VuZHNfaW5pdChlbmdpbmUsIHdhbCk7CiAJZWxzZSBpZiAoSVNf R0VOKGk5MTUsIDEyKSkKIAkJZ2VuMTJfY3R4X3dvcmthcm91bmRzX2luaXQoZW5naW5lLCB3YWwp OwpAQCAtMTIxMywxMCArMTIyOSwzMCBAQCB0Z2xfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCQkJICAg IEwzX0NMS0dBVEVfRElTIHwgTDNfQ1IyWF9DTEtHQVRFX0RJUyk7CiB9CiAKK3N0YXRpYyB2b2lk CitkZzFfZ3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwg c3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQoreworCWdlbjEyX2d0X3dvcmthcm91bmRzX2luaXQo aTkxNSwgd2FsKTsKKworCS8qIFdhXzE2MDcwODcwNTY6ZGcxICovCisJaWYgKElTX0RHMV9SRVZJ RChpOTE1LCBERzFfUkVWSURfQTAsIERHMV9SRVZJRF9BMCkpCisJCXdhX3dyaXRlX29yKHdhbCwK KwkJCSAgICBTTElDRV9VTklUX0xFVkVMX0NMS0dBVEUsCisJCQkgICAgTDNfQ0xLR0FURV9ESVMg fCBMM19DUjJYX0NMS0dBVEVfRElTKTsKKworCS8qIFdhXzE0MDk0MjA2MDQ6ZGcxICovCisJaWYg KElTX0RHMShpOTE1KSkKKwkJd2Ffd3JpdGVfb3Iod2FsLAorCQkJICAgIFNVQlNMSUNFX1VOSVRf TEVWRUxfQ0xLR0FURTIsCisJCQkgICAgQ1BTU1VOSVRfQ0xLR0FURV9ESVMpOworfQorCiBzdGF0 aWMgdm9pZAogZ3RfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogewotCWlmIChJU19USUdFUkxBS0UoaTkxNSkp CisJaWYgKElTX0RHMShpOTE1KSkKKwkJZGcxX2d0X3dvcmthcm91bmRzX2luaXQoaTkxNSwgd2Fs KTsKKwllbHNlIGlmIChJU19USUdFUkxBS0UoaTkxNSkpCiAJCXRnbF9ndF93b3JrYXJvdW5kc19p bml0KGk5MTUsIHdhbCk7CiAJZWxzZSBpZiAoSVNfR0VOKGk5MTUsIDEyKSkKIAkJZ2VuMTJfZ3Rf d29ya2Fyb3VuZHNfaW5pdChpOTE1LCB3YWwpOwpAQCAtMTU4MSw2ICsxNjE3LDIwIEBAIHN0YXRp YyB2b2lkIHRnbF93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQogCX0KIH0KIAorc3RhdGljIHZvaWQgZGcxX3doaXRlbGlzdF9idWlsZChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCit7CisJc3RydWN0IGk5MTVfd2FfbGlzdCAqdyA9ICZlbmdpbmUt PndoaXRlbGlzdDsKKworCXRnbF93aGl0ZWxpc3RfYnVpbGQoZW5naW5lKTsKKworCS8qIEdFTjpC VUc6MTQwOTI4MDQ0MTpkZzEgKi8KKwlpZiAoSVNfREcxX1JFVklEKGVuZ2luZS0+aTkxNSwgREcx X1JFVklEX0EwLCBERzFfUkVWSURfQTApICYmCisJICAgIChlbmdpbmUtPmNsYXNzID09IFJFTkRF Ul9DTEFTUyB8fAorCSAgICAgZW5naW5lLT5jbGFzcyA9PSBDT1BZX0VOR0lORV9DTEFTUykpCisJ CXdoaXRlbGlzdF9yZWdfZXh0KHcsIFJJTkdfSUQoZW5naW5lLT5tbWlvX2Jhc2UpLAorCQkJCSAg UklOR19GT1JDRV9UT19OT05QUklWX0FDQ0VTU19SRCk7Cit9CisKIHZvaWQgaW50ZWxfZW5naW5l X2luaXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsKQEAgLTE1ODgsNyArMTYz OCw5IEBAIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfd2hpdGVsaXN0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIAogCXdhX2luaXRfc3RhcnQodywgIndoaXRlbGlzdCIsIGVuZ2luZS0+ bmFtZSk7CiAKLQlpZiAoSVNfR0VOKGk5MTUsIDEyKSkKKwlpZiAoSVNfREcxKGk5MTUpKQorCQlk ZzFfd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSk7CisJZWxzZSBpZiAoSVNfR0VOKGk5MTUsIDEyKSkK IAkJdGdsX3doaXRlbGlzdF9idWlsZChlbmdpbmUpOwogCWVsc2UgaWYgKElTX0dFTihpOTE1LCAx MSkpCiAJCWljbF93aGl0ZWxpc3RfYnVpbGQoZW5naW5lKTsKQEAgLTE2NDIsMTUgKzE2OTQsMTgg QEAgcmNzX2VuZ2luZV93YV9pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3Ry dWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gZW5naW5lLT5pOTE1OwogCi0JaWYgKElTX1RHTF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAs IFRHTF9SRVZJRF9BMCkpIHsKKwlpZiAoSVNfREcxX1JFVklEKGk5MTUsIERHMV9SRVZJRF9BMCwg REcxX1JFVklEX0EwKSB8fAorCSAgICBJU19UR0xfUkVWSUQoaTkxNSwgVEdMX1JFVklEX0EwLCBU R0xfUkVWSURfQTApKSB7CiAJCS8qCi0JCSAqIFdhXzE2MDcxMzgzMzY6dGdsCi0JCSAqIFdhXzE2 MDcwNjM5ODg6dGdsCisJCSAqIFdhXzE2MDcxMzgzMzY6dGdsW2EwXSxkZzFbYTBdCisJCSAqIFdh XzE2MDcwNjM5ODg6dGdsW2EwXSxkZzFbYTBdCiAJCSAqLwogCQl3YV93cml0ZV9vcih3YWwsCiAJ CQkgICAgR0VOOV9DVFhfUFJFRU1QVF9SRUcsCiAJCQkgICAgR0VOMTJfRElTQUJMRV9QT1NIX0JV U1lfRkZfRE9QX0NHKTsKKwl9CiAKKwlpZiAoSVNfVEdMX1JFVklEKGk5MTUsIFRHTF9SRVZJRF9B MCwgVEdMX1JFVklEX0EwKSkgewogCQkvKgogCQkgKiBXYV8xNjA2Njc5MTAzOnRnbAogCQkgKiAo c2VlIGFsc28gV2FfMTYwNjY4MjE2NjppY2wpCkBAIC0xNjYwLDIxICsxNzE1LDI4IEBAIHJjc19l bmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1 X3dhX2xpc3QgKndhbCkKIAkJCSAgICBHRU43X0RJU0FCTEVfU0FNUExFUl9QUkVGRVRDSCk7CiAK IAkJLyogV2FfMTQwODYxNTA3Mjp0Z2wgKi8KKwl9CisKKwlpZiAoSVNfREcxKGk5MTUpIHx8IElT X1RHTF9SRVZJRChpOTE1LCBUR0xfUkVWSURfQTAsIFRHTF9SRVZJRF9BMCkpIHsKKwkJLyogV2Ff MTQwODYxNTA3Mjp0Z2xbYTBdLGRnMSAqLwogCQl3YV93cml0ZV9vcih3YWwsIFVOU0xJQ0VfVU5J VF9MRVZFTF9DTEtHQVRFMiwKIAkJCSAgICBWU1VOSVRfQ0xLR0FURV9ESVNfVEdMKTsKIAl9CiAK LQlpZiAoSVNfUk9DS0VUTEFLRShpOTE1KSB8fCBJU19USUdFUkxBS0UoaTkxNSkpIHsKLQkJLyog V2FfMTYwNjkzMTYwMTp0Z2wscmtsICovCisJaWYgKElTX0RHMShpOTE1KSB8fCBJU19ST0NLRVRM QUtFKGk5MTUpIHx8IElTX1RJR0VSTEFLRShpOTE1KSkgeworCQkvKiBXYV8xNjA2OTMxNjAxOnRn bCxya2wsZGcxICovCiAJCXdhX21hc2tlZF9lbih3YWwsIEdFTjdfUk9XX0NISUNLRU4yLCBHRU4x Ml9ESVNBQkxFX0VBUkxZX1JFQUQpOworCX0KIAotCQkvKiBXYV8xNDA5ODA0ODA4OnRnbCxya2wg Ki8KKwlpZiAoSVNfREcxX1JFVklEKGk5MTUsIERHMV9SRVZJRF9BMCwgREcxX1JFVklEX0EwKSB8 fAorCSAgICBJU19ST0NLRVRMQUtFKGk5MTUpIHx8IElTX1RJR0VSTEFLRShpOTE1KSkgeworCQkv KiBXYV8xNDA5ODA0ODA4OnRnbCxya2wsZGcxW2EwXSAqLwogCQl3YV9tYXNrZWRfZW4od2FsLCBH RU43X1JPV19DSElDS0VOMiwKIAkJCSAgICAgR0VOMTJfUFVTSF9DT05TVF9ERVJFRl9IT0xEX0RJ Uyk7CiAKIAkJLyoKIAkJICogV2FfMTQwOTA4NTIyNTp0Z2wKLQkJICogV2FfMTQwMTAyMjkyMDY6 dGdsLHJrbAorCQkgKiBXYV8xNDAxMDIyOTIwNjp0Z2wscmtsLGRnMVthMF0KIAkJICovCiAJCXdh X21hc2tlZF9lbih3YWwsIEdFTjlfUk9XX0NISUNLRU40LCBHRU4xMl9ESVNBQkxFX1RETF9QVVNI KTsKIApAQCAtMTY4OSw5ICsxNzUxLDEyIEBAIHJjc19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCkKIAkJLyoKIAkJ ICogV2FfMTYwNzAzMDMxNzp0Z2wKIAkJICogV2FfMTYwNzE4NjUwMDp0Z2wKLQkJICogV2FfMTYw NzI5NzYyNzp0Z2wscmtsIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzCi0JCSAq IFdBIGluIHRoZSBCU3BlYzsgc29tZSBpbmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsCi0J CSAqIG90aGVycyBpbmRpY2F0ZSBpdCBhcHBsaWVzIHRvIGFsbCBzdGVwcGluZ3MuCisJCSAqIFdh XzE2MDcyOTc2Mjc6dGdsLHJrbCxkZzFbYTBdCisJCSAqCisJCSAqIE9uIFRHTCBhbmQgUktMIHRo ZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGlzIFdBIGluIHRoZQorCQkgKiBCU3BlYzsg c29tZSBpbmRpY2F0ZSB0aGlzIGlzIGFuIEEwLW9ubHkgV0EsIG90aGVycyBpbmRpY2F0ZQorCQkg KiBpdCBhcHBsaWVzIHRvIGFsbCBzdGVwcGluZ3Mgc28gd2UgdHJ1c3QgdGhlICJhbGwgc3RlcHBp bmdzLiIKKwkJICogRm9yIERHMSB0aGlzIG9ubHkgYXBwbGllcyB0byBBMC4KIAkJICovCiAJCXdh X21hc2tlZF9lbih3YWwsCiAJCQkgICAgIEdFTjZfUkNfU0xFRVBfUFNNSV9DT05UUk9MLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggODVlMjU1NzU2M2NmLi44ZjJlNDRjYWJkNTYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wY2kuYwpAQCAtOTA5LDYgKzkwOSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gZGcxX2luZm8gPSB7CiAJLnBsYXRmb3JtX2VuZ2luZV9tYXNr ID0KIAkJQklUKFJDUzApIHwgQklUKEJDUzApIHwgQklUKFZFQ1MwKSB8CiAJCUJJVChWQ1MwKSB8 IEJJVChWQ1MyKSwKKwkvKiBXYV8xNjAxMTIyNzkyMiAqLworCS5wcGd0dF9zaXplID0gNDcsCiB9 OwogCiAjdW5kZWYgR0VOCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCA3Yjk2M2YzNjIxOTAu LjcxOTFlYmQ3YzEzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0yNTI5LDYgKzI1Mjks NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3JlZ192YWxpZChpOTE1X3JlZ190IHJl ZykKICNkZWZpbmUgUklOR19QU01JX0NUTChiYXNlKQlfTU1JTygoYmFzZSkgKyAweDUwKQogI2Rl ZmluZSBSSU5HX01BWF9JRExFKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4NTQpCiAjZGVmaW5lIFJJ TkdfSFdTX1BHQShiYXNlKQlfTU1JTygoYmFzZSkgKyAweDgwKQorI2RlZmluZSBSSU5HX0lEKGJh c2UpCQlfTU1JTygoYmFzZSkgKyAweDhjKQogI2RlZmluZSBSSU5HX0hXU19QR0FfR0VONihiYXNl KQlfTU1JTygoYmFzZSkgKyAweDIwODApCiAjZGVmaW5lIFJJTkdfUkVTRVRfQ1RMKGJhc2UpCV9N TUlPKChiYXNlKSArIDB4ZDApCiAjZGVmaW5lICAgUkVTRVRfQ1RMX0NBVF9FUlJPUgkgICBSRUdf QklUKDIpCkBAIC00MTQyLDYgKzQxNDMsNyBAQCBlbnVtIHsKIAogI2RlZmluZSBHRU45X0NMS0dB VEVfRElTXzMJCV9NTUlPKDB4NDY1MzgpCiAjZGVmaW5lICAgVEdMX1ZSSF9HQVRJTkdfRElTCQlS RUdfQklUKDMxKQorI2RlZmluZSAgIERQVF9HQVRJTkdfRElTCQlSRUdfQklUKDIyKQogCiAjZGVm aW5lIEdFTjlfQ0xLR0FURV9ESVNfNAkJX01NSU8oMHg0NjUzQykKICNkZWZpbmUgICBCWFRfR01C VVNfR0FUSU5HX0RJUwkJKDEgPDwgMTQpCkBAIC04MDIxLDEyICs4MDIzLDE0IEBAIGVudW0gewog I2RlZmluZSBHRU44X0wzQ05UTFJFRwlfTU1JTygweDcwMzQpCiAgICNkZWZpbmUgR0VOOF9FUlJE RVRCQ1RSTCAoMSA8PCA5KQogCi0jZGVmaW5lIEdFTjExX0NPTU1PTl9TTElDRV9DSElDS0VOMwkJ X01NSU8oMHg3MzA0KQotICAjZGVmaW5lIEdFTjExX0JMRU5EX0VNQl9GSVhfRElTQUJMRV9JTl9S Q0MJKDEgPDwgMTEpCi0gICNkZWZpbmUgR0VOMTJfRElTQUJMRV9DUFNfQVdBUkVfQ09MT1JfUElQ RQkoMSA8PCA5KQorI2RlZmluZSBHRU4xMV9DT01NT05fU0xJQ0VfQ0hJQ0tFTjMJCQlfTU1JTygw eDczMDQpCisjZGVmaW5lICAgREcxX0ZMT0FUX1BPSU5UX0JMRU5EX09QVF9TVFJJQ1RfTU9ERV9F TglSRUdfQklUKDEyKQorI2RlZmluZSAgIEdFTjExX0JMRU5EX0VNQl9GSVhfRElTQUJMRV9JTl9S Q0MJCVJFR19CSVQoMTEpCisjZGVmaW5lICAgR0VOMTJfRElTQUJMRV9DUFNfQVdBUkVfQ09MT1Jf UElQRQkJUkVHX0JJVCg5KQogCiAjZGVmaW5lIEhJWl9DSElDS0VOCQkJCQlfTU1JTygweDcwMTgp CiAjIGRlZmluZSBDSFZfSFpfOFg4X01PREVfSU5fMVgJCQkJKDEgPDwgMTUpCisjIGRlZmluZSBE RzFfSFpfUkVBRF9TVVBQUkVTU0lPTl9PUFRJTUlaQVRJT05fRElTQUJMRSAgICgxIDw8IDE0KQog IyBkZWZpbmUgQkRXX0hJWl9QT1dFUl9DT01QSUxFUl9DTE9DS19HQVRJTkdfRElTQUJMRQkoMSA8 PCAzKQogCiAjZGVmaW5lIEdFTjlfU0xJQ0VfQ09NTU9OX0VDT19DSElDS0VOMAkJX01NSU8oMHg3 MzA4KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggY2ZhYmJlMDQ4MWFiLi4wYzRlOTVmYmRh NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNzE1MSw2ICs3MTUxLDE5IEBAIHN0YXRp YyB2b2lkIHRnbF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCQkgMCwgREZSX0RJU0FCTEUpOwogfQogCitzdGF0aWMgdm9pZCBkZzFfaW5pdF9j bG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCS8qCisJ ICogQXMgb3Bwb3NlZCB0byBUR0wsIHdlIHNob3VsZCBub3QgdG91Y2ggdGhlIHJlZ2lzdGVycyBm b3IgIG1lZGlhIHBvd2VyCisJICogZ2F0aW5nCisJICovCisKKwkvKiBXYV8xNDAxMDA5Njg0NDpk ZzFbYTBdICovCisJaWYgKElTX0RHMV9SRVZJRChkZXZfcHJpdiwgREcxX1JFVklEX0EwLCBERzFf UkVWSURfQTApKQorCQlJOTE1X1dSSVRFKEdFTjlfQ0xLR0FURV9ESVNfMywgSTkxNV9SRUFEKEdF TjlfQ0xLR0FURV9ESVNfMykgfAorCQkJICAgRFBUX0dBVElOR19ESVMpOworfQorCiBzdGF0aWMg dm9pZCBjbnBfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewogCWlmICghSEFTX1BDSF9DTlAoZGV2X3ByaXYpKQpAQCAtNzU5Miw3ICs3NjA1LDkg QEAgc3RhdGljIHZvaWQgbm9wX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKICAqLwogdm9pZCBpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29rcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JaWYgKElTX0dFTihkZXZfcHJp diwgMTIpKQorCWlmIChJU19ERzEoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0 X2Nsb2NrX2dhdGluZyA9IGRnMV9pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19HRU4o ZGV2X3ByaXYsIDEyKSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSB0 Z2xfaW5pdF9jbG9ja19nYXRpbmc7CiAJZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCAxMSkpCiAJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaWNsX2luaXRfY2xvY2tfZ2F0 aW5nOwotLSAKMi4yNi4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK