Lines Matching refs:kdiv
107 int sdiv, int kdiv, unsigned long prate)
112 fout *= (mdiv * 65536 + kdiv);
123 long kdiv;
125 /* calc kdiv = round(rate * pdiv * 65536 * 2^sdiv / prate) - (mdiv * 65536) */
126 kdiv = ((rate * ((pdiv * 65536) << sdiv) + prate / 2) / prate) - (mdiv * 65536);
128 return clamp_t(short, kdiv, KDIV_MIN, KDIV_MAX);
135 int mdiv, pdiv, sdiv, kdiv;
160 t->kdiv = tt->kdiv;
170 /* Then see if we can get the desired rate by only adjusting kdiv (glitch free) */
175 kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate, prate);
176 pr_debug("%s: in=%ld, want=%ld Only adjust kdiv %ld -> %d\n",
178 FIELD_GET(KDIV_MASK, pll_div_ctl1), kdiv);
179 fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
184 t->kdiv = kdiv;
195 kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate, prate);
196 fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
206 t->kdiv = kdiv;
214 pr_debug("%s: in=%ld, want=%ld got=%d (pdiv=%d sdiv=%d mdiv=%d kdiv=%d)\n",
216 t->mdiv, t->kdiv);
257 u32 mdiv, pdiv, sdiv, kdiv, pll_div_ctl0, pll_div_ctl1;
266 kdiv = (s16)FIELD_GET(KDIV_MASK, pll_div_ctl1);
268 kdiv = 0;
271 return pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, parent_rate);
372 /* only sdiv and/or kdiv changed - no need to RESET PLL */
377 writel_relaxed(FIELD_PREP(KDIV_MASK, rate.kdiv),
397 writel_relaxed(FIELD_PREP(KDIV_MASK, rate.kdiv), pll->base + DIV_CTL1);