b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -521,6 +521,7 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc,
pll->flags = 0;
if (ASIC_IS_AVIVO(rdev)) {
+ pll->flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;
if ((rdev->family == CHIP_RS600) ||
(rdev->family == CHIP_RS690) ||
(rdev->family == CHIP_RS740))
b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -521,6 +521,8 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc,
pll->flags = 0;
if (ASIC_IS_AVIVO(rdev)) {
+ pll->flags |= (RADEON_PLL_PREFER_MINM_OVER_MAXP |
+ RADEON_PLL_USE_FRAC_FB_DIV);
if ((rdev->family == CHIP_RS600) ||
(rdev->family == CHIP_RS690) ||
(rdev->family == CHIP_RS740))
b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -521,6 +521,7 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc,
pll->flags = 0;
if (ASIC_IS_AVIVO(rdev)) {
+ pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV;
if ((rdev->family == CHIP_RS600) ||
(rdev->family == CHIP_RS690) ||
(rdev->family == CHIP_RS740))