diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index 1d3c81fdad92..2ea7a311a1f0 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h | |||
@@ -72,7 +72,14 @@ struct intel_ring_buffer { | |||
72 | u32 flush_domains); | 72 | u32 flush_domains); |
73 | int (*add_request)(struct intel_ring_buffer *ring, | 73 | int (*add_request)(struct intel_ring_buffer *ring, |
74 | u32 *seqno); | 74 | u32 *seqno); |
75 | u32 (*get_seqno)(struct intel_ring_buffer *ring); | 75 | /* Some chipsets are not quite as coherent as advertised and need |
76 | * an expensive kick to force a true read of the up-to-date seqno. | ||
77 | * However, the up-to-date seqno is not always required and the last | ||
78 | * seen value is good enough. Note that the seqno will always be | ||
79 | * monotonic, even if not coherent. | ||
80 | */ | ||
81 | u32 (*get_seqno)(struct intel_ring_buffer *ring, | ||
82 | bool lazy_coherency); | ||
76 | int (*dispatch_execbuffer)(struct intel_ring_buffer *ring, | 83 | int (*dispatch_execbuffer)(struct intel_ring_buffer *ring, |
77 | u32 offset, u32 length); | 84 | u32 offset, u32 length); |
78 | void (*cleanup)(struct intel_ring_buffer *ring); | 85 | void (*cleanup)(struct intel_ring_buffer *ring); |
@@ -101,15 +108,6 @@ struct intel_ring_buffer { | |||
101 | struct list_head request_list; | 108 | struct list_head request_list; |
102 | 109 | ||
103 | /** | 110 | /** |
104 | * List of objects currently pending a GPU write flush. | ||
105 | * | ||
106 | * All elements on this list will belong to either the | ||
107 | * active_list or flushing_list, last_rendering_seqno can | ||
108 | * be used to differentiate between the two elements. | ||
109 | */ | ||
110 | struct list_head gpu_write_list; | ||
111 | |||
112 | /** | ||
113 | * Do we have some not yet emitted requests outstanding? | 111 | * Do we have some not yet emitted requests outstanding? |
114 | */ | 112 | */ |
115 | u32 outstanding_lazy_request; | 113 | u32 outstanding_lazy_request; |
@@ -204,6 +202,8 @@ static inline void intel_ring_emit(struct intel_ring_buffer *ring, | |||
204 | void intel_ring_advance(struct intel_ring_buffer *ring); | 202 | void intel_ring_advance(struct intel_ring_buffer *ring); |
205 | 203 | ||
206 | u32 intel_ring_get_seqno(struct intel_ring_buffer *ring); | 204 | u32 intel_ring_get_seqno(struct intel_ring_buffer *ring); |
205 | int intel_ring_flush_all_caches(struct intel_ring_buffer *ring); | ||
206 | int intel_ring_invalidate_all_caches(struct intel_ring_buffer *ring); | ||
207 | 207 | ||
208 | int intel_init_render_ring_buffer(struct drm_device *dev); | 208 | int intel_init_render_ring_buffer(struct drm_device *dev); |
209 | int intel_init_bsd_ring_buffer(struct drm_device *dev); | 209 | int intel_init_bsd_ring_buffer(struct drm_device *dev); |