aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-12-16 03:44:31 -0500
committerJani Nikula <jani.nikula@intel.com>2014-12-16 08:04:39 -0500
commit148b83d0815a3778c8949e6a97cb798cbaa0efb3 (patch)
tree9158e7af035f085ed0c3e1b46f5dd1e892f5c0fe /drivers/gpu/drm/i915
parentdbea3cea69508e9d548ed4a6be13de35492e5d15 (diff)
drm/i915: Invalidate media caches on gen7
In the gen7 pipe control there is an extra bit to flush the media caches, so let's set it during cache invalidation flushes. v2: Rename to MEDIA_STATE_CLEAR to be more inline with spec. Cc: Simon Farnsworth <simon@farnz.org.uk> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: stable@vger.kernel.org Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index eefdc238f70b..58009558cc94 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -395,6 +395,7 @@
395#define PIPE_CONTROL_STORE_DATA_INDEX (1<<21) 395#define PIPE_CONTROL_STORE_DATA_INDEX (1<<21)
396#define PIPE_CONTROL_CS_STALL (1<<20) 396#define PIPE_CONTROL_CS_STALL (1<<20)
397#define PIPE_CONTROL_TLB_INVALIDATE (1<<18) 397#define PIPE_CONTROL_TLB_INVALIDATE (1<<18)
398#define PIPE_CONTROL_MEDIA_STATE_CLEAR (1<<16)
398#define PIPE_CONTROL_QW_WRITE (1<<14) 399#define PIPE_CONTROL_QW_WRITE (1<<14)
399#define PIPE_CONTROL_POST_SYNC_OP_MASK (3<<14) 400#define PIPE_CONTROL_POST_SYNC_OP_MASK (3<<14)
400#define PIPE_CONTROL_DEPTH_STALL (1<<13) 401#define PIPE_CONTROL_DEPTH_STALL (1<<13)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 9f445e9a75d1..3d6bc8d56e67 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -362,6 +362,7 @@ gen7_render_ring_flush(struct intel_engine_cs *ring,
362 flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE; 362 flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE;
363 flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE; 363 flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE;
364 flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE; 364 flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE;
365 flags |= PIPE_CONTROL_MEDIA_STATE_CLEAR;
365 /* 366 /*
366 * TLB invalidate requires a post-sync write. 367 * TLB invalidate requires a post-sync write.
367 */ 368 */