aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c18
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c10
2 files changed, 11 insertions, 17 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 451534cb44de..fee0ad02c6d0 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -152,17 +152,13 @@ static void intel_crt_mode_set(struct drm_encoder *encoder,
152 if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) 152 if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC)
153 adpa |= ADPA_VSYNC_ACTIVE_HIGH; 153 adpa |= ADPA_VSYNC_ACTIVE_HIGH;
154 154
155 if (intel_crtc->pipe == 0) { 155 /* For CPT allow 3 pipe config, for others just use A or B */
156 if (HAS_PCH_CPT(dev)) 156 if (HAS_PCH_CPT(dev))
157 adpa |= PORT_TRANS_A_SEL_CPT; 157 adpa |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
158 else 158 else if (intel_crtc->pipe == 0)
159 adpa |= ADPA_PIPE_A_SELECT; 159 adpa |= ADPA_PIPE_A_SELECT;
160 } else { 160 else
161 if (HAS_PCH_CPT(dev)) 161 adpa |= ADPA_PIPE_B_SELECT;
162 adpa |= PORT_TRANS_B_SEL_CPT;
163 else
164 adpa |= ADPA_PIPE_B_SELECT;
165 }
166 162
167 if (!HAS_PCH_SPLIT(dev)) 163 if (!HAS_PCH_SPLIT(dev))
168 I915_WRITE(BCLRPAT(intel_crtc->pipe), 0); 164 I915_WRITE(BCLRPAT(intel_crtc->pipe), 0);
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 185c5aa1bb25..e7e716cb1c99 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -252,12 +252,10 @@ static void intel_hdmi_mode_set(struct drm_encoder *encoder,
252 intel_write_eld(encoder, adjusted_mode); 252 intel_write_eld(encoder, adjusted_mode);
253 } 253 }
254 254
255 if (intel_crtc->pipe == 1) { 255 if (HAS_PCH_CPT(dev))
256 if (HAS_PCH_CPT(dev)) 256 sdvox |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
257 sdvox |= PORT_TRANS_B_SEL_CPT; 257 else if (intel_crtc->pipe == 1)
258 else 258 sdvox |= SDVO_PIPE_B_SELECT;
259 sdvox |= SDVO_PIPE_B_SELECT;
260 }
261 259
262 I915_WRITE(intel_hdmi->sdvox_reg, sdvox); 260 I915_WRITE(intel_hdmi->sdvox_reg, sdvox);
263 POSTING_READ(intel_hdmi->sdvox_reg); 261 POSTING_READ(intel_hdmi->sdvox_reg);