Lines Matching refs:div
29 #define CDCE706_DIVIDER(div) (13 + (div)) argument
50 #define CDCE706_DIVIDER_PLL(div) (9 + (div) - ((div) > 2) - ((div) > 4)) argument
51 #define CDCE706_DIVIDER_PLL_SHIFT(div) ((div) < 2 ? 5 : 3 * ((div) & 1)) argument
52 #define CDCE706_DIVIDER_PLL_MASK(div) (0x7 << CDCE706_DIVIDER_PLL_SHIFT(div)) argument
72 unsigned div; member
169 __func__, hwd->idx, hwd->mux, hwd->mul, hwd->div); in cdce706_pll_recalc_rate()
172 if (hwd->div && hwd->mul) { in cdce706_pll_recalc_rate()
175 do_div(res, hwd->div); in cdce706_pll_recalc_rate()
179 if (hwd->div) in cdce706_pll_recalc_rate()
180 return parent_rate / hwd->div; in cdce706_pll_recalc_rate()
189 unsigned long mul, div; in cdce706_pll_round_rate() local
198 &mul, &div); in cdce706_pll_round_rate()
200 hwd->div = div; in cdce706_pll_round_rate()
204 __func__, hwd->idx, mul, div); in cdce706_pll_round_rate()
207 do_div(res, hwd->div); in cdce706_pll_round_rate()
215 unsigned long mul = hwd->mul, div = hwd->div; in cdce706_pll_set_rate() local
220 __func__, hwd->idx, mul, div); in cdce706_pll_set_rate()
225 ((div >> 8) & CDCE706_PLL_HI_M_MASK) | in cdce706_pll_set_rate()
233 div & CDCE706_PLL_LOW_M_MASK); in cdce706_pll_set_rate()
284 __func__, hwd->idx, hwd->div); in cdce706_divider_recalc_rate()
285 if (hwd->div) in cdce706_divider_recalc_rate()
286 return parent_rate / hwd->div; in cdce706_divider_recalc_rate()
295 unsigned long mul, div; in cdce706_divider_round_rate() local
303 &mul, &div); in cdce706_divider_round_rate()
305 div = CDCE706_DIVIDER_DIVIDER_MAX; in cdce706_divider_round_rate()
313 for (div = CDCE706_PLL_FREQ_MIN / rate; best_diff && in cdce706_divider_round_rate()
314 div <= CDCE706_PLL_FREQ_MAX / rate; ++div) { in cdce706_divider_round_rate()
320 if (rate * div < CDCE706_PLL_FREQ_MIN) in cdce706_divider_round_rate()
323 rational_best_approximation(rate * div, gp_rate, in cdce706_divider_round_rate()
329 do_div(div_rate64, div); in cdce706_divider_round_rate()
335 best_div = div; in cdce706_divider_round_rate()
338 __func__, gp_rate, n, m, div, div_rate); in cdce706_divider_round_rate()
342 div = best_div; in cdce706_divider_round_rate()
346 __func__, *parent_rate, rate * div); in cdce706_divider_round_rate()
347 *parent_rate = rate * div; in cdce706_divider_round_rate()
349 hwd->div = div; in cdce706_divider_round_rate()
353 __func__, hwd->idx, div); in cdce706_divider_round_rate()
355 return *parent_rate / div; in cdce706_divider_round_rate()
365 __func__, hwd->idx, hwd->div); in cdce706_divider_set_rate()
370 hwd->div); in cdce706_divider_set_rate()
537 cdce->pll[i].div = m | ((v & CDCE706_PLL_HI_M_MASK) << 8); in cdce706_register_plls()
543 cdce->pll[i].div, cdce->pll[i].mul, cdce->pll[i].mux); in cdce706_register_plls()
576 cdce->divider[i].div = val & CDCE706_DIVIDER_DIVIDER_MASK; in cdce706_register_dividers()
579 cdce->divider[i].parent, cdce->divider[i].div); in cdce706_register_dividers()