rapidio/tsi721_dma: advance queue processing from transfer submit call
authorAlexandre Bounine <alexandre.bounine@idt.com>
Tue, 2 Aug 2016 21:06:46 +0000 (14:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Aug 2016 23:35:35 +0000 (19:35 -0400)
Add advancing transfer queue immediately from transfer submit call.  DMA
performance improvement: This will start transfer without waiting for
'issue_pending' command if there is no DMA transfer in progress.

Link: http://lkml.kernel.org/r/1469125134-16523-8-git-send-email-alexandre.bounine@idt.com
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com>
Cc: Barry Wood <barry.wood@idt.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rapidio/devices/tsi721_dma.c

index 13c669bac019c56cfc47a3f647be8961339a00e5..e2a418598129649dcde4c5fb551563dd6ceb7b34 100644 (file)
@@ -726,6 +726,7 @@ static dma_cookie_t tsi721_tx_submit(struct dma_async_tx_descriptor *txd)
        cookie = dma_cookie_assign(txd);
        desc->status = DMA_IN_PROGRESS;
        list_add_tail(&desc->desc_node, &bdma_chan->queue);
+       tsi721_advance_work(bdma_chan, NULL);
 
        spin_unlock_bh(&bdma_chan->lock);
        return cookie;