From 88e8817c064b0fb9eaac83dc46579c97a37b6a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Fri, 4 Jul 2014 15:42:01 +0200 Subject: [PATCH] drm/radeon: always prefer lower ref dividers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- drivers/gpu/drm/radeon/radeon_display.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 13896ed..c0efb31 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -1050,9 +1050,16 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, unsigned diff; avivo_get_fb_ref_div(nom, den, post_div, fb_div_max, ref_div_max, &fb_div, &ref_div); + + /* reduce the numbers to a simpler ratio */ + avivo_reduce_ratio(&fb_div, &ref_div, fb_div_min, ref_div_min); + diff = abs(target_clock - (pll->reference_freq * fb_div) / (ref_div * post_div)); + diff *= ref_div_max; + diff += ref_div; + if (diff < diff_best || (diff == diff_best && !(pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP))) { -- 1.9.1