Only ilk/snb/ivb need the port A pll setup, so move it to the
pre_enable hook for those platforms. We can savely do this since on
those platforms there's nothing that touches the hardware between the
encoder->mode_set and the encoder->pre_enable calls.

Also add a comment that port A is ilk+ only.

Signed-off-by: Daniel Vetter <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index fded70572ff2..eec1afb72a57 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -973,9 +973,6 @@ static void intel_dp_mode_set(struct intel_encoder *encoder)
        } else {
                intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
        }
-
-       if (port == PORT_A && !IS_VALLEYVIEW(dev))
-               ironlake_set_pll_cpu_edp(intel_dp);
 }
 
 #define IDLE_ON_MASK           (PP_ON | PP_SEQUENCE_MASK | 0                   
  | PP_SEQUENCE_STATE_MASK)
@@ -1876,8 +1873,11 @@ static void g4x_pre_enable_dp(struct intel_encoder 
*encoder)
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
 
-       if (dport->port == PORT_A)
+       /* Only ilk+ has port A */
+       if (dport->port == PORT_A) {
+               ironlake_set_pll_cpu_edp(intel_dp);
                ironlake_edp_pll_on(intel_dp);
+       }
 }
 
 static void vlv_pre_enable_dp(struct intel_encoder *encoder)
-- 
1.8.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to