aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-10-24 12:38:05 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-10-24 20:22:51 +0100
commit641934069d29211baf82afb93622a426172b67b6 (patch)
treed00f3e69c1c02ddc96a43f744644e263a8e77a9d /drivers/gpu/drm/i915/intel_ringbuffer.h
parentdrm/i915: Invalidate the to-ring, flush the old-ring when updating domains (diff)
downloadlinux-dev-641934069d29211baf82afb93622a426172b67b6.tar.xz
linux-dev-641934069d29211baf82afb93622a426172b67b6.zip
drm/i915: Move gpu_write_list to per-ring
... to prevent flush processing of an idle (or even absent) ring. This fixes a regression during suspend from 87acb0a5. Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net> Tested-by: Peter Clifton <pcjc2@cam.ac.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index 6ab40c6058f7..a05aff0e5764 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -83,6 +83,15 @@ struct intel_ring_buffer {
struct list_head request_list;
/**
+ * List of objects currently pending a GPU write flush.
+ *
+ * All elements on this list will belong to either the
+ * active_list or flushing_list, last_rendering_seqno can
+ * be used to differentiate between the two elements.
+ */
+ struct list_head gpu_write_list;
+
+ /**
* Do we have some not yet emitted requests outstanding?
*/
bool outstanding_lazy_request;