aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 7235ffb58a18..37638f8e2265 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1882,6 +1882,10 @@ static void chv_post_disable_dp(struct intel_encoder *encoder)
1882 mutex_lock(&dev_priv->dpio_lock); 1882 mutex_lock(&dev_priv->dpio_lock);
1883 1883
1884 /* Propagate soft reset to data lane reset */ 1884 /* Propagate soft reset to data lane reset */
1885 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW1(ch));
1886 val |= CHV_PCS_REQ_SOFTRESET_EN;
1887 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(ch), val);
1888
1885 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); 1889 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch));
1886 val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); 1890 val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET);
1887 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); 1891 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val);
@@ -2023,6 +2027,10 @@ static void chv_pre_enable_dp(struct intel_encoder *encoder)
2023 mutex_lock(&dev_priv->dpio_lock); 2027 mutex_lock(&dev_priv->dpio_lock);
2024 2028
2025 /* Deassert soft data lane reset*/ 2029 /* Deassert soft data lane reset*/
2030 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW1(ch));
2031 val |= CHV_PCS_REQ_SOFTRESET_EN;
2032 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(ch), val);
2033
2026 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); 2034 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch));
2027 val |= (DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); 2035 val |= (DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET);
2028 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); 2036 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val);