summaryrefslogtreecommitdiffstats
path: root/sound/soc/cirrus/ep93xx-pcm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-08 10:43:18 +0000
committerMark Brown <broonie@linaro.org>2013-11-08 10:43:18 +0000
commit5196e6ffc253937a8f22121d28ac7192e7260793 (patch)
tree338644a50b42a361093e3e5b1235b1df186baf84 /sound/soc/cirrus/ep93xx-pcm.c
parent53659907765e8b91481d9ff8a4fc78c4897043f0 (diff)
parenta894bd7fb539d671149fea9420c94c0fbe6baf7a (diff)
downloadtalos-obmc-linux-5196e6ffc253937a8f22121d28ac7192e7260793.tar.gz
talos-obmc-linux-5196e6ffc253937a8f22121d28ac7192e7260793.zip
Merge remote-tracking branch 'asoc/fix/dma' 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,
};
OpenPOWER on IntegriCloud