提交 c2a126a4 编写于 作者: C 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: NChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161122144121.7379-2-chris@chris-wilson.co.uk
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册