summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2019-11-20 19:46:46 +0800
committerShengjiu Wang <shengjiu.wang@nxp.com>2019-11-20 20:00:12 +0800
commit45ea3acd0c0c67a7b33faee9818401c6fbcc8c96 (patch)
tree952cf729fc3ed1863e129792dcbf34debe9da14f /sound
parent59aa02827d7245818e89221adc10187d1bf8630e (diff)
MLK-22598: ASoC: fsl_micfil: Reset channel output data Flag
With the case below, there is issue that after recording with 8 channels, the recording of 1 channel will fail. arecord -Dhw:2,0 -r 32000 -f S16_LE -c 8 -d 5 -t raw /tmp/test1.pcm arecord -Dhw:2,0 -r 32000 -f S16_LE -c 1 -d 5 -t raw /tmp/test2.pcm arecord: pcm_read:2143: read error: Input/output error The reason is that we need to reset channel output data Flag before we start the recording Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/fsl_micfil.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index e3d05cc58c6e..70aa6ddbe023 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -901,6 +901,9 @@ static int fsl_micfil_reset(struct device *dev)
return ret;
}
+ /* w1c */
+ regmap_write_bits(micfil->regmap, REG_MICFIL_STAT, 0xFF, 0xFF);
+
return 0;
}