From 2fcf4fcccfe7cfa1425985d21a144137eca07f4e Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Tue, 10 Mar 2009 14:21:36 +0800 Subject: [PATCH] SDVO: fix pixel multiplier setting for TV We should use preferred input timing's clock for correct pixel multiplier setting, otherwise we might get inconsistent multiplier setting on pipe and SDVO device for some modes. --- src/i830_sdvo.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c index 1f2578ee..baba0079 100644 --- a/src/i830_sdvo.c +++ b/src/i830_sdvo.c @@ -1039,8 +1039,13 @@ i830_sdvo_mode_fixup(xf86OutputPtr output, DisplayModePtr mode, ErrorF("input modeline:\n"); xf86PrintModeline(0, adjusted_mode); + + /* adjust origin mode's clock for current input, + for correct pixel mulitiplier setting. */ + mode->Clock = adjusted_mode->Clock; + /* Clock range is required to be in 100-200Mhz */ - adjusted_mode->Clock *= i830_sdvo_get_pixel_multiplier(adjusted_mode); + adjusted_mode->Clock *= i830_sdvo_get_pixel_multiplier(mode); } else { return FALSE; }