diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-24 17:54:53 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-05-16 05:58:33 -0400 |
commit | d41f1efb323e99f680650f77c00907904d246bf7 (patch) | |
tree | e9db4ffd3ec7652fd3fae05551ee90e135c732f6 /drivers/gpu/drm/i915/intel_dp.c | |
parent | 9ed109a7b445e3f073d8ea72f888ec80c0532465 (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.c | 8 |
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 | ||
1912 | static void vlv_pre_enable_dp(struct intel_encoder *encoder) | 1912 | static void vlv_pre_enable_dp(struct intel_encoder *encoder) |