mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
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 <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1651925654-32060-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
292709b9cf
commit
b776c4a461
@ -202,6 +202,14 @@ static int fsl_micfil_reset(struct device *dev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* Set SRES should clear CHnF flags, But even add delay here
|
||||
* the CHnF may not be cleared sometimes, so clear CHnF explicitly.
|
||||
*/
|
||||
ret = regmap_write_bits(micfil->regmap, REG_MICFIL_STAT, 0xFF, 0xFF);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user