Lines Matching refs:divider
53 unsigned int divider; in dove_get_divider() local
59 divider = val & ~(~0 << dc->div_bit_size); in dove_get_divider()
62 divider = dc->divider_table[divider]; in dove_get_divider()
64 return divider; in dove_get_divider()
70 unsigned int divider, max; in dove_calc_divider() local
72 divider = DIV_ROUND_CLOSEST(parent_rate, rate); in dove_calc_divider()
78 if (divider == dc->divider_table[i]) { in dove_calc_divider()
79 divider = i; in dove_calc_divider()
88 if (set && (divider == 0 || divider >= max)) in dove_calc_divider()
90 if (divider >= max) in dove_calc_divider()
91 divider = max - 1; in dove_calc_divider()
92 else if (divider == 0) in dove_calc_divider()
93 divider = 1; in dove_calc_divider()
96 return divider; in dove_calc_divider()
102 unsigned int divider = dove_get_divider(dc); in dove_recalc_rate() local
103 unsigned long rate = DIV_ROUND_CLOSEST(parent, divider); in dove_recalc_rate()
106 __func__, dc->name, divider, parent, rate); in dove_recalc_rate()
116 int divider; in dove_round_rate() local
118 divider = dove_calc_divider(dc, rate, parent_rate, false); in dove_round_rate()
119 if (divider < 0) in dove_round_rate()
120 return divider; in dove_round_rate()
122 rate = DIV_ROUND_CLOSEST(parent_rate, divider); in dove_round_rate()
125 __func__, dc->name, divider, parent_rate, rate); in dove_round_rate()
135 int divider; in dove_set_clock() local
137 divider = dove_calc_divider(dc, rate, parent_rate, true); in dove_set_clock()
138 if (divider < 0) in dove_set_clock()
139 return divider; in dove_set_clock()
142 __func__, dc->name, divider, parent_rate, rate); in dove_set_clock()
144 div = (u32)divider << dc->div_bit_start; in dove_set_clock()