drm/i915/chv: Force clock buffer enables
Try to force the PHY clock buffer enables to make the clock routing work. v2: Fix the pipe B case to actually enable CH0 clock buffers 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>
This commit is contained in:

committed by
Daniel Vetter

parent
9197c88bf9
commit
b9e5ac3c18
@@ -1242,6 +1242,25 @@ static void chv_hdmi_pre_pll_enable(struct intel_encoder *encoder)
|
||||
|
||||
mutex_lock(&dev_priv->dpio_lock);
|
||||
|
||||
/* program left/right clock distribution */
|
||||
if (pipe != PIPE_B) {
|
||||
val = vlv_dpio_read(dev_priv, pipe, _CHV_CMN_DW5_CH0);
|
||||
val &= ~(CHV_BUFLEFTENA1_MASK | CHV_BUFRIGHTENA1_MASK);
|
||||
if (ch == DPIO_CH0)
|
||||
val |= CHV_BUFLEFTENA1_FORCE;
|
||||
if (ch == DPIO_CH1)
|
||||
val |= CHV_BUFRIGHTENA1_FORCE;
|
||||
vlv_dpio_write(dev_priv, pipe, _CHV_CMN_DW5_CH0, val);
|
||||
} else {
|
||||
val = vlv_dpio_read(dev_priv, pipe, _CHV_CMN_DW1_CH1);
|
||||
val &= ~(CHV_BUFLEFTENA2_MASK | CHV_BUFRIGHTENA2_MASK);
|
||||
if (ch == DPIO_CH0)
|
||||
val |= CHV_BUFLEFTENA2_FORCE;
|
||||
if (ch == DPIO_CH1)
|
||||
val |= CHV_BUFRIGHTENA2_FORCE;
|
||||
vlv_dpio_write(dev_priv, pipe, _CHV_CMN_DW1_CH1, val);
|
||||
}
|
||||
|
||||
/* program clock channel usage */
|
||||
val = vlv_dpio_read(dev_priv, pipe, VLV_PCS01_DW8(ch));
|
||||
val |= CHV_PCS_USEDCLKCHANNEL_OVRRIDE;
|
||||
|
Reference in New Issue
Block a user