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