From 6f367993988720c86e863bb64db8a62a002d6d9d Mon Sep 17 00:00:00 2001 From: Sakari Ailus Date: Thu, 26 Apr 2012 11:21:30 -0300 Subject: [media] smiapp: Round minimum pre_pll up rather than down in ip_clk_freq check The pre_pll divisor must be such that ext_clk / pre_pll divisor does not result in a frequency that is greater than pll_ip_clk_freq. Fix this. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/smiapp-pll.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/media/video/smiapp-pll.c b/drivers/media/video/smiapp-pll.c index a416e27a428..a2e41a21dc6 100644 --- a/drivers/media/video/smiapp-pll.c +++ b/drivers/media/video/smiapp-pll.c @@ -124,8 +124,9 @@ int smiapp_pll_calculate(struct device *dev, struct smiapp_pll_limits *limits, limits->min_pll_ip_freq_hz)); limits->min_pre_pll_clk_div = max_t(uint16_t, limits->min_pre_pll_clk_div, - clk_div_even(pll->ext_clk_freq_hz / - limits->max_pll_ip_freq_hz)); + clk_div_even_up( + DIV_ROUND_UP(pll->ext_clk_freq_hz, + limits->max_pll_ip_freq_hz))); dev_dbg(dev, "pre-pll check: min / max pre_pll_clk_div: %d / %d\n", limits->min_pre_pll_clk_div, limits->max_pre_pll_clk_div); -- cgit v1.2.3