From: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Thu, 19 Apr 2012 14:45:22 +0000 (+0200)
Subject: drm/i915: invalidate render cache on gen2
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=31b14c9fc596a68a2a982d7e3c136922f81a2e25;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

drm/i915: invalidate render cache on gen2

It looks like we also need to flush the render cache when we just
invalidate it. This fixes a regression in i-g-t/gem_tiled_blits on my
i855gm. I guess the render cache there is virtually indexed, so we
need to clean it when changing gtt mappings.

This regression has been introduce in

commit 46f0f8d120c4afae53a5670bf3ac80a928340ff3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 18 11:12:11 2012 +0100

    drm/i915: Don't set a MBZ bit in gen2/3 MI_FLUSH

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 6f610f28b1be..12d9bc789dfb 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -61,7 +61,7 @@ gen2_render_ring_flush(struct intel_ring_buffer *ring,
 	int ret;
 
 	cmd = MI_FLUSH;
-	if ((flush_domains & I915_GEM_DOMAIN_RENDER) == 0)
+	if (((invalidate_domains|flush_domains) & I915_GEM_DOMAIN_RENDER) == 0)
 		cmd |= MI_NO_WRITE_FLUSH;
 
 	if (invalidate_domains & I915_GEM_DOMAIN_SAMPLER)