Lines Matching refs:parent_rate
55 static unsigned long __pll_params_to_rate(unsigned long parent_rate,
60 u64 rate = (u64)parent_rate * m;
63 u64 frac_rate = (u64)parent_rate * frac;
73 unsigned long parent_rate)
95 return __pll_params_to_rate(parent_rate, m, n, frac, pll);
99 unsigned long parent_rate,
108 if (rate < parent_rate * m / n)
112 val = DIV_ROUND_CLOSEST_ULL(val * frac_max, parent_rate);
114 val = div_u64(val * frac_max, parent_rate);
154 unsigned long parent_rate,
161 return DIV_ROUND_CLOSEST_ULL(val, parent_rate);
163 return div_u64(val, parent_rate);
167 unsigned long parent_rate,
181 if (rate <= pll->range->min * parent_rate) {
184 } else if (rate >= pll->range->max * parent_rate) {
190 *m = meson_clk_get_pll_range_m(rate, parent_rate, *n, pll);
200 unsigned long parent_rate,
207 return meson_clk_get_pll_range_index(rate, parent_rate,
216 unsigned long parent_rate,
226 ret = meson_clk_get_pll_get_index(rate, parent_rate,
231 now = __pll_params_to_rate(parent_rate, m, n, 0, pll);
246 unsigned long *parent_rate)
254 ret = meson_clk_get_pll_settings(rate, *parent_rate, &m, &n, pll);
256 return meson_clk_pll_recalc_rate(hw, *parent_rate);
258 round = __pll_params_to_rate(*parent_rate, m, n, 0, pll);
267 frac = __pll_params_with_frac(rate, *parent_rate, m, n, pll);
269 return __pll_params_to_rate(*parent_rate, m, n, frac, pll);
364 unsigned long parent_rate)
372 if (parent_rate == 0 || rate == 0)
377 ret = meson_clk_get_pll_settings(rate, parent_rate, &m, &n, pll);
389 frac = __pll_params_with_frac(rate, parent_rate, m, n, pll);
407 meson_clk_pll_set_rate(hw, old_rate, parent_rate);