When USRC=0, there is underrun issue for the non-ideal ratio mode;
according to the reference mannual, the internal measured ratio can be
used with USRC=1 and IDRC=0.

Fixes: d0250cf4f2ab ("ASoC: fsl_asrc: Add an option to select internal ratio 
mode")
Signed-off-by: Shengjiu Wang <shengjiu.w...@nxp.com>
---
 sound/soc/fsl/fsl_asrc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c
index 677529916dc0..745532ccbdba 100644
--- a/sound/soc/fsl/fsl_asrc.c
+++ b/sound/soc/fsl/fsl_asrc.c
@@ -517,7 +517,8 @@ static int fsl_asrc_config_pair(struct fsl_asrc_pair *pair, 
bool use_ideal_rate)
        regmap_update_bits(asrc->regmap, REG_ASRCTR,
                           ASRCTR_ATSi_MASK(index), ASRCTR_ATS(index));
        regmap_update_bits(asrc->regmap, REG_ASRCTR,
-                          ASRCTR_USRi_MASK(index), 0);
+                          ASRCTR_IDRi_MASK(index) | ASRCTR_USRi_MASK(index),
+                          ASRCTR_USR(index));
 
        /* Set the input and output clock sources */
        regmap_update_bits(asrc->regmap, REG_ASRCSR,
-- 
2.34.1


Reply via email to