|
@@ -5808,12 +5808,15 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
if (is_lvds) {
|
|
|
temp = I915_READ(PCH_LVDS);
|
|
|
temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;
|
|
|
- if (HAS_PCH_CPT(dev))
|
|
|
+ if (HAS_PCH_CPT(dev)) {
|
|
|
+ temp &= ~PORT_TRANS_SEL_MASK;
|
|
|
temp |= PORT_TRANS_SEL_CPT(pipe);
|
|
|
- else if (pipe == 1)
|
|
|
- temp |= LVDS_PIPEB_SELECT;
|
|
|
- else
|
|
|
- temp &= ~LVDS_PIPEB_SELECT;
|
|
|
+ } else {
|
|
|
+ if (pipe == 1)
|
|
|
+ temp |= LVDS_PIPEB_SELECT;
|
|
|
+ else
|
|
|
+ temp &= ~LVDS_PIPEB_SELECT;
|
|
|
+ }
|
|
|
|
|
|
/* set the corresponsding LVDS_BORDER bit */
|
|
|
temp |= dev_priv->lvds_border_bits;
|