Lines Matching refs:width
33 #define div_mask(width) ((1 << (width)) - 1) argument
57 static unsigned int _get_maxdiv(const struct clk_div_table *table, u8 width, in _get_maxdiv() argument
61 return div_mask(width); in _get_maxdiv()
63 return 1 << div_mask(width); in _get_maxdiv()
66 return div_mask(width) + 1; in _get_maxdiv()
81 unsigned int val, unsigned long flags, u8 width) in _get_div() argument
88 return val ? val : div_mask(width) + 1; in _get_div()
106 unsigned int div, unsigned long flags, u8 width) in _get_val() argument
113 return (div == div_mask(width) + 1) ? 0 : div; in _get_val()
127 div = _get_div(table, val, flags, divider->width); in divider_recalc_rate()
146 val &= div_mask(divider->width); in clk_divider_recalc_rate()
281 const struct clk_div_table *table, u8 width, in clk_divider_bestdiv() argument
291 maxdiv = _get_maxdiv(table, width, 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()
358 bestdiv &= div_mask(divider->width); in clk_divider_round_rate()
360 divider->width); in clk_divider_round_rate()
365 divider->width, divider->flags); in clk_divider_round_rate()
369 const struct clk_div_table *table, u8 width, in divider_get_val() argument
379 value = _get_val(table, div, flags, width); in divider_get_val()
381 return min_t(unsigned int, value, div_mask(width)); in divider_get_val()
394 divider->width, divider->flags); in clk_divider_set_rate()
402 val = div_mask(divider->width) << (divider->shift + 16); in clk_divider_set_rate()
405 val &= ~(div_mask(divider->width) << divider->shift); in clk_divider_set_rate()
433 void __iomem *reg, u8 shift, u8 width, in _register_divider() argument
442 if (width + shift > 16) { in _register_divider()
465 div->width = width; in _register_divider()
494 void __iomem *reg, u8 shift, u8 width, in clk_register_divider() argument
498 width, clk_divider_flags, NULL, lock); in clk_register_divider()
518 void __iomem *reg, u8 shift, u8 width, in clk_register_divider_table() argument
523 width, clk_divider_flags, table, lock); in clk_register_divider_table()