Lines Matching refs:fref
3437 static int madera_find_sync_fratio(unsigned int fref, int *fratio) in madera_find_sync_fratio() argument
3442 if (fll_sync_fratios[i].min <= fref && in madera_find_sync_fratio()
3443 fref <= fll_sync_fratios[i].max) { in madera_find_sync_fratio()
3454 static int madera_find_main_fratio(unsigned int fref, unsigned int fout, in madera_find_main_fratio() argument
3459 while ((fout / (ratio * fref)) > MADERA_FLL_MAX_N) in madera_find_main_fratio()
3468 static int madera_find_fratio(struct madera_fll *fll, unsigned int fref, in madera_find_fratio() argument
3476 return madera_find_sync_fratio(fref, fratio); in madera_find_fratio()
3479 return madera_find_sync_fratio(fref, fratio); in madera_find_fratio()
3481 return madera_find_main_fratio(fref, in madera_find_fratio()
3489 return madera_find_sync_fratio(fref, fratio); in madera_find_fratio()
3492 return madera_find_sync_fratio(fref, fratio); in madera_find_fratio()
3494 return madera_find_main_fratio(fref, fll->fout, fratio); in madera_find_fratio()
3500 unsigned int fref, bool sync) in madera_calc_fratio() argument
3508 while (fref > MADERA_FLL_MAX_FREF) { in madera_calc_fratio()
3510 fref /= 2; in madera_calc_fratio()
3518 init_ratio = madera_find_fratio(fll, fref, sync, &cfg->fratio); in madera_calc_fratio()
3521 fref); in madera_calc_fratio()
3560 if (fll->fout % (ratio * fref)) { in madera_calc_fratio()
3570 (MADERA_FLL_VCO_MULT * ratio) < fref) in madera_calc_fratio()
3573 if (fref > pseudo_fref_max[ratio - 1]) in madera_calc_fratio()
3576 if (fll->fout % (ratio * fref)) { in madera_calc_fratio()
3584 fref /= 2; in madera_calc_fratio()
3586 init_ratio = madera_find_fratio(fll, fref, sync, NULL); in madera_calc_fratio()
3596 unsigned int fref, in madera_find_fll_gain() argument
3603 if (gains[i].min <= fref && fref <= gains[i].max) { in madera_find_fll_gain()
3610 madera_fll_err(fll, "Unable to find gain for fref=%uHz\n", fref); in madera_find_fll_gain()
3617 unsigned int fref, bool sync) in madera_calc_fll() argument
3625 fref, fll->fout, fll->fout * MADERA_FLL_VCO_MULT); in madera_calc_fll()
3628 ratio = madera_calc_fratio(fll, cfg, fref, sync); in madera_calc_fll()
3633 fref = fref / (1 << cfg->refdiv); in madera_calc_fll()
3635 cfg->n = fll->fout / (ratio * fref); in madera_calc_fll()
3637 if (fll->fout % (ratio * fref)) { in madera_calc_fll()
3638 gcd_fll = gcd(fll->fout, ratio * fref); in madera_calc_fll()
3641 cfg->theta = (fll->fout - (cfg->n * ratio * fref)) in madera_calc_fll()
3643 cfg->lambda = (ratio * fref) / gcd_fll; in madera_calc_fll()
3695 ret = madera_find_fll_gain(fll, cfg, fref, gains, n_gains); in madera_calc_fll()
4117 unsigned int fref, unsigned int fout) in madera_set_fll_syncclk() argument
4125 if (fll->sync_src == source && fll->sync_freq == fref) in madera_set_fll_syncclk()
4129 fll->sync_freq = fref; in madera_set_fll_syncclk()
4136 unsigned int fref, unsigned int fout) in madera_set_fll_refclk() argument
4141 fll->ref_freq == fref && fll->fout == fout) in madera_set_fll_refclk()
4160 fll->ref_freq = fref; in madera_set_fll_refclk()
4417 int refdiv, fref, fout, lockdet_thr, fbdiv, hp, fast_clk, fllgcd; in madera_fllhj_apply() local
4428 fref = fin / (1 << refdiv); in madera_fllhj_apply()
4435 frac = fout % fref; in madera_fllhj_apply()
4437 if (fref < MADERA_FLLHJ_LOW_THRESH) { in madera_fllhj_apply()
4444 } else if (fref < MADERA_FLLHJ_MID_THRESH) { in madera_fllhj_apply()
4471 ratio = fout / fref; in madera_fllhj_apply()
4474 refdiv, fref, frac); in madera_fllhj_apply()
4495 fllgcd = gcd(fout, fbdiv * fref); in madera_fllhj_apply()
4497 lambda = (fref * fbdiv) / fllgcd; in madera_fllhj_apply()