From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH] drm/i915/cnl: Introduce initial Cannonlake Workarounds. Date: Tue, 6 Jun 2017 13:53:27 -0700 Message-ID: <1496782407-27273-1-git-send-email-rodrigo.vivi@intel.com> References: <1494415036.4164.6.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 491CC6E17B for ; Tue, 6 Jun 2017 20:53:19 +0000 (UTC) In-Reply-To: <1494415036.4164.6.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan De Oliveira , Mika Kuoppala , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org TGV0J3MgaW5oZXJpdCB3b3JrYXJvdW5kcyBmcm9tIHByZXZpb3VzIHBsYXRmb3JtcyB0aGF0CmFj Y29yZGluZyB0byB3YV9kYXRhYmFzZSBhbmQgQlNwZWMgYXJlIHN0aWxsIHZhbGlkIGZvcgpDYW5u b25sYWtlLgoKdjI6IEFkZCBtaXNzZWQgd29ya2Fyb3VuZHMuCnYzOiBSZWJhc2UKdjQ6IFJlbW92 ZSBiYWQgY2h1bmsgdGhhdCB3YXMgYWRkZWQgdG8gcmM2IGRpc2FibGUuIChBbmRlcikKICAgIEFs c28gcmVtb3ZlIEEwIFcvYSB0aGF0IGFyZSBub3QgbmVlZGVkIGFueW1vcmUuCgpDYzogQW5kZXIg Q29uc2VsdmFuIERlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwu Y29tPgpDYzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgICAgIHwgIDYgKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9lbmdpbmVfY3MuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LQogNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNGZmODU0ZS4uMjE2NjYyNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTE4ODQsMTIgKzE4ODQsMTIgQEAgc3RhdGlj IHZvaWQgZ3R0X3dyaXRlX3dvcmthcm91bmRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkgKiBjYWxsZWQgb24gZHJpdmVyIGxvYWQgYW5kIGFmdGVyIGEgR1BVIHJlc2V0LCBz byB5b3UgY2FuIHBsYWNlCiAJICogd29ya2Fyb3VuZHMgaGVyZSBldmVuIGlmIHRoZXkgZ2V0IG92 ZXJ3cml0dGVuIGJ5IEdQVSByZXNldC4KIAkgKi8KLQkvKiBXYUluY3JlYXNlRGVmYXVsdFRMQkVu dHJpZXM6Y2h2LGJkdyxza2wsYnh0LGtibCxnbGsgKi8KKwkvKiBXYUluY3JlYXNlRGVmYXVsdFRM QkVudHJpZXM6Y2h2LGJkdyxza2wsYnh0LGtibCxnbGssY25sICovCiAJaWYgKElTX0JST0FEV0VM TChkZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUoR0VOOF9MM19MUkFfMV9HUEdQVSwgR0VOOF9MM19M UkFfMV9HUEdQVV9ERUZBVUxUX1ZBTFVFX0JEVyk7CiAJZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhk ZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUoR0VOOF9MM19MUkFfMV9HUEdQVSwgR0VOOF9MM19MUkFf MV9HUEdQVV9ERUZBVUxUX1ZBTFVFX0NIVik7Ci0JZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJp dikpCisJZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikgfHwgSVNfR0VOMTAoZGV2X3ByaXYp KQogCQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVf REVGQVVMVF9WQUxVRV9TS0wpOwogCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQogCQlJ OTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVfREVGQVVM VF9WQUxVRV9CWFQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggNDhlMGI4ZS4uMjNjODJm YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0zNDUzLDYgKzM0NTMsMTIgQEAgZW51bSB7 CiAjZGVmaW5lICAgUFdNMV9HQVRJTkdfRElTCQkoMSA8PCAxMykKIAogLyoKKyAqIEdFTjEwIGNs b2NrIGdhdGluZyByZWdzCisgKi8KKyNkZWZpbmUgU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFCV9N TUlPKDB4OTRkNCkKKyNkZWZpbmUgIFNBUkJVTklUX0NMS0dBVEVfRElTCQkoMSA8PCA1KQorCisv KgogICogRGlzcGxheSBlbmdpbmUgcmVncwogICovCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX2NzLmMKaW5kZXggYmMzOGJkMS4uZTRhNzE4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZW5naW5lX2NzLmMKQEAgLTEwNzYsNiArMTA3NiwzMCBAQCBzdGF0aWMgaW50IGJ4dF9p bml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlyZXR1cm4g MDsKIH0KIAorc3RhdGljIGludCBjbmxfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZW5naW5lLT5pOTE1OworCWludCByZXQ7CisKKwkvKiBXYUluUGxhY2VEZWNvbXByZXNzaW9uSGFu ZzpjbmwgKi8KKwlXQV9TRVRfQklUKEdFTjlfR0FNVF9FQ09fUkVHX1JXX0lBLAorCQkgICBHQU1U X0VDT19FTkFCTEVfSU5fUExBQ0VfREVDT01QUkVTUyk7CisKKwkvKiBXYUVuYWJsZVByZWVtcHRp b25HcmFudWxhcml0eUNvbnRyb2xCeVVNRDpjbmwgKi8KKwlyZXQ9IHdhX3Jpbmdfd2hpdGVsaXN0 X3JlZyhlbmdpbmUsIEdFTjhfQ1NfQ0hJQ0tFTjEpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7 CisKKwkvKiBXYUFsbG93VU1EVG9Nb2RpZnlIRENDaGlja2VuMTpjbmwgKHByZS1wcm9kKSAqLwor CWlmIChJU19DTkxfUkVWSUQoZGV2X3ByaXYsIENOTF9SRVZJRF9BMCwgQ05MX1JFVklEX0EwKSkg eworCQlyZXQgPSB3YV9yaW5nX3doaXRlbGlzdF9yZWcoZW5naW5lLCBHRU44X0hEQ19DSElDS0VO MSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCiBz dGF0aWMgaW50IGtibF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmk5 MTU7CkBAIC0xMTYyLDYgKzExODYsOCBAQCBpbnQgaW5pdF93b3JrYXJvdW5kc19yaW5nKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJZXJyID0ga2JsX2luaXRfd29ya2Fyb3VuZHMo ZW5naW5lKTsKIAllbHNlIGlmIChJU19HRU1JTklMQUtFKGRldl9wcml2KSkKIAkJZXJyID0gIGds a19pbml0X3dvcmthcm91bmRzKGVuZ2luZSk7CisJZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZf cHJpdikpCisJCWVyciA9IGNubF9pbml0X3dvcmthcm91bmRzKGVuZ2luZSk7CiAJZWxzZQogCQll cnIgPSAwOwogCWlmIChlcnIpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGQ0OWRiYWEu LjE2MDFlYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMTc1LDYgKzExNzUsNyBA QCBzdGF0aWMgaW50IGludGVsX2luaXRfd29ya2Fyb3VuZF9iYihzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJc3dpdGNoIChJTlRFTF9HRU4oZW5n aW5lLT5pOTE1KSkgeworCWNhc2UgMTA6CiAJY2FzZSA5OgogCQl3YV9iYl9mblswXSA9IGdlbjlf aW5pdF9pbmRpcmVjdGN0eF9iYjsKIAkJd2FfYmJfZm5bMV0gPSBnZW45X2luaXRfcGVyY3R4X2Ji OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggYWE5ZDhjZS4uMjUwZTRmMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCkBAIC01OCwyNCArNTgsMjQgQEAKIAogc3RhdGljIHZvaWQgZ2VuOV9p bml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0J LyogU2VlIEJzcGVjIG5vdGUgZm9yIFBTUjJfQ1RMIGJpdCAzMSwgV2EjODI4OnNrbCxieHQsa2Js ICovCisJLyogU2VlIEJzcGVjIG5vdGUgZm9yIFBTUjJfQ1RMIGJpdCAzMSwgV2EjODI4OnNrbCxi eHQsa2JsLGNubCAqLwogCUk5MTVfV1JJVEUoQ0hJQ0tFTl9QQVIxXzEsCiAJCSAgIEk5MTVfUkVB RChDSElDS0VOX1BBUjFfMSkgfCBTS0xfRURQX1BTUl9GSVhfUkRXUkFQKTsKIAogCUk5MTVfV1JJ VEUoR0VOOF9DT05GSUcwLAogCQkgICBJOTE1X1JFQUQoR0VOOF9DT05GSUcwKSB8IEdFTjlfREVG QVVMVF9GSVhFUyk7CiAKLQkvKiBXYUVuYWJsZUNoaWNrZW5EQ1BSOnNrbCxieHQsa2JsLGdsayAq LworCS8qIFdhRW5hYmxlQ2hpY2tlbkRDUFI6c2tsLGJ4dCxrYmwsZ2xrLGNubCAqLwogCUk5MTVf V1JJVEUoR0VOOF9DSElDS0VOX0RDUFJfMSwKIAkJICAgSTkxNV9SRUFEKEdFTjhfQ0hJQ0tFTl9E Q1BSXzEpIHwgTUFTS19XQUtFTUVNKTsKIAotCS8qIFdhRmJjVHVybk9mZkZiY1dhdGVybWFyazpz a2wsYnh0LGtibCAqLwotCS8qIFdhRmJjV2FrZU1lbU9uOnNrbCxieHQsa2JsLGdsayAqLworCS8q IFdhRmJjVHVybk9mZkZiY1dhdGVybWFyazpza2wsYnh0LGtibCxjbmwgKi8KKwkvKiBXYUZiY1dh a2VNZW1Pbjpza2wsYnh0LGtibCxnbGssY25sICovCiAJSTkxNV9XUklURShESVNQX0FSQl9DVEws IEk5MTVfUkVBRChESVNQX0FSQl9DVEwpIHwKIAkJICAgRElTUF9GQkNfV01fRElTIHwKIAkJICAg RElTUF9GQkNfTUVNT1JZX1dBS0UpOwogCi0JLyogV2FGYmNIaWdoTWVtQndDb3JydXB0aW9uQXZv aWRhbmNlOnNrbCxieHQsa2JsICovCisJLyogV2FGYmNIaWdoTWVtQndDb3JydXB0aW9uQXZvaWRh bmNlOnNrbCxieHQsa2JsLGNubCAqLwogCUk5MTVfV1JJVEUoSUxLX0RQRkNfQ0hJQ0tFTiwgSTkx NV9SRUFEKElMS19EUEZDX0NISUNLRU4pIHwKIAkJICAgSUxLX0RQRkNfRElTQUJMRV9EVU1NWTAp OwogfQpAQCAtODI5OCw2ICs4Mjk4LDIwIEBAIHN0YXRpYyB2b2lkIGdlbjhfc2V0X2wzc3FjX2Ny ZWRpdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUk5MTVfV1JJVEUoR0VO N19NSVNDQ1BDVEwsIG1pc2NjcGN0bCk7CiB9CiAKK3N0YXRpYyB2b2lkIGNhbm5vbmxha2VfaW5p dF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWdl bjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2X3ByaXYpOworCisJLyogV2FGYmNOdWtlT25Ib3N0TW9k aWZ5OmNubCAqLworCUk5MTVfV1JJVEUoSUxLX0RQRkNfQ0hJQ0tFTiwgSTkxNV9SRUFEKElMS19E UEZDX0NISUNLRU4pIHwKKwkJICAgSUxLX0RQRkNfTlVLRV9PTl9BTllfTU9ESUZJQ0FUSU9OKTsK KworCS8qIFdhU2FyYlVuaXRDbG9ja0dhdGluZ0Rpc2FibGU6Y25sIChwcmUtcHJvZCkgKi8KKwlp ZiAoSVNfQ05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVWSURfQTAsIENOTF9SRVZJRF9CMCkpCisJ CUk5MTVfV1JJVEUoU0xJQ0VfVU5JVF9MRVZFTF9DTEtHQVRFLCBJOTE1X1JFQUQoU0xJQ0VfVU5J VF9MRVZFTF9DTEtHQVRFKSB8CisJCQkgICBTQVJCVU5JVF9DTEtHQVRFX0RJUyk7Cit9CisKIHN0 YXRpYyB2b2lkIGthYnlsYWtlX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIHsKIAlnZW45X2luaXRfY2xvY2tfZ2F0aW5nKGRldl9wcml2KTsKQEAg LTg3NzgsNyArODc5Miw5IEBAIHN0YXRpYyB2b2lkIG5vcF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAgKi8KIHZvaWQgaW50ZWxfaW5pdF9jbG9j a19nYXRpbmdfaG9va3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCWlm IChJU19TS1lMQUtFKGRldl9wcml2KSkKKwlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCisJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gY2Fubm9ubGFrZV9pbml0X2Ns b2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19TS1lMQUtFKGRldl9wcml2KSkKIAkJZGV2X3ByaXYt PmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBza3lsYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwog CWVsc2UgaWYgKElTX0tBQllMQUtFKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5p dF9jbG9ja19nYXRpbmcgPSBrYWJ5bGFrZV9pbml0X2Nsb2NrX2dhdGluZzsKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK