Lines Matching refs:rate
24 u64 rate = parent;
26 rate *= n * k;
27 do_div(rate, m * p);
29 return rate;
32 static void ccu_nkmp_find_best(unsigned long parent, unsigned long rate,
49 if (tmp_rate > rate)
52 if ((rate - tmp_rate) < (rate - best_rate)) {
95 unsigned long n, m, k, p, rate;
121 rate = ccu_nkmp_calc_rate(parent_rate, n, k, m, 1 << p);
123 rate /= nkmp->fixed_post_div;
125 return rate;
128 static long ccu_nkmp_round_rate(struct clk_hw *hw, unsigned long rate,
135 rate *= nkmp->fixed_post_div;
137 if (nkmp->max_rate && rate > nkmp->max_rate) {
138 rate = nkmp->max_rate;
140 rate /= nkmp->fixed_post_div;
141 return rate;
153 ccu_nkmp_find_best(*parent_rate, rate, &_nkmp);
155 rate = ccu_nkmp_calc_rate(*parent_rate, _nkmp.n, _nkmp.k,
158 rate = rate / nkmp->fixed_post_div;
160 return rate;
163 static int ccu_nkmp_set_rate(struct clk_hw *hw, unsigned long rate,
173 rate = rate * nkmp->fixed_post_div;
184 ccu_nkmp_find_best(parent_rate, rate, &_nkmp);