Commit 4c4f5413 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie

drm/radeon/kms: don't use bios dividers for lvds on r4xx

R4xx cards don't have lvds pll dividers since they use atom.

should fix rh bug 541562
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent d6840766
...@@ -796,18 +796,20 @@ static void radeon_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) ...@@ -796,18 +796,20 @@ static void radeon_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) if (encoder->encoder_type != DRM_MODE_ENCODER_DAC)
pll_flags |= RADEON_PLL_NO_ODD_POST_DIV; pll_flags |= RADEON_PLL_NO_ODD_POST_DIV;
if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) {
struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); if (!rdev->is_atom_bios) {
struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv; struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
if (lvds) { struct radeon_encoder_lvds *lvds = (struct radeon_encoder_lvds *)radeon_encoder->enc_priv;
if (lvds->use_bios_dividers) { if (lvds) {
pll_ref_div = lvds->panel_ref_divider; if (lvds->use_bios_dividers) {
pll_fb_post_div = (lvds->panel_fb_divider | pll_ref_div = lvds->panel_ref_divider;
(lvds->panel_post_divider << 16)); pll_fb_post_div = (lvds->panel_fb_divider |
htotal_cntl = 0; (lvds->panel_post_divider << 16));
use_bios_divs = true; htotal_cntl = 0;
use_bios_divs = true;
}
} }
pll_flags |= RADEON_PLL_USE_REF_DIV;
} }
pll_flags |= RADEON_PLL_USE_REF_DIV;
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment