diff options
author | Paul A. Clarke <pc@us.ibm.com> | 2006-08-27 01:23:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-27 11:01:29 -0700 |
commit | b8cf368944807e29b16b24588a2a35c829bc9d9a (patch) | |
tree | ff62680c6599213b2f385f1b2e0652933213aab4 /drivers | |
parent | 01cfaf0d12ae5fa092cc916ca4066ee1598e857d (diff) |
[PATCH] matroxfb: fix jittery display on non-ppc systems
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/matrox/g450_pll.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/matrox/g450_pll.c b/drivers/video/matrox/g450_pll.c index 440272ad10e..7c76e079ca7 100644 --- a/drivers/video/matrox/g450_pll.c +++ b/drivers/video/matrox/g450_pll.c @@ -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); |