summaryrefslogtreecommitdiff
path: root/sound/soc/cirrus/ep93xx-pcm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-20 19:20:24 +0400
committerMark Brown <broonie@linaro.org>2013-11-20 19:20:24 +0400
commit8b880f48eef80309da6d1c40f7526614b19ab12c (patch)
tree1ae728f4e2c4020d62940e8cdae75a5352bc3ae1 /sound/soc/cirrus/ep93xx-pcm.c
parent5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff)
parent63e6d43bf80d3861dcda7ff4f37590f8de583156 (diff)
downloadlinux-8b880f48eef80309da6d1c40f7526614b19ab12c.tar.xz
Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus
Diffstat (limited to 'sound/soc/cirrus/ep93xx-pcm.c')
-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,
};