aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_display.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 3efcf1a526be..bc312f3d9a0a 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -491,7 +491,11 @@ void radeon_compute_pll(struct radeon_pll *pll,
491 tmp += (uint64_t)pll->reference_freq * 1000 * frac_feedback_div; 491 tmp += (uint64_t)pll->reference_freq * 1000 * frac_feedback_div;
492 current_freq = radeon_div(tmp, ref_div * post_div); 492 current_freq = radeon_div(tmp, ref_div * post_div);
493 493
494 error = abs(current_freq - freq); 494 if (flags & RADEON_PLL_PREFER_CLOSEST_LOWER) {
495 error = freq - current_freq;
496 error = error < 0 ? 0xffffffff : error;
497 } else
498 error = abs(current_freq - freq);
495 vco_diff = abs(vco - best_vco); 499 vco_diff = abs(vco - best_vco);
496 500
497 if ((best_vco == 0 && error < best_error) || 501 if ((best_vco == 0 && error < best_error) ||