Required for 3 pipe functionality.

Signed-off-by: Jesse Barnes <jbar...@virtuousgeek.org>
---
 drivers/gpu/drm/i915/intel_crt.c  |   18 +++++++-----------
 drivers/gpu/drm/i915/intel_hdmi.c |   10 ++++------
 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 451534c..fee0ad0 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,
        if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC)
                adpa |= ADPA_VSYNC_ACTIVE_HIGH;
 
-       if (intel_crtc->pipe == 0) {
-               if (HAS_PCH_CPT(dev))
-                       adpa |= PORT_TRANS_A_SEL_CPT;
-               else
-                       adpa |= ADPA_PIPE_A_SELECT;
-       } else {
-               if (HAS_PCH_CPT(dev))
-                       adpa |= PORT_TRANS_B_SEL_CPT;
-               else
-                       adpa |= ADPA_PIPE_B_SELECT;
-       }
+       /* For CPT allow 3 pipe config, for others just use A or B */
+       if (HAS_PCH_CPT(dev))
+               adpa |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
+       else if (intel_crtc->pipe == 0)
+               adpa |= ADPA_PIPE_A_SELECT;
+       else
+               adpa |= ADPA_PIPE_B_SELECT;
 
        if (!HAS_PCH_SPLIT(dev))
                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 185c5aa..e7e716c 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,
                intel_write_eld(encoder, adjusted_mode);
        }
 
-       if (intel_crtc->pipe == 1) {
-               if (HAS_PCH_CPT(dev))
-                       sdvox |= PORT_TRANS_B_SEL_CPT;
-               else
-                       sdvox |= SDVO_PIPE_B_SELECT;
-       }
+       if (HAS_PCH_CPT(dev))
+               sdvox |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
+       else if (intel_crtc->pipe == 1)
+               sdvox |= SDVO_PIPE_B_SELECT;
 
        I915_WRITE(intel_hdmi->sdvox_reg, sdvox);
        POSTING_READ(intel_hdmi->sdvox_reg);
-- 
1.7.4.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to