summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2007-09-11 15:24:12 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-11 17:21:27 -0700
commit9c54ea95852a920720868d0e18bb4e9d645ea007 (patch)
tree45804f039bd0a932ee47b33c2114d28206357fc5
parentba0268a8b056f2ad846f1f8837a764c21bb6425e (diff)
Subject: [PATCH] Intel FB pixel clock calculation fix
Intel framebuffer mis-calculated pixel clocks. The pixel clock (and thus both H and V sync) will be slower than requested, so if you set the minimum allowed the display may not sync. In case of really old CRT display it could theoretically damage it. I'm using it with PAL TV (using RGB input - SCART connector) and the bug prevented it from working at all (TV requirements are more strict and made the bug visible). Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/video/intelfb/intelfbhw.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c
index 16bc8d75e36e..b21d0dec9283 100644
--- a/drivers/video/intelfb/intelfbhw.c
+++ b/drivers/video/intelfb/intelfbhw.c
@@ -924,10 +924,10 @@ calc_pll_params(int index, int clock, u32 *retm1, u32 *retm2, u32 *retn, u32 *re
if (m > pll->max_m)
m = pll->max_m - 1;
for (testm = m - 1; testm <= m; testm++) {
- f_out = calc_vclock3(index, m, n, p);
+ f_out = calc_vclock3(index, testm, n, p);
if (splitm(index, testm, &m1, &m2)) {
- WRN_MSG("cannot split m = %d\n", m);
- n++;
+ WRN_MSG("cannot split m = %d\n",
+ testm);
continue;
}
if (clock > f_out)