drm/i915: fix up pch pll enabling for pixel multipliers
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 5 Jun 2013 11:34:21 +0000 (13:34 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 12 Jun 2013 19:34:05 +0000 (21:34 +0200)
We have a nice comment saying that the pixel multiplier only sticks
once the vco is on and stable. The only problem is that the enable bit
wasn't set at all. This patch fixes this and so brings the ilk+ pch
pll code in line with the i8xx/i9xx pll code. Or at least improves
matters a lot.

This should fix sdvo on ilk-ivb for low-res modes.

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 5b2fd9063a2d1cc5711f0759f3dd6bd38b251ac1..015614fb04d91236d3c177aec786b968e4e66aa3 100644 (file)
@@ -5660,7 +5660,7 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
        else
                dpll |= PLL_REF_INPUT_DREFCLK;
 
-       return dpll;
+       return dpll | DPLL_VCO_ENABLE;
 }
 
 static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
@@ -5722,7 +5722,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
                                             &fp, &reduced_clock,
                                             has_reduced_clock ? &fp2 : NULL);
 
-               intel_crtc->config.dpll_hw_state.dpll = dpll | DPLL_VCO_ENABLE;
+               intel_crtc->config.dpll_hw_state.dpll = dpll;
                intel_crtc->config.dpll_hw_state.fp0 = fp;
                if (has_reduced_clock)
                        intel_crtc->config.dpll_hw_state.fp1 = fp2;