diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_display.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_display.c | 6 |
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) || |