aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@stericsson.com>2010-05-17 19:30:42 -0400
committerDan Williams <dan.j.williams@intel.com>2010-05-17 19:30:42 -0400
commit058276303dbc4ed089c1f7dad0871810b1f5ddf1 (patch)
treedf26ff701721b2a91d61bd29e48bad7cbcedd746 /sound/soc
parent4aed79b2818e7330b5d00143e4c20bc6555df91f (diff)
DMAENGINE: extend the control command to include an arg
This adds an argument to the DMAengine control function, so that we can later provide control commands that need some external data passed in through an argument akin to the ioctl() operation prototype. [dan.j.williams@intel.com: fix up some missed conversions] Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/txx9/txx9aclc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c
index b35d00706c0e..9398f507f77f 100644
--- a/sound/soc/txx9/txx9aclc.c
+++ b/sound/soc/txx9/txx9aclc.c
@@ -159,7 +159,7 @@ static void txx9aclc_dma_tasklet(unsigned long data)
159 void __iomem *base = drvdata->base; 159 void __iomem *base = drvdata->base;
160 160
161 spin_unlock_irqrestore(&dmadata->dma_lock, flags); 161 spin_unlock_irqrestore(&dmadata->dma_lock, flags);
162 chan->device->device_control(chan, DMA_TERMINATE_ALL); 162 chan->device->device_control(chan, DMA_TERMINATE_ALL, 0);
163 /* first time */ 163 /* first time */
164 for (i = 0; i < NR_DMA_CHAIN; i++) { 164 for (i = 0; i < NR_DMA_CHAIN; i++) {
165 desc = txx9aclc_dma_submit(dmadata, 165 desc = txx9aclc_dma_submit(dmadata,
@@ -267,7 +267,7 @@ static int txx9aclc_pcm_close(struct snd_pcm_substream *substream)
267 struct dma_chan *chan = dmadata->dma_chan; 267 struct dma_chan *chan = dmadata->dma_chan;
268 268
269 dmadata->frag_count = -1; 269 dmadata->frag_count = -1;
270 chan->device->device_control(chan, DMA_TERMINATE_ALL); 270 chan->device->device_control(chan, DMA_TERMINATE_ALL, 0);
271 return 0; 271 return 0;
272} 272}
273 273
@@ -396,7 +396,8 @@ static int txx9aclc_pcm_remove(struct platform_device *pdev)
396 struct dma_chan *chan = dmadata->dma_chan; 396 struct dma_chan *chan = dmadata->dma_chan;
397 if (chan) { 397 if (chan) {
398 dmadata->frag_count = -1; 398 dmadata->frag_count = -1;
399 chan->device->device_control(chan, DMA_TERMINATE_ALL); 399 chan->device->device_control(chan,
400 DMA_TERMINATE_ALL, 0);
400 dma_release_channel(chan); 401 dma_release_channel(chan);
401 } 402 }
402 dev->dmadata[i].dma_chan = NULL; 403 dev->dmadata[i].dma_chan = NULL;