aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2014-01-28 00:29:33 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-01-30 07:09:02 -0500
commitfe27c606625299ec6237ad420e9c2f961fa3bf3d (patch)
treeffeca25f51ec2c0ef27c7852d6a0790a48c8a94b
parent6c7a01ec3743a5a6ce9e53a69d7a6c2d8c715eb1 (diff)
drm/i915: enable HiZ Raw Stall Optimization on HSW
The optimization is available on Ivy Bridge and later, and is disabled by default. Enabling it helps certain workloads such as GLBenchmark TRex test. No piglit regression. v2 - no need to save the register before suspend as init_clock_gating can correctly program it after resume - split IVB change to another commit Signed-off-by: Chia-I Wu <olv@lunarg.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h2
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index cbbaf261130a..abd18cd58aa1 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -935,6 +935,8 @@
935#define ECO_GATING_CX_ONLY (1<<3) 935#define ECO_GATING_CX_ONLY (1<<3)
936#define ECO_FLIP_DONE (1<<0) 936#define ECO_FLIP_DONE (1<<0)
937 937
938#define CACHE_MODE_0_GEN7 0x7000 /* IVB+ */
939#define HIZ_RAW_STALL_OPT_DISABLE (1<<2)
938#define CACHE_MODE_1 0x7004 /* IVB+ */ 940#define CACHE_MODE_1 0x7004 /* IVB+ */
939#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6) 941#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6)
940 942
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 4876ba56494b..1a1eec64ecfb 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4785,6 +4785,10 @@ static void haswell_init_clock_gating(struct drm_device *dev)
4785 I915_WRITE(GEN7_FF_THREAD_MODE, 4785 I915_WRITE(GEN7_FF_THREAD_MODE,
4786 I915_READ(GEN7_FF_THREAD_MODE) & ~GEN7_FF_VS_REF_CNT_FFME); 4786 I915_READ(GEN7_FF_THREAD_MODE) & ~GEN7_FF_VS_REF_CNT_FFME);
4787 4787
4788 /* enable HiZ Raw Stall Optimization */
4789 I915_WRITE(CACHE_MODE_0_GEN7,
4790 _MASKED_BIT_DISABLE(HIZ_RAW_STALL_OPT_DISABLE));
4791
4788 /* WaDisable4x2SubspanOptimization:hsw */ 4792 /* WaDisable4x2SubspanOptimization:hsw */
4789 I915_WRITE(CACHE_MODE_1, 4793 I915_WRITE(CACHE_MODE_1,
4790 _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE)); 4794 _MASKED_BIT_ENABLE(PIXEL_SUBSPAN_COLLECT_OPT_DISABLE));