aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 78179e03a901..96fc4679d438 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8937,6 +8937,18 @@ static void gen6_init_clock_gating(struct drm_device *dev)
8937 } 8937 }
8938} 8938}
8939 8939
8940static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv)
8941{
8942 uint32_t reg = I915_READ(GEN7_FF_THREAD_MODE);
8943
8944 reg &= ~GEN7_FF_SCHED_MASK;
8945 reg |= GEN7_FF_TS_SCHED_HW;
8946 reg |= GEN7_FF_VS_SCHED_HW;
8947 reg |= GEN7_FF_DS_SCHED_HW;
8948
8949 I915_WRITE(GEN7_FF_THREAD_MODE, reg);
8950}
8951
8940static void ivybridge_init_clock_gating(struct drm_device *dev) 8952static void ivybridge_init_clock_gating(struct drm_device *dev)
8941{ 8953{
8942 struct drm_i915_private *dev_priv = dev->dev_private; 8954 struct drm_i915_private *dev_priv = dev->dev_private;
@@ -8981,6 +8993,8 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
8981 DISPPLANE_TRICKLE_FEED_DISABLE); 8993 DISPPLANE_TRICKLE_FEED_DISABLE);
8982 intel_flush_display_plane(dev_priv, pipe); 8994 intel_flush_display_plane(dev_priv, pipe);
8983 } 8995 }
8996
8997 gen7_setup_fixed_func_scheduler(dev_priv);
8984} 8998}
8985 8999
8986static void valleyview_init_clock_gating(struct drm_device *dev) 9000static void valleyview_init_clock_gating(struct drm_device *dev)