Skip to content

Commit b776c4a

Browse files
TE-N-ShengjiuWangbroonie
authored andcommitted
ASoC: fsl_micfil: explicitly clear CHnF flags
There may be failure when start 1 channel recording after 8 channels recording. The reason is that the CHnF flags are not cleared successfully by software reset. This issue is triggerred by the change of clearing software reset bit. CHnF flags are write 1 clear bits. Clear them by force write. Signed-off-by: Shengjiu Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 292709b commit b776c4a

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

sound/soc/fsl/fsl_micfil.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,14 @@ static int fsl_micfil_reset(struct device *dev)
202202
if (ret)
203203
return ret;
204204

205+
/*
206+
* Set SRES should clear CHnF flags, But even add delay here
207+
* the CHnF may not be cleared sometimes, so clear CHnF explicitly.
208+
*/
209+
ret = regmap_write_bits(micfil->regmap, REG_MICFIL_STAT, 0xFF, 0xFF);
210+
if (ret)
211+
return ret;
212+
205213
return 0;
206214
}
207215

0 commit comments

Comments
 (0)