This series improve stability of the capture by fixing the handling of the overrun which was leading to captured frame corruption. Locking within the driver is also simplified and the way DMA is handled is reworked allowing to avoid having a specific handling for the JPEG data.
Performances of capture can now be increased via the usage of a DMA->MDMA chaining which allows for capture of higher resolution / framerate. Signed-off-by: Alain Volmat <[email protected]> --- Alain Volmat (12): media: stm32: dcmi: Switch from __maybe_unused to pm_sleep_ptr() media: stm32: dcmi: perform dmaengine_slave_config at probe media: stm32: dcmi: only create dma descriptor once at buf_prepare media: stm32: dcmi: stop the dma transfer on overrun media: stm32: dcmi: rework spin_lock calls media: stm32: dcmi: perform all dma handling within irq_thread media: stm32: dcmi: use dmaengine_terminate_async in irq context media: stm32: dcmi: continuous mode capture in JPEG dt-bindings: media: st: dcmi: add DMA-MDMA chaining properties media: stm32: dcmi: addition of DMA-MDMA chaining support ARM: dts: stm32: add sram node within stm32mp151.dtsi ARM: dts: stm32: enable DCMI DMA-MDMA chaining on stm32mp157c-ev1.dts .../devicetree/bindings/media/st,stm32-dcmi.yaml | 13 +- arch/arm/boot/dts/st/stm32mp151.dtsi | 8 + arch/arm/boot/dts/st/stm32mp157c-ev1.dts | 15 + drivers/media/platform/st/stm32/stm32-dcmi.c | 470 ++++++++++++++------- 4 files changed, 341 insertions(+), 165 deletions(-) --- base-commit: f7231cff1f3ff8259bef02dc4999bc132abf29cf change-id: 20251213-stm32-dcmi-dma-chaining-9ea1da83007d Best regards, -- Alain Volmat <[email protected]>
