Lines Matching refs:rate
232 u64 rfreq, rate; in si570_recalc_rate() local
243 rate = (data->fxtal * rfreq) >> 28; in si570_recalc_rate()
245 return rate; in si570_recalc_rate()
248 static long si570_round_rate(struct clk_hw *hw, unsigned long rate, in si570_round_rate() argument
256 if (!rate) in si570_round_rate()
259 if (div64_u64(abs(rate - data->frequency) * 10000LL, in si570_round_rate()
261 rfreq = div64_u64((data->rfreq * rate) + in si570_round_rate()
267 err = si570_calc_divs(rate, data, &rfreq, &n1, &hs_div); in si570_round_rate()
275 return rate; in si570_round_rate()
341 static int si570_set_rate(struct clk_hw *hw, unsigned long rate, in si570_set_rate() argument
348 if (rate < SI570_MIN_FREQ || rate > data->max_freq) { in si570_set_rate()
350 "requested frequency %lu Hz is out of range\n", rate); in si570_set_rate()
354 if (div64_u64(abs(rate - data->frequency) * 10000LL, in si570_set_rate()
356 err = si570_set_frequency_small(data, rate); in si570_set_rate()
358 err = si570_set_frequency(data, rate); in si570_set_rate()
363 data->frequency = rate; in si570_set_rate()