From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [RFC PATCH 11/11] WIP: drm/i915: constrain unit gating while using OA Date: Thu, 7 May 2015 15:15:54 +0100 Message-ID: <1431008154-6833-12-git-send-email-robert@sixbynine.org> References: <1431008154-6833-1-git-send-email-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1431008154-6833-1-git-send-email-robert@sixbynine.org> 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: Peter Zijlstra , David Airlie , linux-api@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Ingo Molnar , Paul Mackerras , Arnaldo Carvalho de Melo , Daniel Vetter List-Id: linux-api@vger.kernel.org V2UgYXJlIHN0aWxsIGludmVzdGlnYXRpbmcgdGhlIGRldGFpbGVkIHJlcXVpcmVtZW50cyBoZXJl LCBidXQgdGhlcmUgYXJlCnNvbWUgY29uc3RyYWludHMgd2UgbmVlZCB0byBhcHBseSBvbiB1bml0 IGxldmVsIGNsb2NrIGdhdGluZyBmb3IKcmVsaWFibGUgbWV0cmljcyAoaW4gcGFydGljdWxhciBm b3IgYSByZWxpYWJsZSBzYW1wbGluZyBwZXJpb2QpLgoKU2lnbmVkLW9mZi1ieTogUm9iZXJ0IEJy YWdnIDxyb2JlcnRAc2l4YnluaW5lLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X29hX3BlcmYuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgIHwgIDMgKysKIDIgZmlsZXMgY2hhbmdl ZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X29hX3BlcmYuYwppbmRleCBkMGRhZDVkLi4yYTQxMjFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X29hX3BlcmYuYwpAQCAtMjU3LDIwICsyNTcsNDYgQEAgb2FfYnVmZmVyX2Rlc3Ryb3koc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIHN0YXRpYyB2b2lkIGk5MTVfb2FfZXZlbnRfZGVz dHJveShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPQotCQljb250YWluZXJfb2YoZXZlbnQtPnBtdSwgdHlwZW9mKCppOTE1KSwgb2Ff cG11LnBtdSk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KKwkJY29udGFp bmVyX29mKGV2ZW50LT5wbXUsIHR5cGVvZigqZGV2X3ByaXYpLCBvYV9wbXUucG11KTsKIAogCVdB Uk5fT04oZXZlbnQtPnBhcmVudCk7CiAKLQlvYV9idWZmZXJfZGVzdHJveShpOTE1KTsKKwlJOTE1 X1dSSVRFKEdFTjZfVUNHQ1RMMSwgKEk5MTVfUkVBRChHRU42X1VDR0NUTDEpICYKKwkJCQkgIH5H RU42X1JDWlVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFKSk7CisJLy9JOTE1X1dSSVRFKEdFTjZfVUNH Q1RMMywgKEk5MTVfUkVBRChHRU42X1VDR0NUTDMpICYKKwkvLwkJCSAgfkdFTjZfT0FDU1VOSVRf Q0xPQ0tfR0FURV9ESVNBQkxFKSk7CisJSTkxNV9XUklURShHRU43X01JU0NDUENUTCwgKEk5MTVf UkVBRChHRU43X01JU0NDUENUTCkgfAorCQkJCSAgICBHRU43X0RPUF9DTE9DS19HQVRFX0VOQUJM RSkpOworCisJSTkxNV9XUklURShHRU43X1JPV19DSElDS0VOMiwKKwkJICAgX01BU0tFRF9CSVRf RElTQUJMRShET1BfQ0xPQ0tfR0FUSU5HX0RJU0FCTEUpKTsKKworCS8vaWYgKElTX0hTV19HVDIo ZGV2X3ByaXYtPmRldikpIHsKKwlpZiAoMSkgeworCQlJOTE1X1dSSVRFKEhTV19ST1dfQ0hJQ0tF TjJfR1QyLAorCQkJICAgX01BU0tFRF9CSVRfRElTQUJMRShET1BfQ0xPQ0tfR0FUSU5HX0RJU0FC TEUpKTsKKwl9CisKKwlpZiAoSVNfSFNXX0dUMyhkZXZfcHJpdi0+ZGV2KSkgeworCQlJOTE1X1dS SVRFKEhTV19ST1dfQ0hJQ0tFTjJfR1QzXzAsCisJCQkgICBfTUFTS0VEX0JJVF9ESVNBQkxFKERP UF9DTE9DS19HQVRJTkdfRElTQUJMRSkpOworCQlJOTE1X1dSSVRFKEhTV19ST1dfQ0hJQ0tFTjJf R1QzXzEsCisJCQkgICBfTUFTS0VEX0JJVF9ESVNBQkxFKERPUF9DTE9DS19HQVRJTkdfRElTQUJM RSkpOworCX0KIAotCWk5MTUtPm9hX3BtdS5zcGVjaWZpY19jdHggPSBOVUxMOworCUk5MTVfV1JJ VEUoR0RUX0NISUNLRU5fQklUUywgKEk5MTVfUkVBRChHRFRfQ0hJQ0tFTl9CSVRTKSAmCisJCQkJ ICAgICAgfkdUX05PQV9FTkFCTEUpKTsKKworCW9hX2J1ZmZlcl9kZXN0cm95KGRldl9wcml2KTsK KworCWRldl9wcml2LT5vYV9wbXUuc3BlY2lmaWNfY3R4ID0gTlVMTDsKIAotCUJVR19PTihpOTE1 LT5vYV9wbXUuZXhjbHVzaXZlX2V2ZW50ICE9IGV2ZW50KTsKLQlpOTE1LT5vYV9wbXUuZXhjbHVz aXZlX2V2ZW50ID0gTlVMTDsKKwlCVUdfT04oZGV2X3ByaXYtPm9hX3BtdS5leGNsdXNpdmVfZXZl bnQgIT0gZXZlbnQpOworCWRldl9wcml2LT5vYV9wbXUuZXhjbHVzaXZlX2V2ZW50ID0gTlVMTDsK IAotCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGk5MTUsIEZPUkNFV0FLRV9BTEwpOwotCWlu dGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUpOworCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRl dl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7 CiB9CiAKIHN0YXRpYyB2b2lkICp2bWFwX29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQpAQCAtNTgxLDYgKzYwNywzMiBAQCBzdGF0aWMgaW50IGk5MTVfb2FfZXZlbnRf aW5pdChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJQlVHX09OKGRldl9wcml2LT5vYV9wbXUu ZXhjbHVzaXZlX2V2ZW50KTsKIAlkZXZfcHJpdi0+b2FfcG11LmV4Y2x1c2l2ZV9ldmVudCA9IGV2 ZW50OwogCisKKwlJOTE1X1dSSVRFKEdEVF9DSElDS0VOX0JJVFMsIEdUX05PQV9FTkFCTEUpOwor CisJSTkxNV9XUklURShHRU42X1VDR0NUTDEsIChJOTE1X1JFQUQoR0VONl9VQ0dDVEwxKSB8CisJ CQkJICBHRU42X1JDWlVOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFKSk7CisJLy9JOTE1X1dSSVRFKEdF TjZfVUNHQ1RMMywgKEk5MTVfUkVBRChHRU42X1VDR0NUTDMpIHwKKwkvLwkJCSAgR0VONl9PQUNT VU5JVF9DTE9DS19HQVRFX0RJU0FCTEUpKTsKKwlJOTE1X1dSSVRFKEdFTjdfTUlTQ0NQQ1RMLCAo STkxNV9SRUFEKEdFTjdfTUlTQ0NQQ1RMKSAmCisJCQkJICAgIH5HRU43X0RPUF9DTE9DS19HQVRF X0VOQUJMRSkpOworCisJSTkxNV9XUklURShHRU43X1JPV19DSElDS0VOMiwKKwkJICAgX01BU0tF RF9CSVRfRU5BQkxFKERPUF9DTE9DS19HQVRJTkdfRElTQUJMRSkpOworCisJLy9pZiAoSVNfSFNX X0dUMihkZXZfcHJpdi0+ZGV2KSkgeworCWlmICgxKSB7CisJCUk5MTVfV1JJVEUoSFNXX1JPV19D SElDS0VOMl9HVDIsCisJCQkgICBfTUFTS0VEX0JJVF9FTkFCTEUoRE9QX0NMT0NLX0dBVElOR19E SVNBQkxFKSk7CisJfQorCisJaWYgKElTX0hTV19HVDMoZGV2X3ByaXYtPmRldikpIHsKKwkJSTkx NV9XUklURShIU1dfUk9XX0NISUNLRU4yX0dUM18wLAorCQkJICAgX01BU0tFRF9CSVRfRU5BQkxF KERPUF9DTE9DS19HQVRJTkdfRElTQUJMRSkpOworCQlJOTE1X1dSSVRFKEhTV19ST1dfQ0hJQ0tF TjJfR1QzXzEsCisJCQkgICBfTUFTS0VEX0JJVF9FTkFCTEUoRE9QX0NMT0NLX0dBVElOR19ESVNB QkxFKSk7CisJfQorCiAJZXZlbnQtPmRlc3Ryb3kgPSBpOTE1X29hX2V2ZW50X2Rlc3Ryb3k7CiAK IAkvKiBQUk0gLSBvYnNlcnZhYmlsaXR5IHBlcmZvcm1hbmNlIGNvdW50ZXJzOgpAQCAtNjc4LDgg KzczMCw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfb2FfZXZlbnRfc3RhcnQoc3RydWN0IHBlcmZfZXZl bnQgKmV2ZW50LCBpbnQgZmxhZ3MpCiAJV0FSTl9PTkNFKEk5MTVfUkVBRChHRU42X1VDR0NUTDMp ICYgR0VONl9PQUNTVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUsCiAJCSAgImRpc2FibGVkIE9BIHVu aXQgbGV2ZWwgY2xvY2sgZ2F0aW5nIHdpbGwgcmVzdWx0IGluIGluY29ycmVjdCBwZXItY29udGV4 dCBPQSBjb3VudGVycyIpOwogCi0JSTkxNV9XUklURShHRFRfQ0hJQ0tFTl9CSVRTLCBHVF9OT0Ff RU5BQkxFKTsKLQogCWlmIChkZXZfcHJpdi0+b2FfcG11Lm1ldHJpY3Nfc2V0ID09IEk5MTVfT0Ff TUVUUklDU19TRVRfM0QpIHsKIAkJY29uZmlnX29hX3JlZ3MoZGV2X3ByaXYsIGhzd19wcm9maWxl XzNkX211eF9jb25maWcsCiAJCQkgICAgICAgQVJSQVlfU0laRShoc3dfcHJvZmlsZV8zZF9tdXhf Y29uZmlnKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBkOTQ5MzJhLi41MThiMzRjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTcwMzYsNiArNzAzNiw5IEBAIGVudW0gc2tsX2Rp c3BfcG93ZXJfd2VsbHMgewogCiAjZGVmaW5lIEdFTjdfUk9XX0NISUNLRU4yCQkweGU0ZjQKICNk ZWZpbmUgR0VON19ST1dfQ0hJQ0tFTjJfR1QyCQkweGY0ZjQKKyNkZWZpbmUgSFNXX1JPV19DSElD S0VOMl9HVDIJCTB4ZTVmNAorI2RlZmluZSBIU1dfUk9XX0NISUNLRU4yX0dUM18wCQkweGU2ZjQK KyNkZWZpbmUgSFNXX1JPV19DSElDS0VOMl9HVDNfMQkJMHhlN2Y0CiAjZGVmaW5lICAgRE9QX0NM T0NLX0dBVElOR19ESVNBQkxFCSgxPDwwKQogCiAjZGVmaW5lIEhTV19ST1dfQ0hJQ0tFTjMJCTB4 ZTQ5YwotLSAKMi4zLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==