Lines Matching +full:270 +full:m
157 * @f: Frequency table with pure m/n/pre_div parameters.
166 * calc_rate() - Calculate rate based on m/n:d values
169 * @m: Multiplier.
171 * @mode: Use zero to ignore m/n calculation.
177 * parent_rate m
182 calc_rate(unsigned long rate, u32 m, u32 n, u32 mode, u32 hid_div) in calc_rate() argument
188 rate = mult_frac(rate, m, n); in calc_rate()
197 u32 hid_div, m = 0, n = 0, mode = 0, mask; in __clk_rcg2_recalc_rate() local
201 regmap_read(rcg->clkr.regmap, RCG_M_OFFSET(rcg), &m); in __clk_rcg2_recalc_rate()
202 m &= mask; in __clk_rcg2_recalc_rate()
206 n += m; in __clk_rcg2_recalc_rate()
215 return calc_rate(parent_rate, m, n, mode, hid_div); in __clk_rcg2_recalc_rate()
273 do_div(tmp, f->m); in _freq_tbl_determine_rate()
315 rate = calc_rate(parent_rate, conf->n, conf->m, conf->n, conf->pre_div); in __clk_rcg2_select_conf()
381 do_div(tmp, conf->m); in _freq_tbl_fm_determine_rate()
440 u16 m, n = 1, n_candidate = 1, n_max; in clk_rcg2_calc_mnd() local
443 m = div64_u64(rate, rates_gcd); in clk_rcg2_calc_mnd()
445 while (scaled_parent_rate > (mnd_max + m) * pre_div_max) { in clk_rcg2_calc_mnd()
447 if (m > 1) { in clk_rcg2_calc_mnd()
448 m--; in clk_rcg2_calc_mnd()
449 scaled_parent_rate = mult_frac(scaled_parent_rate, m, (m + 1)); in clk_rcg2_calc_mnd()
452 f->n = mnd_max + m; in clk_rcg2_calc_mnd()
454 f->m = m; in clk_rcg2_calc_mnd()
459 n_max = m + mnd_max; in clk_rcg2_calc_mnd()
476 f->m = m; in clk_rcg2_calc_mnd()
498 req->rate = calc_rate(parent_rate, f->m, f->n, f->n, f->pre_div); in clk_rcg2_determine_gp_rate()
526 RCG_M_OFFSET(rcg), mask, f->m); in __clk_rcg2_configure_mnd()
531 RCG_N_OFFSET(rcg), mask, ~(f->n - f->m)); in __clk_rcg2_configure_mnd()
538 n_minus_m = f->n - f->m; in __clk_rcg2_configure_mnd()
541 d_val = clamp_t(u32, d_val, f->m, n_minus_m); in __clk_rcg2_configure_mnd()
553 if (rcg->mnd_width && f->n && (f->m != f->n)) in __clk_rcg2_configure_mnd()
661 f_tbl.m = conf->m; in __clk_rcg2_fm_set_rate()
722 u32 notn_m, n, m, d, not2d, mask; in clk_rcg2_get_duty_cycle() local
732 regmap_read(rcg->clkr.regmap, RCG_M_OFFSET(rcg), &m); in clk_rcg2_get_duty_cycle()
735 if (!not2d && !m && !notn_m) { in clk_rcg2_get_duty_cycle()
747 n = (~(notn_m) + m) & mask; in clk_rcg2_get_duty_cycle()
758 u32 notn_m, n, m, d, not2d, mask, duty_per, cfg; in clk_rcg2_set_duty_cycle() local
768 regmap_read(rcg->clkr.regmap, RCG_M_OFFSET(rcg), &m); in clk_rcg2_set_duty_cycle()
775 n = (~(notn_m) + m) & mask; in clk_rcg2_set_duty_cycle()
788 if ((d / 2) > (n - m)) in clk_rcg2_set_duty_cycle()
789 d = (n - m) * 2; in clk_rcg2_set_duty_cycle()
790 else if ((d / 2) < (m / 2)) in clk_rcg2_set_duty_cycle()
791 d = m; in clk_rcg2_set_duty_cycle()
866 static const struct frac_entry frac_table_675m[] = { /* link rate of 270M */
867 { 52, 295 }, /* 119 M */
868 { 11, 57 }, /* 130.25 M */
869 { 63, 307 }, /* 138.50 M */
870 { 11, 50 }, /* 148.50 M */
871 { 47, 206 }, /* 154 M */
872 { 31, 100 }, /* 205.25 M */
873 { 107, 269 }, /* 268.50 M */
877 static struct frac_entry frac_table_810m[] = { /* Link rate of 162M */
878 { 31, 211 }, /* 119 M */
879 { 32, 199 }, /* 130.25 M */
880 { 63, 307 }, /* 138.50 M */
881 { 11, 60 }, /* 148.50 M */
882 { 50, 263 }, /* 154 M */
883 { 31, 120 }, /* 205.25 M */
884 { 119, 359 }, /* 268.50 M */
918 f.m = frac->num; in clk_edp_pixel_set_rate()
1182 f.m = frac->num; in clk_pixel_set_rate()
1388 * In case clock is disabled, update the M, N and D registers, cache in __clk_rcg2_shared_set_rate()
1635 f->m = val; in clk_rcg2_dfs_populate_freq()
1641 val += f->m; in clk_rcg2_dfs_populate_freq()
1645 f->freq = calc_rate(prate, f->m, f->n, mode, f->pre_div); in clk_rcg2_dfs_populate_freq()
1687 u32 level, mask, cfg, m = 0, n = 0, mode, pre_div; in clk_rcg2_dfs_recalc_rate() local
1717 rcg->cmd_rcgr + SE_PERF_M_DFSR(level), &m); in clk_rcg2_dfs_recalc_rate()
1718 m &= mask; in clk_rcg2_dfs_recalc_rate()
1724 n += m; in clk_rcg2_dfs_recalc_rate()
1727 return calc_rate(parent_rate, m, n, mode, pre_div); in clk_rcg2_dfs_recalc_rate()
1813 f.m = num; in clk_rcg2_dp_set_rate()
1816 f.m = 0; in clk_rcg2_dp_set_rate()