drm/i915/skl: make sure LCPLL is disabled when uniniting CDCLK
authorImre Deak <imre.deak@intel.com>
Wed, 4 Nov 2015 17:24:18 +0000 (19:24 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 17 Nov 2015 18:55:16 +0000 (20:55 +0200)
Suppressing LCPLL disabling was added to avoid interfering with the DMC
firmware. It is not needed any more since we uninit CDCLK now with the
DMC deactivated (DC states disabled). We also must disable it during system
suspend as part of the Bspec "Display uninit sequence".

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446657859-9598-10-git-send-email-imre.deak@intel.com
drivers/gpu/drm/i915/intel_display.c

index 0dc0fc37e6f6dda07e49eacec18061e1ede28020..01a979b28dabb5229662bb0012414d80067c13dc 100644 (file)
@@ -5702,16 +5702,10 @@ void skl_uninit_cdclk(struct drm_i915_private *dev_priv)
        if (I915_READ(DBUF_CTL) & DBUF_POWER_STATE)
                DRM_ERROR("DBuf power disable timeout\n");
 
-       /*
-        * DMC assumes ownership of LCPLL and will get confused if we touch it.
-        */
-       if (dev_priv->csr.dmc_payload) {
-               /* disable DPLL0 */
-               I915_WRITE(LCPLL1_CTL, I915_READ(LCPLL1_CTL) &
-                                       ~LCPLL_PLL_ENABLE);
-               if (wait_for(!(I915_READ(LCPLL1_CTL) & LCPLL_PLL_LOCK), 1))
-                       DRM_ERROR("Couldn't disable DPLL0\n");
-       }
+       /* disable DPLL0 */
+       I915_WRITE(LCPLL1_CTL, I915_READ(LCPLL1_CTL) & ~LCPLL_PLL_ENABLE);
+       if (wait_for(!(I915_READ(LCPLL1_CTL) & LCPLL_PLL_LOCK), 1))
+               DRM_ERROR("Couldn't disable DPLL0\n");
 }
 
 void skl_init_cdclk(struct drm_i915_private *dev_priv)