aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2012-10-14 10:33:11 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-10-16 03:33:38 -0400
commit6478d414fe4ee3114e760fb6d6df0f8e2f66186a (patch)
tree28cb1bce4f4b7538e68b289a88867f01bf7ddfe8
parentbe3cd5e37716bcf1579f63bdd919345a1f9692b9 (diff)
DRM/i915: Don't delete DPLL Multiplier during DAC init.
The DPLL multipiler is set up in intel_display.c:i9xx_update_pll() called from i9xx_crtc_mode_set(). There the DPLL multiplier is adjusted so that the SDVO gets a sufficient bus clock. When cloning a CRTC between an SDVO driven encoder and the standard DAC the DAC setup code reseted the multiplier value to 1 thus undoing the correct setup. There is no need to touch the multiplier in the DAC setup code: the correct value (i.e. 1 in case no SDVO encoder is used) is set by i9xx_update_pll() already. A comment at the code suggested that this code is a left over from the days when there was no setup for clone modes. Signed-off-by: Egbert Eich <eich@suse.de> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index c42b9809f86d..ae3a3d545ef2 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -220,20 +220,7 @@ static void intel_crt_mode_set(struct drm_encoder *encoder,
220 intel_encoder_to_crt(to_intel_encoder(encoder)); 220 intel_encoder_to_crt(to_intel_encoder(encoder));
221 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 221 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
222 struct drm_i915_private *dev_priv = dev->dev_private; 222 struct drm_i915_private *dev_priv = dev->dev_private;
223 int dpll_md_reg; 223 u32 adpa;
224 u32 adpa, dpll_md;
225
226 dpll_md_reg = DPLL_MD(intel_crtc->pipe);
227
228 /*
229 * Disable separate mode multiplier used when cloning SDVO to CRT
230 * XXX this needs to be adjusted when we really are cloning
231 */
232 if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) {
233 dpll_md = I915_READ(dpll_md_reg);
234 I915_WRITE(dpll_md_reg,
235 dpll_md & ~DPLL_MD_UDI_MULTIPLIER_MASK);
236 }
237 224
238 adpa = ADPA_HOTPLUG_BITS; 225 adpa = ADPA_HOTPLUG_BITS;
239 if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) 226 if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC)