From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH] drm/i915: Move CSB MMIO reads out of the execlists lock Date: Tue, 1 Mar 2016 13:25:37 +0000 Message-ID: <1456838737-6669-1-git-send-email-tvrtko.ursulin@linux.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 ESMTP id DA3596E5FF for ; Tue, 1 Mar 2016 13:25:39 +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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkJ5IHJlYWRp bmcgdGhlIENTQiAoc2xvdyBNTUlPIGFjY2Vzc2VzKSBpbnRvIGEgdGVtcG9yYXJ5IGxvY2FsCmJ1 ZmZlciB3ZSBjYW4gZGVjcmVhc2UgdGhlIGR1cmF0aW9uIG9mIGhvbGRpbmcgdGhlIGV4ZWNsaXN0 CmxvY2suCgpNYWluIGFkdmFudGFnZSBpcyB0aGF0IGR1cmluZyBoZWF2eSBiYXRjaCBidWZmZXIg c3VibWlzc2lvbiB3ZQpyZWR1Y2UgdGhlIGV4ZWNsaXN0IGxvY2sgY29udGVudGlvbiwgd2hpY2gg c2hvdWxkIGRlY3JlYXNlIHRoZQpsYXRlbmN5IGFuZCBDUFUgdXNhZ2UgYmV0d2VlbiB0aGUgc3Vi bWl0dGluZyB1c2Vyc3BhY2UgcHJvY2VzcwphbmQgaW50ZXJydXB0IGhhbmRsaW5nLgoKRG93bnNp ZGUgaXMgdGhhdCB3ZSBuZWVkIHRvIGdyYWIgYW5kIHJlbGFzZSB0aGUgZm9yY2V3YWtlIHR3aWNl LApidXQgYXMgdGhlIGJlbG93IG51bWJlcnMgd2lsbCBzaG93IHRoaXMgaXMgY29tcGxldGVseSBo aWRkZW4KYnkgdGhlIHByaW1hcnkgZ2FpbnMuCgpUZXN0aW5nIHdpdGggImdlbV9sYXRlbmN5IC1u IDEwMCIgKHN1Ym1pdCBiYXRjaCBidWZmZXJzIHdpdGggYQpodW5kcmVkIG5vcHMgZWFjaCkgc2hv d3MgbW9yZSB0aGFuIGRvdWJsaW5nIG9mIHRoZSB0aHJvdWdocHV0CmFuZCBtb3JlIHRoYW4gaGFs dmluZyBvZiB0aGUgZGlzcGF0Y2ggbGF0ZW5jeSwgb3ZlcmFsbCBsYXRlbmN5CmFuZCBDUFUgdGlt ZSBzcGVuZCBpbiB0aGUgc3VibWl0dGluZyBwcm9jZXNzLgoKU3VibWl0dGluZyBlbXB0eSBiYXRj aGVzICgiZ2VtX2xhdGVuY3kgLW4gMCIpIGRvZXMgbm90IHNlZW0Kc2lnbmlmaWNhbnRseSBhZmZl Y3RlZCBieSB0aGlzIGNoYW5nZSB3aXRoIHRocm91Z2hwdXQgYW5kIENQVQp0aW1lIGltcHJvdmlu ZyBieSBoYWxmIGEgcGVyY2VudCwgYW5kIG92ZXJhbGwgbGF0ZW5jeSB3b3JzZW5pbmcKYnkgdGhl IHNhbWUgYW1vdW50LgoKQWJvdmUgdGVzdHMgd2VyZSBkb25lIGluIGEgaHVuZHJlZCBydW5zIG9u IGEgYmlnIGNvcmUgQnJvYWR3ZWxsLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2 cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgNzMgKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK aW5kZXggMjdjOWVlM2Y3MzcyLi45MDAwZDZhYzhkNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jCkBAIC00MTYsMTUgKzQxNiwyMyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfdXBkYXRlX2Nv bnRleHQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19zdWJtaXRfcmVxdWVzdHMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycTAsCiAJ CQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycTEpCiB7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcnEwLT5yaW5nLT5kZXYtPmRldl9wcml2YXRlOwor CiAJZXhlY2xpc3RzX3VwZGF0ZV9jb250ZXh0KHJxMCk7CiAKIAlpZiAocnExKQogCQlleGVjbGlz dHNfdXBkYXRlX2NvbnRleHQocnExKTsKIAorCXNwaW5fbG9jaygmZGV2X3ByaXYtPnVuY29yZS5s b2NrKTsKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldF9fbG9ja2VkKGRldl9wcml2LCBGT1JD RVdBS0VfQUxMKTsKKwogCWV4ZWNsaXN0c19lbHNwX3dyaXRlKHJxMCwgcnExKTsKKworCWludGVs X3VuY29yZV9mb3JjZXdha2VfcHV0X19sb2NrZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwor CXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwogfQogCi1zdGF0aWMgdm9pZCBl eGVjbGlzdHNfY29udGV4dF91bnF1ZXVlX19sb2NrZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKK3N0YXRpYyB2b2lkIGV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTAg PSBOVUxMLCAqcmVxMSA9IE5VTEw7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJz b3IsICp0bXA7CkBAIC00NzgsMTkgKzQ4Niw2IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19jb250 ZXh0X3VucXVldWVfX2xvY2tlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCWV4ZWNs aXN0c19zdWJtaXRfcmVxdWVzdHMocmVxMCwgcmVxMSk7CiB9CiAKLXN0YXRpYyB2b2lkIGV4ZWNs aXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKLXsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRl OwotCi0Jc3Bpbl9sb2NrKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwotCWludGVsX3VuY29yZV9m b3JjZXdha2VfZ2V0X19sb2NrZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwotCi0JZXhlY2xp c3RzX2NvbnRleHRfdW5xdWV1ZV9fbG9ja2VkKHJpbmcpOwotCi0JaW50ZWxfdW5jb3JlX2ZvcmNl d2FrZV9wdXRfX2xvY2tlZChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Ci0Jc3Bpbl91bmxvY2so JmRldl9wcml2LT51bmNvcmUubG9jayk7Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBpbnQKIGV4ZWNs aXN0c19jaGVja19yZW1vdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCB1 MzIgcmVxdWVzdF9pZCkKIHsKQEAgLTU1MSwxMiArNTQ2LDEwIEBAIHZvaWQgaW50ZWxfbHJjX2ly cV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAl1MzIgc3RhdHVz X3BvaW50ZXI7CiAJdW5zaWduZWQgaW50IHJlYWRfcG9pbnRlciwgd3JpdGVfcG9pbnRlcjsKLQl1 MzIgc3RhdHVzID0gMDsKLQl1MzIgc3RhdHVzX2lkOworCXUzMiBjc2JbR0VOOF9DU0JfRU5UUklF U11bMl07CisJdW5zaWduZWQgaW50IGNzYl9yZWFkID0gMCwgaTsKIAl1bnNpZ25lZCBpbnQgc3Vi bWl0X2NvbnRleHRzID0gMDsKIAotCXNwaW5fbG9jaygmcmluZy0+ZXhlY2xpc3RfbG9jayk7Ci0K IAlzcGluX2xvY2soJmRldl9wcml2LT51bmNvcmUubG9jayk7CiAJaW50ZWxfdW5jb3JlX2ZvcmNl d2FrZV9nZXRfX2xvY2tlZChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7CiAKQEAgLTU2OCwzOSAr NTYxLDQ1IEBAIHZvaWQgaW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcpCiAJCXdyaXRlX3BvaW50ZXIgKz0gR0VOOF9DU0JfRU5UUklFUzsKIAogCXdoaWxl IChyZWFkX3BvaW50ZXIgPCB3cml0ZV9wb2ludGVyKSB7Ci0JCXN0YXR1cyA9IGdldF9jb250ZXh0 X3N0YXR1cyhyaW5nLCArK3JlYWRfcG9pbnRlciwgJnN0YXR1c19pZCk7CisJCWNzYltjc2JfcmVh ZF1bMF0gPSBnZXRfY29udGV4dF9zdGF0dXMocmluZywgKytyZWFkX3BvaW50ZXIsCisJCQkJCQkg ICAgICAmY3NiW2NzYl9yZWFkXVsxXSk7CisJCWNzYl9yZWFkKys7CisJfQogCi0JCWlmICh1bmxp a2VseShzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfUFJFRU1QVEVEKSkgewotCQkJaWYgKHN0YXR1 cyAmIEdFTjhfQ1RYX1NUQVRVU19MSVRFX1JFU1RPUkUpIHsKLQkJCQlpZiAoZXhlY2xpc3RzX2No ZWNrX3JlbW92ZV9yZXF1ZXN0KHJpbmcsIHN0YXR1c19pZCkpCisJcmluZy0+bmV4dF9jb250ZXh0 X3N0YXR1c19idWZmZXIgPSB3cml0ZV9wb2ludGVyICUgR0VOOF9DU0JfRU5UUklFUzsKKworCS8q IFVwZGF0ZSB0aGUgcmVhZCBwb2ludGVyIHRvIHRoZSBvbGQgd3JpdGUgcG9pbnRlci4gTWFudWFs IHJpbmdidWZmZXIKKwkgKiBtYW5hZ2VtZW50IGZ0dyA8L3NhcmNhc20+ICovCisJSTkxNV9XUklU RV9GVyhSSU5HX0NPTlRFWFRfU1RBVFVTX1BUUihyaW5nKSwKKwkJICAgICAgX01BU0tFRF9GSUVM RChHRU44X0NTQl9SRUFEX1BUUl9NQVNLLAorCQkJCSAgICByaW5nLT5uZXh0X2NvbnRleHRfc3Rh dHVzX2J1ZmZlciA8PCA4KSk7CisKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dF9fbG9ja2Vk KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKwlzcGluX3VubG9jaygmZGV2X3ByaXYtPnVuY29y ZS5sb2NrKTsKKworCXNwaW5fbG9jaygmcmluZy0+ZXhlY2xpc3RfbG9jayk7CisKKwlmb3IgKGkg PSAwOyBpIDwgY3NiX3JlYWQ7IGkrKykgeworCQlpZiAodW5saWtlbHkoY3NiW2ldWzBdICYgR0VO OF9DVFhfU1RBVFVTX1BSRUVNUFRFRCkpIHsKKwkJCWlmIChjc2JbaV1bMF0gJiBHRU44X0NUWF9T VEFUVVNfTElURV9SRVNUT1JFKSB7CisJCQkJaWYgKGV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVx dWVzdChyaW5nLCBjc2JbaV1bMV0pKQogCQkJCQlXQVJOKDEsICJMaXRlIFJlc3RvcmVkIHJlcXVl c3QgcmVtb3ZlZCBmcm9tIHF1ZXVlXG4iKTsKIAkJCX0gZWxzZQogCQkJCVdBUk4oMSwgIlByZWVt cHRpb24gd2l0aG91dCBMaXRlIFJlc3RvcmVcbiIpOwogCQl9CiAKLQkJaWYgKHN0YXR1cyAmIChH RU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUgfAorCQlpZiAoY3NiW2ldWzBdICYgKEdFTjhfQ1RY X1NUQVRVU19BQ1RJVkVfSURMRSB8CiAJCSAgICBHRU44X0NUWF9TVEFUVVNfRUxFTUVOVF9TV0lU Q0gpKQogCQkJc3VibWl0X2NvbnRleHRzICs9Ci0JCQkJZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9y ZXF1ZXN0KHJpbmcsIHN0YXR1c19pZCk7CisJCQkJZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9yZXF1 ZXN0KHJpbmcsIGNzYltpXVsxXSk7CiAJfQogCiAJaWYgKHN1Ym1pdF9jb250ZXh0cykgewogCQlp ZiAoIXJpbmctPmRpc2FibGVfbGl0ZV9yZXN0b3JlX3dhIHx8Ci0JCSAgICAoc3RhdHVzICYgR0VO OF9DVFhfU1RBVFVTX0FDVElWRV9JRExFKSkKLQkJCWV4ZWNsaXN0c19jb250ZXh0X3VucXVldWVf X2xvY2tlZChyaW5nKTsKKwkJICAgIChjc2JbaV1bMF0gJiBHRU44X0NUWF9TVEFUVVNfQUNUSVZF X0lETEUpKQorCQkJZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShyaW5nKTsKIAl9CiAKLQlyaW5n LT5uZXh0X2NvbnRleHRfc3RhdHVzX2J1ZmZlciA9IHdyaXRlX3BvaW50ZXIgJSBHRU44X0NTQl9F TlRSSUVTOwotCi0JLyogVXBkYXRlIHRoZSByZWFkIHBvaW50ZXIgdG8gdGhlIG9sZCB3cml0ZSBw b2ludGVyLiBNYW51YWwgcmluZ2J1ZmZlcgotCSAqIG1hbmFnZW1lbnQgZnR3IDwvc2FyY2FzbT4g Ki8KLQlJOTE1X1dSSVRFX0ZXKFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRSKHJpbmcpLAotCQkgICAg ICBfTUFTS0VEX0ZJRUxEKEdFTjhfQ1NCX1JFQURfUFRSX01BU0ssCi0JCQkJICAgIHJpbmctPm5l eHRfY29udGV4dF9zdGF0dXNfYnVmZmVyIDw8IDgpKTsKLQotCWludGVsX3VuY29yZV9mb3JjZXdh a2VfcHV0X19sb2NrZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwotCXNwaW5fdW5sb2NrKCZk ZXZfcHJpdi0+dW5jb3JlLmxvY2spOwotCiAJc3Bpbl91bmxvY2soJnJpbmctPmV4ZWNsaXN0X2xv Y2spOwogCiAJaWYgKHVubGlrZWx5KHN1Ym1pdF9jb250ZXh0cyA+IDIpKQotLSAKMS45LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=