aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/radeon/radeon_legacy_crtc.c22
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 c1e1706d06b..6f3ff8b84fa 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 }