aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2013-01-26 14:52:00 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-01-28 10:50:54 -0500
commit41c0b3a88c7bae96d8e2ee60c7ed91f57fd152d7 (patch)
tree3ddaa687f8395a69b551ea1510a3c0510faaac43
parentcb10799c194369633b183262edc75ec4b3e4e346 (diff)
drm/i915: Implement WaVSRefCountFullforceMissDisable
Implements WaVSRefCountFullforceMissDisable as documented in the BSpec 3D workarounds chapter. Cc: Paulo Zanoni <przanoni@gmail.com> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> 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.h1
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index a18218ccac1e..0c89cf5377ea 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -741,6 +741,7 @@
741#define GEN7_FF_TS_SCHED_HS0 (0x3<<16) 741#define GEN7_FF_TS_SCHED_HS0 (0x3<<16)
742#define GEN7_FF_TS_SCHED_LOAD_BALANCE (0x1<<16) 742#define GEN7_FF_TS_SCHED_LOAD_BALANCE (0x1<<16)
743#define GEN7_FF_TS_SCHED_HW (0x0<<16) /* Default */ 743#define GEN7_FF_TS_SCHED_HW (0x0<<16) /* Default */
744#define GEN7_FF_VS_REF_CNT_FFME (1 << 15)
744#define GEN7_FF_VS_SCHED_HS1 (0x5<<12) 745#define GEN7_FF_VS_SCHED_HS1 (0x5<<12)
745#define GEN7_FF_VS_SCHED_HS0 (0x3<<12) 746#define GEN7_FF_VS_SCHED_HS0 (0x3<<12)
746#define GEN7_FF_VS_SCHED_LOAD_BALANCE (0x1<<12) /* Default */ 747#define GEN7_FF_VS_SCHED_LOAD_BALANCE (0x1<<12) /* Default */
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index c97714e6a363..64d65f564a7c 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3680,6 +3680,10 @@ static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv)
3680 reg |= GEN7_FF_VS_SCHED_HW; 3680 reg |= GEN7_FF_VS_SCHED_HW;
3681 reg |= GEN7_FF_DS_SCHED_HW; 3681 reg |= GEN7_FF_DS_SCHED_HW;
3682 3682
3683 /* WaVSRefCountFullforceMissDisable */
3684 if (IS_HASWELL(dev_priv->dev))
3685 reg &= ~GEN7_FF_VS_REF_CNT_FFME;
3686
3683 I915_WRITE(GEN7_FF_THREAD_MODE, reg); 3687 I915_WRITE(GEN7_FF_THREAD_MODE, reg);
3684} 3688}
3685 3689