diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-07-13 11:09:56 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-07-15 03:13:23 -0400 |
commit | eb1300bcd70b3bffbefb6ae0eab13a571255ee93 (patch) | |
tree | 9ac5aad50886db3f256a7d91b08ace51b29cff37 /drivers/gpu/drm/radeon/atombios_crtc.c | |
parent | d0e275a90a81b37409a0cfbca77581e3d235f5cf (diff) |
drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740
Allows us to hit dot clocks much closer, especially on
chips with non-27 Mhz reference clocks like most IGP chips.
This fixes most flickering and blanking problems with
non-exact dot clocks on these chips.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index c0080cc9bf8d..e64a199b5ee1 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -203,6 +203,12 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) | |||
203 | if (ASIC_IS_AVIVO(rdev)) { | 203 | if (ASIC_IS_AVIVO(rdev)) { |
204 | uint32_t ss_cntl; | 204 | uint32_t ss_cntl; |
205 | 205 | ||
206 | if ((rdev->family == CHIP_RS600) || | ||
207 | (rdev->family == CHIP_RS690) || | ||
208 | (rdev->family == CHIP_RS740)) | ||
209 | pll_flags |= (RADEON_PLL_USE_FRAC_FB_DIV | | ||
210 | RADEON_PLL_PREFER_CLOSEST_LOWER); | ||
211 | |||
206 | if (ASIC_IS_DCE32(rdev) && mode->clock > 200000) /* range limits??? */ | 212 | if (ASIC_IS_DCE32(rdev) && mode->clock > 200000) /* range limits??? */ |
207 | pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; | 213 | pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; |
208 | else | 214 | else |