summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2019-09-12 17:55:19 +0800
committerShengjiu Wang <shengjiu.wang@nxp.com>2019-09-14 13:43:31 +0800
commit3a1a4abc02cfef9fddf0ceef2045c46eaa960c5c (patch)
tree04f338f33b1523f33004ba595edb910f1c2a4a87 /sound
parent5a15d81a1c19c07846cc394d935524566bcfb298 (diff)
MLK-22575-2: ASoC: fsl_easrc: disable PF_BYPASS_MODE
When run conversion in parrallel, one is down sampling, another is up sampling, so one enables PF_BYPASS_MODE, another disable PF_BYPASS_MODE, when the allocated slots in a same context processor, there is noise in the result of down sampling. If we alway disable PF_BYPASS_MODE, the issue can't be reproduced. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/fsl_easrc.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c
index af20f0b3f850..43b0bded5659 100644
--- a/sound/soc/fsl/fsl_easrc.c
+++ b/sound/soc/fsl/fsl_easrc.c
@@ -565,27 +565,11 @@ static int fsl_easrc_prefilter_config(struct fsl_easrc *easrc,
ctx->st2_num_taps = 0;
ctx->st1_addexp -= ctx->in_params.fmt.addexp;
} else {
- /* set pf in bypass mode */
- ret = regmap_update_bits(easrc->regmap,
- REG_EASRC_CCE1(ctx_id),
- EASRC_CCE1_PF_BYPASS_MASK,
- EASRC_CCE1_PF_BYPASS);
- if (ret)
- return ret;
-
- /* PF_EXPANSION_FACTOR must be set to 0x0 when
- * operating in bypass mode
- */
- ret = regmap_update_bits(easrc->regmap,
- REG_EASRC_CCE1(ctx_id),
- EASRC_CCE1_PF_EXP_MASK,
- EASRC_CCE1_PF_EXP(0));
- if (ret)
- return ret;
-
- return 0;
+ ctx->st1_num_taps = 1;
+ ctx->st1_coeff = &coeff;
+ ctx->st1_num_exp = 1;
+ ctx->st2_num_taps = 0;
}
-
} else {
inrate = ctx->in_params.norm_rate;
outrate = ctx->out_params.norm_rate;