Lines Matching refs:table

35 static unsigned int _get_table_maxdiv(const struct clk_div_table *table)  in _get_table_maxdiv()  argument
40 for (clkt = table; clkt->div; clkt++) in _get_table_maxdiv()
46 static unsigned int _get_table_mindiv(const struct clk_div_table *table) in _get_table_mindiv() argument
51 for (clkt = table; clkt->div; clkt++) in _get_table_mindiv()
57 static unsigned int _get_maxdiv(const struct clk_div_table *table, u8 width, in _get_maxdiv() argument
64 if (table) in _get_maxdiv()
65 return _get_table_maxdiv(table); in _get_maxdiv()
69 static unsigned int _get_table_div(const struct clk_div_table *table, in _get_table_div() argument
74 for (clkt = table; clkt->div; clkt++) in _get_table_div()
80 static unsigned int _get_div(const struct clk_div_table *table, in _get_div() argument
87 if (table) in _get_div()
88 return _get_table_div(table, val); in _get_div()
92 static unsigned int _get_table_val(const struct clk_div_table *table, in _get_table_val() argument
97 for (clkt = table; clkt->div; clkt++) in _get_table_val()
103 static unsigned int _get_val(const struct clk_div_table *table, in _get_val() argument
110 if (table) in _get_val()
111 return _get_table_val(table, div); in _get_val()
117 const struct clk_div_table *table, in divider_recalc_rate() argument
122 div = _get_div(table, val, flags); in divider_recalc_rate()
143 return divider_recalc_rate(hw, parent_rate, val, divider->table, in clk_divider_recalc_rate()
147 static bool _is_valid_table_div(const struct clk_div_table *table, in _is_valid_table_div() argument
152 for (clkt = table; clkt->div; clkt++) in _is_valid_table_div()
158 static bool _is_valid_div(const struct clk_div_table *table, unsigned int div, in _is_valid_div() argument
163 if (table) in _is_valid_div()
164 return _is_valid_table_div(table, div); in _is_valid_div()
168 static int _round_up_table(const struct clk_div_table *table, int div) in _round_up_table() argument
173 for (clkt = table; clkt->div; clkt++) { in _round_up_table()
186 static int _round_down_table(const struct clk_div_table *table, int div) in _round_down_table() argument
189 int down = _get_table_mindiv(table); in _round_down_table()
191 for (clkt = table; clkt->div; clkt++) { in _round_down_table()
204 static int _div_round_up(const struct clk_div_table *table, in _div_round_up() argument
212 if (table) in _div_round_up()
213 div = _round_up_table(table, div); in _div_round_up()
218 static int _div_round_closest(const struct clk_div_table *table, in _div_round_closest() argument
231 } else if (table) { in _div_round_closest()
232 up = _round_up_table(table, up); in _div_round_closest()
233 down = _round_down_table(table, down); in _div_round_closest()
242 static int _div_round(const struct clk_div_table *table, in _div_round() argument
247 return _div_round_closest(table, parent_rate, rate, flags); in _div_round()
249 return _div_round_up(table, parent_rate, rate, flags); in _div_round()
261 static int _next_div(const struct clk_div_table *table, int div, in _next_div() argument
268 if (table) in _next_div()
269 return _round_up_table(table, div); in _next_div()
276 const struct clk_div_table *table, u8 width, in clk_divider_bestdiv() argument
286 maxdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
290 bestdiv = _div_round(table, parent_rate, rate, flags); in clk_divider_bestdiv()
302 for (i = 1; i <= maxdiv; i = _next_div(table, i, flags)) { in clk_divider_bestdiv()
303 if (!_is_valid_div(table, i, flags)) in clk_divider_bestdiv()
325 bestdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
333 unsigned long *prate, const struct clk_div_table *table, in divider_round_rate() argument
338 div = clk_divider_bestdiv(hw, rate, prate, table, width, flags); in divider_round_rate()
354 bestdiv = _get_div(divider->table, bestdiv, divider->flags); in clk_divider_round_rate()
358 return divider_round_rate(hw, rate, prate, divider->table, in clk_divider_round_rate()
363 const struct clk_div_table *table, u8 width, in divider_get_val() argument
370 if (!_is_valid_div(table, div, flags)) in divider_get_val()
373 value = _get_val(table, div, flags); in divider_get_val()
387 value = divider_get_val(rate, parent_rate, divider->table, in clk_divider_set_rate()
418 u8 clk_divider_flags, const struct clk_div_table *table, in _register_divider() argument
452 div->table = table; in _register_divider()
502 u8 clk_divider_flags, const struct clk_div_table *table, in clk_register_divider_table() argument
506 width, clk_divider_flags, table, lock); in clk_register_divider_table()