summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_debugfs.c
diff options
context:
space:
mode:
authorChris Wilson2017-03-16 18:13:05 +0100
committerChris Wilson2017-03-16 18:17:15 +0100
commitd3df42b76f583c6c4c6235a1b44339505eaff559 (patch)
tree8f8f9e5d1ea81acc7c7f5d8c2f5c40da524c6c1a /drivers/gpu/drm/i915/i915_debugfs.c
parentdrm/i915: Restore engine->submit_request before unwedging (diff)
downloadkernel-qcow2-linux-d3df42b76f583c6c4c6235a1b44339505eaff559.tar.gz
kernel-qcow2-linux-d3df42b76f583c6c4c6235a1b44339505eaff559.tar.xz
kernel-qcow2-linux-d3df42b76f583c6c4c6235a1b44339505eaff559.zip
drm/i915: Wait for reset to complete before returning from debugfs/i915_wedged
Provide some serialisation between user operations by waiting for the reset initiated by setting i915_wedged to complete. The automatic wait here makes echo 1 > i915_wedged; cat i915_error_state do the right thing, and not risk reporting "No error collected". Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170316171305.12972-4-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index d62cf2e51d12..aea51fb38510 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -4135,6 +4135,10 @@ i915_wedged_set(void *data, u64 val)
i915_handle_error(dev_priv, val,
"Manually setting wedged to %llu", val);
+ wait_on_bit(&dev_priv->gpu_error.flags,
+ I915_RESET_HANDOFF,
+ TASK_UNINTERRUPTIBLE);
+
return 0;
}