On Tue, Apr 05, 2022 at 05:57:31PM +0200, Ahmad Fatoum wrote: > Refactoring in commit a50b7926d015 ("ASoC: fsl_sai: implement 1:1 > bclk:mclk ratio support") led to the bypass never happening > as (ratio = 1) was caught in the existing if (ratio & 1) continue; > check. The correct check sequence instead is: > > - skip all ratios lower than one and higher than 512 > - skip all odd ratios except for 1:1 > - skip 1:1 ratio if and only if !support_1_1_ratio > > And for all others, calculate the appropriate divider. Adjust the > code to facilitate this. > > Fixes: a50b7926d015 ("ASoC: fsl_sai: implement 1:1 bclk:mclk ratio support") > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> Reviewed-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Sascha > --- > sound/soc/fsl/fsl_sai.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c > index a992d51568cc..50c377f16097 100644 > --- a/sound/soc/fsl/fsl_sai.c > +++ b/sound/soc/fsl/fsl_sai.c > @@ -372,7 +372,7 @@ static int fsl_sai_set_bclk(struct snd_soc_dai *dai, bool tx, u32 freq) > continue; > if (ratio == 1 && !support_1_1_ratio) > continue; > - else if (ratio & 1) > + if ((ratio & 1) && ratio > 1) > continue; > > diff = abs((long)clk_rate - ratio * freq); > -- > 2.30.2 > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |