diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-12-09 12:55:25 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-12-09 12:55:25 -0500 |
commit | 46630da5fd6f45bb8ea150b870162997480d69c7 (patch) | |
tree | 80082feaa802872b4fe343f00cbe61787170e81f /src/atombios_crtc.c | |
parent | f082b1693d6f7f763ccf5a8436a89890ca2c6129 (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.c | 8 |
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, |