summaryrefslogtreecommitdiff
path: root/src/atombios_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-12-09 12:55:25 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-12-09 12:55:25 -0500
commit46630da5fd6f45bb8ea150b870162997480d69c7 (patch)
tree80082feaa802872b4fe343f00cbe61787170e81f /src/atombios_crtc.c
parentf082b1693d6f7f763ccf5a8436a89890ca2c6129 (diff)
AVIVO: add new PLL code
This should hopefully help the problems with flickering and blinking monitors reported on some systems. If there are problems, the old PLL algorithm can be selected with: Option "NewPLL" "FALSE" in the device section of your X config. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/atombios_crtc.c')
-rw-r--r--src/atombios_crtc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index f9698f3f..8cccba62 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -407,7 +407,13 @@ atombios_crtc_set_pll(xf86CrtcPtr crtc, DisplayModePtr mode)
ErrorF("after %d\n", adjust_pll_param.usPixelClock);
}
- RADEONComputePLL(&info->pll, sclock, &temp, &fb_div, &frac_fb_div, &ref_div, &post_div, pll_flags);
+ if (IS_AVIVO_VARIANT) {
+ if (xf86ReturnOptValBool(info->Options, OPTION_NEW_PLL, TRUE))
+ RADEONComputePLL_AVIVO(&info->pll, sclock, &temp, &fb_div, &frac_fb_div, &ref_div, &post_div, pll_flags);
+ else
+ RADEONComputePLL(&info->pll, sclock, &temp, &fb_div, &frac_fb_div, &ref_div, &post_div, pll_flags);
+ } else
+ RADEONComputePLL(&info->pll, sclock, &temp, &fb_div, &frac_fb_div, &ref_div, &post_div, pll_flags);
sclock = temp; /* 10 khz */
xf86DrvMsg(crtc->scrn->scrnIndex, X_INFO,