diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-04 18:07:09 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-04 18:15:46 (GMT) |
commit | 5001765f992423fdfb82f42f548d3a51b9590186 (patch) | |
tree | 9c375d3bd457cc3b8fc2d461aae8d7f4c02187c5 | |
parent | 5b2eec3f98e08a8442ada41c4a63658b95a355f2 (diff) | |
download | linux-5001765f992423fdfb82f42f548d3a51b9590186.tar.xz |
ASoC: arizona: Be more forgiving in BCLK selection
Allow any BCLK which can be divided down to generate LRCLK, not just the
lowest possible BCLK to clock out the samples.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r-- | sound/soc/codecs/arizona.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index 8e5246c..8e066eb 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c @@ -518,7 +518,8 @@ static int arizona_hw_params(struct snd_pcm_substream *substream, rates = &arizona_48k_bclk_rates[0]; for (i = 0; i < ARRAY_SIZE(arizona_44k1_bclk_rates); i++) { - if (rates[i] == snd_soc_params_to_bclk(params)) { + if (rates[i] >= snd_soc_params_to_bclk(params) && + rates[i] % params_rate(params) == 0) { bclk = i; break; } |