aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index 577239a24fd5..977f5c20ef1b 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -534,6 +534,20 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc,
534 pll->algo = PLL_ALGO_LEGACY; 534 pll->algo = PLL_ALGO_LEGACY;
535 pll->flags |= RADEON_PLL_PREFER_CLOSEST_LOWER; 535 pll->flags |= RADEON_PLL_PREFER_CLOSEST_LOWER;
536 } 536 }
537 /* There is some evidence (often anecdotal) that RV515 LVDS
538 * (on some boards at least) prefers the legacy algo. I'm not
539 * sure whether this should handled generically or on a
540 * case-by-case quirk basis. Both algos should work fine in the
541 * majority of cases.
542 */
543 if ((radeon_encoder->active_device & (ATOM_DEVICE_LCD_SUPPORT)) &&
544 (rdev->family == CHIP_RV515)) {
545 /* allow the user to overrride just in case */
546 if (radeon_new_pll == 1)
547 pll->algo = PLL_ALGO_NEW;
548 else
549 pll->algo = PLL_ALGO_LEGACY;
550 }
537 } else { 551 } else {
538 if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) 552 if (encoder->encoder_type != DRM_MODE_ENCODER_DAC)
539 pll->flags |= RADEON_PLL_NO_ODD_POST_DIV; 553 pll->flags |= RADEON_PLL_NO_ODD_POST_DIV;