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>
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 @@
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;
}