Lines Matching refs:clkdco
176 bool dss_pll_hsdiv_calc_a(const struct dss_pll *pll, unsigned long clkdco,
187 m_start = max(DIV_ROUND_UP(clkdco, out_max), 1ul);
189 m_stop = min((unsigned)(clkdco / out_min), hw->mX_max);
192 out = clkdco / m;
202 * clkdco = clkin / n * m * 2
203 * clkoutX = clkdco / mX
212 unsigned long fint, clkdco;
248 clkdco = 2 * m * fint;
250 if (func(n, m, fint, clkdco, data))
260 * for clkout. Additionally clkdco rate will be the same as clkout rate
263 * clkdco = clkin / n * m + clkin / n * mf / 262144
264 * clkout = clkdco / m2
269 unsigned long fint, clkdco, clkout;
281 /* adjust m2 so that the clkdco will be high enough */
290 clkdco = fint * m;
292 /* adjust clkdco with fractional mf */
293 if (WARN_ON(target_clkdco - clkdco > fint))
296 mf = (u32)div_u64(262144ull * (target_clkdco - clkdco), fint);
299 clkdco += (u32)div_u64((u64)mf * fint, 262144);
301 clkout = clkdco / m2;
308 DSSDBG("Fint %lu, clkdco %lu, clkout %lu\n", fint, clkdco, clkout);
317 cinfo->clkdco = clkdco;
430 u32 f = cinfo->clkdco < hw->clkdco_low ? 0x2 : 0x4;
538 if (cinfo->clkdco > hw->clkdco_low)