From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 12/67] drm/i915/cnl: Introduce initial Cannonlake Workarounds. Date: Thu, 6 Apr 2017 12:15:08 -0700 Message-ID: <1491506163-14587-12-git-send-email-rodrigo.vivi@intel.com> References: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id EA9686E9F8 for ; Thu, 6 Apr 2017 19:16:02 +0000 (UTC) In-Reply-To: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.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: Mika Kuoppala , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org TGV0J3MgaW5oZXJpdCB3b3JrYXJvdW5kcyBmcm9tIHByZXZpb3VzIHBsYXRmb3JtcyB0aGF0CmFj Y29yZGluZyB0byB3YV9kYXRhYmFzZSBhbmQgQlNwZWMgYXJlIHN0aWxsIHZhbGlkIGZvcgpDYW5u b25sYWtlLgoKdjI6IEFkZCBtaXNzZWQgd29ya2Fyb3VuZHMuCnYzOiBSZWJhc2UKCkNjOiBNaWth IEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgICAgfCAgNiArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMgfCAyNiArKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDUgZmlsZXMgY2hh bmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCmluZGV4IDhiYWI0YWUuLjNjODQ1N2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCkBAIC0xODgxLDEyICsxODgxLDEyIEBAIHN0YXRpYyB2b2lkIGd0dF93cml0 ZV93b3JrYXJvdW5kcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogY2Fs bGVkIG9uIGRyaXZlciBsb2FkIGFuZCBhZnRlciBhIEdQVSByZXNldCwgc28geW91IGNhbiBwbGFj ZQogCSAqIHdvcmthcm91bmRzIGhlcmUgZXZlbiBpZiB0aGV5IGdldCBvdmVyd3JpdHRlbiBieSBH UFUgcmVzZXQuCiAJICovCi0JLyogV2FJbmNyZWFzZURlZmF1bHRUTEJFbnRyaWVzOmNodixiZHcs c2tsLGJ4dCxrYmwsZ2xrICovCisJLyogV2FJbmNyZWFzZURlZmF1bHRUTEJFbnRyaWVzOmNodixi ZHcsc2tsLGJ4dCxrYmwsZ2xrLGNubCAqLwogCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQog CQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjhfTDNfTFJBXzFfR1BHUFVfREVG QVVMVF9WQUxVRV9CRFcpOwogCWVsc2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQogCQlJ OTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjhfTDNfTFJBXzFfR1BHUFVfREVGQVVM VF9WQUxVRV9DSFYpOwotCWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKQorCWVsc2UgaWYg KElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8IElTX0dFTjEwKGRldl9wcml2KSkKIAkJSTkxNV9XUklU RShHRU44X0wzX0xSQV8xX0dQR1BVLCBHRU45X0wzX0xSQV8xX0dQR1BVX0RFRkFVTFRfVkFMVUVf U0tMKTsKIAllbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkKIAkJSTkxNV9XUklURShHRU44 X0wzX0xSQV8xX0dQR1BVLCBHRU45X0wzX0xSQV8xX0dQR1BVX0RFRkFVTFRfVkFMVUVfQlhUKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGVmYmJlYjguLmEwOWEwZDcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaApAQCAtMzQyNCw2ICszNDI0LDEyIEBAIGVudW0gewogI2RlZmluZSAgIFBX TTFfR0FUSU5HX0RJUwkJKDEgPDwgMTMpCiAKIC8qCisgKiBHRU4xMCBjbG9jayBnYXRpbmcgcmVn cworICovCisjZGVmaW5lIFNMSUNFX1VOSVRfTEVWRUxfQ0xLR0FURQlfTU1JTygweDk0ZDQpCisj ZGVmaW5lICBTQVJCVU5JVF9DTEtHQVRFX0RJUwkJKDEgPDwgNSkKKworLyoKICAqIERpc3BsYXkg ZW5naW5lIHJlZ3MKICAqLwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmlu ZGV4IDg1NGU4ZTAuLmRhODE5YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jCkBAIC05NDYsNiArOTQ2LDMwIEBAIHN0YXRpYyBpbnQgYnh0X2luaXRfd29ya2Fyb3VuZHMo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXJldHVybiAwOwogfQogCitzdGF0aWMg aW50IGNubF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CisJ aW50IHJldDsKKworCS8qIFdhSW5QbGFjZURlY29tcHJlc3Npb25IYW5nOmNubCAqLworCVdBX1NF VF9CSVQoR0VOOV9HQU1UX0VDT19SRUdfUldfSUEsCisJCSAgIEdBTVRfRUNPX0VOQUJMRV9JTl9Q TEFDRV9ERUNPTVBSRVNTKTsKKworCS8qIFdhRW5hYmxlUHJlZW1wdGlvbkdyYW51bGFyaXR5Q29u dHJvbEJ5VU1EOmNubCAqLworCXJldD0gd2FfcmluZ193aGl0ZWxpc3RfcmVnKGVuZ2luZSwgR0VO OF9DU19DSElDS0VOMSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCS8qIFdhQWxsb3dV TURUb01vZGlmeUhEQ0NoaWNrZW4xOmNubCAocHJlLXByb2QpICovCisJaWYgKElTX0NOTF9SRVZJ RChkZXZfcHJpdiwgQ05MX1JFVklEX0EwLCBDTkxfUkVWSURfQTApKSB7CisJCXJldCA9IHdhX3Jp bmdfd2hpdGVsaXN0X3JlZyhlbmdpbmUsIEdFTjhfSERDX0NISUNLRU4xKTsKKwkJaWYgKHJldCkK KwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQga2JsX2lu aXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKQEAgLTEwMzIsNiAr MTA1Niw4IEBAIGludCBpbml0X3dvcmthcm91bmRzX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogCQllcnIgPSBrYmxfaW5pdF93b3JrYXJvdW5kcyhlbmdpbmUpOwogCWVsc2Ug aWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQogCQllcnIgPSAgZ2xrX2luaXRfd29ya2Fyb3Vu ZHMoZW5naW5lKTsKKwllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKKwkJZXJyID0g Y25sX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKIAllbHNlCiAJCWVyciA9IDA7CiAJaWYgKGVy cikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMGRjMWNjNC4uMjNlMmJlZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTEwOTMsNiArMTA5Myw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfaW5pdF93b3JrYXJvdW5kX2JiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJ cmV0dXJuIC1FSU5WQUw7CiAKIAlzd2l0Y2ggKElOVEVMX0dFTihlbmdpbmUtPmk5MTUpKSB7CisJ Y2FzZSAxMDoKIAljYXNlIDk6CiAJCXdhX2JiX2ZuWzBdID0gZ2VuOV9pbml0X2luZGlyZWN0Y3R4 X2JiOwogCQl3YV9iYl9mblsxXSA9IGdlbjlfaW5pdF9wZXJjdHhfYmI7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwppbmRleCA1NWUxZTg4Li5iNmVjYWI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK QEAgLTU4LDI0ICs1OCwyNCBAQAogCiBzdGF0aWMgdm9pZCBnZW45X2luaXRfY2xvY2tfZ2F0aW5n KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQkvKiBTZWUgQnNwZWMgbm90 ZSBmb3IgUFNSMl9DVEwgYml0IDMxLCBXYSM4Mjg6c2tsLGJ4dCxrYmwgKi8KKwkvKiBTZWUgQnNw ZWMgbm90ZSBmb3IgUFNSMl9DVEwgYml0IDMxLCBXYSM4Mjg6c2tsLGJ4dCxrYmwsY25sICovCiAJ STkxNV9XUklURShDSElDS0VOX1BBUjFfMSwKIAkJICAgSTkxNV9SRUFEKENISUNLRU5fUEFSMV8x KSB8IFNLTF9FRFBfUFNSX0ZJWF9SRFdSQVApOwogCiAJSTkxNV9XUklURShHRU44X0NPTkZJRzAs CiAJCSAgIEk5MTVfUkVBRChHRU44X0NPTkZJRzApIHwgR0VOOV9ERUZBVUxUX0ZJWEVTKTsKIAot CS8qIFdhRW5hYmxlQ2hpY2tlbkRDUFI6c2tsLGJ4dCxrYmwsZ2xrICovCisJLyogV2FFbmFibGVD aGlja2VuRENQUjpza2wsYnh0LGtibCxnbGssY25sICovCiAJSTkxNV9XUklURShHRU44X0NISUNL RU5fRENQUl8xLAogCQkgICBJOTE1X1JFQUQoR0VOOF9DSElDS0VOX0RDUFJfMSkgfCBNQVNLX1dB S0VNRU0pOwogCi0JLyogV2FGYmNUdXJuT2ZmRmJjV2F0ZXJtYXJrOnNrbCxieHQsa2JsICovCi0J LyogV2FGYmNXYWtlTWVtT246c2tsLGJ4dCxrYmwsZ2xrICovCisJLyogV2FGYmNUdXJuT2ZmRmJj V2F0ZXJtYXJrOnNrbCxieHQsa2JsLGNubCAqLworCS8qIFdhRmJjV2FrZU1lbU9uOnNrbCxieHQs a2JsLGdsayxjbmwgKi8KIAlJOTE1X1dSSVRFKERJU1BfQVJCX0NUTCwgSTkxNV9SRUFEKERJU1Bf QVJCX0NUTCkgfAogCQkgICBESVNQX0ZCQ19XTV9ESVMgfAogCQkgICBESVNQX0ZCQ19NRU1PUllf V0FLRSk7CiAKLQkvKiBXYUZiY0hpZ2hNZW1Cd0NvcnJ1cHRpb25Bdm9pZGFuY2U6c2tsLGJ4dCxr YmwgKi8KKwkvKiBXYUZiY0hpZ2hNZW1Cd0NvcnJ1cHRpb25Bdm9pZGFuY2U6c2tsLGJ4dCxrYmws Y25sICovCiAJSTkxNV9XUklURShJTEtfRFBGQ19DSElDS0VOLCBJOTE1X1JFQUQoSUxLX0RQRkNf Q0hJQ0tFTikgfAogCQkgICBJTEtfRFBGQ19ESVNBQkxFX0RVTU1ZMCk7CiB9CkBAIC01NDI4LDgg KzU0MjgsMTkgQEAgaW50IGludGVsX3NldF9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1OCB2YWwpCiAKIHN0YXRpYyB2b2lkIGdlbjlfZGlzYWJsZV9yYzYoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogeworCWdlbjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2 X3ByaXYpOworCiAJSTkxNV9XUklURShHRU42X1JDX0NPTlRST0wsIDApOwogCUk5MTVfV1JJVEUo R0VOOV9QR19FTkFCTEUsIDApOworCisJLyogV2FEaXNhYmxlR2FtQ2xvY2tHYXRpbmc6Y25sIChw cmUtcHJvZCkgKi8KKwlpZiAoSVNfQ05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVWSURfQTAsIENO TF9SRVZJRF9BMCkpCisJCUk5MTVfV1JJVEUoR0VONl9VQ0dDVEwxLCBJOTE1X1JFQUQoR0VONl9V Q0dDVEwxKSB8CisJCQkgICBHRU42X0dBTVVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFKTsKKworCS8q IFdhRmJjTnVrZU9uSG9zdE1vZGlmeTpjbmwgKi8KKwlJOTE1X1dSSVRFKElMS19EUEZDX0NISUNL RU4sIEk5MTVfUkVBRChJTEtfRFBGQ19DSElDS0VOKSB8CisJCSAgIElMS19EUEZDX05VS0VfT05f QU5ZX01PRElGSUNBVElPTik7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjlfZGlzYWJsZV9ycHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNzQ3NCw2ICs3NDg1LDI1IEBAIHN0 YXRpYyB2b2lkIGdlbjhfc2V0X2wzc3FjX2NyZWRpdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCUk5MTVfV1JJVEUoR0VON19NSVNDQ1BDVEwsIG1pc2NjcGN0bCk7CiB9CiAK K3N0YXRpYyB2b2lkIGNhbm5vbmxha2VfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQoreworCWdlbjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2X3ByaXYp OworCisJLyogV2FEaXNhYmxlR2FtQ2xvY2tHYXRpbmc6Y25sIChwcmUtcHJvZCkgKi8KKwlpZiAo SVNfQ05MX1JFVklEKGRldl9wcml2LCBDTkxfUkVWSURfQTAsIENOTF9SRVZJRF9BMCkpCisJICAg ICAgICBJOTE1X1dSSVRFKEdFTjZfVUNHQ1RMMSwgSTkxNV9SRUFEKEdFTjZfVUNHQ1RMMSkgfAor CQkJICAgR0VONl9HQU1VTklUX0NMT0NLX0dBVEVfRElTQUJMRSk7CisKKwkvKiBXYUZiY051a2VP bkhvc3RNb2RpZnk6Y25sICovCisJSTkxNV9XUklURShJTEtfRFBGQ19DSElDS0VOLCBJOTE1X1JF QUQoSUxLX0RQRkNfQ0hJQ0tFTikgfAorCQkgICBJTEtfRFBGQ19OVUtFX09OX0FOWV9NT0RJRklD QVRJT04pOworCisJLyogV2FTYXJiVW5pdENsb2NrR2F0aW5nRGlzYWJsZTpjbmwgKHByZS1wcm9k KSAqLworCWlmIChJU19DTkxfUkVWSUQoZGV2X3ByaXYsIENOTF9SRVZJRF9BMCwgQ05MX1JFVklE X0IwKSkKKwkJSTkxNV9XUklURShTTElDRV9VTklUX0xFVkVMX0NMS0dBVEUsIEk5MTVfUkVBRChT TElDRV9VTklUX0xFVkVMX0NMS0dBVEUpIHwKKwkJCSAgIFNBUkJVTklUX0NMS0dBVEVfRElTKTsK K30KKwogc3RhdGljIHZvaWQga2FieWxha2VfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWdlbjlfaW5pdF9jbG9ja19nYXRpbmcoZGV2X3By aXYpOwpAQCAtNzk1NCw3ICs3OTg0LDkgQEAgc3RhdGljIHZvaWQgbm9wX2luaXRfY2xvY2tfZ2F0 aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKICAqLwogdm9pZCBpbnRlbF9p bml0X2Nsb2NrX2dhdGluZ19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiB7Ci0JaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCWlmIChJU19DQU5OT05MQUtFKGRldl9w cml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBjYW5ub25sYWtl X2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQogCQlk ZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IHNreWxha2VfaW5pdF9jbG9ja19n YXRpbmc7CiAJZWxzZSBpZiAoSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlz cGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGthYnlsYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=