aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 39f37bb7a16a..21103a547aa7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1694,6 +1694,7 @@ static void vlv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe)
1694 1694
1695static void chv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe) 1695static void chv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe)
1696{ 1696{
1697 enum dpio_channel port = vlv_pipe_to_channel(pipe);
1697 u32 val; 1698 u32 val;
1698 1699
1699 /* Make sure the pipe isn't still relying on us */ 1700 /* Make sure the pipe isn't still relying on us */
@@ -1705,6 +1706,15 @@ static void chv_disable_pll(struct drm_i915_private *dev_priv, enum pipe pipe)
1705 val |= DPLL_INTEGRATED_CRI_CLK_VLV; 1706 val |= DPLL_INTEGRATED_CRI_CLK_VLV;
1706 I915_WRITE(DPLL(pipe), val); 1707 I915_WRITE(DPLL(pipe), val);
1707 POSTING_READ(DPLL(pipe)); 1708 POSTING_READ(DPLL(pipe));
1709
1710 mutex_lock(&dev_priv->dpio_lock);
1711
1712 /* Disable 10bit clock to display controller */
1713 val = vlv_dpio_read(dev_priv, pipe, CHV_CMN_DW14(port));
1714 val &= ~DPIO_DCLKP_EN;
1715 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW14(port), val);
1716
1717 mutex_unlock(&dev_priv->dpio_lock);
1708} 1718}
1709 1719
1710void vlv_wait_port_ready(struct drm_i915_private *dev_priv, 1720void vlv_wait_port_ready(struct drm_i915_private *dev_priv,
@@ -5538,11 +5548,6 @@ static void chv_update_pll(struct intel_crtc *crtc)
5538 val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); 5548 val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET);
5539 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), val); 5549 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), val);
5540 5550
5541 /* Disable 10bit clock to display controller */
5542 val = vlv_dpio_read(dev_priv, pipe, CHV_CMN_DW14(port));
5543 val &= ~DPIO_DCLKP_EN;
5544 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW14(port), val);
5545
5546 /* p1 and p2 divider */ 5551 /* p1 and p2 divider */
5547 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW13(port), 5552 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW13(port),
5548 5 << DPIO_CHV_S1_DIV_SHIFT | 5553 5 << DPIO_CHV_S1_DIV_SHIFT |