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>
This commit is contained in:

committed by
Vinod Koul

parent
d2ebfb335b
commit
884485e1f1
@@ -921,13 +921,10 @@ static dma_cookie_t pl08x_tx_submit(struct dma_async_tx_descriptor *tx)
|
||||
struct pl08x_dma_chan *plchan = to_pl08x_chan(tx->chan);
|
||||
struct pl08x_txd *txd = to_pl08x_txd(tx);
|
||||
unsigned long flags;
|
||||
dma_cookie_t cookie;
|
||||
|
||||
spin_lock_irqsave(&plchan->lock, flags);
|
||||
|
||||
plchan->chan.cookie += 1;
|
||||
if (plchan->chan.cookie < 0)
|
||||
plchan->chan.cookie = 1;
|
||||
tx->cookie = plchan->chan.cookie;
|
||||
cookie = dma_cookie_assign(tx);
|
||||
|
||||
/* Put this onto the pending list */
|
||||
list_add_tail(&txd->node, &plchan->pend_list);
|
||||
@@ -947,7 +944,7 @@ static dma_cookie_t pl08x_tx_submit(struct dma_async_tx_descriptor *tx)
|
||||
|
||||
spin_unlock_irqrestore(&plchan->lock, flags);
|
||||
|
||||
return tx->cookie;
|
||||
return cookie;
|
||||
}
|
||||
|
||||
static struct dma_async_tx_descriptor *pl08x_prep_dma_interrupt(
|
||||
|
Reference in New Issue
Block a user