diff options
-rw-r--r-- | include/sound/soc.h | 4 | ||||
-rw-r--r-- | sound/soc/soc-pcm.c | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 1f741cb24f33..a5ef14f06124 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -886,6 +886,10 @@ struct snd_soc_dai_link { | |||
886 | /* This DAI link can route to other DAI links at runtime (Frontend)*/ | 886 | /* This DAI link can route to other DAI links at runtime (Frontend)*/ |
887 | unsigned int dynamic:1; | 887 | unsigned int dynamic:1; |
888 | 888 | ||
889 | /* DPCM capture and Playback support */ | ||
890 | unsigned int dpcm_capture:1; | ||
891 | unsigned int dpcm_playback:1; | ||
892 | |||
889 | /* pmdown_time is ignored at stop */ | 893 | /* pmdown_time is ignored at stop */ |
890 | unsigned int ignore_pmdown_time:1; | 894 | unsigned int ignore_pmdown_time:1; |
891 | 895 | ||
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 42782c01e413..141a302e4e77 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c | |||
@@ -2026,10 +2026,8 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) | |||
2026 | int ret = 0, playback = 0, capture = 0; | 2026 | int ret = 0, playback = 0, capture = 0; |
2027 | 2027 | ||
2028 | if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) { | 2028 | if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) { |
2029 | if (cpu_dai->driver->playback.channels_min) | 2029 | playback = rtd->dai_link->dpcm_playback; |
2030 | playback = 1; | 2030 | capture = rtd->dai_link->dpcm_capture; |
2031 | if (cpu_dai->driver->capture.channels_min) | ||
2032 | capture = 1; | ||
2033 | } else { | 2031 | } else { |
2034 | if (codec_dai->driver->playback.channels_min && | 2032 | if (codec_dai->driver->playback.channels_min && |
2035 | cpu_dai->driver->playback.channels_min) | 2033 | cpu_dai->driver->playback.channels_min) |