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

vanhempi
d2ebfb335b
commit
884485e1f1
@@ -192,27 +192,6 @@ static void atc_desc_chain(struct at_desc **first, struct at_desc **prev,
|
||||
*prev = desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* atc_assign_cookie - compute and assign new cookie
|
||||
* @atchan: channel we work on
|
||||
* @desc: descriptor to assign cookie for
|
||||
*
|
||||
* Called with atchan->lock held and bh disabled
|
||||
*/
|
||||
static dma_cookie_t
|
||||
atc_assign_cookie(struct at_dma_chan *atchan, struct at_desc *desc)
|
||||
{
|
||||
dma_cookie_t cookie = atchan->chan_common.cookie;
|
||||
|
||||
if (++cookie < 0)
|
||||
cookie = 1;
|
||||
|
||||
atchan->chan_common.cookie = cookie;
|
||||
desc->txd.cookie = cookie;
|
||||
|
||||
return cookie;
|
||||
}
|
||||
|
||||
/**
|
||||
* atc_dostart - starts the DMA engine for real
|
||||
* @atchan: the channel we want to start
|
||||
@@ -548,7 +527,7 @@ static dma_cookie_t atc_tx_submit(struct dma_async_tx_descriptor *tx)
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&atchan->lock, flags);
|
||||
cookie = atc_assign_cookie(atchan, desc);
|
||||
cookie = dma_cookie_assign(tx);
|
||||
|
||||
if (list_empty(&atchan->active_list)) {
|
||||
dev_vdbg(chan2dev(tx->chan), "tx_submit: started %u\n",
|
||||
|
Viittaa uudesa ongelmassa
Block a user