Skip to content

Commit

Permalink
drm/i915: Always retire residual requests before suspend
Browse files Browse the repository at this point in the history
If the driver is wedged, we skip idling the GPU. However, we may still
have a few requests still not retired following the wedging (since they
will be waiting for a background worker trying to acquire struct_mutex).
As we hold the struct_mutex, always do a quick request retirement in
order to flush the wedged path.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107257
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180717084121.28185-1-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Jul 18, 2018
1 parent a8bd3b8 commit 01f8f33
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -5074,6 +5074,8 @@ int i915_gem_suspend(struct drm_i915_private *i915)

assert_kernel_context_is_current(i915);
}
i915_retire_requests(i915); /* ensure we flush after wedging */

mutex_unlock(&i915->drm.struct_mutex);

intel_uc_suspend(i915);
Expand Down

0 comments on commit 01f8f33

Please sign in to comment.