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;
254 clkdco = 2 * m * fint;
256 if (func(n, m, fint, clkdco, data))
266 * for clkout. Additionally clkdco rate will be the same as clkout rate
269 * clkdco = clkin / n * m + clkin / n * mf / 262144
270 * clkout = clkdco / m2
275 unsigned long fint, clkdco, clkout;
287 /* adjust m2 so that the clkdco will be high enough */
296 clkdco = fint * m;
298 /* adjust clkdco with fractional mf */
299 if (WARN_ON(target_clkdco - clkdco > fint))
302 mf = (u32)div_u64(262144ull * (target_clkdco - clkdco), fint);
305 clkdco += (u32)div_u64((u64)mf * fint, 262144);
307 clkout = clkdco / m2;
314 DSSDBG("Fint %lu, clkdco %lu, clkout %lu\n", fint, clkdco, clkout);
323 cinfo->clkdco = clkdco;
436 u32 f = cinfo->clkdco < hw->clkdco_low ? 0x2 : 0x4;
544 if (cinfo->clkdco > hw->clkdco_low)