Lines Matching refs:parent_rate

62 						unsigned long parent_rate)  in sun6i_ahb1_clk_recalc_rate()  argument
73 parent_rate /= SUN6I_AHB1_PLL6_DIV_GET(reg) + 1; in sun6i_ahb1_clk_recalc_rate()
76 rate = parent_rate >> SUN6I_AHB1_DIV_GET(reg); in sun6i_ahb1_clk_recalc_rate()
82 u8 parent, unsigned long parent_rate) in sun6i_ahb1_clk_round() argument
90 if (parent_rate && rate > parent_rate) in sun6i_ahb1_clk_round()
91 rate = parent_rate; in sun6i_ahb1_clk_round()
93 div = DIV_ROUND_UP(parent_rate, rate); in sun6i_ahb1_clk_round()
118 return (parent_rate / calcm) >> calcp; in sun6i_ahb1_clk_round()
129 unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0; in sun6i_ahb1_clk_determine_rate() local
138 parent_rate = __clk_round_rate(parent, rate); in sun6i_ahb1_clk_determine_rate()
140 parent_rate = __clk_get_rate(parent); in sun6i_ahb1_clk_determine_rate()
143 parent_rate); in sun6i_ahb1_clk_determine_rate()
147 best = parent_rate; in sun6i_ahb1_clk_determine_rate()
160 unsigned long parent_rate) in sun6i_ahb1_clk_set_rate() argument
173 sun6i_ahb1_clk_round(rate, &div, &pre_div, parent, parent_rate); in sun6i_ahb1_clk_set_rate()
248 static void sun4i_get_pll1_factors(u32 *freq, u32 parent_rate, in sun4i_get_pll1_factors() argument
299 static void sun6i_a31_get_pll1_factors(u32 *freq, u32 parent_rate, in sun6i_a31_get_pll1_factors() argument
307 u32 parent_freq_mhz = parent_rate / 1000000; in sun6i_a31_get_pll1_factors()
384 static void sun8i_a23_get_pll1_factors(u32 *freq, u32 parent_rate, in sun8i_a23_get_pll1_factors() argument
432 static void sun4i_get_pll5_factors(u32 *freq, u32 parent_rate, in sun4i_get_pll5_factors() argument
438 div = *freq / parent_rate; in sun4i_get_pll5_factors()
439 *freq = parent_rate * div; in sun4i_get_pll5_factors()
464 static void sun6i_a31_get_pll6_factors(u32 *freq, u32 parent_rate, in sun6i_a31_get_pll6_factors() argument
470 div = *freq / parent_rate; in sun6i_a31_get_pll6_factors()
471 *freq = parent_rate * div; in sun6i_a31_get_pll6_factors()
490 static void sun5i_a13_get_ahb_factors(u32 *freq, u32 parent_rate, in sun5i_a13_get_ahb_factors() argument
496 if (parent_rate < *freq) in sun5i_a13_get_ahb_factors()
497 *freq = parent_rate; in sun5i_a13_get_ahb_factors()
508 div = order_base_2(DIV_ROUND_UP(parent_rate, *freq)); in sun5i_a13_get_ahb_factors()
514 *freq = parent_rate >> div; in sun5i_a13_get_ahb_factors()
529 static void sun4i_get_apb1_factors(u32 *freq, u32 parent_rate, in sun4i_get_apb1_factors() argument
534 if (parent_rate < *freq) in sun4i_get_apb1_factors()
535 *freq = parent_rate; in sun4i_get_apb1_factors()
537 parent_rate = DIV_ROUND_UP(parent_rate, *freq); in sun4i_get_apb1_factors()
540 if (parent_rate > 32) in sun4i_get_apb1_factors()
543 if (parent_rate <= 4) in sun4i_get_apb1_factors()
545 else if (parent_rate <= 8) in sun4i_get_apb1_factors()
547 else if (parent_rate <= 16) in sun4i_get_apb1_factors()
552 calcm = (parent_rate >> calcp) - 1; in sun4i_get_apb1_factors()
554 *freq = (parent_rate >> calcp) / (calcm + 1); in sun4i_get_apb1_factors()
573 static void sun7i_a20_get_out_factors(u32 *freq, u32 parent_rate, in sun7i_a20_get_out_factors() argument
580 if (*freq > parent_rate) in sun7i_a20_get_out_factors()
581 *freq = parent_rate; in sun7i_a20_get_out_factors()
583 div = DIV_ROUND_UP(parent_rate, *freq); in sun7i_a20_get_out_factors()
596 *freq = (parent_rate >> calcp) / calcm; in sun7i_a20_get_out_factors()