aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ep93xx_dma.c
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-10-02 23:47:33 -0400
committerVinod Koul <vinod.koul@intel.com>2016-10-02 23:47:33 -0400
commit11bfedff5594eef74617e6aa02986cf517526b98 (patch)
tree2aa1a3b8d4e71abda7103b41edffb3a92ca26784 /drivers/dma/ep93xx_dma.c
parent0a98f4b857e9aedf426d8b5b07699a8526e07530 (diff)
parent793ae66c7dcc7e6655029f6613221a111b15b58e (diff)
Merge branch 'topic/err_reporting' into for-linus
Signed-off-by: Vinod Koul <vinod.koul@intel.com> Conflicts: drivers/dma/cppi41.c
Diffstat (limited to 'drivers/dma/ep93xx_dma.c')
-rw-r--r--drivers/dma/ep93xx_dma.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
index ca17e8751af2..d37e8dda8079 100644
--- a/drivers/dma/ep93xx_dma.c
+++ b/drivers/dma/ep93xx_dma.c
@@ -737,10 +737,10 @@ static void ep93xx_dma_tasklet(unsigned long data)
737{ 737{
738 struct ep93xx_dma_chan *edmac = (struct ep93xx_dma_chan *)data; 738 struct ep93xx_dma_chan *edmac = (struct ep93xx_dma_chan *)data;
739 struct ep93xx_dma_desc *desc, *d; 739 struct ep93xx_dma_desc *desc, *d;
740 dma_async_tx_callback callback = NULL; 740 struct dmaengine_desc_callback cb;
741 void *callback_param = NULL;
742 LIST_HEAD(list); 741 LIST_HEAD(list);
743 742
743 memset(&cb, 0, sizeof(cb));
744 spin_lock_irq(&edmac->lock); 744 spin_lock_irq(&edmac->lock);
745 /* 745 /*
746 * If dma_terminate_all() was called before we get to run, the active 746 * If dma_terminate_all() was called before we get to run, the active
@@ -755,8 +755,7 @@ static void ep93xx_dma_tasklet(unsigned long data)
755 dma_cookie_complete(&desc->txd); 755 dma_cookie_complete(&desc->txd);
756 list_splice_init(&edmac->active, &list); 756 list_splice_init(&edmac->active, &list);
757 } 757 }
758 callback = desc->txd.callback; 758 dmaengine_desc_get_callback(&desc->txd, &cb);
759 callback_param = desc->txd.callback_param;
760 } 759 }
761 spin_unlock_irq(&edmac->lock); 760 spin_unlock_irq(&edmac->lock);
762 761
@@ -769,8 +768,7 @@ static void ep93xx_dma_tasklet(unsigned long data)
769 ep93xx_dma_desc_put(edmac, desc); 768 ep93xx_dma_desc_put(edmac, desc);
770 } 769 }
771 770
772 if (callback) 771 dmaengine_desc_callback_invoke(&cb, NULL);
773 callback(callback_param);
774} 772}
775 773
776static irqreturn_t ep93xx_dma_interrupt(int irq, void *dev_id) 774static irqreturn_t ep93xx_dma_interrupt(int irq, void *dev_id)