diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c index c1e1706d06b4..6f3ff8b84faf 100644 --- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c | |||
| @@ -796,18 +796,20 @@ static void radeon_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) | |||
| 796 | if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) | 796 | if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) |
| 797 | pll_flags |= RADEON_PLL_NO_ODD_POST_DIV; | 797 | pll_flags |= RADEON_PLL_NO_ODD_POST_DIV; |
| 798 | if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { | 798 | if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { |
| 799 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); | 799 | if (!rdev->is_atom_bios) { |
| 800 | struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; | 800 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
| 801 | if (lvds) { | 801 | struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; |
| 802 | if (lvds->use_bios_dividers) { | 802 | if (lvds) { |
| 803 | pll_ref_div = lvds->panel_ref_divider; | 803 | if (lvds->use_bios_dividers) { |
| 804 | pll_fb_post_div = (lvds->panel_fb_divider | | 804 | pll_ref_div = lvds->panel_ref_divider; |
| 805 | (lvds->panel_post_divider << 16)); | 805 | pll_fb_post_div = (lvds->panel_fb_divider | |
| 806 | htotal_cntl = 0; | 806 | (lvds->panel_post_divider << 16)); |
| 807 | use_bios_divs = true; | 807 | htotal_cntl = 0; |
| 808 | use_bios_divs = true; | ||
| 809 | } | ||
| 808 | } | 810 | } |
| 811 | pll_flags |= RADEON_PLL_USE_REF_DIV; | ||
| 809 | } | 812 | } |
| 810 | pll_flags |= RADEON_PLL_USE_REF_DIV; | ||
| 811 | } | 813 | } |
| 812 | } | 814 | } |
| 813 | } | 815 | } |
