From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 4/5] drm/i915: Grab one forcewake across the whole LRC irq handler Date: Tue, 10 Nov 2015 10:59:44 +0000 Message-ID: <1447153185-5404-5-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1447153185-5404-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id EDB1E6E834 for ; Tue, 10 Nov 2015 02:59:53 -0800 (PST) In-Reply-To: <1447153185-5404-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgaXMg dG8gcmVwbGFjZSBtdWx0aXBsZSBicmFuY2ggYW5kIHNwaW5sb2NrIGhlYXZ5IG1taW8Kb3BlcmF0 aW9ucyBwZXIgTFJDIGludGVycnVwdCB3aXRoIGEgc2luZ2xlIGZvcmNld2FrZSBncmFiLgoKU2ln bmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDYwICsrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCsp LCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDFmODU2NmIx ZjA3Mi4uMjgzM2VlNjQyYWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMzAxLDcg KzMwMSw4IEBAIHVpbnQ2NF90IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4LAogfQogCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZWxzcF93cml0ZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxMCwKLQkJCQkgc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpycTEpCisJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnExLAor CQkJCSBib29sIGZ3X2xvY2tlZCkKIHsKIAogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcg PSBycTAtPnJpbmc7CkBAIC0zMTksOSArMzIwLDEyIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19l bHNwX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEwLAogCWRlc2NbMF0gPSBp bnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3IocnEwLT5jdHgsIHJxMC0+cmluZyk7CiAJcnEwLT5l bHNwX3N1Ym1pdHRlZCsrOwogCisJaWYgKCFmd19sb2NrZWQpIHsKKwkJc3Bpbl9sb2NrKCZkZXZf cHJpdi0+dW5jb3JlLmxvY2spOworCQlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldF9fbG9ja2Vk KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKwl9CisKIAkvKiBZb3UgbXVzdCBhbHdheXMgd3Jp dGUgYm90aCBkZXNjcmlwdG9ycyBpbiB0aGUgb3JkZXIgYmVsb3cuICovCi0Jc3Bpbl9sb2NrKCZk ZXZfcHJpdi0+dW5jb3JlLmxvY2spOwotCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0X19sb2Nr ZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwogCUk5MTVfV1JJVEVfRlcoUklOR19FTFNQKHJp bmcpLCB1cHBlcl8zMl9iaXRzKGRlc2NbMV0pKTsKIAlJOTE1X1dSSVRFX0ZXKFJJTkdfRUxTUChy aW5nKSwgbG93ZXJfMzJfYml0cyhkZXNjWzFdKSk7CiAKQEAgLTMzMSw4ICszMzUsMTEgQEAgc3Rh dGljIHZvaWQgZXhlY2xpc3RzX2Vsc3Bfd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpycTAsCiAKIAkvKiBFTFNQIGlzIGEgd28gcmVnaXN0ZXIsIHVzZSBhbm90aGVyIG5lYXJieSBy ZWcgZm9yIHBvc3RpbmcgKi8KIAlQT1NUSU5HX1JFQURfRlcoUklOR19FWEVDTElTVF9TVEFUVVNf TE8ocmluZykpOwotCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0X19sb2NrZWQoZGV2X3ByaXYs IEZPUkNFV0FLRV9BTEwpOwotCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwor CisJaWYgKCFmd19sb2NrZWQpIHsKKwkJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXRfX2xvY2tl ZChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7CisJCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+dW5j b3JlLmxvY2spOworCX0KIH0KIAogc3RhdGljIGludCBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKQEAgLTM3MiwxNyArMzc5LDE5IEBAIHN0 YXRpYyBpbnQgZXhlY2xpc3RzX3VwZGF0ZV9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcnEpCiB9CiAKIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXRfcmVxdWVzdHMoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycTAsCi0JCQkJICAgICAgc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpycTEpCisJCQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpycTEsCisJCQkJICAgICAgYm9vbCBmd19sb2NrZWQpCiB7CiAJZXhlY2xpc3RzX3VwZGF0ZV9j b250ZXh0KHJxMCk7CiAKIAlpZiAocnExKQogCQlleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQocnEx KTsKIAotCWV4ZWNsaXN0c19lbHNwX3dyaXRlKHJxMCwgcnExKTsKKwlleGVjbGlzdHNfZWxzcF93 cml0ZShycTAsIHJxMSwgZndfbG9ja2VkKTsKIH0KIAotc3RhdGljIHZvaWQgZXhlY2xpc3RzX2Nv bnRleHRfdW5xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQorc3RhdGljIHZvaWQK K2V4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywg Ym9vbCBmd19sb2NrZWQpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEwID0g TlVMTCwgKnJlcTEgPSBOVUxMOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqY3Vyc29y ID0gTlVMTCwgKnRtcCA9IE5VTEw7CkBAIC00MzksNyArNDQ4LDcgQEAgc3RhdGljIHZvaWQgZXhl Y2xpc3RzX2NvbnRleHRfdW5xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJ V0FSTl9PTihyZXExICYmIHJlcTEtPmVsc3Bfc3VibWl0dGVkKTsKIAotCWV4ZWNsaXN0c19zdWJt aXRfcmVxdWVzdHMocmVxMCwgcmVxMSk7CisJZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0cyhyZXEw LCByZXExLCBmd19sb2NrZWQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjbGlzdHNfY2hlY2tfcmVt b3ZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKQEAgLTQ4NywxOSArNDk2 LDIzIEBAIHZvaWQgaW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCiAJdTMyIHN0YXR1c19pZDsKIAl1MzIgc3VibWl0X2NvbnRleHRzID0gMDsKIAotCXN0 YXR1c19wb2ludGVyID0gSTkxNV9SRUFEKFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRSKHJpbmcpKTsK KwlzcGluX2xvY2soJnJpbmctPmV4ZWNsaXN0X2xvY2spOworCisJc3Bpbl9sb2NrKCZkZXZfcHJp di0+dW5jb3JlLmxvY2spOworCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0X19sb2NrZWQoZGV2 X3ByaXYsIEZPUkNFV0FLRV9BTEwpOworCisJc3RhdHVzX3BvaW50ZXIgPSBJOTE1X1JFQURfRlco UklOR19DT05URVhUX1NUQVRVU19QVFIocmluZykpOwogCiAJcmVhZF9wb2ludGVyID0gcmluZy0+ bmV4dF9jb250ZXh0X3N0YXR1c19idWZmZXI7CiAJd3JpdGVfcG9pbnRlciA9IHN0YXR1c19wb2lu dGVyICYgR0VOOF9DU0JfUFRSX01BU0s7CiAJaWYgKHJlYWRfcG9pbnRlciA+IHdyaXRlX3BvaW50 ZXIpCiAJCXdyaXRlX3BvaW50ZXIgKz0gR0VOOF9DU0JfRU5UUklFUzsKIAotCXNwaW5fbG9jaygm cmluZy0+ZXhlY2xpc3RfbG9jayk7CiAKIAl3aGlsZSAocmVhZF9wb2ludGVyIDwgd3JpdGVfcG9p bnRlcikgewogCQlyZWFkX3BvaW50ZXIrKzsKLQkJc3RhdHVzID0gSTkxNV9SRUFEKFJJTkdfQ09O VEVYVF9TVEFUVVNfQlVGX0xPKHJpbmcsIHJlYWRfcG9pbnRlciAlIEdFTjhfQ1NCX0VOVFJJRVMp KTsKLQkJc3RhdHVzX2lkID0gSTkxNV9SRUFEKFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0hJKHJp bmcsIHJlYWRfcG9pbnRlciAlIEdFTjhfQ1NCX0VOVFJJRVMpKTsKKwkJc3RhdHVzID0gSTkxNV9S RUFEX0ZXKFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKHJpbmcsIHJlYWRfcG9pbnRlciAlIEdF TjhfQ1NCX0VOVFJJRVMpKTsKKwkJc3RhdHVzX2lkID0gSTkxNV9SRUFEX0ZXKFJJTkdfQ09OVEVY VF9TVEFUVVNfQlVGX0hJKHJpbmcsIHJlYWRfcG9pbnRlciAlIEdFTjhfQ1NCX0VOVFJJRVMpKTsK IAogCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0lETEVfQUNUSVZFKQogCQkJY29udGlu dWU7CkBAIC01MjMsMjAgKzUzNiwyMyBAQCB2b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQkvKiBQcmV2ZW50IGEgY3R4IHRvIHByZWVtcHQg aXRzZWxmICovCiAJCWlmICgoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFKSAm JgogCQkgICAgKHN1Ym1pdF9jb250ZXh0cyAhPSAwKSkKLQkJCWV4ZWNsaXN0c19jb250ZXh0X3Vu cXVldWUocmluZyk7CisJCQlleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlKHJpbmcsIHRydWUpOwog CX0gZWxzZSBpZiAoc3VibWl0X2NvbnRleHRzICE9IDApIHsKLQkJZXhlY2xpc3RzX2NvbnRleHRf dW5xdWV1ZShyaW5nKTsKKwkJZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShyaW5nLCB0cnVlKTsK IAl9CiAKLQlzcGluX3VubG9jaygmcmluZy0+ZXhlY2xpc3RfbG9jayk7Ci0KIAlXQVJOKHN1Ym1p dF9jb250ZXh0cyA+IDIsICJNb3JlIHRoYW4gdHdvIGNvbnRleHQgY29tcGxldGUgZXZlbnRzP1xu Iik7CiAJcmluZy0+bmV4dF9jb250ZXh0X3N0YXR1c19idWZmZXIgPSB3cml0ZV9wb2ludGVyICUg R0VOOF9DU0JfRU5UUklFUzsKIAotCUk5MTVfV1JJVEUoUklOR19DT05URVhUX1NUQVRVU19QVFIo cmluZyksCi0JCSAgIF9NQVNLRURfRklFTEQoR0VOOF9DU0JfUFRSX01BU0sgPDwgOCwKLQkJCQkg KCh1MzIpcmluZy0+bmV4dF9jb250ZXh0X3N0YXR1c19idWZmZXIgJgotCQkJCSAgR0VOOF9DU0Jf UFRSX01BU0spIDw8IDgpKTsKKwlJOTE1X1dSSVRFX0ZXKFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRS KHJpbmcpLAorCQkgICAgICBfTUFTS0VEX0ZJRUxEKEdFTjhfQ1NCX1BUUl9NQVNLIDw8IDgsCisJ CSAgICAgICgodTMyKXJpbmctPm5leHRfY29udGV4dF9zdGF0dXNfYnVmZmVyICYKKwkJICAgICAg R0VOOF9DU0JfUFRSX01BU0spIDw8IDgpKTsKKworCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0 X19sb2NrZWQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOworCXNwaW5fdW5sb2NrKCZkZXZfcHJp di0+dW5jb3JlLmxvY2spOworCisJc3Bpbl91bmxvY2soJnJpbmctPmV4ZWNsaXN0X2xvY2spOwog fQogCiBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdCkKQEAgLTU3NCw3ICs1OTAsNyBAQCBzdGF0aWMgaW50IGV4ZWNs aXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkK IAogCWxpc3RfYWRkX3RhaWwoJnJlcXVlc3QtPmV4ZWNsaXN0X2xpbmssICZyaW5nLT5leGVjbGlz dF9xdWV1ZSk7CiAJaWYgKG51bV9lbGVtZW50cyA9PSAwKQotCQlleGVjbGlzdHNfY29udGV4dF91 bnF1ZXVlKHJpbmcpOworCQlleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlKHJpbmcsIGZhbHNlKTsK IAogCXNwaW5fdW5sb2NrX2lycSgmcmluZy0+ZXhlY2xpc3RfbG9jayk7CiAKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=