forked from Minki/linux
drm/i915/skl: make sure LCPLL is disabled when uniniting CDCLK
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
This commit is contained in:
parent
d26fa1d51f
commit
ab96c1ee17
@ -5702,16 +5702,10 @@ void skl_uninit_cdclk(struct drm_i915_private *dev_priv)
|
|||||||
if (I915_READ(DBUF_CTL) & DBUF_POWER_STATE)
|
if (I915_READ(DBUF_CTL) & DBUF_POWER_STATE)
|
||||||
DRM_ERROR("DBuf power disable timeout\n");
|
DRM_ERROR("DBuf power disable timeout\n");
|
||||||
|
|
||||||
/*
|
/* disable DPLL0 */
|
||||||
* DMC assumes ownership of LCPLL and will get confused if we touch it.
|
I915_WRITE(LCPLL1_CTL, I915_READ(LCPLL1_CTL) & ~LCPLL_PLL_ENABLE);
|
||||||
*/
|
if (wait_for(!(I915_READ(LCPLL1_CTL) & LCPLL_PLL_LOCK), 1))
|
||||||
if (dev_priv->csr.dmc_payload) {
|
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)
|
void skl_init_cdclk(struct drm_i915_private *dev_priv)
|
||||||
|
Loading…
Reference in New Issue
Block a user