summaryrefslogtreecommitdiff
path: root/sound/soc/cirrus
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-10-24 14:24:05 +0400
committerMark Brown <broonie@linaro.org>2013-10-24 14:24:05 +0400
commit70e0db2f7434961c778466708c032e76775b7f1e (patch)
treee762eb159000dc98090306e3a57d1ae0459312d5 /sound/soc/cirrus
parent48ce3ec16a618de7fbeb8c3462f8022984f53a1d (diff)
parent90130d2e8f75c7181cef514e8a1491925f386a16 (diff)
downloadlinux-70e0db2f7434961c778466708c032e76775b7f1e.tar.xz
Merge remote-tracking branch 'asoc/topic/dma' into asoc-next
Diffstat (limited to 'sound/soc/cirrus')
-rw-r--r--sound/soc/cirrus/ep93xx-pcm.c13
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)
return false;
}
+static struct dma_chan *ep93xx_compat_request_channel(
+ struct snd_soc_pcm_runtime *rtd,
+ struct snd_pcm_substream *substream)
+{
+ struct snd_dmaengine_dai_dma_data *dma_data;
+
+ dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
+
+ return snd_dmaengine_pcm_request_channel(ep93xx_pcm_dma_filter,
+ dma_data);
+}
+
static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
.pcm_hardware = &ep93xx_pcm_hardware,
.compat_filter_fn = ep93xx_pcm_dma_filter,
+ .compat_request_channel = ep93xx_compat_request_channel,
.prealloc_buffer_size = 131072,
};