dmaengine: consolidate tx_status functions
Now that we have the completed cookie in the dma_chan structure, we can consolidate the tx_status functions by providing a function to set the txstate structure and returning the DMA status. We also provide a separate helper to set the residue for cookies which are still in progress. 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
f7fbce07c6
commit
96a2af41c7
@@ -894,24 +894,14 @@ static enum dma_status iop_adma_status(struct dma_chan *chan,
|
||||
struct dma_tx_state *txstate)
|
||||
{
|
||||
struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
|
||||
dma_cookie_t last_used;
|
||||
dma_cookie_t last_complete;
|
||||
enum dma_status ret;
|
||||
|
||||
last_used = chan->cookie;
|
||||
last_complete = chan->completed_cookie;
|
||||
dma_set_tx_state(txstate, last_complete, last_used, 0);
|
||||
ret = dma_async_is_complete(cookie, last_complete, last_used);
|
||||
ret = dma_cookie_status(chan, cookie, txstate);
|
||||
if (ret == DMA_SUCCESS)
|
||||
return ret;
|
||||
|
||||
iop_adma_slot_cleanup(iop_chan);
|
||||
|
||||
last_used = chan->cookie;
|
||||
last_complete = chan->completed_cookie;
|
||||
dma_set_tx_state(txstate, last_complete, last_used, 0);
|
||||
|
||||
return dma_async_is_complete(cookie, last_complete, last_used);
|
||||
return dma_cookie_status(chan, cookie, txstate);
|
||||
}
|
||||
|
||||
static irqreturn_t iop_adma_eot_handler(int irq, void *data)
|
||||
|
Reference in New Issue
Block a user