Commit c2a126a4 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Disable hangcheck when wedged

If the gpu reset fails and the machine is terminally wedged, further
hangchecks achieve nothing but noise. Disable them, with a corollary
that we re-enable hangchecking after a successful GPU reset in case the
user is artificially bringing the machine back to life through the debug
interface.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161122144121.7379-2-chris@chris-wilson.co.uk
parent d9e9da64
...@@ -1822,6 +1822,8 @@ void i915_reset(struct drm_i915_private *dev_priv) ...@@ -1822,6 +1822,8 @@ void i915_reset(struct drm_i915_private *dev_priv)
goto error; goto error;
} }
i915_queue_hangcheck(dev_priv);
wakeup: wakeup:
wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS); wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
return; return;
......
...@@ -434,6 +434,9 @@ static void i915_hangcheck_elapsed(struct work_struct *work) ...@@ -434,6 +434,9 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
if (!READ_ONCE(dev_priv->gt.awake)) if (!READ_ONCE(dev_priv->gt.awake))
return; return;
if (i915_terminally_wedged(&dev_priv->gpu_error))
return;
/* As enabling the GPU requires fairly extensive mmio access, /* As enabling the GPU requires fairly extensive mmio access,
* periodically arm the mmio checker to see if we are triggering * periodically arm the mmio checker to see if we are triggering
* any invalid access. * any invalid access.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment