diff options
author | Shengjiu Wang <shengjiu.wang@nxp.com> | 2019-11-20 19:46:46 +0800 |
---|---|---|
committer | Shengjiu Wang <shengjiu.wang@nxp.com> | 2019-11-20 20:00:12 +0800 |
commit | 45ea3acd0c0c67a7b33faee9818401c6fbcc8c96 (patch) | |
tree | 952cf729fc3ed1863e129792dcbf34debe9da14f /sound | |
parent | 59aa02827d7245818e89221adc10187d1bf8630e (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.c | 3 |
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; } |