Lines Matching refs:rate

22 	u64 rate = parent;  in ccu_nm_calc_rate()  local
24 rate *= n; in ccu_nm_calc_rate()
25 do_div(rate, m); in ccu_nm_calc_rate()
27 return rate; in ccu_nm_calc_rate()
31 unsigned long rate, struct _ccu_nm *nm) in ccu_nm_find_best() argument
42 if (ccu_is_better_rate(common, rate, tmp_rate, best_rate)) { in ccu_nm_find_best()
81 unsigned long rate; in ccu_nm_recalc_rate() local
86 rate = ccu_frac_helper_read_rate(&nm->common, &nm->frac); in ccu_nm_recalc_rate()
89 rate /= nm->fixed_post_div; in ccu_nm_recalc_rate()
91 return rate; in ccu_nm_recalc_rate()
109 rate = ccu_sdm_helper_read_rate(&nm->common, &nm->sdm, m, n); in ccu_nm_recalc_rate()
111 rate = ccu_nm_calc_rate(parent_rate, n, m); in ccu_nm_recalc_rate()
114 rate /= nm->fixed_post_div; in ccu_nm_recalc_rate()
116 return rate; in ccu_nm_recalc_rate()
119 static long ccu_nm_round_rate(struct clk_hw *hw, unsigned long rate, in ccu_nm_round_rate() argument
126 rate *= nm->fixed_post_div; in ccu_nm_round_rate()
128 if (rate < nm->min_rate) { in ccu_nm_round_rate()
129 rate = nm->min_rate; in ccu_nm_round_rate()
131 rate /= nm->fixed_post_div; in ccu_nm_round_rate()
132 return rate; in ccu_nm_round_rate()
135 if (nm->max_rate && rate > nm->max_rate) { in ccu_nm_round_rate()
136 rate = nm->max_rate; in ccu_nm_round_rate()
138 rate /= nm->fixed_post_div; in ccu_nm_round_rate()
139 return rate; in ccu_nm_round_rate()
142 if (ccu_frac_helper_has_rate(&nm->common, &nm->frac, rate)) { in ccu_nm_round_rate()
144 rate /= nm->fixed_post_div; in ccu_nm_round_rate()
145 return rate; in ccu_nm_round_rate()
148 if (ccu_sdm_helper_has_rate(&nm->common, &nm->sdm, rate)) { in ccu_nm_round_rate()
150 rate /= nm->fixed_post_div; in ccu_nm_round_rate()
151 return rate; in ccu_nm_round_rate()
159 rate = ccu_nm_find_best(&nm->common, *parent_rate, rate, &_nm); in ccu_nm_round_rate()
162 rate /= nm->fixed_post_div; in ccu_nm_round_rate()
164 return rate; in ccu_nm_round_rate()
167 static int ccu_nm_set_rate(struct clk_hw *hw, unsigned long rate, in ccu_nm_set_rate() argument
177 rate = rate * nm->fixed_post_div; in ccu_nm_set_rate()
179 if (ccu_frac_helper_has_rate(&nm->common, &nm->frac, rate)) { in ccu_nm_set_rate()
192 rate, nm->lock); in ccu_nm_set_rate()
202 if (ccu_sdm_helper_has_rate(&nm->common, &nm->sdm, rate)) { in ccu_nm_set_rate()
203 ccu_sdm_helper_enable(&nm->common, &nm->sdm, rate); in ccu_nm_set_rate()
206 ccu_sdm_helper_get_factors(&nm->common, &nm->sdm, rate, in ccu_nm_set_rate()
210 ccu_nm_find_best(&nm->common, parent_rate, rate, &_nm); in ccu_nm_set_rate()