Lines Matching refs:table

45 static unsigned int _get_table_maxdiv(const struct clk_div_table *table,  in _get_table_maxdiv()  argument
51 for (clkt = table; clkt->div; clkt++) in _get_table_maxdiv()
57 static unsigned int _get_table_mindiv(const struct clk_div_table *table) in _get_table_mindiv() argument
62 for (clkt = table; clkt->div; clkt++) in _get_table_mindiv()
68 static unsigned int _get_maxdiv(const struct clk_div_table *table, u8 width, in _get_maxdiv() argument
77 if (table) in _get_maxdiv()
78 return _get_table_maxdiv(table, width); in _get_maxdiv()
82 static unsigned int _get_table_div(const struct clk_div_table *table, in _get_table_div() argument
87 for (clkt = table; clkt->div; clkt++) in _get_table_div()
93 static unsigned int _get_div(const struct clk_div_table *table, in _get_div() argument
104 if (table) in _get_div()
105 return _get_table_div(table, val); in _get_div()
109 static unsigned int _get_table_val(const struct clk_div_table *table, in _get_table_val() argument
114 for (clkt = table; clkt->div; clkt++) in _get_table_val()
120 static unsigned int _get_val(const struct clk_div_table *table, in _get_val() argument
131 if (table) in _get_val()
132 return _get_table_val(table, div); in _get_val()
138 const struct clk_div_table *table, in divider_recalc_rate() argument
143 div = _get_div(table, val, flags, width); in divider_recalc_rate()
164 return divider_recalc_rate(hw, parent_rate, val, divider->table, in clk_divider_recalc_rate()
168 static bool _is_valid_table_div(const struct clk_div_table *table, in _is_valid_table_div() argument
173 for (clkt = table; clkt->div; clkt++) in _is_valid_table_div()
179 static bool _is_valid_div(const struct clk_div_table *table, unsigned int div, in _is_valid_div() argument
184 if (table) in _is_valid_div()
185 return _is_valid_table_div(table, div); in _is_valid_div()
189 static int _round_up_table(const struct clk_div_table *table, int div) in _round_up_table() argument
194 for (clkt = table; clkt->div; clkt++) { in _round_up_table()
207 static int _round_down_table(const struct clk_div_table *table, int div) in _round_down_table() argument
210 int down = _get_table_mindiv(table); in _round_down_table()
212 for (clkt = table; clkt->div; clkt++) { in _round_down_table()
225 static int _div_round_up(const struct clk_div_table *table, in _div_round_up() argument
233 if (table) in _div_round_up()
234 div = _round_up_table(table, div); in _div_round_up()
239 static int _div_round_closest(const struct clk_div_table *table, in _div_round_closest() argument
252 } else if (table) { in _div_round_closest()
253 up = _round_up_table(table, up); in _div_round_closest()
254 down = _round_down_table(table, down); in _div_round_closest()
263 static int _div_round(const struct clk_div_table *table, in _div_round() argument
268 return _div_round_closest(table, parent_rate, rate, flags); in _div_round()
270 return _div_round_up(table, parent_rate, rate, flags); in _div_round()
282 static int _next_div(const struct clk_div_table *table, int div, in _next_div() argument
289 if (table) in _next_div()
290 return _round_up_table(table, div); in _next_div()
298 const struct clk_div_table *table, u8 width, in clk_divider_bestdiv() argument
308 maxdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
312 bestdiv = _div_round(table, parent_rate, rate, flags); in clk_divider_bestdiv()
324 for (i = _next_div(table, 0, flags); i <= maxdiv; in clk_divider_bestdiv()
325 i = _next_div(table, i, flags)) { in clk_divider_bestdiv()
345 bestdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
353 const struct clk_div_table *table, u8 width, in divider_determine_rate() argument
359 &req->best_parent_rate, table, width, flags); in divider_determine_rate()
368 const struct clk_div_table *table, u8 width, in divider_ro_determine_rate() argument
373 div = _get_div(table, val, flags, width); in divider_ro_determine_rate()
392 const struct clk_div_table *table, in divider_round_rate_parent() argument
402 ret = divider_determine_rate(hw, &req, table, width, flags); in divider_round_rate_parent()
414 const struct clk_div_table *table, u8 width, in divider_ro_round_rate_parent() argument
424 ret = divider_ro_determine_rate(hw, &req, table, width, flags, val); in divider_ro_round_rate_parent()
446 return divider_ro_round_rate(hw, rate, prate, divider->table, in clk_divider_round_rate()
451 return divider_round_rate(hw, rate, prate, divider->table, in clk_divider_round_rate()
467 return divider_ro_determine_rate(hw, req, divider->table, in clk_divider_determine_rate()
472 return divider_determine_rate(hw, req, divider->table, divider->width, in clk_divider_determine_rate()
477 const struct clk_div_table *table, u8 width, in divider_get_val() argument
484 if (!_is_valid_div(table, div, flags)) in divider_get_val()
487 value = _get_val(table, div, flags, width); in divider_get_val()
501 value = divider_get_val(rate, parent_rate, divider->table, in clk_divider_set_rate()
549 const struct clk_div_table *table, spinlock_t *lock) in __clk_hw_register_divider() argument
589 div->table = table; in __clk_hw_register_divider()
621 const struct clk_div_table *table, spinlock_t *lock) in clk_register_divider_table() argument
627 table, lock); in clk_register_divider_table()
676 const struct clk_div_table *table, spinlock_t *lock) in __devm_clk_hw_register_divider() argument
686 clk_divider_flags, table, lock); in __devm_clk_hw_register_divider()