[Intel-gfx] [Patch] DRM/I915: Don't set the DPLL_MD multipler for LVDS output

yakui.zhao at intel.com yakui.zhao at intel.com
Mon Aug 31 08:13:18 CEST 2009


From: Zhao Yakui <yakui.zhao at intel.com>

When the output device is LVDS, maybe the pixel clock of adjusted_mode will be 
less than that in mode. In such case it will set the incorrect multipler factor
in DPLL_MD register.
So it is unnecessary to set dpll_md_reg when the output type is LVDS.

https://bugs.freedesktop.org/show_bug.cgi?id=22761

Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
---
 drivers/gpu/drm/i915/intel_display.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/drivers/gpu/drm/i915/intel_display.c
===================================================================
--- linux-2.6.orig/drivers/gpu/drm/i915/intel_display.c	2009-08-31 10:36:49.000000000 +0800
+++ linux-2.6/drivers/gpu/drm/i915/intel_display.c	2009-08-31 14:02:00.000000000 +0800
@@ -2633,7 +2633,7 @@
 		/* Wait for the clocks to stabilize. */
 		udelay(150);
 
-		if (IS_I965G(dev) && !IS_IGDNG(dev)) {
+		if (IS_I965G(dev) && !IS_IGDNG(dev) && !is_lvds) {
 			sdvo_pixel_multiply = adjusted_mode->clock / mode->clock;
 			I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) |
 					((sdvo_pixel_multiply - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT));



More information about the Intel-gfx mailing list