[alsa-devel] [PATCH 3/3] ASoC: arizona: Be more forgiving in BCLK selection

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Jul 4 20:13:45 CEST 2012


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 at opensource.wolfsonmicro.com>
---
 sound/soc/codecs/arizona.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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



More information about the Alsa-devel mailing list