Lines Matching refs:rate
245 * depending on the rate.
247 static int adau1977_lookup_fs(unsigned int rate)
249 if (rate >= 8000 && rate <= 12000)
251 else if (rate >= 16000 && rate <= 24000)
253 else if (rate >= 32000 && rate <= 48000)
255 else if (rate >= 64000 && rate <= 96000)
257 else if (rate >= 128000 && rate <= 192000)
263 static int adau1977_lookup_mcs(struct adau1977 *adau1977, unsigned int rate,
269 * rate = sysclk / (512 * mcs_lut[mcs]) * 2**fs
270 * => mcs_lut[mcs] = sysclk / (512 * rate) * 2**fs
271 * => mcs_lut[mcs] = sysclk / ((512 / 2**fs) * rate)
274 rate *= 512 >> fs;
276 if (adau1977->sysclk % rate != 0)
279 mcs = adau1977->sysclk / rate;
297 unsigned int rate = params_rate(params);
304 fs = adau1977_lookup_fs(rate);
309 mcs = adau1977_lookup_mcs(adau1977, rate, fs);