aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/intelfb
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2007-09-11 18:24:12 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-11 20:21:27 -0400
commit9c54ea95852a920720868d0e18bb4e9d645ea007 (patch)
tree45804f039bd0a932ee47b33c2114d28206357fc5 /drivers/video/intelfb
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>
Diffstat (limited to 'drivers/video/intelfb')
-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
924 if (m > pll->max_m) 924 if (m > pll->max_m)
925 m = pll->max_m - 1; 925 m = pll->max_m - 1;
926 for (testm = m - 1; testm <= m; testm++) { 926 for (testm = m - 1; testm <= m; testm++) {
927 f_out = calc_vclock3(index, m, n, p); 927 f_out = calc_vclock3(index, testm, n, p);
928 if (splitm(index, testm, &m1, &m2)) { 928 if (splitm(index, testm, &m1, &m2)) {
929 WRN_MSG("cannot split m = %d\n", m); 929 WRN_MSG("cannot split m = %d\n",
930 n++; 930 testm);
931 continue; 931 continue;
932 } 932 }
933 if (clock > f_out) 933 if (clock > f_out)