Lines Matching refs:div
32 #define CDCE706_DIVIDER(div) (13 + (div)) argument
53 #define CDCE706_DIVIDER_PLL(div) (9 + (div) - ((div) > 2) - ((div) > 4)) argument
54 #define CDCE706_DIVIDER_PLL_SHIFT(div) ((div) < 2 ? 5 : 3 * ((div) & 1)) argument
55 #define CDCE706_DIVIDER_PLL_MASK(div) (0x7 << CDCE706_DIVIDER_PLL_SHIFT(div)) argument
75 unsigned div; member
172 __func__, hwd->idx, hwd->mux, hwd->mul, hwd->div); in cdce706_pll_recalc_rate()
175 if (hwd->div && hwd->mul) { in cdce706_pll_recalc_rate()
178 do_div(res, hwd->div); in cdce706_pll_recalc_rate()
182 if (hwd->div) in cdce706_pll_recalc_rate()
183 return parent_rate / hwd->div; in cdce706_pll_recalc_rate()
192 unsigned long mul, div; in cdce706_pll_round_rate() local
201 &mul, &div); in cdce706_pll_round_rate()
203 hwd->div = div; in cdce706_pll_round_rate()
207 __func__, hwd->idx, mul, div); in cdce706_pll_round_rate()
210 do_div(res, hwd->div); in cdce706_pll_round_rate()
218 unsigned long mul = hwd->mul, div = hwd->div; in cdce706_pll_set_rate() local
223 __func__, hwd->idx, mul, div); in cdce706_pll_set_rate()
228 ((div >> 8) & CDCE706_PLL_HI_M_MASK) | in cdce706_pll_set_rate()
236 div & CDCE706_PLL_LOW_M_MASK); in cdce706_pll_set_rate()
287 __func__, hwd->idx, hwd->div); in cdce706_divider_recalc_rate()
288 if (hwd->div) in cdce706_divider_recalc_rate()
289 return parent_rate / hwd->div; in cdce706_divider_recalc_rate()
298 unsigned long mul, div; in cdce706_divider_round_rate() local
306 &mul, &div); in cdce706_divider_round_rate()
308 div = CDCE706_DIVIDER_DIVIDER_MAX; in cdce706_divider_round_rate()
316 for (div = CDCE706_PLL_FREQ_MIN / rate; best_diff && in cdce706_divider_round_rate()
317 div <= CDCE706_PLL_FREQ_MAX / rate; ++div) { in cdce706_divider_round_rate()
323 if (rate * div < CDCE706_PLL_FREQ_MIN) in cdce706_divider_round_rate()
326 rational_best_approximation(rate * div, gp_rate, in cdce706_divider_round_rate()
332 do_div(div_rate64, div); in cdce706_divider_round_rate()
338 best_div = div; in cdce706_divider_round_rate()
341 __func__, gp_rate, n, m, div, div_rate); in cdce706_divider_round_rate()
345 div = best_div; in cdce706_divider_round_rate()
349 __func__, *parent_rate, rate * div); in cdce706_divider_round_rate()
350 *parent_rate = rate * div; in cdce706_divider_round_rate()
352 hwd->div = div; in cdce706_divider_round_rate()
356 __func__, hwd->idx, div); in cdce706_divider_round_rate()
358 return *parent_rate / div; in cdce706_divider_round_rate()
368 __func__, hwd->idx, hwd->div); in cdce706_divider_set_rate()
373 hwd->div); in cdce706_divider_set_rate()
540 cdce->pll[i].div = m | ((v & CDCE706_PLL_HI_M_MASK) << 8); in cdce706_register_plls()
546 cdce->pll[i].div, cdce->pll[i].mul, cdce->pll[i].mux); in cdce706_register_plls()
579 cdce->divider[i].div = val & CDCE706_DIVIDER_DIVIDER_MASK; in cdce706_register_dividers()
582 cdce->divider[i].parent, cdce->divider[i].div); in cdce706_register_dividers()