From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 19/20] drm/i915/icl: Handle RPS interrupts correctly for Gen11 Date: Tue, 13 Feb 2018 18:37:37 +0200 Message-ID: <20180213163738.9055-20-mika.kuoppala@linux.intel.com> References: <20180213163738.9055-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B8FC6E289 for ; Tue, 13 Feb 2018 16:38:02 +0000 (UTC) In-Reply-To: <20180213163738.9055-1-mika.kuoppala@linux.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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4KClVzaW5nIHRoZSBuZXcg aGllcmFyY2hpY2FsIGludGVycnVwdCBpbmZyYXN0cnVjdHVyZS4KCkNjOiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8 ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IFNhZ2FyIEFydW4gS2FtYmxlIDxz YWdhci5hLmthbWJsZUBpbnRlbC5jb20+CkNjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICB8IDY4ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgfCAgNiAr Ky0tCiAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IDAzMThjNTYwYzc0Yi4uY2Q3YjBiZjViZDc4IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTMzOSwxNyArMzM5LDI5IEBAIHZvaWQgZ2VuNV9k aXNhYmxlX2d0X2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90 IG1hc2spCiAKIHN0YXRpYyBpOTE1X3JlZ190IGdlbjZfcG1faWlyKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKKwlXQVJOX09OX09OQ0UoSU5URUxfR0VOKGRldl9wcml2KSA+ PSAxMSk7CisKIAlyZXR1cm4gSU5URUxfR0VOKGRldl9wcml2KSA+PSA4ID8gR0VOOF9HVF9JSVIo MikgOiBHRU42X1BNSUlSOwogfQogCiBzdGF0aWMgaTkxNV9yZWdfdCBnZW42X3BtX2ltcihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JcmV0dXJuIElOVEVMX0dFTihkZXZf cHJpdikgPj0gOCA/IEdFTjhfR1RfSU1SKDIpIDogR0VONl9QTUlNUjsKKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMSkKKwkJcmV0dXJuIEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9NQVNL OworCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkKKwkJcmV0dXJuIEdFTjhfR1Rf SU1SKDIpOworCWVsc2UKKwkJcmV0dXJuIEdFTjZfUE1JTVI7CiB9CiAKIHN0YXRpYyBpOTE1X3Jl Z190IGdlbjZfcG1faWVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQly ZXR1cm4gSU5URUxfR0VOKGRldl9wcml2KSA+PSA4ID8gR0VOOF9HVF9JRVIoMikgOiBHRU42X1BN SUVSOworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQorCQlyZXR1cm4gR0VOMTFfR1BN X1dHQk9YUEVSRl9JTlRSX0VOQUJMRTsKKwllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDgpCisJCXJldHVybiBHRU44X0dUX0lFUigyKTsKKwllbHNlCisJCXJldHVybiBHRU42X1BNSUVS OwogfQogCiAvKioKQEAgLTQzMSw2ICs0NDMsMjggQEAgc3RhdGljIHZvaWQgZ2VuNl9kaXNhYmxl X3BtX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBkaXNhYmxlX20K IAkvKiB0aG91Z2ggYSBiYXJyaWVyIGlzIG1pc3NpbmcgaGVyZSwgYnV0IGRvbid0IHJlYWxseSBu ZWVkIGEgb25lICovCiB9CiAKK3ZvaWQgZ2VuMTFfcmVzZXRfcnBzX2ludGVycnVwdHMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXUzMiBkdzsKKworCXNwaW5fbG9ja19p cnEoJmRldl9wcml2LT5pcnFfbG9jayk7CisKKwkvKgorCSAqIEFjY29yZGluZyB0byB0aGUgQlNw ZWMsIERXX0lJUiBiaXRzIGNhbm5vdCBiZSBjbGVhcmVkIHdpdGhvdXQKKwkgKiBmaXJzdCBzZXJ2 aWNpbmcgdGhlIFNlbGVjdG9yICYgU2hhcmVkIElJUiByZWdpc3RlcnMuCisJICovCisJZHcgPSBJ OTE1X1JFQURfRlcoR0VOMTFfR1RfSU5UUl9EVzApOworCXdoaWxlIChkdyAmIEJJVChHRU4xMV9H VFBNKSkgeworCQlnZW4xMV9zZXJ2aWNlX3NoYXJlZF9paXIoZGV2X3ByaXYsIDAsIEdFTjExX0dU UE0pOworCQlJOTE1X1dSSVRFX0ZXKEdFTjExX0dUX0lOVFJfRFcwLCBCSVQoR0VOMTFfR1RQTSkp OworCQlkdyA9IEk5MTVfUkVBRF9GVyhHRU4xMV9HVF9JTlRSX0RXMCk7CisJfQorCisJZGV2X3By aXYtPmd0X3BtLnJwcy5wbV9paXIgPSAwOworCisJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+ aXJxX2xvY2spOworfQorCiB2b2lkIGdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5p cnFfbG9jayk7CkBAIC00NDYsMTIgKzQ4MCwxMiBAQCB2b2lkIGdlbjZfZW5hYmxlX3Jwc19pbnRl cnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoUkVBRF9PTkNF KHJwcy0+aW50ZXJydXB0c19lbmFibGVkKSkKIAkJcmV0dXJuOwogCi0JaWYgKFdBUk5fT05fT05D RShJU19HRU4xMShkZXZfcHJpdikpKQotCQlyZXR1cm47Ci0KIAlzcGluX2xvY2tfaXJxKCZkZXZf cHJpdi0+aXJxX2xvY2spOwogCVdBUk5fT05fT05DRShycHMtPnBtX2lpcik7Ci0JV0FSTl9PTl9P TkNFKEk5MTVfUkVBRChnZW42X3BtX2lpcihkZXZfcHJpdikpICYgZGV2X3ByaXYtPnBtX3Jwc19l dmVudHMpOworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQorCQlXQVJOX09OX09OQ0Uo STkxNV9SRUFEX0ZXKEdFTjExX0dUX0lOVFJfRFcwKSAmIEJJVChHRU4xMV9HVFBNKSk7CisJZWxz ZQorCQlXQVJOX09OX09OQ0UoSTkxNV9SRUFEKGdlbjZfcG1faWlyKGRldl9wcml2KSkgJiBkZXZf cHJpdi0+cG1fcnBzX2V2ZW50cyk7CiAJcnBzLT5pbnRlcnJ1cHRzX2VuYWJsZWQgPSB0cnVlOwog CWdlbjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOwog CkBAIC00NjUsOSArNDk5LDYgQEAgdm9pZCBnZW42X2Rpc2FibGVfcnBzX2ludGVycnVwdHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmICghUkVBRF9PTkNFKHJwcy0+aW50 ZXJydXB0c19lbmFibGVkKSkKIAkJcmV0dXJuOwogCi0JaWYgKFdBUk5fT05fT05DRShJU19HRU4x MShkZXZfcHJpdikpKQotCQlyZXR1cm47Ci0KIAlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJx X2xvY2spOwogCXJwcy0+aW50ZXJydXB0c19lbmFibGVkID0gZmFsc2U7CiAKQEAgLTQ4NCw3ICs1 MTUsMTAgQEAgdm9pZCBnZW42X2Rpc2FibGVfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIHN0YXRlIG9mIHRoZSB3b3JrZXIgY2FuIGJlIGRpc2Nh cmRlZC4KIAkgKi8KIAljYW5jZWxfd29ya19zeW5jKCZycHMtPndvcmspOwotCWdlbjZfcmVzZXRf cnBzX2ludGVycnVwdHMoZGV2X3ByaXYpOworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEx KQorCQlnZW4xMV9yZXNldF9ycHNfaW50ZXJydXB0cyhkZXZfcHJpdik7CisJZWxzZQorCQlnZW42 X3Jlc2V0X3Jwc19pbnRlcnJ1cHRzKGRldl9wcml2KTsKIH0KIAogdm9pZCBnZW45X3Jlc2V0X2d1 Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTI4NDIs OCArMjg3Niw4IEBAIGdlbjExX2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIG1hc3Rlcl9jdGwpCiAJfQogCiAJaWYgKGlycVswXVtHRU4xMV9HVFBN XSAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKSB7CisJCWdlbjZfcnBzX2lycV9oYW5kbGVyKGRl dl9wcml2LCAodTMyKWlycVswXVtHRU4xMV9HVFBNXSk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwot CQlnZW42X3Jwc19pcnFfaGFuZGxlcihkZXZfcHJpdiwgdG1wKTsKIAl9CiAKIAlyZXR1cm4gcmV0 OwpAQCAtMzMxNCw2ICszMzQ4LDkgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZ3RfaXJxX3Jlc2V0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlJOTE1X1dSSVRFKEdFTjExX1ZDUzBf VkNTMV9JTlRSX01BU0ssCX4wKTsKIAlJOTE1X1dSSVRFKEdFTjExX1ZDUzJfVkNTM19JTlRSX01B U0ssCX4wKTsKIAlJOTE1X1dSSVRFKEdFTjExX1ZFQ1MwX1ZFQ1MxX0lOVFJfTUFTSywJfjApOwor CisJSTkxNV9XUklURShHRU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfRU5BQkxFLCAwKTsKKwlJOTE1 X1dSSVRFKEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9NQVNLLCAgfjApOwogfQogCiBzdGF0aWMg dm9pZCBnZW4xMV9pcnFfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKQEAgLTM4NTIsNyAr Mzg4OSwxNCBAQCBzdGF0aWMgdm9pZCBnZW4xMV9ndF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCUk5MTVfV1JJVEUoR0VOMTFfVkNTMl9WQ1MzX0lO VFJfTUFTSywJfihpcnFzIHwgaXJxcyA8PCAxNikpOwogCUk5MTVfV1JJVEUoR0VOMTFfVkVDUzBf VkVDUzFfSU5UUl9NQVNLLAl+KGlycXMgfCBpcnFzIDw8IDE2KSk7CiAKLQlkZXZfcHJpdi0+cG1f aW1yID0gMHhmZmZmZmZmZjsgLyogVE9ETyAqLworCS8qCisJICogUlBTIGludGVycnVwdHMgd2ls bCBnZXQgZW5hYmxlZC9kaXNhYmxlZCBvbiBkZW1hbmQgd2hlbiBSUFMgaXRzZWxmCisJICogaXMg ZW5hYmxlZC9kaXNhYmxlZC4KKwkgKi8KKwlkZXZfcHJpdi0+cG1faWVyID0gMHgwOworCWRldl9w cml2LT5wbV9pbXIgPSB+ZGV2X3ByaXYtPnBtX2llcjsKKwlJOTE1X1dSSVRFKEdFTjExX0dQTV9X R0JPWFBFUkZfSU5UUl9FTkFCTEUsIDApOworCUk5MTVfV1JJVEUoR0VOMTFfR1BNX1dHQk9YUEVS Rl9JTlRSX01BU0ssICB+MCk7CiB9CiAKIHN0YXRpYyBpbnQgZ2VuMTFfaXJxX3Bvc3RpbnN0YWxs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDg5 ODA2NGU4YmVhNy4uY2FmZWQzOWNhOTg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt MTMxOCw2ICsxMzE4LDcgQEAgdm9pZCBnZW41X2VuYWJsZV9ndF9pcnEoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1aW50MzJfdCBtYXNrKTsKIHZvaWQgZ2VuNV9kaXNhYmxlX2d0 X2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90IG1hc2spOwog dm9pZCBnZW42X21hc2tfcG1faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg dTMyIG1hc2spOwogdm9pZCBnZW42X3VubWFza19wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIgbWFzayk7Cit2b2lkIGdlbjExX3Jlc2V0X3Jwc19pbnRlcnJ1cHRz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGdlbjZfcmVzZXRfcnBz X2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgZ2Vu Nl9lbmFibGVfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKIHZvaWQgZ2VuNl9kaXNhYmxlX3Jwc19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAwODdmOTgxNDYxZTcu LjkyMThhZWI3ODNmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC04MDI3LDEwICs4MDI3 LDEwIEBAIHZvaWQgaW50ZWxfc2FuaXRpemVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+Z3RfcG0ucmM2LmVuYWJsZWQgPSB0cnVlOyAv KiBmb3JjZSBSQzYgZGlzYWJsaW5nICovCiAJaW50ZWxfZGlzYWJsZV9ndF9wb3dlcnNhdmUoZGV2 X3ByaXYpOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCAxMSkKLQkJZ2VuNl9yZXNldF9y cHNfaW50ZXJydXB0cyhkZXZfcHJpdik7CisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEp CisJCWdlbjExX3Jlc2V0X3Jwc19pbnRlcnJ1cHRzKGRldl9wcml2KTsKIAllbHNlCi0JCVdBUk5f T05fT05DRSgxKTsKKwkJZ2VuNl9yZXNldF9ycHNfaW50ZXJydXB0cyhkZXZfcHJpdik7CiB9CiAK IHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9kaXNhYmxlX2xsY19wc3RhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCi0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=