drm/i915: Disable trickle feed in ironlake_init_clock_gating()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Jun 2013 07:47:03 +0000 (10:47 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 7 Jun 2013 08:38:04 +0000 (10:38 +0200)
We disable trickle feed in all the (relevant) clock gating functions,
except ironlake_init_clock_gating(). Copy paste the same code there as
well.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_pm.c

index 2948764d7e3821cf348d9e7dd845ba5169cfd93d..78addac6852159ab45a5f067519ffefa175b2f14 100644 (file)
@@ -4391,6 +4391,7 @@ static void ironlake_init_clock_gating(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE;
+       int pipe;
 
        /* Required for FBC */
        dspclk_gate |= ILK_DPFCRUNIT_CLOCK_GATE_DISABLE |
@@ -4450,6 +4451,13 @@ static void ironlake_init_clock_gating(struct drm_device *dev)
        I915_WRITE(CACHE_MODE_0,
                   _MASKED_BIT_ENABLE(CM0_PIPELINED_RENDER_FLUSH_DISABLE));
 
+       for_each_pipe(pipe) {
+               I915_WRITE(DSPCNTR(pipe),
+                          I915_READ(DSPCNTR(pipe)) |
+                          DISPPLANE_TRICKLE_FEED_DISABLE);
+               intel_flush_display_plane(dev_priv, pipe);
+       }
+
        ibx_init_clock_gating(dev);
 }