Lines Matching refs:mf

309 		struct clk_pllv3_vf610_mf mf)  in clk_pllv3_vf610_mf_to_rate()  argument
314 temp64 *= mf.mfn; in clk_pllv3_vf610_mf_to_rate()
315 do_div(temp64, mf.mfd); in clk_pllv3_vf610_mf_to_rate()
317 return (parent_rate * mf.mfi) + temp64; in clk_pllv3_vf610_mf_to_rate()
323 struct clk_pllv3_vf610_mf mf; in clk_pllv3_vf610_rate_to_mf() local
326 mf.mfi = (rate >= 22 * parent_rate) ? 22 : 20; in clk_pllv3_vf610_rate_to_mf()
327 mf.mfd = 0x3fffffff; /* use max supported value for best accuracy */ in clk_pllv3_vf610_rate_to_mf()
329 if (rate <= parent_rate * mf.mfi) in clk_pllv3_vf610_rate_to_mf()
330 mf.mfn = 0; in clk_pllv3_vf610_rate_to_mf()
331 else if (rate >= parent_rate * (mf.mfi + 1)) in clk_pllv3_vf610_rate_to_mf()
332 mf.mfn = mf.mfd - 1; in clk_pllv3_vf610_rate_to_mf()
335 temp64 = rate - parent_rate * mf.mfi; in clk_pllv3_vf610_rate_to_mf()
336 temp64 *= mf.mfd; in clk_pllv3_vf610_rate_to_mf()
338 mf.mfn = temp64; in clk_pllv3_vf610_rate_to_mf()
341 return mf; in clk_pllv3_vf610_rate_to_mf()
348 struct clk_pllv3_vf610_mf mf; in clk_pllv3_vf610_recalc_rate() local
350 mf.mfn = readl_relaxed(pll->base + pll->num_offset); in clk_pllv3_vf610_recalc_rate()
351 mf.mfd = readl_relaxed(pll->base + pll->denom_offset); in clk_pllv3_vf610_recalc_rate()
352 mf.mfi = (readl_relaxed(pll->base) & pll->div_mask) ? 22 : 20; in clk_pllv3_vf610_recalc_rate()
354 return clk_pllv3_vf610_mf_to_rate(parent_rate, mf); in clk_pllv3_vf610_recalc_rate()
360 struct clk_pllv3_vf610_mf mf = clk_pllv3_vf610_rate_to_mf(*prate, rate); in clk_pllv3_vf610_round_rate() local
362 return clk_pllv3_vf610_mf_to_rate(*prate, mf); in clk_pllv3_vf610_round_rate()
369 struct clk_pllv3_vf610_mf mf = in clk_pllv3_vf610_set_rate() local
374 if (mf.mfi == 20) in clk_pllv3_vf610_set_rate()
380 writel_relaxed(mf.mfn, pll->base + pll->num_offset); in clk_pllv3_vf610_set_rate()
381 writel_relaxed(mf.mfd, pll->base + pll->denom_offset); in clk_pllv3_vf610_set_rate()