drm/i915/bdw: Clean up execlist queue items in retire_work
authorThomas Daniel <thomas.daniel@intel.com>
Thu, 13 Nov 2014 10:27:05 +0000 (10:27 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 19 Nov 2014 18:16:45 +0000 (19:16 +0100)
commitc86ee3a9f8cddcf2e637da19d6e7c05bdea11a96
tree0c8485ea3924b8151f2062179fb1a7ee8bd93286
parent54499b2a926964b6b671fd03dcdc83c444b8f467
drm/i915/bdw: Clean up execlist queue items in retire_work

No longer create a work item to clean each execlist queue item.
Instead, move retired execlist requests to a queue and clean up the
items during retire_requests.

v2: Fix legacy ring path broken during overzealous cleanup

v3: Update idle detection to take execlists queue into account

v4: Grab execlist lock when checking queue state

v5: Fix leaking requests by freeing in execlists_retire_requests.

Issue: VIZ-4274
Signed-off-by: Thomas Daniel <thomas.daniel@intel.com>
Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Akash Goel <akash.goels@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_lrc.c
drivers/gpu/drm/i915/intel_lrc.h
drivers/gpu/drm/i915/intel_ringbuffer.h