Lines Matching defs:pdiv

104 static long pll14xx_calc_rate(struct clk_pll14xx *pll, int mdiv, int pdiv,
111 pdiv *= 65536;
113 do_div(fout, pdiv << sdiv);
118 static long pll1443x_calc_kdiv(int mdiv, int pdiv, int sdiv,
123 /* calc kdiv = round(rate * pdiv * 65536 * 2^sdiv / prate) - (mdiv * 65536) */
124 kdiv = ((rate * ((pdiv * 65536) << sdiv) + prate / 2) / prate) - (mdiv * 65536);
133 int mdiv, pdiv, sdiv, kdiv;
156 t->pdiv = tt->pdiv;
164 pdiv = FIELD_GET(PDIV_MASK, pll_div_ctl0);
169 rate_min = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, KDIV_MIN, prate);
170 rate_max = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, KDIV_MAX, prate);
173 kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate, prate);
177 fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
180 t->pdiv = pdiv;
187 for (pdiv = 1; pdiv <= 63; pdiv++) {
189 /* calc mdiv = round(rate * pdiv * 2^sdiv) / prate) */
190 mdiv = DIV_ROUND_CLOSEST(rate * (pdiv << sdiv), prate);
193 kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate, prate);
194 fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate);
202 t->pdiv = pdiv;
212 pr_debug("%s: in=%ld, want=%ld got=%d (pdiv=%d sdiv=%d mdiv=%d kdiv=%d)\n",
213 clk_hw_get_name(&pll->hw), prate, rate, t->rate, t->pdiv, t->sdiv,
248 u32 mdiv, pdiv, sdiv, kdiv, pll_div_ctl0, pll_div_ctl1;
252 pdiv = FIELD_GET(PDIV_MASK, pll_div_ctl0);
262 return pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, parent_rate);
273 return rate->mdiv != old_mdiv || rate->pdiv != old_pdiv;
322 div_val = FIELD_PREP(MDIV_MASK, rate->mdiv) | FIELD_PREP(PDIV_MASK, rate->pdiv) |
384 FIELD_PREP(PDIV_MASK, rate.pdiv) |