From 0c59b57e8b13c840c64e68cd655eaf1c5ddb4338 Mon Sep 17 00:00:00 2001 From: yaozm1 Date: Mon, 28 Jan 2019 14:21:55 +0800 Subject: [PATCH] asoc:Fix sound loss during conference call It happens only for speaker mode. It's triggered by ap sleep mode. Change-Id: Ia1f2f6fbde0f74787dbb5f4f9fada444a3c4fce9 Signed-off-by: yaozm1 Reviewed-on: https://gerrit.mot.com/1301871 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- sound/soc/samsung/exynos9610_madera.c | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/sound/soc/samsung/exynos9610_madera.c b/sound/soc/samsung/exynos9610_madera.c index e3740a6ee91f..aa97a8df2dff 100755 --- a/sound/soc/samsung/exynos9610_madera.c +++ b/sound/soc/samsung/exynos9610_madera.c @@ -616,6 +616,13 @@ static int madera_amp_late_probe(struct snd_soc_card *card, int dai) return ret; } + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(amp), "SPK AMP Playback"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(amp), "SPK SPK"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(amp), "SPK VP"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(amp), "SPK VSENSE"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(amp), "SPK Main AMP"); + snd_soc_dapm_sync(snd_soc_codec_get_dapm(amp)); + return 0; } @@ -688,6 +695,32 @@ static int exynos9610_late_probe(struct snd_soc_card *card) snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1 Playback"); snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1 Capture"); snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF3 Capture"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS1"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS2"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICSUPP"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS1A"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS1B"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS2A"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "MICBIAS2B"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN1AL"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN1AR"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN1BL"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN1BR"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1TX1"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1TX2"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1RX1"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF1RX2"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF2TX1"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF2TX2"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF2RX1"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "AIF2RX2"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN2AL"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "IN2R"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "DSP2 Virtual Output"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "DSP3 Virtual Output"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "DSP Virtual Input"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "DSP2 Trigger Out"); + snd_soc_dapm_ignore_suspend(snd_soc_codec_get_dapm(codec), "DSP3 Trigger Out"); snd_soc_dapm_sync(snd_soc_codec_get_dapm(codec)); snd_soc_dapm_ignore_suspend(snd_soc_component_get_dapm(cpu), "ABOX RDMA0 Playback"); -- 2.20.1