aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_atombios.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-02-23 03:24:38 -0500
committerDave Airlie <airlied@redhat.com>2010-02-25 11:38:06 +1000
commit383be5d1789d9a7a2e77dca1cb0aca89507d069e (patch)
treee99787c96586748c9ce78fbd10d8859c648fabc0 /drivers/gpu/drm/radeon/radeon_atombios.c
parent939461d59d6ac4e5142f767d24810c9b4b5caa38 (diff)
downloadkernel_samsung_smdk4412-383be5d1789d9a7a2e77dca1cb0aca89507d069e.zip
kernel_samsung_smdk4412-383be5d1789d9a7a2e77dca1cb0aca89507d069e.tar.gz
kernel_samsung_smdk4412-383be5d1789d9a7a2e77dca1cb0aca89507d069e.tar.bz2
drm/radeon/kms: update new pll algo
- add support for pre-avivo chips - add support for fixed post/ref dividers - add support for non-fractional fb dividers By default avivo chips use the new algo and pre-avivo chips use the old algo. Use the "new_pll" module option to toggle between them. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_atombios.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 33aed6c..6f8619c 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1191,12 +1191,16 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
lvds->ss = radeon_atombios_get_ss_info(encoder, lvds_info->info.ucSS_Id);
if (ASIC_IS_AVIVO(rdev)) {
- if (radeon_new_pll)
- lvds->pll_algo = PLL_ALGO_AVIVO;
+ if (radeon_new_pll == 0)
+ lvds->pll_algo = PLL_ALGO_LEGACY;
+ else
+ lvds->pll_algo = PLL_ALGO_NEW;
+ } else {
+ if (radeon_new_pll == 1)
+ lvds->pll_algo = PLL_ALGO_NEW;
else
lvds->pll_algo = PLL_ALGO_LEGACY;
- } else
- lvds->pll_algo = PLL_ALGO_LEGACY;
+ }
/* LVDS quirks */
radeon_atom_apply_lvds_quirks(dev, lvds);