]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: add the FCLK case to intel_ddi_get_cdclk_freq
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Tue, 6 Aug 2013 21:57:11 +0000 (18:57 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 20 Aug 2013 15:08:14 +0000 (17:08 +0200)
We already have code to disable LCPLL and switch to FCLK, so we need this too.
We still don't call the code to disable LCPLL, but we'll call it when we add
support for Package C8+.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_ddi.c

index b8c096b4a1ded5f1b5ea124b42d26c49780f74ce..63aca49d11a843a6ad6ae1a62dc11d0b3bfd470c 100644 (file)
@@ -1139,10 +1139,13 @@ static void intel_disable_ddi(struct intel_encoder *intel_encoder)
 
 int intel_ddi_get_cdclk_freq(struct drm_i915_private *dev_priv)
 {
-       if (I915_READ(HSW_FUSE_STRAP) & HSW_CDCLK_LIMIT)
+       uint32_t lcpll = I915_READ(LCPLL_CTL);
+
+       if (lcpll & LCPLL_CD_SOURCE_FCLK)
+               return 800000;
+       else if (I915_READ(HSW_FUSE_STRAP) & HSW_CDCLK_LIMIT)
                return 450000;
-       else if ((I915_READ(LCPLL_CTL) & LCPLL_CLK_FREQ_MASK) ==
-                LCPLL_CLK_FREQ_450)
+       else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
                return 450000;
        else if (IS_ULT(dev_priv->dev))
                return 337500;