OSDN Git Service

media: stm32-dcmi: remove deprecated dmaengine_terminate_all()
authorHugues Fruchet <hugues.fruchet@st.com>
Wed, 7 Oct 2020 16:05:52 +0000 (18:05 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 16 Nov 2020 09:31:15 +0000 (10:31 +0100)
Replace dmaengine_terminate_all() by dmaengine_terminate_sync()
to ensure that all pending dma operations are really finished.
This is not ensured by dmaengine_terminate_all() and this API
is deprecated, so better to use the _sync() variant.

Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Reviewed-by: Philippe CORNU <philippe.cornu@st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/stm32/stm32-dcmi.c

index 720534e..c6bb3e4 100644 (file)
@@ -324,7 +324,7 @@ static int dcmi_start_dma(struct stm32_dcmi *dcmi,
        }
 
        /*
-        * Avoid call of dmaengine_terminate_all() between
+        * Avoid call of dmaengine_terminate_sync() between
         * dmaengine_prep_slave_single() and dmaengine_submit()
         * by locking the whole DMA submission sequence
         */
@@ -438,7 +438,7 @@ static void dcmi_process_jpeg(struct stm32_dcmi *dcmi)
        }
 
        /* Abort DMA operation */
-       dmaengine_terminate_all(dcmi->dma_chan);
+       dmaengine_terminate_sync(dcmi->dma_chan);
 
        /* Restart capture */
        if (dcmi_restart_capture(dcmi))
@@ -882,7 +882,7 @@ static void dcmi_stop_streaming(struct vb2_queue *vq)
 
        /* Stop all pending DMA operations */
        mutex_lock(&dcmi->dma_lock);
-       dmaengine_terminate_all(dcmi->dma_chan);
+       dmaengine_terminate_sync(dcmi->dma_chan);
        mutex_unlock(&dcmi->dma_lock);
 
        pm_runtime_put(dcmi->dev);