From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 1/2] drm/i915: Cache some registers in execlists hot paths Date: Wed, 23 Mar 2016 15:15:02 +0000 Message-ID: <1458746103-25849-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 0DBC56E890 for ; Wed, 23 Mar 2016 15:15:12 +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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkdDQyBjYW5u b3Qgb3B0aW1pemUgd2VsbCBjYWxjdWxhdGlvbnMgaGlkZGVuIGluIG1hY3JvcyBhbmQKYXNzaWdu ZWQgdG8gdGVtcG9yYXJ5IHN0cnVjdHVyZXMuIFdlIGNhbiBjYWNoZSB0aGUgcmVnaXN0ZXIgaW4K RUxTUCB3cml0ZSwgYW5kIHJlZmFjdG9yIHJlYWRpbmcgb2YgdGhlIENTQiBhIGJpdCB0byBlbmFi bGUKaXQgdG8gZG8gYSBiZXR0ZXIgam9iLgoKQ29kZSBpcyBzdGlsbCBlcXVhbGx5IHJlYWRhYmxl IGJ1dCB0aGUgZ2VuZXJhdGVkIGJvZHkgb2YgdGhlCkNTQiByZWFkIGxvb3AgaXMgMzAlIHNtYWxs ZXIsIGFuZCBzaW5jZSB0aGF0IGxvb3AgcnVucyBhdApsZWFzdCBvbmNlIHBlciBpbnRlcnJ1cHQs IHdoaWNoIGluIHR1cm4gY2FuIGZpcmUgaW4gdGVucyBvcgpodW5kcmVkcyB0aG91c2FuZHMgdGlt ZXMgcGVyIHNlY29uZCwgbXVzdCBiZSBvZiBzb21lIHZhbHVlLgoKU2lnbmVkLW9mZi1ieTogVHZy dGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyB8IDI2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCB8IDExICsrKysrKysrLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKaW5kZXggM2EyM2I5NTQ5ZjdiLi42NzU5MmY4MzU0ZDYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jCkBAIC0zNjEsOCArMzYxLDggQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2Vs c3Bfd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycTAsCiB7CiAKIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycTAtPmVuZ2luZTsKLQlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZW5naW5lLT5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBycTAtPmk5MTU7CisJaTkxNV9yZWdfdCBlbHNwX3JlZyA9IFJJTkdfRUxTUChlbmdpbmUpOwog CXVpbnQ2NF90IGRlc2NbMl07CiAKIAlpZiAocnExKSB7CkBAIC0zNzYsMTIgKzM3NiwxMiBAQCBz dGF0aWMgdm9pZCBleGVjbGlzdHNfZWxzcF93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJxMCwKIAlycTAtPmVsc3Bfc3VibWl0dGVkKys7CiAKIAkvKiBZb3UgbXVzdCBhbHdheXMg d3JpdGUgYm90aCBkZXNjcmlwdG9ycyBpbiB0aGUgb3JkZXIgYmVsb3cuICovCi0JSTkxNV9XUklU RV9GVyhSSU5HX0VMU1AoZW5naW5lKSwgdXBwZXJfMzJfYml0cyhkZXNjWzFdKSk7Ci0JSTkxNV9X UklURV9GVyhSSU5HX0VMU1AoZW5naW5lKSwgbG93ZXJfMzJfYml0cyhkZXNjWzFdKSk7CisJSTkx NV9XUklURV9GVyhlbHNwX3JlZywgdXBwZXJfMzJfYml0cyhkZXNjWzFdKSk7CisJSTkxNV9XUklU RV9GVyhlbHNwX3JlZywgbG93ZXJfMzJfYml0cyhkZXNjWzFdKSk7CiAKLQlJOTE1X1dSSVRFX0ZX KFJJTkdfRUxTUChlbmdpbmUpLCB1cHBlcl8zMl9iaXRzKGRlc2NbMF0pKTsKKwlJOTE1X1dSSVRF X0ZXKGVsc3BfcmVnLCB1cHBlcl8zMl9iaXRzKGRlc2NbMF0pKTsKIAkvKiBUaGUgY29udGV4dCBp cyBhdXRvbWF0aWNhbGx5IGxvYWRlZCBhZnRlciB0aGUgZm9sbG93aW5nICovCi0JSTkxNV9XUklU RV9GVyhSSU5HX0VMU1AoZW5naW5lKSwgbG93ZXJfMzJfYml0cyhkZXNjWzBdKSk7CisJSTkxNV9X UklURV9GVyhlbHNwX3JlZywgbG93ZXJfMzJfYml0cyhkZXNjWzBdKSk7CiAKIAkvKiBFTFNQIGlz IGEgd28gcmVnaXN0ZXIsIHVzZSBhbm90aGVyIG5lYXJieSByZWcgZm9yIHBvc3RpbmcgKi8KIAlQ T1NUSU5HX1JFQURfRlcoUklOR19FWEVDTElTVF9TVEFUVVNfTE8oZW5naW5lKSk7CkBAIC01MTcs MjEgKzUxNywxOSBAQCBleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3Qoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgcmVxdWVzdF9pZCkKIH0KIAogc3RhdGljIHUzMgotZ2V0 X2NvbnRleHRfc3RhdHVzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdW5zaWduZWQg aW50IHJlYWRfcG9pbnRlciwKLQkJICAgdTMyICpjb250ZXh0X2lkKQorZ2V0X2NvbnRleHRfc3Rh dHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGNzYl9iYXNlLAorCQkg ICB1bnNpZ25lZCBpbnQgcmVhZF9wb2ludGVyLCB1MzIgKmNvbnRleHRfaWQpCiB7Ci0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5kZXYtPmRldl9wcml2YXRlOwog CXUzMiBzdGF0dXM7CiAKIAlyZWFkX3BvaW50ZXIgJT0gR0VOOF9DU0JfRU5UUklFUzsKIAotCXN0 YXR1cyA9IEk5MTVfUkVBRF9GVyhSSU5HX0NPTlRFWFRfU1RBVFVTX0JVRl9MTyhlbmdpbmUsIHJl YWRfcG9pbnRlcikpOworCXN0YXR1cyA9IEk5MTVfUkVBRF9GVyhSSU5HX0NTQl9MTyhjc2JfYmFz ZSwgcmVhZF9wb2ludGVyKSk7CiAKIAlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0lETEVf QUNUSVZFKQogCQlyZXR1cm4gMDsKIAotCSpjb250ZXh0X2lkID0gSTkxNV9SRUFEX0ZXKFJJTkdf Q09OVEVYVF9TVEFUVVNfQlVGX0hJKGVuZ2luZSwKLQkJCQkJCQkgICAgICByZWFkX3BvaW50ZXIp KTsKKwkqY29udGV4dF9pZCA9IEk5MTVfUkVBRF9GVyhSSU5HX0NTQl9ISShjc2JfYmFzZSwgcmVh ZF9wb2ludGVyKSk7CiAKIAlyZXR1cm4gc3RhdHVzOwogfQpAQCAtNTQ4LDYgKzU0Niw3IEBAIHZv aWQgaW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmRldi0+ZGV2X3By aXZhdGU7CiAJdTMyIHN0YXR1c19wb2ludGVyOwogCXVuc2lnbmVkIGludCByZWFkX3BvaW50ZXIs IHdyaXRlX3BvaW50ZXI7CisJdTMyIGNzYl9iYXNlID0gUklOR19DU0JfQkFTRShlbmdpbmUpOwog CXUzMiBjc2JbR0VOOF9DU0JfRU5UUklFU11bMl07CiAJdW5zaWduZWQgaW50IGNzYl9yZWFkID0g MCwgaTsKIAl1bnNpZ25lZCBpbnQgc3VibWl0X2NvbnRleHRzID0gMDsKQEAgLTU2NSw3ICs1NjQs OCBAQCB2b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCiAJd2hpbGUgKHJlYWRfcG9pbnRlciA8IHdyaXRlX3BvaW50ZXIpIHsKIAkJaWYgKFdB Uk5fT05fT05DRShjc2JfcmVhZCA9PSBHRU44X0NTQl9FTlRSSUVTKSkKIAkJCWJyZWFrOwotCQlj c2JbY3NiX3JlYWRdWzBdID0gZ2V0X2NvbnRleHRfc3RhdHVzKGVuZ2luZSwgKytyZWFkX3BvaW50 ZXIsCisJCWNzYltjc2JfcmVhZF1bMF0gPSBnZXRfY29udGV4dF9zdGF0dXMoZGV2X3ByaXYsIGNz Yl9iYXNlLAorCQkJCQkJICAgICAgKytyZWFkX3BvaW50ZXIsCiAJCQkJCQkgICAgICAmY3NiW2Nz Yl9yZWFkXVsxXSk7CiAJCWNzYl9yZWFkKys7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApp bmRleCBhMTdjYjEyMjIxYmEuLjY2OTBkOTNkNjAzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmgKQEAgLTM0LDkgKzM0LDE0IEBACiAjZGVmaW5lCSAgQ1RYX0NUUkxfSU5ISUJJVF9TWU5fQ1RY X1NXSVRDSAkoMSA8PCAzKQogI2RlZmluZQkgIENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9J TkhJQklUCSgxIDw8IDApCiAjZGVmaW5lICAgQ1RYX0NUUkxfUlNfQ1RYX0VOQUJMRSAgICAgICAg ICAgICAgICAoMSA8PCAxKQotI2RlZmluZSBSSU5HX0NPTlRFWFRfU1RBVFVTX0JVRl9MTyhyaW5n LCBpKQlfTU1JTygocmluZyktPm1taW9fYmFzZSArIDB4MzcwICsgKGkpICogOCkKLSNkZWZpbmUg UklOR19DT05URVhUX1NUQVRVU19CVUZfSEkocmluZywgaSkJX01NSU8oKHJpbmcpLT5tbWlvX2Jh c2UgKyAweDM3MCArIChpKSAqIDggKyA0KQotI2RlZmluZSBSSU5HX0NPTlRFWFRfU1RBVFVTX1BU UihyaW5nKQkJX01NSU8oKHJpbmcpLT5tbWlvX2Jhc2UgKyAweDNhMCkKKworI2RlZmluZSBSSU5H X0NTQl9CQVNFKHJpbmcpCQkoKHJpbmcpLT5tbWlvX2Jhc2UgKyAweDM3MCkKKyNkZWZpbmUgUklO R19DU0JfTE8oY3NiX2Jhc2UsIGkpCV9NTUlPKChjc2JfYmFzZSkgKyAoaSkgKiA4KQorI2RlZmlu ZSBSSU5HX0NTQl9ISShjc2JfYmFzZSwgaSkJX01NSU8oKGNzYl9iYXNlKSArIChpKSAqIDggKyA0 KQorCisjZGVmaW5lIFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKHJpbmcsIGkpICBSSU5HX0NT Ql9MTyhSSU5HX0NTQl9CQVNFKHJpbmcpLCBpKQorI2RlZmluZSBSSU5HX0NPTlRFWFRfU1RBVFVT X0JVRl9ISShyaW5nLCBpKSAgUklOR19DU0JfSEkoUklOR19DU0JfQkFTRShyaW5nKSwgaSkKKyNk ZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19QVFIocmluZykJICAgICBfTU1JTygocmluZyktPm1t aW9fYmFzZSArIDB4M2EwKQogCiAvKiBUaGUgZG9jcyBzcGVjaWZ5IHRoYXQgdGhlIHdyaXRlIHBv aW50ZXIgd3JhcHMgYXJvdW5kIGFmdGVyIDVoLCAiQWZ0ZXIgc3RhdHVzCiAgKiBpcyB3cml0dGVu IG91dCB0byB0aGUgbGFzdCBhdmFpbGFibGUgc3RhdHVzIFFXIGF0IG9mZnNldCA1aCwgdGhpcyBw b2ludGVyCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==