OSDN Git Service

drm/i915: Don't skip request retirement if the active list is empty
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 28 May 2015 15:32:36 +0000 (18:32 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 15 Jun 2015 09:21:16 +0000 (12:21 +0300)
commit11ee9615f9bbc9c0c2dbd9f5eb275459b76f032a
tree0b221e1e9ffbae613a03b9a39a99a2767f252a5d
parentbf546f8158e2df2656494a475e6235634121c87c
drm/i915: Don't skip request retirement if the active list is empty

Apparently we can have requests even if though the active list is empty,
so do the request retirement regardless of whether there's anything
on the active list.

The way it happened here is that during suspend intel_ring_idle()
notices the olr hanging around and then proceeds to get rid of it by
adding a request. However since there was nothing on the active lists
i915_gem_retire_requests() didn't clean those up, and so the idle work
never runs, and we leave the GPU "busy" during suspend resulting in a
WARN later.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem.c