aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-04-28 07:15:24 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-05-20 09:43:18 -0400
commitd2152b2524a96e6cb71097ea26c2e7c3f9e3ee12 (patch)
treeecd005705a3389ff03ae2510283e0c37b837306b /drivers/gpu/drm/i915/intel_dp.c
parent580d3811f4465feee9d5cacdc88b6aa6b345eff5 (diff)
drm/i915/chv: Set soft reset override bit for data lane resets
The bits we've been setting so far only progagate the reset singal to the data lanes. To actaully force the reset signal we need to set another override bit. v2: Fix mispalced ';' (Mika) Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
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);