diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 14 |
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; |
