diff options
author | Linus Walleij <linus.walleij@stericsson.com> | 2010-05-17 19:30:42 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2010-05-17 19:30:42 -0400 |
commit | 058276303dbc4ed089c1f7dad0871810b1f5ddf1 (patch) | |
tree | df26ff701721b2a91d61bd29e48bad7cbcedd746 /sound/soc/txx9 | |
parent | 4aed79b2818e7330b5d00143e4c20bc6555df91f (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/txx9')
-rw-r--r-- | sound/soc/txx9/txx9aclc.c | 7 |
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; |