diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 9ea494a2a32e..f66c7a2ebd9a 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -1259,6 +1259,10 @@ static void chv_hdmi_post_disable(struct intel_encoder *encoder) | |||
1259 | mutex_lock(&dev_priv->dpio_lock); | 1259 | mutex_lock(&dev_priv->dpio_lock); |
1260 | 1260 | ||
1261 | /* Propagate soft reset to data lane reset */ | 1261 | /* Propagate soft reset to data lane reset */ |
1262 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW1(ch)); | ||
1263 | val |= CHV_PCS_REQ_SOFTRESET_EN; | ||
1264 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(ch), val); | ||
1265 | |||
1262 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); | 1266 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); |
1263 | val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); | 1267 | val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); |
1264 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); | 1268 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); |
@@ -1281,6 +1285,10 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder) | |||
1281 | mutex_lock(&dev_priv->dpio_lock); | 1285 | mutex_lock(&dev_priv->dpio_lock); |
1282 | 1286 | ||
1283 | /* Deassert soft data lane reset*/ | 1287 | /* Deassert soft data lane reset*/ |
1288 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW1(ch)); | ||
1289 | val |= CHV_PCS_REQ_SOFTRESET_EN; | ||
1290 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(ch), val); | ||
1291 | |||
1284 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); | 1292 | val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(ch)); |
1285 | val |= (DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); | 1293 | val |= (DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET); |
1286 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); | 1294 | vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(ch), val); |