diff options
author | Dave Airlie <airlied@redhat.com> | 2010-10-19 10:36:47 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-10-19 14:12:22 +1000 |
commit | 5480f727dc4c049eb46b191bfaeb034067aa6835 (patch) | |
tree | d6b5166fd2e198e05de9027e0e61ebfb6abeb51f /drivers/gpu/drm/radeon/atombios_crtc.c | |
parent | c9220b0f7cbd1d2272426aa81a72ae2f6582bb71 (diff) |
Revert "drm/radeon/kms: remove some pll algo flags"
This reverts commit f28488c282d8916b9b6190cc41714815bbaf97d5.
On my rv610 test machine the monitor failed to light up after this.
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 | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 037e3260cb7..176f424975a 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c @@ -501,9 +501,21 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, (rdev->family == CHIP_RS740)) pll->flags |= (/*RADEON_PLL_USE_FRAC_FB_DIV |*/ RADEON_PLL_PREFER_CLOSEST_LOWER); - } else + + if (ASIC_IS_DCE32(rdev) && mode->clock > 200000) /* range limits??? */ + pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; + else + pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV; + } else { pll->flags |= RADEON_PLL_LEGACY; + if (mode->clock > 200000) /* range limits??? */ + pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV; + else + pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV; + + } + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { if (encoder->crtc == crtc) { radeon_encoder = to_radeon_encoder(encoder); |