aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-05-13 04:54:09 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-19 17:10:01 -0400
commit6f13b7b5be500178d5541b69ab911af2a77ec488 (patch)
tree40b506000e29470f117082be1275529984d2d010 /drivers/gpu/drm/i915/intel_display.c
parent48da64a8bf2e00952fcd3ad108babae5e003a03d (diff)
drm/i915: Enable the PCH PLL for all generations after link training
Hidden away within one chipset specific path was the necessary logic to turn on the PLL. This needs to be done everywhere in order for us to drive any display! As such as soon as we tested on a non-CougarPoint chipset, we failed to bring up any DisplayPorts and generated a nice set of assertion failures in the process. At least one part of our logic is working, the part that assumes that we have no idea what we are doing. Reported-by: guang.a.yang@intel.com References: https://bugs.freedesktop.org/show_bug.cgi?id=49712 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9dc42bf557b..f3d39f4f690 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2796,14 +2796,14 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
2796 /* For PCH output, training FDI link */ 2796 /* For PCH output, training FDI link */
2797 dev_priv->display.fdi_link_train(crtc); 2797 dev_priv->display.fdi_link_train(crtc);
2798 2798
2799 intel_enable_pch_pll(intel_crtc);
2800
2799 if (HAS_PCH_LPT(dev)) { 2801 if (HAS_PCH_LPT(dev)) {
2800 DRM_DEBUG_KMS("LPT detected: programming iCLKIP\n"); 2802 DRM_DEBUG_KMS("LPT detected: programming iCLKIP\n");
2801 lpt_program_iclkip(crtc); 2803 lpt_program_iclkip(crtc);
2802 } else if (HAS_PCH_CPT(dev)) { 2804 } else if (HAS_PCH_CPT(dev)) {
2803 u32 sel; 2805 u32 sel;
2804 2806
2805 intel_enable_pch_pll(intel_crtc);
2806
2807 temp = I915_READ(PCH_DPLL_SEL); 2807 temp = I915_READ(PCH_DPLL_SEL);
2808 switch (pipe) { 2808 switch (pipe) {
2809 default: 2809 default: