diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-02-23 03:24:38 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-24 20:38:06 -0500 |
commit | 383be5d1789d9a7a2e77dca1cb0aca89507d069e (patch) | |
tree | e99787c96586748c9ce78fbd10d8859c648fabc0 /drivers/gpu/drm/radeon/radeon_atombios.c | |
parent | 939461d59d6ac4e5142f767d24810c9b4b5caa38 (diff) |
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.c | 12 |
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 33aed6c2d41..6f8619cd1a0 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 | |||
1191 | lvds->ss = radeon_atombios_get_ss_info(encoder, lvds_info->info.ucSS_Id); | 1191 | lvds->ss = radeon_atombios_get_ss_info(encoder, lvds_info->info.ucSS_Id); |
1192 | 1192 | ||
1193 | if (ASIC_IS_AVIVO(rdev)) { | 1193 | if (ASIC_IS_AVIVO(rdev)) { |
1194 | if (radeon_new_pll) | 1194 | if (radeon_new_pll == 0) |
1195 | lvds->pll_algo = PLL_ALGO_AVIVO; | 1195 | lvds->pll_algo = PLL_ALGO_LEGACY; |
1196 | else | ||
1197 | lvds->pll_algo = PLL_ALGO_NEW; | ||
1198 | } else { | ||
1199 | if (radeon_new_pll == 1) | ||
1200 | lvds->pll_algo = PLL_ALGO_NEW; | ||
1196 | else | 1201 | else |
1197 | lvds->pll_algo = PLL_ALGO_LEGACY; | 1202 | lvds->pll_algo = PLL_ALGO_LEGACY; |
1198 | } else | 1203 | } |
1199 | lvds->pll_algo = PLL_ALGO_LEGACY; | ||
1200 | 1204 | ||
1201 | /* LVDS quirks */ | 1205 | /* LVDS quirks */ |
1202 | radeon_atom_apply_lvds_quirks(dev, lvds); | 1206 | radeon_atom_apply_lvds_quirks(dev, lvds); |