diff options
Diffstat (limited to 'sound/soc/cirrus')
-rw-r--r-- | sound/soc/cirrus/ep93xx-pcm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/soc/cirrus/ep93xx-pcm.c b/sound/soc/cirrus/ep93xx-pcm.c index 0e9f56e0d4b2..cfe517e68009 100644 --- a/sound/soc/cirrus/ep93xx-pcm.c +++ b/sound/soc/cirrus/ep93xx-pcm.c | |||
@@ -57,9 +57,22 @@ static bool ep93xx_pcm_dma_filter(struct dma_chan *chan, void *filter_param) | |||
57 | return false; | 57 | return false; |
58 | } | 58 | } |
59 | 59 | ||
60 | static struct dma_chan *ep93xx_compat_request_channel( | ||
61 | struct snd_soc_pcm_runtime *rtd, | ||
62 | struct snd_pcm_substream *substream) | ||
63 | { | ||
64 | struct snd_dmaengine_dai_dma_data *dma_data; | ||
65 | |||
66 | dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream); | ||
67 | |||
68 | return snd_dmaengine_pcm_request_channel(ep93xx_pcm_dma_filter, | ||
69 | dma_data); | ||
70 | } | ||
71 | |||
60 | static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = { | 72 | static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = { |
61 | .pcm_hardware = &ep93xx_pcm_hardware, | 73 | .pcm_hardware = &ep93xx_pcm_hardware, |
62 | .compat_filter_fn = ep93xx_pcm_dma_filter, | 74 | .compat_filter_fn = ep93xx_pcm_dma_filter, |
75 | .compat_request_channel = ep93xx_compat_request_channel, | ||
63 | .prealloc_buffer_size = 131072, | 76 | .prealloc_buffer_size = 131072, |
64 | }; | 77 | }; |
65 | 78 | ||