Commit 370c0446 authored by Dave Jiang's avatar Dave Jiang Committed by Vinod Koul

dmaengine: tegra20-apb-dma: convert callback to helper function

This is in preperation of moving to a callback that provides results to the
callback for the transaction. The conversion will maintain current behavior
and the driver must convert to new callback mechanism at a later time in
order to receive results.
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Reviewed-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 3a315d5d
...@@ -655,8 +655,7 @@ static void handle_cont_sngl_cycle_dma_done(struct tegra_dma_channel *tdc, ...@@ -655,8 +655,7 @@ static void handle_cont_sngl_cycle_dma_done(struct tegra_dma_channel *tdc,
static void tegra_dma_tasklet(unsigned long data) static void tegra_dma_tasklet(unsigned long data)
{ {
struct tegra_dma_channel *tdc = (struct tegra_dma_channel *)data; struct tegra_dma_channel *tdc = (struct tegra_dma_channel *)data;
dma_async_tx_callback callback = NULL; struct dmaengine_desc_callback cb;
void *callback_param = NULL;
struct tegra_dma_desc *dma_desc; struct tegra_dma_desc *dma_desc;
unsigned long flags; unsigned long flags;
int cb_count; int cb_count;
...@@ -666,13 +665,12 @@ static void tegra_dma_tasklet(unsigned long data) ...@@ -666,13 +665,12 @@ static void tegra_dma_tasklet(unsigned long data)
dma_desc = list_first_entry(&tdc->cb_desc, dma_desc = list_first_entry(&tdc->cb_desc,
typeof(*dma_desc), cb_node); typeof(*dma_desc), cb_node);
list_del(&dma_desc->cb_node); list_del(&dma_desc->cb_node);
callback = dma_desc->txd.callback; dmaengine_desc_get_callback(&dma_desc->txd, &cb);
callback_param = dma_desc->txd.callback_param;
cb_count = dma_desc->cb_count; cb_count = dma_desc->cb_count;
dma_desc->cb_count = 0; dma_desc->cb_count = 0;
spin_unlock_irqrestore(&tdc->lock, flags); spin_unlock_irqrestore(&tdc->lock, flags);
while (cb_count-- && callback) while (cb_count--)
callback(callback_param); dmaengine_desc_callback_invoke(&cb, NULL);
spin_lock_irqsave(&tdc->lock, flags); spin_lock_irqsave(&tdc->lock, flags);
} }
spin_unlock_irqrestore(&tdc->lock, flags); spin_unlock_irqrestore(&tdc->lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment