Lines Matching refs:rate
246 * depending on the rate.
248 static int adau1977_lookup_fs(unsigned int rate)
250 if (rate >= 8000 && rate <= 12000)
252 else if (rate >= 16000 && rate <= 24000)
254 else if (rate >= 32000 && rate <= 48000)
256 else if (rate >= 64000 && rate <= 96000)
258 else if (rate >= 128000 && rate <= 192000)
264 static int adau1977_lookup_mcs(struct adau1977 *adau1977, unsigned int rate,
270 * rate = sysclk / (512 * mcs_lut[mcs]) * 2**fs
271 * => mcs_lut[mcs] = sysclk / (512 * rate) * 2**fs
272 * => mcs_lut[mcs] = sysclk / ((512 / 2**fs) * rate)
275 rate *= 512 >> fs;
277 if (adau1977->sysclk % rate != 0)
280 mcs = adau1977->sysclk / rate;
298 unsigned int rate = params_rate(params);
305 fs = adau1977_lookup_fs(rate);
310 mcs = adau1977_lookup_mcs(adau1977, rate, fs);