From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v3] drm/i915: Move CSB MMIO reads out of the execlists lock Date: Thu, 17 Mar 2016 12:59:46 +0000 Message-ID: <1458219586-20452-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 560A76E30B for ; Thu, 17 Mar 2016 12:59:50 +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 IGEgYmlnIGNvcmUgQnJvYWR3ZWxsLgoKdjI6CiAgKiBPdmVyZmxvdyBwcm90ZWN0aW9uIHRvIGxv Y2FsIENTQiBidWZmZXIuCiAgKiBVc2UgY2xvc2VyIGRldl9wcml2IGluIGV4ZWNsaXN0c19zdWJt aXRfcmVxdWVzdHMuIChDaHJpcyBXaWxzb24pCgp2MzogUmViYXNlLgoKU2lnbmVkLW9mZi1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIHwgNzcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZjcyNzgyMjAwMjI2Li5jNmIzYTlkMTlhZjIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC00MTYsMTUgKzQxNiwyMyBAQCBzdGF0aWMgdm9pZCBl eGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkK IHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXRfcmVxdWVzdHMoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpycTAsCiAJCQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy cTEpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcnEwLT5pOTE1Owor CiAJZXhlY2xpc3RzX3VwZGF0ZV9jb250ZXh0KHJxMCk7CiAKIAlpZiAocnExKQogCQlleGVjbGlz dHNfdXBkYXRlX2NvbnRleHQocnExKTsKIAorCXNwaW5fbG9jaygmZGV2X3ByaXYtPnVuY29yZS5s b2NrKTsKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldF9fbG9ja2VkKGRldl9wcml2LCBGT1JD RVdBS0VfQUxMKTsKKwogCWV4ZWNsaXN0c19lbHNwX3dyaXRlKHJxMCwgcnExKTsKKworCWludGVs X3VuY29yZV9mb3JjZXdha2VfcHV0X19sb2NrZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwor CXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwogfQogCi1zdGF0aWMgdm9pZCBl eGVjbGlzdHNfY29udGV4dF91bnF1ZXVlX19sb2NrZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQorc3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEwID0gTlVMTCwgKnJlcTEgPSBOVUxMOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq Y3Vyc29yLCAqdG1wOwpAQCAtNDc4LDE5ICs0ODYsNiBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNf Y29udGV4dF91bnF1ZXVlX19sb2NrZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CWV4ZWNsaXN0c19zdWJtaXRfcmVxdWVzdHMocmVxMCwgcmVxMSk7CiB9CiAKLXN0YXRpYyB2b2lk IGV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+ZGV2LT5k ZXZfcHJpdmF0ZTsKLQotCXNwaW5fbG9jaygmZGV2X3ByaXYtPnVuY29yZS5sb2NrKTsKLQlpbnRl bF91bmNvcmVfZm9yY2V3YWtlX2dldF9fbG9ja2VkKGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsK LQotCWV4ZWNsaXN0c19jb250ZXh0X3VucXVldWVfX2xvY2tlZChlbmdpbmUpOwotCi0JaW50ZWxf dW5jb3JlX2ZvcmNld2FrZV9wdXRfX2xvY2tlZChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Ci0J c3Bpbl91bmxvY2soJmRldl9wcml2LT51bmNvcmUubG9jayk7Ci19Ci0KIHN0YXRpYyB1bnNpZ25l ZCBpbnQKIGV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsIHUzMiByZXF1ZXN0X2lkKQogewpAQCAtNTUxLDEyICs1NDYsMTAgQEAgdm9p ZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+ZGV2LT5kZXZfcHJp dmF0ZTsKIAl1MzIgc3RhdHVzX3BvaW50ZXI7CiAJdW5zaWduZWQgaW50IHJlYWRfcG9pbnRlciwg d3JpdGVfcG9pbnRlcjsKLQl1MzIgc3RhdHVzID0gMDsKLQl1MzIgc3RhdHVzX2lkOworCXUzMiBj c2JbR0VOOF9DU0JfRU5UUklFU11bMl07CisJdW5zaWduZWQgaW50IGNzYl9yZWFkID0gMCwgaTsK IAl1bnNpZ25lZCBpbnQgc3VibWl0X2NvbnRleHRzID0gMDsKIAotCXNwaW5fbG9jaygmZW5naW5l LT5leGVjbGlzdF9sb2NrKTsKLQogCXNwaW5fbG9jaygmZGV2X3ByaXYtPnVuY29yZS5sb2NrKTsK IAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldF9fbG9ja2VkKGRldl9wcml2LCBGT1JDRVdBS0Vf QUxMKTsKIApAQCAtNTY4LDQxICs1NjEsNDcgQEAgdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQl3cml0ZV9wb2ludGVyICs9IEdFTjhf Q1NCX0VOVFJJRVM7CiAKIAl3aGlsZSAocmVhZF9wb2ludGVyIDwgd3JpdGVfcG9pbnRlcikgewot CQlzdGF0dXMgPSBnZXRfY29udGV4dF9zdGF0dXMoZW5naW5lLCArK3JlYWRfcG9pbnRlciwKLQkJ CQkgICAgICAgICAgICAmc3RhdHVzX2lkKTsKKwkJaWYgKFdBUk5fT05fT05DRShjc2JfcmVhZCA9 PSBHRU44X0NTQl9FTlRSSUVTKSkKKwkJCWJyZWFrOworCQljc2JbY3NiX3JlYWRdWzBdID0gZ2V0 X2NvbnRleHRfc3RhdHVzKGVuZ2luZSwgKytyZWFkX3BvaW50ZXIsCisJCQkJCQkgICAgICAmY3Ni W2NzYl9yZWFkXVsxXSk7CisJCWNzYl9yZWFkKys7CisJfQogCi0JCWlmICh1bmxpa2VseShzdGF0 dXMgJiBHRU44X0NUWF9TVEFUVVNfUFJFRU1QVEVEKSkgewotCQkJaWYgKHN0YXR1cyAmIEdFTjhf Q1RYX1NUQVRVU19MSVRFX1JFU1RPUkUpIHsKLQkJCQlpZiAoZXhlY2xpc3RzX2NoZWNrX3JlbW92 ZV9yZXF1ZXN0KGVuZ2luZSwgc3RhdHVzX2lkKSkKKwllbmdpbmUtPm5leHRfY29udGV4dF9zdGF0 dXNfYnVmZmVyID0gd3JpdGVfcG9pbnRlciAlIEdFTjhfQ1NCX0VOVFJJRVM7CisKKwkvKiBVcGRh dGUgdGhlIHJlYWQgcG9pbnRlciB0byB0aGUgb2xkIHdyaXRlIHBvaW50ZXIuIE1hbnVhbCByaW5n YnVmZmVyCisJICogbWFuYWdlbWVudCBmdHcgPC9zYXJjYXNtPiAqLworCUk5MTVfV1JJVEVfRlco UklOR19DT05URVhUX1NUQVRVU19QVFIoZW5naW5lKSwKKwkJICAgICAgX01BU0tFRF9GSUVMRChH RU44X0NTQl9SRUFEX1BUUl9NQVNLLAorCQkJCSAgICBlbmdpbmUtPm5leHRfY29udGV4dF9zdGF0 dXNfYnVmZmVyIDw8IDgpKTsKKworCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0X19sb2NrZWQo ZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOworCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+dW5jb3Jl LmxvY2spOworCisJc3Bpbl9sb2NrKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2spOworCisJZm9yIChp ID0gMDsgaSA8IGNzYl9yZWFkOyBpKyspIHsKKwkJaWYgKHVubGlrZWx5KGNzYltpXVswXSAmIEdF TjhfQ1RYX1NUQVRVU19QUkVFTVBURUQpKSB7CisJCQlpZiAoY3NiW2ldWzBdICYgR0VOOF9DVFhf U1RBVFVTX0xJVEVfUkVTVE9SRSkgeworCQkJCWlmIChleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3Jl cXVlc3QoZW5naW5lLCBjc2JbaV1bMV0pKQogCQkJCQlXQVJOKDEsICJMaXRlIFJlc3RvcmVkIHJl cXVlc3QgcmVtb3ZlZCBmcm9tIHF1ZXVlXG4iKTsKIAkJCX0gZWxzZQogCQkJCVdBUk4oMSwgIlBy ZWVtcHRpb24gd2l0aG91dCBMaXRlIFJlc3RvcmVcbiIpOwogCQl9CiAKLQkJaWYgKHN0YXR1cyAm IChHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUgfAorCQlpZiAoY3NiW2ldWzBdICYgKEdFTjhf Q1RYX1NUQVRVU19BQ1RJVkVfSURMRSB8CiAJCSAgICBHRU44X0NUWF9TVEFUVVNfRUxFTUVOVF9T V0lUQ0gpKQogCQkJc3VibWl0X2NvbnRleHRzICs9Ci0JCQkJZXhlY2xpc3RzX2NoZWNrX3JlbW92 ZV9yZXF1ZXN0KGVuZ2luZSwKLQkJCQkJCSAgICAgICAgICAgICAgIHN0YXR1c19pZCk7CisJCQkJ ZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9yZXF1ZXN0KGVuZ2luZSwgY3NiW2ldWzFdKTsKIAl9CiAK IAlpZiAoc3VibWl0X2NvbnRleHRzKSB7CiAJCWlmICghZW5naW5lLT5kaXNhYmxlX2xpdGVfcmVz dG9yZV93YSB8fAotCQkgICAgKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19BQ1RJVkVfSURMRSkp Ci0JCQlleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlX19sb2NrZWQoZW5naW5lKTsKKwkJICAgIChj c2JbaV1bMF0gJiBHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUpKQorCQkJZXhlY2xpc3RzX2Nv bnRleHRfdW5xdWV1ZShlbmdpbmUpOwogCX0KIAotCWVuZ2luZS0+bmV4dF9jb250ZXh0X3N0YXR1 c19idWZmZXIgPSB3cml0ZV9wb2ludGVyICUgR0VOOF9DU0JfRU5UUklFUzsKLQotCS8qIFVwZGF0 ZSB0aGUgcmVhZCBwb2ludGVyIHRvIHRoZSBvbGQgd3JpdGUgcG9pbnRlci4gTWFudWFsIHJpbmdi dWZmZXIKLQkgKiBtYW5hZ2VtZW50IGZ0dyA8L3NhcmNhc20+ICovCi0JSTkxNV9XUklURV9GVyhS SU5HX0NPTlRFWFRfU1RBVFVTX1BUUihlbmdpbmUpLAotCQkgICAgICBfTUFTS0VEX0ZJRUxEKEdF TjhfQ1NCX1JFQURfUFRSX01BU0ssCi0JCQkJICAgIGVuZ2luZS0+bmV4dF9jb250ZXh0X3N0YXR1 c19idWZmZXIgPDwgOCkpOwotCi0JaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXRfX2xvY2tlZChk ZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Ci0Jc3Bpbl91bmxvY2soJmRldl9wcml2LT51bmNvcmUu bG9jayk7Ci0KIAlzcGluX3VubG9jaygmZW5naW5lLT5leGVjbGlzdF9sb2NrKTsKIAogCWlmICh1 bmxpa2VseShzdWJtaXRfY29udGV4dHMgPiAyKSkKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK