aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.h
diff options
context:
space:
mode:
authorOscar Mateo <oscar.mateo@intel.com>2014-07-24 12:04:28 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-08-11 16:44:37 -0400
commit4712274c362b7730a1c6e01c9a51a6d46f5b7f43 (patch)
tree8af0b8f48fce7c1b848b13c4d84ee35df0517524 /drivers/gpu/drm/i915/intel_ringbuffer.h
parent4da46e1e5bb7e7396fad172cdaffbe496562f3d8 (diff)
drm/i915/bdw: GEN-specific logical ring emit flush
Same as the legacy-style ring->flush. v2: The BSD invalidate bit still exists in GEN8! Add it for the VCS rings (but still consolidate the blt and bsd ring flushes into one). This was noticed by Brad Volkin. v3: The command for BSD and for other rings is slightly different: get it exactly the same as in gen6_ring_flush + gen6_bsd_ring_flush Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> [danvet: Checkpatch.] 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.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index 467885159a80..e497837c7724 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -5,6 +5,13 @@
5 5
6#define I915_CMD_HASH_ORDER 9 6#define I915_CMD_HASH_ORDER 9
7 7
8/* Early gen2 devices have a cacheline of just 32 bytes, using 64 is overkill,
9 * but keeps the logic simple. Indeed, the whole purpose of this macro is just
10 * to give some inclination as to some of the magic values used in the various
11 * workarounds!
12 */
13#define CACHELINE_BYTES 64
14
8/* 15/*
9 * Gen2 BSpec "1. Programming Environment" / 1.4.4.6 "Ring Buffer Use" 16 * Gen2 BSpec "1. Programming Environment" / 1.4.4.6 "Ring Buffer Use"
10 * Gen3 BSpec "vol1c Memory Interface Functions" / 2.3.4.5 "Ring Buffer Use" 17 * Gen3 BSpec "vol1c Memory Interface Functions" / 2.3.4.5 "Ring Buffer Use"
@@ -218,6 +225,9 @@ struct intel_engine_cs {
218 225
219 /* Execlists */ 226 /* Execlists */
220 int (*emit_request)(struct intel_ringbuffer *ringbuf); 227 int (*emit_request)(struct intel_ringbuffer *ringbuf);
228 int (*emit_flush)(struct intel_ringbuffer *ringbuf,
229 u32 invalidate_domains,
230 u32 flush_domains);
221 231
222 /** 232 /**
223 * List of objects currently involved in rendering from the 233 * List of objects currently involved in rendering from the