diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-10-18 11:49:51 +0200 | 
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-11 23:51:03 +0100 | 
| commit | 4358a3748c39de3e66b6dc260af7a5ef785e120b (patch) | |
| tree | fe85b8c630dc0f203216ca665f46690dd2c21c2e | |
| parent | a8b1397d717e36abd9e45f8fee61d800f7d236ec (diff) | |
| download | olio-linux-3.10-4358a3748c39de3e66b6dc260af7a5ef785e120b.tar.xz olio-linux-3.10-4358a3748c39de3e66b6dc260af7a5ef785e120b.zip  | |
drm/i915: implement WaDisableRenderCachePipelinedFlush
Comment says for eaglelake/cantiga, but it's listed in the ilk table,
too. So apply it to both.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
| -rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 8 | 
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 876af8e2829..0514823e561 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -670,6 +670,7 @@  #define   MI_ARB_DISPLAY_PRIORITY_B_A		(1 << 0)	/* display B > display A */  #define CACHE_MODE_0	0x02120 /* 915+ only */ +#define   CM0_PIPELINED_RENDER_FLUSH_DISABLE (1<<8)  #define   CM0_IZ_OPT_DISABLE      (1<<6)  #define   CM0_ZR_OPT_DISABLE      (1<<5)  #define	  CM0_STC_EVICT_DISABLE_LRA_SNB	(1<<5) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 59068beac3f..f85043ca41b 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3382,6 +3382,10 @@ static void ironlake_init_clock_gating(struct drm_device *dev)  	I915_WRITE(_3D_CHICKEN2,  		   _3D_CHICKEN2_WM_READ_PIPELINED << 16 |  		   _3D_CHICKEN2_WM_READ_PIPELINED); + +	/* WaDisableRenderCachePipelinedFlush */ +	I915_WRITE(CACHE_MODE_0, +		   _MASKED_BIT_ENABLE(CM0_PIPELINED_RENDER_FLUSH_DISABLE));  }  static void gen6_init_clock_gating(struct drm_device *dev) @@ -3716,6 +3720,10 @@ static void g4x_init_clock_gating(struct drm_device *dev)  	if (IS_GM45(dev))  		dspclk_gate |= DSSUNIT_CLOCK_GATE_DISABLE;  	I915_WRITE(DSPCLK_GATE_D, dspclk_gate); + +	/* WaDisableRenderCachePipelinedFlush */ +	I915_WRITE(CACHE_MODE_0, +		   _MASKED_BIT_ENABLE(CM0_PIPELINED_RENDER_FLUSH_DISABLE));  }  static void crestline_init_clock_gating(struct drm_device *dev)  |