dmaengine: omap-dma: Implement device_synchronize callback
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 11 Feb 2016 09:08:34 +0000 (11:08 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 22 Feb 2016 02:49:02 +0000 (08:19 +0530)
We need the callback to support the dmaengine_terminate_sync().

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/omap-dma.c

index 9794b073d7d74d42e74c74db625e348a3ebc6483..43bd5aee7ffe093d78e6f8c1f43b75084f8f1c8e 100644 (file)
@@ -1009,6 +1009,13 @@ static int omap_dma_terminate_all(struct dma_chan *chan)
        return 0;
 }
 
+static void omap_dma_synchronize(struct dma_chan *chan)
+{
+       struct omap_chan *c = to_omap_dma_chan(chan);
+
+       vchan_synchronize(&c->vc);
+}
+
 static int omap_dma_pause(struct dma_chan *chan)
 {
        struct omap_chan *c = to_omap_dma_chan(chan);
@@ -1112,6 +1119,7 @@ static int omap_dma_probe(struct platform_device *pdev)
        od->ddev.device_pause = omap_dma_pause;
        od->ddev.device_resume = omap_dma_resume;
        od->ddev.device_terminate_all = omap_dma_terminate_all;
+       od->ddev.device_synchronize = omap_dma_synchronize;
        od->ddev.src_addr_widths = OMAP_DMA_BUSWIDTHS;
        od->ddev.dst_addr_widths = OMAP_DMA_BUSWIDTHS;
        od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);