Commit ab32b2c3 authored by Hugues Fruchet's avatar Hugues Fruchet Committed by Mauro Carvalho Chehab
Browse files

media: stm32-dcmi: remove deprecated dmaengine_terminate_all()



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: default avatarHugues Fruchet <hugues.fruchet@st.com>
Reviewed-by: default avatarPhilippe CORNU <philippe.cornu@st.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b9b32762
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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);