summaryrefslogtreecommitdiffstats
path: root/drivers/dma/fsldma.c
diff options
context:
space:
mode:
authorRussell King - ARM Linux <linux@arm.linux.org.uk>2012-03-06 17:34:46 -0500
committerVinod Koul <vinod.koul@linux.intel.com>2012-03-13 02:06:52 -0400
commit884485e1f12dcd39390f042e772cdbefc9ebb750 (patch)
treea35fccb601c48ae1ea839aa6d62e4f102f7b66c3 /drivers/dma/fsldma.c
parentd2ebfb335b0426deb1a4fb14e4e926d81ecd8235 (diff)
dmaengine: consolidate assignment of DMA cookies
Everyone deals with assigning DMA cookies in the same way (it's part of the API so they should be), so lets consolidate the common code into a helper function to avoid this duplication. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> [imx-sdma.c & mxs-dma.c] Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma/fsldma.c')
-rw-r--r--drivers/dma/fsldma.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index 2ebbe572f9e0..04b4347ba4e9 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -414,17 +414,10 @@ static dma_cookie_t fsl_dma_tx_submit(struct dma_async_tx_descriptor *tx)
414 * assign cookies to all of the software descriptors 414 * assign cookies to all of the software descriptors
415 * that make up this transaction 415 * that make up this transaction
416 */ 416 */
417 cookie = chan->common.cookie;
418 list_for_each_entry(child, &desc->tx_list, node) { 417 list_for_each_entry(child, &desc->tx_list, node) {
419 cookie++; 418 cookie = dma_cookie_assign(&child->async_tx);
420 if (cookie < DMA_MIN_COOKIE)
421 cookie = DMA_MIN_COOKIE;
422
423 child->async_tx.cookie = cookie;
424 } 419 }
425 420
426 chan->common.cookie = cookie;
427
428 /* put this transaction onto the tail of the pending queue */ 421 /* put this transaction onto the tail of the pending queue */
429 append_ld_queue(chan, desc); 422 append_ld_queue(chan, desc);
430 423