From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f194.google.com ([209.85.128.194]:36230 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752863AbdCHNKX (ORCPT ); Wed, 8 Mar 2017 08:10:23 -0500 Received: by mail-wr0-f194.google.com with SMTP id l37so4074822wrc.3 for ; Wed, 08 Mar 2017 05:10:21 -0800 (PST) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Cc: Chris Wilson , Joonas Lahtinen , "# v4 . 9" Subject: [PATCH] drm/i915: Check we have an wake device before flushing GTT writes Date: Wed, 8 Mar 2017 12:40:57 +0000 Message-Id: <20170308124057.6512-1-chris@chris-wilson.co.uk> Sender: stable-owner@vger.kernel.org List-ID: We can assume that if the device is asleep then all pending GTT writes will have been posted, and so we can defer the flush from i915_gem_object_flush_gtt_write_domain() [ 1957.462568] WARNING: CPU: 0 PID: 6132 at drivers/gpu/drm/i915/intel_drv.h:1742 fwtable_read32+0x123/0x150 [i915] [ 1957.462582] RPM wakelock ref not held during HW access [ 1957.462583] Modules linked in: i915 intel_gtt drm_kms_helper prime_numbers [ 1957.462607] CPU: 0 PID: 6132 Comm: gem_concurrent_ Tainted: G U 4.11.0-rc1+ #464 [ 1957.462619] Hardware name: / , BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015 [ 1957.462630] Call Trace: [ 1957.462646] dump_stack+0x4d/0x6f [ 1957.462657] __warn+0xc1/0xe0 [ 1957.462667] warn_slowpath_fmt+0x4a/0x50 [ 1957.462709] fwtable_read32+0x123/0x150 [i915] [ 1957.462750] i915_gem_object_flush_gtt_write_domain+0x43/0x70 [i915] [ 1957.462791] i915_gem_object_set_to_cpu_domain+0x46/0xa0 [i915] [ 1957.462831] i915_gem_set_domain_ioctl+0x15d/0x220 [i915] [ 1957.462843] drm_ioctl+0x1d7/0x440 [ 1957.462885] ? i915_gem_obj_prepare_shmem_write+0x1d0/0x1d0 [i915] [ 1957.462896] ? pick_next_task_fair+0x436/0x440 [ 1957.462906] ? mntput+0x1f/0x30 [ 1957.462915] do_vfs_ioctl+0x8f/0x5c0 [ 1957.462925] ? __schedule+0x16f/0x5f0 [ 1957.462935] ? ____fput+0x9/0x10 [ 1957.462943] SyS_ioctl+0x3c/0x70 [ 1957.462952] entry_SYSCALL_64_fastpath+0x17/0x98 [ 1957.462961] RIP: 0033:0x7fc542179ca7 [ 1957.462968] RSP: 002b:00007ffeef12ff98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 1957.462982] RAX: ffffffffffffffda RBX: 00007ffeef1301d0 RCX: 00007fc542179ca7 [ 1957.462990] RDX: 00007ffeef12ffd0 RSI: 00000000400c645f RDI: 0000000000000003 [ 1957.462999] RBP: 0000000000000003 R08: 000055f433bc7c40 R09: 000000000000002c [ 1957.463006] R10: 0000000000000073 R11: 0000000000000246 R12: 0000000000000018 [ 1957.463015] R13: 000055f432c89d20 R14: 000055f432c87690 R15: 0000000000000000 Fixes: 3b5724d702ef ("drm/i915: Wait for writes through the GTT to land before reading back") Signed-off-by: Chris Wilson Cc: Joonas Lahtinen Cc: # v4.9 --- drivers/gpu/drm/i915/i915_gem.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index d2e2dc19bc8f..9c35346fb469 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3209,8 +3209,12 @@ i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj) * system agents we cannot reproduce this behaviour). */ wmb(); - if (INTEL_GEN(dev_priv) >= 6 && !HAS_LLC(dev_priv)) - POSTING_READ(RING_ACTHD(dev_priv->engine[RCS]->mmio_base)); + if (INTEL_GEN(dev_priv) >= 6 && !HAS_LLC(dev_priv)) { + if (intel_runtime_pm_get_if_in_use(dev_priv)) { + POSTING_READ(RING_ACTHD(dev_priv->engine[RCS]->mmio_base)); + intel_runtime_pm_put(dev_priv); + } + } intel_fb_obj_flush(obj, write_origin(obj, I915_GEM_DOMAIN_GTT)); -- 2.11.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915: Check we have an wake device before flushing GTT writes Date: Wed, 8 Mar 2017 12:40:57 +0000 Message-ID: <20170308124057.6512-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA9106E8DC for ; Wed, 8 Mar 2017 12:41:02 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id l37so3972092wrc.3 for ; Wed, 08 Mar 2017 04:41:02 -0800 (PST) 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 Cc: "# v4 . 9" List-Id: intel-gfx@lists.freedesktop.org V2UgY2FuIGFzc3VtZSB0aGF0IGlmIHRoZSBkZXZpY2UgaXMgYXNsZWVwIHRoZW4gYWxsIHBlbmRp bmcgR1RUIHdyaXRlcwp3aWxsIGhhdmUgYmVlbiBwb3N0ZWQsIGFuZCBzbyB3ZSBjYW4gZGVmZXIg dGhlIGZsdXNoIGZyb20KaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2d0dF93cml0ZV9kb21haW4oKQoK WyAxOTU3LjQ2MjU2OF0gV0FSTklORzogQ1BVOiAwIFBJRDogNjEzMiBhdCBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaDoxNzQyIGZ3dGFibGVfcmVhZDMyKzB4MTIzLzB4MTUwIFtpOTE1 XQpbIDE5NTcuNDYyNTgyXSBSUE0gd2FrZWxvY2sgcmVmIG5vdCBoZWxkIGR1cmluZyBIVyBhY2Nl c3MKWyAxOTU3LjQ2MjU4M10gTW9kdWxlcyBsaW5rZWQgaW46IGk5MTUgaW50ZWxfZ3R0IGRybV9r bXNfaGVscGVyIHByaW1lX251bWJlcnMKWyAxOTU3LjQ2MjYwN10gQ1BVOiAwIFBJRDogNjEzMiBD b21tOiBnZW1fY29uY3VycmVudF8gVGFpbnRlZDogRyAgICAgVSAgICAgICAgICA0LjExLjAtcmMx KyAjNDY0ClsgMTk1Ny40NjI2MTldIEhhcmR3YXJlIG5hbWU6ICAgICAgICAgICAgICAgICAgLyAg ICAgICAgLCBCSU9TIFBZQlNXQ0VMLjg2QS4wMDI3LjIwMTUuMDUwNy4xNzU4IDA1LzA3LzIwMTUK WyAxOTU3LjQ2MjYzMF0gQ2FsbCBUcmFjZToKWyAxOTU3LjQ2MjY0Nl0gIGR1bXBfc3RhY2srMHg0 ZC8weDZmClsgMTk1Ny40NjI2NTddICBfX3dhcm4rMHhjMS8weGUwClsgMTk1Ny40NjI2NjddICB3 YXJuX3Nsb3dwYXRoX2ZtdCsweDRhLzB4NTAKWyAxOTU3LjQ2MjcwOV0gIGZ3dGFibGVfcmVhZDMy KzB4MTIzLzB4MTUwIFtpOTE1XQpbIDE5NTcuNDYyNzUwXSAgaTkxNV9nZW1fb2JqZWN0X2ZsdXNo X2d0dF93cml0ZV9kb21haW4rMHg0My8weDcwIFtpOTE1XQpbIDE5NTcuNDYyNzkxXSAgaTkxNV9n ZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKzB4NDYvMHhhMCBbaTkxNV0KWyAxOTU3LjQ2Mjgz MV0gIGk5MTVfZ2VtX3NldF9kb21haW5faW9jdGwrMHgxNWQvMHgyMjAgW2k5MTVdClsgMTk1Ny40 NjI4NDNdICBkcm1faW9jdGwrMHgxZDcvMHg0NDAKWyAxOTU3LjQ2Mjg4NV0gID8gaTkxNV9nZW1f b2JqX3ByZXBhcmVfc2htZW1fd3JpdGUrMHgxZDAvMHgxZDAgW2k5MTVdClsgMTk1Ny40NjI4OTZd ICA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg0MzYvMHg0NDAKWyAxOTU3LjQ2MjkwNl0gID8gbW50 cHV0KzB4MWYvMHgzMApbIDE5NTcuNDYyOTE1XSAgZG9fdmZzX2lvY3RsKzB4OGYvMHg1YzAKWyAx OTU3LjQ2MjkyNV0gID8gX19zY2hlZHVsZSsweDE2Zi8weDVmMApbIDE5NTcuNDYyOTM1XSAgPyBf X19fZnB1dCsweDkvMHgxMApbIDE5NTcuNDYyOTQzXSAgU3lTX2lvY3RsKzB4M2MvMHg3MApbIDE5 NTcuNDYyOTUyXSAgZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDE3LzB4OTgKWyAxOTU3LjQ2 Mjk2MV0gUklQOiAwMDMzOjB4N2ZjNTQyMTc5Y2E3ClsgMTk1Ny40NjI5NjhdIFJTUDogMDAyYjow MDAwN2ZmZWVmMTJmZjk4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAw MTAKWyAxOTU3LjQ2Mjk4Ml0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDdmZmVlZjEz MDFkMCBSQ1g6IDAwMDA3ZmM1NDIxNzljYTcKWyAxOTU3LjQ2Mjk5MF0gUkRYOiAwMDAwN2ZmZWVm MTJmZmQwIFJTSTogMDAwMDAwMDA0MDBjNjQ1ZiBSREk6IDAwMDAwMDAwMDAwMDAwMDMKWyAxOTU3 LjQ2Mjk5OV0gUkJQOiAwMDAwMDAwMDAwMDAwMDAzIFIwODogMDAwMDU1ZjQzM2JjN2M0MCBSMDk6 IDAwMDAwMDAwMDAwMDAwMmMKWyAxOTU3LjQ2MzAwNl0gUjEwOiAwMDAwMDAwMDAwMDAwMDczIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDAwMDAwMTgKWyAxOTU3LjQ2MzAxNV0g UjEzOiAwMDAwNTVmNDMyYzg5ZDIwIFIxNDogMDAwMDU1ZjQzMmM4NzY5MCBSMTU6IDAwMDAwMDAw MDAwMDAwMDAKCkZpeGVzOiAzYjU3MjRkNzAyZWYgKCJkcm0vaTkxNTogV2FpdCBmb3Igd3JpdGVz IHRocm91Z2ggdGhlIEdUVCB0byBsYW5kIGJlZm9yZSByZWFkaW5nIGJhY2siKQpTaWduZWQtb2Zm LWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEpvb25hcyBM YWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IDxzdGFibGVAdmdl ci5rZXJuZWwub3JnPiAjIHY0LjkKLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j IHwgOCArKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBkMmUyZGMxOWJjOGYuLjljMzUzNDZm YjQ2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zMjA5LDggKzMyMDksMTIgQEAgaTkx NV9nZW1fb2JqZWN0X2ZsdXNoX2d0dF93cml0ZV9kb21haW4oc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaikKIAkgKiBzeXN0ZW0gYWdlbnRzIHdlIGNhbm5vdCByZXByb2R1Y2UgdGhpcyBi ZWhhdmlvdXIpLgogCSAqLwogCXdtYigpOwotCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDYg JiYgIUhBU19MTEMoZGV2X3ByaXYpKQotCQlQT1NUSU5HX1JFQUQoUklOR19BQ1RIRChkZXZfcHJp di0+ZW5naW5lW1JDU10tPm1taW9fYmFzZSkpOworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDYgJiYgIUhBU19MTEMoZGV2X3ByaXYpKSB7CisJCWlmIChpbnRlbF9ydW50aW1lX3BtX2dldF9p Zl9pbl91c2UoZGV2X3ByaXYpKSB7CisJCQlQT1NUSU5HX1JFQUQoUklOR19BQ1RIRChkZXZfcHJp di0+ZW5naW5lW1JDU10tPm1taW9fYmFzZSkpOworCQkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2 X3ByaXYpOworCQl9CisJfQogCiAJaW50ZWxfZmJfb2JqX2ZsdXNoKG9iaiwgd3JpdGVfb3JpZ2lu KG9iaiwgSTkxNV9HRU1fRE9NQUlOX0dUVCkpOwogCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=