drm/i915/selftests: Wake the device before executing requests on the GPU
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 30 Nov 2017 09:42:31 +0000 (09:42 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 Dec 2017 10:43:04 +0000 (10:43 +0000)
To execute a requests requires us to have first woken the device, using
the rpm wakeref (as the request needs to write to hardware to setup the
context/ppGTT and execute on the GPU). So call intel_runtime_pm_get()
around queuing the request; the request itself will then carry a wakeref
until completion.

References: https://bugs.freedesktop.org/show_bug.cgi?id=103994
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171130094231.10405-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
drivers/gpu/drm/i915/selftests/i915_gem_context.c

index ec1eff739e0127dabce95d9a21a759643245448a..56a803d11916e8142d04623876a81d48d03b1a25 100644 (file)
@@ -376,7 +376,9 @@ static int igt_ctx_exec(void *arg)
                                }
                        }
 
+                       intel_runtime_pm_get(i915);
                        err = gpu_fill(obj, ctx, engine, dw);
+                       intel_runtime_pm_put(i915);
                        if (err) {
                                pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) in ctx %u [full-ppgtt? %s], err=%d\n",
                                       ndwords, dw, max_dwords(obj),