Lines Matching refs:parent_rate
55 static unsigned long __pll_params_to_rate(unsigned long parent_rate, in __pll_params_to_rate() argument
60 u64 rate = (u64)parent_rate * m; in __pll_params_to_rate()
63 u64 frac_rate = (u64)parent_rate * frac; in __pll_params_to_rate()
73 unsigned long parent_rate) in meson_clk_pll_recalc_rate() argument
86 return __pll_params_to_rate(parent_rate, m, n, frac, pll); in meson_clk_pll_recalc_rate()
90 unsigned long parent_rate, in __pll_params_with_frac() argument
99 if (rate < parent_rate * m / n) in __pll_params_with_frac()
103 val = DIV_ROUND_CLOSEST_ULL(val * frac_max, parent_rate); in __pll_params_with_frac()
105 val = div_u64(val * frac_max, parent_rate); in __pll_params_with_frac()
145 unsigned long parent_rate, in meson_clk_get_pll_range_m() argument
152 return DIV_ROUND_CLOSEST_ULL(val, parent_rate); in meson_clk_get_pll_range_m()
154 return div_u64(val, parent_rate); in meson_clk_get_pll_range_m()
158 unsigned long parent_rate, in meson_clk_get_pll_range_index() argument
172 if (rate <= pll->range->min * parent_rate) { in meson_clk_get_pll_range_index()
175 } else if (rate >= pll->range->max * parent_rate) { in meson_clk_get_pll_range_index()
181 *m = meson_clk_get_pll_range_m(rate, parent_rate, *n, pll); in meson_clk_get_pll_range_index()
191 unsigned long parent_rate, in meson_clk_get_pll_get_index() argument
198 return meson_clk_get_pll_range_index(rate, parent_rate, in meson_clk_get_pll_get_index()
207 unsigned long parent_rate, in meson_clk_get_pll_settings() argument
217 ret = meson_clk_get_pll_get_index(rate, parent_rate, in meson_clk_get_pll_settings()
222 now = __pll_params_to_rate(parent_rate, m, n, 0, pll); in meson_clk_get_pll_settings()
237 unsigned long *parent_rate) in meson_clk_pll_round_rate() argument
245 ret = meson_clk_get_pll_settings(rate, *parent_rate, &m, &n, pll); in meson_clk_pll_round_rate()
247 return meson_clk_pll_recalc_rate(hw, *parent_rate); in meson_clk_pll_round_rate()
249 round = __pll_params_to_rate(*parent_rate, m, n, 0, pll); in meson_clk_pll_round_rate()
258 frac = __pll_params_with_frac(rate, *parent_rate, m, n, pll); in meson_clk_pll_round_rate()
260 return __pll_params_to_rate(*parent_rate, m, n, frac, pll); in meson_clk_pll_round_rate()
353 unsigned long parent_rate) in meson_clk_pll_set_rate() argument
360 if (parent_rate == 0 || rate == 0) in meson_clk_pll_set_rate()
365 ret = meson_clk_get_pll_settings(rate, parent_rate, &m, &n, pll); in meson_clk_pll_set_rate()
377 frac = __pll_params_with_frac(rate, parent_rate, m, n, pll); in meson_clk_pll_set_rate()
394 meson_clk_pll_set_rate(hw, old_rate, parent_rate); in meson_clk_pll_set_rate()