Lines Matching refs:mf
310 struct clk_pllv3_vf610_mf mf)
315 temp64 *= mf.mfn;
316 do_div(temp64, mf.mfd);
318 return (parent_rate * mf.mfi) + temp64;
324 struct clk_pllv3_vf610_mf mf;
327 mf.mfi = (rate >= 22 * parent_rate) ? 22 : 20;
328 mf.mfd = 0x3fffffff; /* use max supported value for best accuracy */
330 if (rate <= parent_rate * mf.mfi)
331 mf.mfn = 0;
332 else if (rate >= parent_rate * (mf.mfi + 1))
333 mf.mfn = mf.mfd - 1;
336 temp64 = rate - parent_rate * mf.mfi;
337 temp64 *= mf.mfd;
339 mf.mfn = temp64;
342 return mf;
349 struct clk_pllv3_vf610_mf mf;
351 mf.mfn = readl_relaxed(pll->base + pll->num_offset);
352 mf.mfd = readl_relaxed(pll->base + pll->denom_offset);
353 mf.mfi = (readl_relaxed(pll->base) & pll->div_mask) ? 22 : 20;
355 return clk_pllv3_vf610_mf_to_rate(parent_rate, mf);
361 struct clk_pllv3_vf610_mf mf = clk_pllv3_vf610_rate_to_mf(*prate, rate);
363 return clk_pllv3_vf610_mf_to_rate(*prate, mf);
370 struct clk_pllv3_vf610_mf mf =
375 if (mf.mfi == 20)
381 writel_relaxed(mf.mfn, pll->base + pll->num_offset);
382 writel_relaxed(mf.mfd, pll->base + pll->denom_offset);