drm/i915: cck reg used for checking DSI Pll locked
authorGaurav K Singh <gaurav.k.singh@intel.com>
Fri, 5 Dec 2014 08:46:58 +0000 (14:16 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 5 Dec 2014 14:28:56 +0000 (15:28 +0100)
Instead of pipe configuration reg, cck reg to be used for checking whether
DSI Pll is getting locked or not.

v2: dpio_lock unlocked now in case DSI PLL lock fails

Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dsi_pll.c

index 636d72f7dd42c3b160ec0f3b0e3eda045edbba29..8957f1099a1f4142efe241228862c64f187f60f6 100644 (file)
@@ -272,12 +272,14 @@ void vlv_enable_dsi_pll(struct intel_encoder *encoder)
        tmp |= DSI_PLL_VCO_EN;
        vlv_cck_write(dev_priv, CCK_REG_DSI_PLL_CONTROL, tmp);
 
-       mutex_unlock(&dev_priv->dpio_lock);
+       if (wait_for(vlv_cck_read(dev_priv, CCK_REG_DSI_PLL_CONTROL) &
+                                               DSI_PLL_LOCK, 20)) {
 
-       if (wait_for(I915_READ(PIPECONF(PIPE_A)) & PIPECONF_DSI_PLL_LOCKED, 20)) {
+               mutex_unlock(&dev_priv->dpio_lock);
                DRM_ERROR("DSI PLL lock failed\n");
                return;
        }
+       mutex_unlock(&dev_priv->dpio_lock);
 
        DRM_DEBUG_KMS("DSI PLL locked\n");
 }