From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/2] drm/i915: Execlist irq handler micro optimisations Date: Thu, 11 Feb 2016 18:03:10 +0000 Message-ID: <1455213790-4724-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1455213790-4724-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 37BF26E21D for ; Thu, 11 Feb 2016 10:03:41 -0800 (PST) In-Reply-To: <1455213790-4724-1-git-send-email-tvrtko.ursulin@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkFzc29ydGVk IGNoYW5nZXMgbW9zdCBsaWtlbHkgd2l0aG91dCBhbnkgcHJhY3RpY2FsIGVmZmVjdAphcGFydCBm cm9tIGEgdGlueSByZWR1Y3Rpb24gaW4gZ2VuZXJhdGVkIGNvZGUgZm9yIHRoZSBpbnRlcnJ1cHQK aGFuZGxlciBhbmQgcmVxdWVzdCBzdWJtaXNzaW9uLgoKICogUmVtb3ZlIG5lZWRsZXNzIGluaXRp YWxpemF0aW9uLgogKiBJbXByb3ZlIGNhY2hlIGxvY2FsaXR5IGJ5IHJlb3JnYW5pemluZyBjb2Rl IGFuZC9vciB1c2luZwogICBicmFuY2ggaGludHMgdG8ga2VlcCB1bmV4cGVjdGVkIG9yIGVycm9y IGNvbmRpdGlvbnMgb3V0CiAgIG9mIGxpbmUuCiAqIEZhdm9yIGJ1c3kgc3VibWl0IHBhdGggdnMu IGVtcHR5IHF1ZXVlLgogKiBMZXNzIGJyYW5jaGluZyBpbiBob3QtcGF0aHMuCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8IDkxICsrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o IHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDk1MWYxZTZhZjk0Ny4uNTg5ZDY0MDRi NWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMjY5LDYgKzI2OSw5IEBAIGxvZ2lj YWxfcmluZ19pbml0X3BsYXRmb3JtX2ludmFyaWFudHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2OwogCisJaWYgKElT X0dFTjgoZGV2KSB8fCBJU19HRU45KGRldikpCisJCXJpbmctPmlkbGVfbGl0ZV9yZXN0b3JlX3dh ID0gfjA7CisKIAlyaW5nLT5kaXNhYmxlX2xpdGVfcmVzdG9yZV93YSA9IChJU19TS0xfUkVWSUQo ZGV2LCAwLCBTS0xfUkVWSURfQjApIHx8CiAJCQkJCUlTX0JYVF9SRVZJRChkZXYsIDAsIEJYVF9S RVZJRF9BMSkpICYmCiAJCQkJCShyaW5nLT5pZCA9PSBWQ1MgfHwgcmluZy0+aWQgPT0gVkNTMik7 CkBAIC00MjQsNyArNDI3LDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0 cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxMCwKIHN0YXRpYyB2b2lkIGV4ZWNsaXN0 c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTAgPSBOVUxMLCAqcmVxMSA9IE5VTEw7Ci0Jc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3IgPSBOVUxMLCAqdG1wID0gTlVMTDsKKwlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNvciwgKnRtcDsKIAogCWFzc2VydF9zcGlu X2xvY2tlZCgmcmluZy0+ZXhlY2xpc3RfbG9jayk7CiAKQEAgLTQzNCw5ICs0MzcsNiBAQCBzdGF0 aWMgdm9pZCBleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCiAJICovCiAJV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVkKHJpbmctPmRldi0+ZGV2 X3ByaXZhdGUpKTsKIAotCWlmIChsaXN0X2VtcHR5KCZyaW5nLT5leGVjbGlzdF9xdWV1ZSkpCi0J CXJldHVybjsKLQogCS8qIFRyeSB0byByZWFkIGluIHBhaXJzICovCiAJbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKGN1cnNvciwgdG1wLCAmcmluZy0+ZXhlY2xpc3RfcXVldWUsCiAJCQkJIGV4ZWNs aXN0X2xpbmspIHsKQEAgLTQ1MSwzNyArNDUxLDM1IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19j b250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAkJCXJlcTAgPSBj dXJzb3I7CiAJCX0gZWxzZSB7CiAJCQlyZXExID0gY3Vyc29yOworCQkJV0FSTl9PTihyZXExLT5l bHNwX3N1Ym1pdHRlZCk7CiAJCQlicmVhazsKIAkJfQogCX0KIAotCWlmIChJU19HRU44KHJpbmct PmRldikgfHwgSVNfR0VOOShyaW5nLT5kZXYpKSB7CisJaWYgKHVubGlrZWx5KCFyZXEwKSkKKwkJ cmV0dXJuOworCisJaWYgKHJlcTAtPmVsc3Bfc3VibWl0dGVkICYgcmluZy0+aWRsZV9saXRlX3Jl c3RvcmVfd2EpIHsKIAkJLyoKLQkJICogV2FJZGxlTGl0ZVJlc3RvcmU6IG1ha2Ugc3VyZSB3ZSBu ZXZlciBjYXVzZSBhIGxpdGUKLQkJICogcmVzdG9yZSB3aXRoIEhFQUQ9PVRBSUwKKwkJICogV2FJ ZGxlTGl0ZVJlc3RvcmU6IG1ha2Ugc3VyZSB3ZSBuZXZlciBjYXVzZSBhIGxpdGUgcmVzdG9yZQor CQkgKiB3aXRoIEhFQUQ9PVRBSUwuCisJCSAqCisJCSAqIEFwcGx5IHRoZSB3YSBOT09QUyB0byBw cmV2ZW50IHJpbmc6SEVBRCA9PSByZXE6VEFJTCBhcyB3ZQorCQkgKiByZXN1Ym1pdCB0aGUgcmVx dWVzdC4gU2VlIGdlbjhfZW1pdF9yZXF1ZXN0KCkgZm9yIHdoZXJlIHdlCisJCSAqIHByZXBhcmUg dGhlIHBhZGRpbmcgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgcmVxdWVzdC4KIAkJICovCi0JCWlmIChy ZXEwLT5lbHNwX3N1Ym1pdHRlZCkgewotCQkJLyoKLQkJCSAqIEFwcGx5IHRoZSB3YSBOT09QUyB0 byBwcmV2ZW50IHJpbmc6SEVBRCA9PSByZXE6VEFJTAotCQkJICogYXMgd2UgcmVzdWJtaXQgdGhl IHJlcXVlc3QuIFNlZSBnZW44X2VtaXRfcmVxdWVzdCgpCi0JCQkgKiBmb3Igd2hlcmUgd2UgcHJl cGFyZSB0aGUgcGFkZGluZyBhZnRlciB0aGUgZW5kIG9mIHRoZQotCQkJICogcmVxdWVzdC4KLQkJ CSAqLwotCQkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7CisJCXN0cnVjdCBpbnRl bF9yaW5nYnVmZmVyICpyaW5nYnVmOwogCi0JCQlyaW5nYnVmID0gcmVxMC0+Y3R4LT5lbmdpbmVb cmluZy0+aWRdLnJpbmdidWY7Ci0JCQlyZXEwLT50YWlsICs9IDg7Ci0JCQlyZXEwLT50YWlsICY9 IHJpbmdidWYtPnNpemUgLSAxOwotCQl9CisJCXJpbmdidWYgPSByZXEwLT5jdHgtPmVuZ2luZVty aW5nLT5pZF0ucmluZ2J1ZjsKKwkJcmVxMC0+dGFpbCArPSA4OworCQlyZXEwLT50YWlsICY9IHJp bmdidWYtPnNpemUgLSAxOwogCX0KIAotCVdBUk5fT04ocmVxMSAmJiByZXExLT5lbHNwX3N1Ym1p dHRlZCk7Ci0KIAlleGVjbGlzdHNfc3VibWl0X3JlcXVlc3RzKHJlcTAsIHJlcTEpOwogfQogCi1z dGF0aWMgYm9vbCBleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywKLQkJCQkJICAgdTMyIHJlcXVlc3RfaWQpCitzdGF0aWMgdW5zaWduZWQg aW50CitleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywgdTMyIHJlcXVlc3RfaWQpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpoZWFkX3JlcTsKIApAQCAtNDkxLDIwICs0ODksMjEgQEAgc3RhdGljIGJvb2wgZXhlY2xpc3Rz X2NoZWNrX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkJ CSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QsCiAJCQkJCSAgICBleGVjbGlzdF9saW5r KTsKIAotCWlmIChoZWFkX3JlcSAhPSBOVUxMKSB7Ci0JCWlmIChpbnRlbF9leGVjbGlzdHNfY3R4 X2lkKGhlYWRfcmVxLT5jdHgsIHJpbmcpID09IHJlcXVlc3RfaWQpIHsKLQkJCVdBUk4oaGVhZF9y ZXEtPmVsc3Bfc3VibWl0dGVkID09IDAsCi0JCQkgICAgICJOZXZlciBzdWJtaXR0ZWQgaGVhZCBy ZXF1ZXN0XG4iKTsKKwlpZiAoIWhlYWRfcmVxKQorCQlyZXR1cm4gMDsKKworCWlmICh1bmxpa2Vs eShpbnRlbF9leGVjbGlzdHNfY3R4X2lkKGhlYWRfcmVxLT5jdHgsIHJpbmcpICE9IHJlcXVlc3Rf aWQpKQorCQlyZXR1cm4gMDsKIAotCQkJaWYgKC0taGVhZF9yZXEtPmVsc3Bfc3VibWl0dGVkIDw9 IDApIHsKLQkJCQlsaXN0X21vdmVfdGFpbCgmaGVhZF9yZXEtPmV4ZWNsaXN0X2xpbmssCi0JCQkJ CSAgICAgICAmcmluZy0+ZXhlY2xpc3RfcmV0aXJlZF9yZXFfbGlzdCk7Ci0JCQkJcmV0dXJuIHRy dWU7Ci0JCQl9Ci0JCX0KLQl9CisJV0FSTihoZWFkX3JlcS0+ZWxzcF9zdWJtaXR0ZWQgPT0gMCwg Ik5ldmVyIHN1Ym1pdHRlZCBoZWFkIHJlcXVlc3RcbiIpOwogCi0JcmV0dXJuIGZhbHNlOworCWlm ICgtLWhlYWRfcmVxLT5lbHNwX3N1Ym1pdHRlZCA+IDApCisJCXJldHVybiAwOworCisJbGlzdF9t b3ZlX3RhaWwoJmhlYWRfcmVxLT5leGVjbGlzdF9saW5rLAorCQkgICAgICAgJnJpbmctPmV4ZWNs aXN0X3JldGlyZWRfcmVxX2xpc3QpOworCisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyB1MzIgZ2V0 X2NvbnRleHRfc3RhdHVzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHU4IHJlYWRfcG9p bnRlciwKQEAgLTU1MSw3ICs1NTAsNyBAQCB2b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVT X0lETEVfQUNUSVZFKQogCQkJY29udGludWU7CiAKLQkJaWYgKHN0YXR1cyAmIEdFTjhfQ1RYX1NU QVRVU19QUkVFTVBURUQpIHsKKwkJaWYgKHVubGlrZWx5KHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRV U19QUkVFTVBURUQpKSB7CiAJCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0xJVEVfUkVT VE9SRSkgewogCQkJCWlmIChleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3QocmluZywgc3Rh dHVzX2lkKSkKIAkJCQkJV0FSTigxLCAiTGl0ZSBSZXN0b3JlZCByZXF1ZXN0IHJlbW92ZWQgZnJv bSBxdWV1ZVxuIik7CkBAIC01NTksMjEgKzU1OCwxNiBAQCB2b2lkIGludGVsX2xyY19pcnFfaGFu ZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQkJCVdBUk4oMSwgIlByZWVtcHRp b24gd2l0aG91dCBMaXRlIFJlc3RvcmVcbiIpOwogCQl9CiAKLQkJaWYgKChzdGF0dXMgJiBHRU44 X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUpIHx8Ci0JCSAgICAoc3RhdHVzICYgR0VOOF9DVFhfU1RB VFVTX0VMRU1FTlRfU1dJVENIKSkgewotCQkJaWYgKGV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVx dWVzdChyaW5nLCBzdGF0dXNfaWQpKQotCQkJCXN1Ym1pdF9jb250ZXh0cysrOwotCQl9CisJCWlm IChzdGF0dXMgJiAoR0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFIHwKKwkJICAgIEdFTjhfQ1RY X1NUQVRVU19FTEVNRU5UX1NXSVRDSCkpCisJCQlzdWJtaXRfY29udGV4dHMgKz0KKwkJCQlleGVj bGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3QocmluZywgc3RhdHVzX2lkKTsKIAl9CiAKLQlpZiAo cmluZy0+ZGlzYWJsZV9saXRlX3Jlc3RvcmVfd2EpIHsKLQkJLyogUHJldmVudCBhIGN0eCB0byBw cmVlbXB0IGl0c2VsZiAqLwotCQlpZiAoKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19BQ1RJVkVf SURMRSkgJiYKLQkJICAgIChzdWJtaXRfY29udGV4dHMgIT0gMCkpCi0JCQlleGVjbGlzdHNfY29u dGV4dF91bnF1ZXVlKHJpbmcpOwotCX0gZWxzZSBpZiAoc3VibWl0X2NvbnRleHRzICE9IDApIHsK KwlpZiAoc3VibWl0X2NvbnRleHRzICYmICghcmluZy0+ZGlzYWJsZV9saXRlX3Jlc3RvcmVfd2Eg fHwKKwkgICAgKHJpbmctPmRpc2FibGVfbGl0ZV9yZXN0b3JlX3dhICYmIChzdGF0dXMgJgorCSAg ICBHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUpKSkpCiAJCWV4ZWNsaXN0c19jb250ZXh0X3Vu cXVldWUocmluZyk7Ci0JfQogCiAJc3Bpbl91bmxvY2soJnJpbmctPmV4ZWNsaXN0X2xvY2spOwog CkBAIC0yMDI4LDYgKzIwMjIsNyBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVwKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCXJpbmctPnN0YXR1c19wYWdlLm9iaiA9IE5V TEw7CiAJfQogCisJcmluZy0+aWRsZV9saXRlX3Jlc3RvcmVfd2EgPSAwOwogCXJpbmctPmRpc2Fi bGVfbGl0ZV9yZXN0b3JlX3dhID0gZmFsc2U7CiAJcmluZy0+Y3R4X2Rlc2NfdGVtcGxhdGUgPSAw OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggNTY2YjBhZTEw Y2UwLi41NDA1NGJhNmUyMjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmgKQEAgLTI3Miw2ICsyNzIsNyBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9jcyB7CiAJc3RydWN0 IGxpc3RfaGVhZCBleGVjbGlzdF9xdWV1ZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGV4ZWNsaXN0X3Jl dGlyZWRfcmVxX2xpc3Q7CiAJdTggbmV4dF9jb250ZXh0X3N0YXR1c19idWZmZXI7CisJdW5zaWdu ZWQgaW50IGlkbGVfbGl0ZV9yZXN0b3JlX3dhOwogCWJvb2wgZGlzYWJsZV9saXRlX3Jlc3RvcmVf d2E7CiAJdTMyIGN0eF9kZXNjX3RlbXBsYXRlOwogCXUzMiAgICAgICAgICAgICBpcnFfa2VlcF9t YXNrOyAvKiBiaXRtYXNrIGZvciBpbnRlcnJ1cHRzIHRoYXQgc2hvdWxkIG5vdCBiZSBtYXNrZWQg Ki8KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK