Lines Matching refs:flags
58 unsigned long flags) in _get_maxdiv() argument
60 if (flags & CLK_DIVIDER_ONE_BASED) in _get_maxdiv()
62 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _get_maxdiv()
81 unsigned int val, unsigned long flags, u8 width) in _get_div() argument
83 if (flags & CLK_DIVIDER_ONE_BASED) in _get_div()
85 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _get_div()
87 if (flags & CLK_DIVIDER_MAX_AT_ZERO) in _get_div()
106 unsigned int div, unsigned long flags, u8 width) in _get_val() argument
108 if (flags & CLK_DIVIDER_ONE_BASED) in _get_val()
110 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _get_val()
112 if (flags & CLK_DIVIDER_MAX_AT_ZERO) in _get_val()
122 unsigned long flags) in divider_recalc_rate() argument
127 div = _get_div(table, val, flags, divider->width); in divider_recalc_rate()
129 WARN(!(flags & CLK_DIVIDER_ALLOW_ZERO), in divider_recalc_rate()
149 divider->flags); in clk_divider_recalc_rate()
164 unsigned long flags) in _is_valid_div() argument
166 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _is_valid_div()
211 unsigned long flags) in _div_round_up() argument
215 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _div_round_up()
225 unsigned long flags) in _div_round_closest() argument
233 if (flags & CLK_DIVIDER_POWER_OF_TWO) { in _div_round_closest()
249 unsigned long flags) in _div_round() argument
251 if (flags & CLK_DIVIDER_ROUND_CLOSEST) in _div_round()
252 return _div_round_closest(table, parent_rate, rate, flags); in _div_round()
254 return _div_round_up(table, parent_rate, rate, flags); in _div_round()
258 unsigned long best, unsigned long flags) in _is_best_div() argument
260 if (flags & CLK_DIVIDER_ROUND_CLOSEST) in _is_best_div()
267 unsigned long flags) in _next_div() argument
271 if (flags & CLK_DIVIDER_POWER_OF_TWO) in _next_div()
282 unsigned long flags) in clk_divider_bestdiv() argument
291 maxdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
295 bestdiv = _div_round(table, parent_rate, rate, flags); in clk_divider_bestdiv()
307 for (i = 1; i <= maxdiv; i = _next_div(table, i, flags)) { in clk_divider_bestdiv()
308 if (!_is_valid_div(table, i, flags)) in clk_divider_bestdiv()
322 if (_is_best_div(rate, now, best, flags)) { in clk_divider_bestdiv()
330 bestdiv = _get_maxdiv(table, width, flags); in clk_divider_bestdiv()
339 u8 width, unsigned long flags) in divider_round_rate() argument
343 div = clk_divider_bestdiv(hw, rate, prate, table, width, flags); in divider_round_rate()
356 if (divider->flags & CLK_DIVIDER_READ_ONLY) { in clk_divider_round_rate()
359 bestdiv = _get_div(divider->table, bestdiv, divider->flags, in clk_divider_round_rate()
365 divider->width, divider->flags); in clk_divider_round_rate()
370 unsigned long flags) in divider_get_val() argument
376 if (!_is_valid_div(table, div, flags)) in divider_get_val()
379 value = _get_val(table, div, flags, width); in divider_get_val()
390 unsigned long flags = 0; in clk_divider_set_rate() local
394 divider->width, divider->flags); in clk_divider_set_rate()
397 spin_lock_irqsave(divider->lock, flags); in clk_divider_set_rate()
401 if (divider->flags & CLK_DIVIDER_HIWORD_MASK) { in clk_divider_set_rate()
411 spin_unlock_irqrestore(divider->lock, flags); in clk_divider_set_rate()
432 const char *parent_name, unsigned long flags, in _register_divider() argument
458 init.flags = flags | CLK_IS_BASIC; in _register_divider()
466 div->flags = clk_divider_flags; in _register_divider()
493 const char *parent_name, unsigned long flags, in clk_register_divider() argument
497 return _register_divider(dev, name, parent_name, flags, reg, shift, in clk_register_divider()
517 const char *parent_name, unsigned long flags, in clk_register_divider_table() argument
522 return _register_divider(dev, name, parent_name, flags, reg, shift, in clk_register_divider_table()