aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-04-24 17:54:53 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-05-16 05:58:33 -0400
commitd41f1efb323e99f680650f77c00907904d246bf7 (patch)
treee9db4ffd3ec7652fd3fae05551ee90e135c732f6 /drivers/gpu/drm/i915/intel_dp.c
parent9ed109a7b445e3f073d8ea72f888ec80c0532465 (diff)
drm/i915/dp: Move port A pll setup to g4x_pre_enable_dp
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. Reviewed-by: Naresh Kumar Kachhi <naresh.kumar.kachhi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 79e045af213d..3fa56f38f929 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1002,9 +1002,6 @@ static void intel_dp_mode_set(struct intel_encoder *encoder)
1002 } else { 1002 } else {
1003 intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; 1003 intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
1004 } 1004 }
1005
1006 if (port == PORT_A && !IS_VALLEYVIEW(dev))
1007 ironlake_set_pll_cpu_edp(intel_dp);
1008} 1005}
1009 1006
1010#define IDLE_ON_MASK (PP_ON | PP_SEQUENCE_MASK | 0 | PP_SEQUENCE_STATE_MASK) 1007#define IDLE_ON_MASK (PP_ON | PP_SEQUENCE_MASK | 0 | PP_SEQUENCE_STATE_MASK)
@@ -1905,8 +1902,11 @@ static void g4x_pre_enable_dp(struct intel_encoder *encoder)
1905 struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base); 1902 struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
1906 struct intel_digital_port *dport = dp_to_dig_port(intel_dp); 1903 struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
1907 1904
1908 if (dport->port == PORT_A) 1905 /* Only ilk+ has port A */
1906 if (dport->port == PORT_A) {
1907 ironlake_set_pll_cpu_edp(intel_dp);
1909 ironlake_edp_pll_on(intel_dp); 1908 ironlake_edp_pll_on(intel_dp);
1909 }
1910} 1910}
1911 1911
1912static void vlv_pre_enable_dp(struct intel_encoder *encoder) 1912static void vlv_pre_enable_dp(struct intel_encoder *encoder)