[PATCH] matroxfb: fix jittery display on non-ppc systems
authorPaul A. Clarke <pc@us.ibm.com>
Sun, 27 Aug 2006 08:23:37 +0000 (01:23 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 27 Aug 2006 18:01:29 +0000 (11:01 -0700)
I wish I was happier about this patch.  It'll serve as a placeholder for
the moment.  I'm still trying to get a G550 working in order to even
reproduce the problem this patch introduces.  I find that the G450 has
jitter even without this patch, so it won't show me what the patch changed.
 At this point, I'll continue trying to get the G550 to work, and in
parallel work with the G450 to work out the kinks.

The patch is below.

Set XDVICLKCTRL only on PPC, as doing this apparently introduces jitter on
the G550, at least on x86 architectures.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/matrox/g450_pll.c

index 440272ad10e725a206e58491e0e6b1bf96a1d5a8..7c76e079ca7d378495f4d4b27e583531e0da172a 100644 (file)
@@ -331,7 +331,15 @@ static int __g450_setclk(WPMINFO unsigned int fout, unsigned int pll,
                                        tmp |= M1064_XPIXCLKCTRL_PLL_UP;
                                }
                                matroxfb_DAC_out(PMINFO M1064_XPIXCLKCTRL, tmp);
+#ifdef __powerpc__
+                               /* This is necessary to avoid jitter on PowerPC
+                                * (OpenFirmware) systems, but apparently
+                                * introduces jitter, at least on a x86-64
+                                * using DVI.
+                                * A simple workaround is disable for non-PPC.
+                                */
                                matroxfb_DAC_out(PMINFO M1064_XDVICLKCTRL, 0);
+#endif /* __powerpc__ */
                                matroxfb_DAC_out(PMINFO M1064_XPWRCTRL, xpwrctrl);
 
                                matroxfb_DAC_unlock_irqrestore(flags);