Commit ac543d71 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Report an earlier wedged event when suspending the engines

On i915_gem_load_power_context() we do care whether or not we succeed in
completing the switch back to the kernel context (via idling the
engines). Currently, we detect if an error occurs while we wait, but we
do not report one if it occurred beforehand (and the status of the
switch is undefined). Check the current terminally wedged status on
entering the wait, and report it after flushing the requests, as if it
had occurred during our own wait.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110824Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190531113245.30042-1-chris@chris-wilson.co.uk
parent 1fe2d6f9
...@@ -90,7 +90,7 @@ static int pm_notifier(struct notifier_block *nb, ...@@ -90,7 +90,7 @@ static int pm_notifier(struct notifier_block *nb,
static bool switch_to_kernel_context_sync(struct drm_i915_private *i915) static bool switch_to_kernel_context_sync(struct drm_i915_private *i915)
{ {
bool result = true; bool result = !i915_terminally_wedged(i915);
do { do {
if (i915_gem_wait_for_idle(i915, if (i915_gem_wait_for_idle(i915,
......
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