From 579fd63a272706d612db8445db42b0af0b0ca3f8 Mon Sep 17 00:00:00 2001 From: Shuai Li Date: Tue, 14 Jan 2020 11:25:01 +0800 Subject: [PATCH] audio: don't reset spdifout in prepare [1/1] PD#SWPL-17916 Problem: Reset spdifout will cause the spdif signal stop a while and some AVR will spend 2s to resync the spdif clk. Solution: As the chip after TL1 the audio FIFO changes to async FIFO which may bring in channel map error. In the case 2 channel playback, don't reset spdifout. Verify: SM1. Change-Id: I65dbfe63251b4fbf468fbbcfbd07b2625708c8b6 Signed-off-by: Shuai Li --- sound/soc/amlogic/auge/tdm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/amlogic/auge/tdm.c b/sound/soc/amlogic/auge/tdm.c index 7fe02cf5c113..41d478daf7ab 100644 --- a/sound/soc/amlogic/auge/tdm.c +++ b/sound/soc/amlogic/auge/tdm.c @@ -405,6 +405,7 @@ static int aml_tdm_prepare(struct snd_pcm_substream *substream) && (p_tdm->samesource_sel >= 0) && (aml_check_sharebuffer_valid(p_tdm->fddr, p_tdm->samesource_sel)) + && (runtime->channels > 2) && p_tdm->en_share) aml_spdif_out_reset(p_tdm->samesource_sel - 3, offset);