diff options
Diffstat (limited to 'sound/soc/qcom/common.c')
-rw-r--r-- | sound/soc/qcom/common.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c index 5661025e8cec..de9e2f865b42 100644 --- a/sound/soc/qcom/common.c +++ b/sound/soc/qcom/common.c @@ -4,6 +4,7 @@ #include <linux/module.h> #include "common.h" +#include "qdsp6/q6afe.h" int qcom_snd_parse_of(struct snd_soc_card *card) { @@ -83,11 +84,22 @@ int qcom_snd_parse_of(struct snd_soc_card *card) } link->no_pcm = 1; link->ignore_pmdown_time = 1; + + if (q6afe_is_rx_port(link->id)) { + link->dpcm_playback = 1; + link->dpcm_capture = 0; + } else { + link->dpcm_playback = 0; + link->dpcm_capture = 1; + } + } else { link->platform_of_node = link->cpu_of_node; link->codec_dai_name = "snd-soc-dummy-dai"; link->codec_name = "snd-soc-dummy"; link->dynamic = 1; + link->dpcm_playback = 1; + link->dpcm_capture = 1; } link->ignore_suspend = 1; @@ -97,8 +109,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card) goto err; } - link->dpcm_playback = 1; - link->dpcm_capture = 1; link->stream_name = link->name; link++; |