Lines Matching refs:rate
233 u64 rfreq, rate; in si570_recalc_rate() local
244 rate = (data->fxtal * rfreq) >> 28; in si570_recalc_rate()
246 return rate; in si570_recalc_rate()
249 static long si570_round_rate(struct clk_hw *hw, unsigned long rate, in si570_round_rate() argument
257 if (!rate) in si570_round_rate()
260 if (div64_u64(abs(rate - data->frequency) * 10000LL, in si570_round_rate()
262 rfreq = div64_u64((data->rfreq * rate) + in si570_round_rate()
268 err = si570_calc_divs(rate, data, &rfreq, &n1, &hs_div); in si570_round_rate()
276 return rate; in si570_round_rate()
342 static int si570_set_rate(struct clk_hw *hw, unsigned long rate, in si570_set_rate() argument
349 if (rate < SI570_MIN_FREQ || rate > data->max_freq) { in si570_set_rate()
351 "requested frequency %lu Hz is out of range\n", rate); in si570_set_rate()
355 if (div64_u64(abs(rate - data->frequency) * 10000LL, in si570_set_rate()
357 err = si570_set_frequency_small(data, rate); in si570_set_rate()
359 err = si570_set_frequency(data, rate); in si570_set_rate()
364 data->frequency = rate; in si570_set_rate()