|
@@ -8937,6 +8937,18 @@ static void gen6_init_clock_gating(struct drm_device *dev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv)
|
|
|
+{
|
|
|
+ uint32_t reg = I915_READ(GEN7_FF_THREAD_MODE);
|
|
|
+
|
|
|
+ reg &= ~GEN7_FF_SCHED_MASK;
|
|
|
+ reg |= GEN7_FF_TS_SCHED_HW;
|
|
|
+ reg |= GEN7_FF_VS_SCHED_HW;
|
|
|
+ reg |= GEN7_FF_DS_SCHED_HW;
|
|
|
+
|
|
|
+ I915_WRITE(GEN7_FF_THREAD_MODE, reg);
|
|
|
+}
|
|
|
+
|
|
|
static void ivybridge_init_clock_gating(struct drm_device *dev)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
@@ -8981,6 +8993,8 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
|
|
|
DISPPLANE_TRICKLE_FEED_DISABLE);
|
|
|
intel_flush_display_plane(dev_priv, pipe);
|
|
|
}
|
|
|
+
|
|
|
+ gen7_setup_fixed_func_scheduler(dev_priv);
|
|
|
}
|
|
|
|
|
|
static void valleyview_init_clock_gating(struct drm_device *dev)
|