|
@@ -793,6 +793,11 @@ static void avivo_get_fb_div(struct radeon_pll *pll,
|
|
tmp *= target_clock;
|
|
tmp *= target_clock;
|
|
*fb_div = tmp / pll->reference_freq;
|
|
*fb_div = tmp / pll->reference_freq;
|
|
*frac_fb_div = tmp % pll->reference_freq;
|
|
*frac_fb_div = tmp % pll->reference_freq;
|
|
|
|
+
|
|
|
|
+ if (*fb_div > pll->max_feedback_div)
|
|
|
|
+ *fb_div = pll->max_feedback_div;
|
|
|
|
+ else if (*fb_div < pll->min_feedback_div)
|
|
|
|
+ *fb_div = pll->min_feedback_div;
|
|
}
|
|
}
|
|
|
|
|
|
static u32 avivo_get_post_div(struct radeon_pll *pll,
|
|
static u32 avivo_get_post_div(struct radeon_pll *pll,
|
|
@@ -826,6 +831,11 @@ static u32 avivo_get_post_div(struct radeon_pll *pll,
|
|
post_div--;
|
|
post_div--;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (post_div > pll->max_post_div)
|
|
|
|
+ post_div = pll->max_post_div;
|
|
|
|
+ else if (post_div < pll->min_post_div)
|
|
|
|
+ post_div = pll->min_post_div;
|
|
|
|
+
|
|
return post_div;
|
|
return post_div;
|
|
}
|
|
}
|
|
|
|
|