Skip to content

Commit 6ddf611

Browse files
TE-N-ShengjiuWangbroonie
authored andcommitted
ASoC: fsl_spdif: Disable TX clock when stop
The TX clock source may be changed in next case, need to disable it when stop, otherwise the TX may not work after changing the clock source, error log is: aplay: pcm_write:2058: write error: Input/output error Fixes: a2388a4 ("ASoC: fsl: Add S/PDIF CPU DAI driver") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/1646879863-27711-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 233d2c4 commit 6ddf611

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

sound/soc/fsl/fsl_spdif.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,8 @@ static void fsl_spdif_shutdown(struct snd_pcm_substream *substream,
610610
mask = SCR_TXFIFO_AUTOSYNC_MASK | SCR_TXFIFO_CTRL_MASK |
611611
SCR_TXSEL_MASK | SCR_USRC_SEL_MASK |
612612
SCR_TXFIFO_FSEL_MASK;
613+
/* Disable TX clock */
614+
regmap_update_bits(regmap, REG_SPDIF_STC, STC_TXCLK_ALL_EN_MASK, 0);
613615
} else {
614616
scr = SCR_RXFIFO_OFF | SCR_RXFIFO_CTL_ZERO;
615617
mask = SCR_RXFIFO_FSEL_MASK | SCR_RXFIFO_AUTOSYNC_MASK|

0 commit comments

Comments
 (0)