From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oscar Mateo Subject: [PATCH 01/22] drm/i915/icl: Introduce initial Icelake Workarounds Date: Fri, 6 Apr 2018 15:24:57 -0700 Message-ID: <1523053518-20827-1-git-send-email-oscar.mateo@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2051B6E973 for ; Fri, 6 Apr 2018 22:25:20 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org SW5oZXJpdCB3b3JrYXJvdW5kcyBmcm9tIHByZXZpb3VzIHBsYXRmb3JtcyB0aGF0IGFyZSBzdGls bCB2YWxpZCBmb3IKSWNlbGFrZS4KCnYyOiBHRU43X1JPV19DSElDS0VOMiBpcyBtYXNrZWQKdjM6 CiAgLSBTaW5jZSBpdCBoYXMgYmVlbiBmaXhlZCBhbHJlYWR5IGluIHVwc3RyZWFtLCByZW1vdmVk IHRoZSBUT0RPCiAgICBjb21tZW50IGFib3V0IFdBX1NFVF9CSVQgZm9yIFdhSW5QbGFjZURlY29t cHJlc3Npb25IYW5nLgogIC0gU3F1YXNoZWQgd2l0aCB0aGlzIHBhdGNoOgogICAgICBkcm0vaTkx NS9pY2w6IGFkZCBpY2VsYWtlX2luaXRfY2xvY2tfZ2F0aW5nKCkKICAgIGZyb20gUGF1bG8gWmFu b25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CiAgLSBTcXVhc2hlZCB3aXRoIHRoaXMgcGF0 Y2g6CiAgICAgIGRybS9pOTE1L2ljbDogV2FGb3JjZUVuYWJsZU5vbkNvaGVyZW50CiAgICBmcm9t IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+CiAgLSBXYVB1c2hDb25zdGFudERl cmVmZXJlbmNlSG9sZERpc2FibGUgaXMgbm93IFdhXzE2MDQzNzA1ODUgYW5kCiAgICBhcHBsaWVz IHRvIEIwIGFzIHdlbGwuCiAgLSBXYVBpcGVDb250cm9sQmVmb3JlM0RTdGF0ZVNhbXBsZVBhdHRl cm4gV0FCQiB3YXMgYmVpbmcgYXBwbGllZAogICAgdG8gSUNMIGluY29ycmVjdGx5Lgp2NDoKICAt IFdyYXAgdGhlIGNvbW1pdCBtZXNzYWdlCiAgLSBzL2Rldl9wcml2L3AgdG8gcGxlYXNlIGNoZWNr cGF0Y2gKCkNjOiBUb21hc3ogTGlzIDx0b21hc3oubGlzQGludGVsLmNvbT4KQ2M6IE1pa2EgS3Vv cHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBPc2Nh ciBNYXRlbyA8b3NjYXIubWF0ZW9AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgIHwgIDkgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYyAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMg fCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyAgICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKy0KIDYgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA1Mzcz YjE3Li4xYTQ4MDFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI0NTgsNiArMjQ1OCwx NSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpOTE1X3NnX3NlZ21lbnRfc2l6ZSh2b2lk KQogI2RlZmluZSBJU19DTkxfUkVWSUQocCwgc2luY2UsIHVudGlsKSBcCiAJKElTX0NBTk5PTkxB S0UocCkgJiYgSVNfUkVWSUQocCwgc2luY2UsIHVudGlsKSkKIAorI2RlZmluZSBJQ0xfUkVWSURf QTAJCTB4MAorI2RlZmluZSBJQ0xfUkVWSURfQTIJCTB4MQorI2RlZmluZSBJQ0xfUkVWSURfQjAJ CTB4MworI2RlZmluZSBJQ0xfUkVWSURfQjIJCTB4NAorI2RlZmluZSBJQ0xfUkVWSURfQzAJCTB4 NQorCisjZGVmaW5lIElTX0lDTF9SRVZJRChwLCBzaW5jZSwgdW50aWwpIFwKKwkoSVNfSUNFTEFL RShwKSAmJiBJU19SRVZJRChwLCBzaW5jZSwgdW50aWwpKQorCiAvKgogICogVGhlIGdlblggZGVz aWduYXRpb24gdHlwaWNhbGx5IHJlZmVycyB0byB0aGUgcmVuZGVyIGVuZ2luZSwgc28gcmVuZGVy CiAgKiBjYXBhYmlsaXR5IHJlbGF0ZWQgY2hlY2tzIHNob3VsZCB1c2UgSVNfR0VOLCB3aGlsZSBk aXNwbGF5IGFuZCBvdGhlciBjaGVja3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5k ZXggMjFkNzJmNi4uMjIxYjg3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAg LTIxNDAsMTIgKzIxNDAsMTIgQEAgc3RhdGljIHZvaWQgZ3R0X3dyaXRlX3dvcmthcm91bmRzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKiBjYWxsZWQgb24gZHJpdmVyIGxv YWQgYW5kIGFmdGVyIGEgR1BVIHJlc2V0LCBzbyB5b3UgY2FuIHBsYWNlCiAJICogd29ya2Fyb3Vu ZHMgaGVyZSBldmVuIGlmIHRoZXkgZ2V0IG92ZXJ3cml0dGVuIGJ5IEdQVSByZXNldC4KIAkgKi8K LQkvKiBXYUluY3JlYXNlRGVmYXVsdFRMQkVudHJpZXM6Y2h2LGJkdyxza2wsYnh0LGtibCxnbGss Y2ZsLGNubCAqLworCS8qIFdhSW5jcmVhc2VEZWZhdWx0VExCRW50cmllczpjaHYsYmR3LHNrbCxi eHQsa2JsLGdsayxjZmwsY25sLGljbCAqLwogCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQog CQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjhfTDNfTFJBXzFfR1BHUFVfREVG QVVMVF9WQUxVRV9CRFcpOwogCWVsc2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQogCQlJ OTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BHUFUsIEdFTjhfTDNfTFJBXzFfR1BHUFVfREVGQVVM VF9WQUxVRV9DSFYpOwotCWVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8IElTX0dFTjEw KGRldl9wcml2KSkKKwllbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJU19HRU4xMChk ZXZfcHJpdikgfHwgSVNfR0VOMTEoZGV2X3ByaXYpKQogCQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJB XzFfR1BHUFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVfREVGQVVMVF9WQUxVRV9TS0wpOwogCWVsc2Ug aWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQogCQlJOTE1X1dSSVRFKEdFTjhfTDNfTFJBXzFfR1BH UFUsIEdFTjlfTDNfTFJBXzFfR1BHUFVfREVGQVVMVF9WQUxVRV9CWFQpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKaW5kZXggMTc2ZGNhNi4uNmNkMmYyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o CkBAIC03MTg0LDYgKzcxODQsNyBAQCBlbnVtIHsKIC8qIEdFTjggY2hpY2tlbiAqLwogI2RlZmlu ZSBIRENfQ0hJQ0tFTjAJCQkJX01NSU8oMHg3MzAwKQogI2RlZmluZSBDTkxfSERDX0NISUNLRU4w CQkJX01NSU8oMHhFNUYwKQorI2RlZmluZSBJQ0xfSERDX0NISUNLRU4wCQkJX01NSU8oMHhFNUY0 KQogI2RlZmluZSAgSERDX0ZPUkNFX0NTUl9OT05fQ09IRVJFTlRfT1ZSX0RJU0FCTEUJKDE8PDE1 KQogI2RlZmluZSAgSERDX0ZFTkNFX0RFU1RfU0xNX0RJU0FCTEUJCSgxPDwxNCkKICNkZWZpbmUg IEhEQ19ET05PVF9GRVRDSF9NRU1fV0hFTl9NQVNLRUQJKDE8PDExKQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCAxMjQ4NmQ4Li5iYThjMTM3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMTQ2Nyw2ICsxNDY3LDI5IEBAIHN0YXRpYyBp bnQgY2ZsX2luaXRfd29ya2Fyb3VuZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGljbF9pbml0X3dvcmthcm91bmRzKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBlbmdpbmUtPmk5MTU7CisKKwkvKiBXYV8xNjA0MzcwNTg1OmljbCAocHJlLXByb2Qp CisJICogRm9ybWVybHkga25vd24gYXMgV2FQdXNoQ29uc3RhbnREZXJlZmVyZW5jZUhvbGREaXNh YmxlCisJICovCisJaWYgKElTX0lDTF9SRVZJRChkZXZfcHJpdiwgSUNMX1JFVklEX0EwLCBJQ0xf UkVWSURfQjApKQorCQlXQV9TRVRfQklUX01BU0tFRChHRU43X1JPV19DSElDS0VOMiwKKwkJCQkg IFBVU0hfQ09OU1RBTlRfREVSRUZfRElTQUJMRSk7CisKKwkvKiBXYUZvcmNlRW5hYmxlTm9uQ29o ZXJlbnQ6aWNsCisJICogVGhpcyBpcyBub3QgdGhlIHNhbWUgd29ya2Fyb3VuZCBhcyBpbiBlYXJs eSBHZW45IHBsYXRmb3Jtcywgd2hlcmUKKwkgKiBsYWNraW5nIHRoaXMgY291bGQgY2F1c2Ugc3lz dGVtIGhhbmdzLCBidXQgY29oZXJlbmN5IHBlcmZvcm1hbmNlCisJICogb3ZlcmhlYWQgaXMgaGln aCBhbmQgb25seSBhIGZldyBjb21wdXRlIHdvcmtsb2FkcyByZWFsbHkgbmVlZCBpdAorCSAqICh0 aGUgcmVnaXN0ZXIgaXMgd2hpdGVsaXN0ZWQgaW4gaGFyZHdhcmUgbm93LCBzbyBVTURzIGNhbiBv cHQgaW4KKwkgKiBmb3IgY29oZXJlbmN5IGlmIHRoZXkgaGF2ZSBhIGdvb2QgcmVhc29uKS4KKwkg Ki8KKwlXQV9TRVRfQklUX01BU0tFRChJQ0xfSERDX0NISUNLRU4wLCBIRENfRk9SQ0VfTk9OX0NP SEVSRU5UKTsKKworCXJldHVybiAwOworfQorCiBpbnQgaW5pdF93b3JrYXJvdW5kc19yaW5nKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CkBAIC0xNDk0LDYgKzE1MTcsOCBAQCBpbnQgaW5p dF93b3JrYXJvdW5kc19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJZXJy ID0gY2ZsX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKIAllbHNlIGlmIChJU19DQU5OT05MQUtF KGRldl9wcml2KSkKIAkJZXJyID0gY25sX2luaXRfd29ya2Fyb3VuZHMoZW5naW5lKTsKKwllbHNl IGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKKwkJZXJyID0gaWNsX2luaXRfd29ya2Fyb3VuZHMo ZW5naW5lKTsKIAllbHNlCiAJCWVyciA9IDA7CiAJaWYgKGVycikKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKaW5kZXggZjYwYjYxYi4uNmVjNGFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK QEAgLTE1NzMsNiArMTU3Myw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW5pdF93b3JrYXJvdW5kX2Ji KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlz d2l0Y2ggKElOVEVMX0dFTihlbmdpbmUtPmk5MTUpKSB7CisJY2FzZSAxMToKKwkJcmV0dXJuIDA7 CiAJY2FzZSAxMDoKIAkJd2FfYmJfZm5bMF0gPSBnZW4xMF9pbml0X2luZGlyZWN0Y3R4X2JiOwog CQl3YV9iYl9mblsxXSA9IE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAxOWU4MmFh Li40ZjRjN2FlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTg0OTksNiArODQ5OSwyMSBA QCBzdGF0aWMgdm9pZCBjbnBfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCQkgICBDTlBfUFdNX0NHRV9HQVRJTkdfRElTQUJMRSk7CiB9CiAKK3N0 YXRpYyB2b2lkIGljbF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisJLyogVGhpcyBpcyBub3QgYW4gV2EuIEVuYWJsZSBmb3IgYmV0dGVyIGlt YWdlIHF1YWxpdHkgKi8KKwlJOTE1X1dSSVRFKF8zRF9DSElDS0VOMywKKwkJICAgX01BU0tFRF9C SVRfRU5BQkxFKF8zRF9DSElDS0VOM19BQV9MSU5FX1FVQUxJVFlfRklYX0VOQUJMRSkpOworCisJ LyogV2FJblBsYWNlRGVjb21wcmVzc2lvbkhhbmc6aWNsICovCisJSTkxNV9XUklURShHRU45X0dB TVRfRUNPX1JFR19SV19JQSwgKEk5MTVfUkVBRChHRU45X0dBTVRfRUNPX1JFR19SV19JQSkgfAor CQkJCQkgICAgIEdBTVRfRUNPX0VOQUJMRV9JTl9QTEFDRV9ERUNPTVBSRVNTKSk7CisKKwkvKiBX YVBpcGVsaW5lRmx1c2hDb2hlcmVudExpbmVzOmljbCAqLworCUk5MTVfV1JJVEUoR0VOOF9MM1NR Q1JFRzQsIChJOTE1X1JFQUQoR0VOOF9MM1NRQ1JFRzQpIHwKKwkJCQkgICAgR0VOOF9MUVNDX0ZM VVNIX0NPSEVSRU5UX0xJTkVTKSk7Cit9CisKIHN0YXRpYyB2b2lkIGNubF9pbml0X2Nsb2NrX2dh dGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJdTMyIHZhbDsKQEAg LTkwMTUsNyArOTAzMCw5IEBAIHN0YXRpYyB2b2lkIG5vcF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAgKi8KIHZvaWQgaW50ZWxfaW5pdF9jbG9j a19nYXRpbmdfaG9va3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCWlm IChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKKwlpZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCisJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaWNsX2luaXRfY2xvY2tfZ2F0 aW5nOworCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlz cGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGNubF9pbml0X2Nsb2NrX2dhdGluZzsKIAllbHNlIGlm IChJU19DT0ZGRUVMQUtFKGRldl9wcml2KSkKIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9j a19nYXRpbmcgPSBjZmxfaW5pdF9jbG9ja19nYXRpbmc7Ci0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==