Commit e1f234bd authored by Bob Paauwe's avatar Bob Paauwe Committed by Daniel Vetter

drm/i915: Use correct pipe config to update pll dividers. V2

Use the new pipe config values to calculate the updated pll dividers.

This regression was introduced in

commit 0dbdf89f27b17ae1eceed6782c2917f74cbb5d59
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Wed Oct 29 11:32:33 2014 +0200

    drm/i915: Add infrastructure for choosing DPLLs before disabling crtcs

	and

	commit 00d958817dd3daaa452c221387ddaf23d1e4c06f
	Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
	Date:   Wed Oct 29 11:32:36 2014 +0200

	    drm/i915: Covert remaining platforms to choose DPLLS before disabling CRTCs

v2: Use intel_pipe_will_have_type() to look at new configuration - Ander
Signed-off-by: default avatarBob Paauwe <bob.j.paauwe@intel.com>
CC: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Tested-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: default avatarAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent f354d733
...@@ -5733,24 +5733,24 @@ static void i9xx_update_pll_dividers(struct intel_crtc *crtc, ...@@ -5733,24 +5733,24 @@ static void i9xx_update_pll_dividers(struct intel_crtc *crtc,
u32 fp, fp2 = 0; u32 fp, fp2 = 0;
if (IS_PINEVIEW(dev)) { if (IS_PINEVIEW(dev)) {
fp = pnv_dpll_compute_fp(&crtc->config.dpll); fp = pnv_dpll_compute_fp(&crtc->new_config->dpll);
if (reduced_clock) if (reduced_clock)
fp2 = pnv_dpll_compute_fp(reduced_clock); fp2 = pnv_dpll_compute_fp(reduced_clock);
} else { } else {
fp = i9xx_dpll_compute_fp(&crtc->config.dpll); fp = i9xx_dpll_compute_fp(&crtc->new_config->dpll);
if (reduced_clock) if (reduced_clock)
fp2 = i9xx_dpll_compute_fp(reduced_clock); fp2 = i9xx_dpll_compute_fp(reduced_clock);
} }
crtc->config.dpll_hw_state.fp0 = fp; crtc->new_config->dpll_hw_state.fp0 = fp;
crtc->lowfreq_avail = false; crtc->lowfreq_avail = false;
if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && if (intel_pipe_will_have_type(crtc, INTEL_OUTPUT_LVDS) &&
reduced_clock && i915.powersave) { reduced_clock && i915.powersave) {
crtc->config.dpll_hw_state.fp1 = fp2; crtc->new_config->dpll_hw_state.fp1 = fp2;
crtc->lowfreq_avail = true; crtc->lowfreq_avail = true;
} else { } else {
crtc->config.dpll_hw_state.fp1 = fp; crtc->new_config->dpll_hw_state.fp1 = fp;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment