summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudheer Papothi <spapothi@codeaurora.org>2016-07-27 02:21:36 +0530
committerSudheer Papothi <spapothi@codeaurora.org>2016-08-02 02:57:59 +0530
commit0f8a45e5213ef0b96ae24b07941b73ebc012136b (patch)
treef0be09b3d3f4c1bdb257c1356185d109f9f5cc18
parent0fdb8c8eae5e5b056157c736ea36a852b0ac2843 (diff)
ASoC: wcd9335: Add dapm ignore suspend for backend dais
DAPM marks back end dai as dirty during ASoC suspend which triggers device path teardown. Add ignore suspend to all back end dais to avoid device path teardown. CRs-Fixed: 1031932 Change-Id: I89f83feed0702f3a3f3b6141ed73459b8878d2df Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
-rw-r--r--[-rwxr-xr-x]sound/soc/codecs/wcd9335.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sound/soc/codecs/wcd9335.c b/sound/soc/codecs/wcd9335.c
index f46057d027e0..53049a2644be 100755..100644
--- a/sound/soc/codecs/wcd9335.c
+++ b/sound/soc/codecs/wcd9335.c
@@ -3289,7 +3289,7 @@ static int __tasha_codec_enable_slimtx(struct snd_soc_codec *codec,
ret = wcd9xxx_disconnect_port(core,
&dai->wcd9xxx_ch_list,
dai->grph);
- pr_debug("%s: Disconnect RX port, ret = %d\n",
+ pr_debug("%s: Disconnect TX port, ret = %d\n",
__func__, ret);
}
@@ -13098,6 +13098,20 @@ static int tasha_codec_probe(struct snd_soc_codec *codec)
control->tx_chs = ptr + sizeof(tasha_rx_chs);
memcpy(control->tx_chs, tasha_tx_chs, sizeof(tasha_tx_chs));
+ snd_soc_dapm_ignore_suspend(dapm, "AIF1 Playback");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF1 Capture");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF2 Playback");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF2 Capture");
+
+ if (tasha->intf_type == WCD9XXX_INTERFACE_TYPE_SLIMBUS) {
+ snd_soc_dapm_ignore_suspend(dapm, "AIF3 Playback");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF3 Capture");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF4 Playback");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF Mix Playback");
+ snd_soc_dapm_ignore_suspend(dapm, "AIF4 MAD TX");
+ snd_soc_dapm_ignore_suspend(dapm, "VIfeed");
+ }
+
snd_soc_dapm_sync(dapm);
ret = tasha_setup_irqs(tasha);