summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_ringbuffer.h
diff options
context:
space:
mode:
authorThomas Daniel <thomas.daniel@intel.com>2014-11-13 10:27:05 +0000
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-11-19 19:16:45 +0100
commitc86ee3a9f8cddcf2e637da19d6e7c05bdea11a96 (patch)
tree0c8485ea3924b8151f2062179fb1a7ee8bd93286 /drivers/gpu/drm/i915/intel_ringbuffer.h
parent54499b2a926964b6b671fd03dcdc83c444b8f467 (diff)
downloadlwn-c86ee3a9f8cddcf2e637da19d6e7c05bdea11a96.tar.gz
lwn-c86ee3a9f8cddcf2e637da19d6e7c05bdea11a96.zip
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>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index aab2e2f90a74..85156567044b 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -236,6 +236,7 @@ struct intel_engine_cs {
/* Execlists */
spinlock_t execlist_lock;
struct list_head execlist_queue;
+ struct list_head execlist_retired_req_list;
u8 next_context_status_buffer;
u32 irq_keep_mask; /* bitmask for interrupts that should not be masked */
int (*emit_request)(struct intel_ringbuffer *ringbuf);