aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-04-09 06:29:00 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-05-20 09:43:03 -0400
commit580d3811f4465feee9d5cacdc88b6aa6b345eff5 (patch)
treef16db96541b8dba404da6cfb09cffef39809e294 /drivers/gpu/drm/i915/intel_display.c
parentd752048dcd1225b481074318cf92ee751d6d475e (diff)
drm/i915/chv: Reset data lanes in encoder .post_disable() hook
Seems like we shouldn't leave the data lane resert deasserted when the port if disabled. So propagate the reset the data lanes in the encoder .post_disable() hook. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 21103a547aa7..bcb0c2eafde0 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5515,7 +5515,7 @@ static void chv_update_pll(struct intel_crtc *crtc)
5515 int pipe = crtc->pipe; 5515 int pipe = crtc->pipe;
5516 int dpll_reg = DPLL(crtc->pipe); 5516 int dpll_reg = DPLL(crtc->pipe);
5517 enum dpio_channel port = vlv_pipe_to_channel(pipe); 5517 enum dpio_channel port = vlv_pipe_to_channel(pipe);
5518 u32 val, loopfilter, intcoeff; 5518 u32 loopfilter, intcoeff;
5519 u32 bestn, bestm1, bestm2, bestp1, bestp2, bestm2_frac; 5519 u32 bestn, bestm1, bestm2, bestp1, bestp2, bestm2_frac;
5520 int refclk; 5520 int refclk;
5521 5521
@@ -5543,11 +5543,6 @@ static void chv_update_pll(struct intel_crtc *crtc)
5543 5543
5544 mutex_lock(&dev_priv->dpio_lock); 5544 mutex_lock(&dev_priv->dpio_lock);
5545 5545
5546 /* Propagate soft reset to data lane reset */
5547 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS_DW0(port));
5548 val &= ~(DPIO_PCS_TX_LANE2_RESET | DPIO_PCS_TX_LANE1_RESET);
5549 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), val);
5550
5551 /* p1 and p2 divider */ 5546 /* p1 and p2 divider */
5552 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW13(port), 5547 vlv_dpio_write(dev_priv, pipe, CHV_CMN_DW13(port),
5553 5 << DPIO_CHV_S1_DIV_SHIFT | 5548 5 << DPIO_CHV_S1_DIV_SHIFT |