• Home
  • Raw
  • Download

Lines Matching refs:rate

189 		unsigned long parent_rate, unsigned long rate)  in _div_round_up()  argument
191 int div = DIV_ROUND_UP(parent_rate, rate); in _div_round_up()
202 unsigned long parent_rate, unsigned long rate) in _div_round_closest() argument
207 up = down = div = DIV_ROUND_CLOSEST(parent_rate, rate); in _div_round_closest()
220 return (rate - up_rate) <= (down_rate - rate) ? up : down; in _div_round_closest()
224 unsigned long rate) in _div_round() argument
227 return _div_round_closest(divider, parent_rate, rate); in _div_round()
229 return _div_round_up(divider, parent_rate, rate); in _div_round()
233 unsigned long rate, unsigned long now, unsigned long best) in _is_best_div() argument
236 return abs(rate - now) < abs(rate - best); in _is_best_div()
238 return now <= rate && now > best; in _is_best_div()
253 static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate, in clk_divider_bestdiv() argument
261 if (!rate) in clk_divider_bestdiv()
262 rate = 1; in clk_divider_bestdiv()
276 bestdiv = _div_round(divider, parent_rate, rate); in clk_divider_bestdiv()
286 maxdiv = min(ULONG_MAX / rate, maxdiv); in clk_divider_bestdiv()
291 if (rate * i == parent_rate_saved) { in clk_divider_bestdiv()
301 rate * i); in clk_divider_bestdiv()
303 if (_is_best_div(divider, rate, now, best)) { in clk_divider_bestdiv()
318 static long clk_divider_round_rate(struct clk_hw *hw, unsigned long rate, in clk_divider_round_rate() argument
322 div = clk_divider_bestdiv(hw, rate, prate); in clk_divider_round_rate()
327 static int clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, in clk_divider_set_rate() argument
335 div = DIV_ROUND_UP(parent_rate, rate); in clk_divider_set_rate()