[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220711084703.268481-1-amelie.delaunay@foss.st.com>
Date: Mon, 11 Jul 2022 10:46:59 +0200
From: Amelie Delaunay <amelie.delaunay@...s.st.com>
To: Jonathan Corbet <corbet@....net>, Vinod Koul <vkoul@...nel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>
CC: <linux-doc@...r.kernel.org>, <dmaengine@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, Marek Vasut <marex@...x.de>,
Amelie Delaunay <amelie.delaunay@...s.st.com>
Subject: [PATCH 0/4] STM32 DMA-MDMA chaining feature
This patchset (re)introduces STM32 DMA-MDMA chaining feature.
As the DMA is not able to generate convenient burst transfer on the DDR,
it penalises the AXI bus when accessing the DDR. While it accesses
optimally the SRAM. The DMA-MDMA chaining then consists in having an SRAM
buffer between DMA and MDMA, so the DMA deals with peripheral and SRAM,
and the MDMA with SRAM and DDR.
The feature relies on the fact that DMA channel Transfer Complete signal
can trigger a MDMA channel transfer and MDMA can clear the DMA request by
writing to DMA Interrupt Clear register.
A deeper introduction can be found in patch 1.
Previous implementation [1] has been dropped as nacked.
Unlike this previous implementation (where all the stuff was embedded in
stm32-dma driver), the user (in peripheral drivers using dma) has now to
configure the MDMA channel.
[1] https://lore.kernel.org/lkml/1538139715-24406-1-git-send-email-pierre-yves.mordret@st.com/
Amelie Delaunay (4):
docs: arm: stm32: introduce STM32 DMA-MDMA chaining feature
dmaengine: stm32-dmamux: set dmamux channel id in dma features
bitfield
dmaengine: stm32-dma: add support to trigger STM32 MDMA
dmaengine: stm32-mdma: add support to be triggered by STM32 DMA
.../arm/stm32/stm32-dma-mdma-chaining.rst | 365 ++++++++++++++++++
drivers/dma/stm32-dma.c | 56 ++-
drivers/dma/stm32-dmamux.c | 2 +-
drivers/dma/stm32-mdma.c | 70 +++-
4 files changed, 490 insertions(+), 3 deletions(-)
create mode 100644 Documentation/arm/stm32/stm32-dma-mdma-chaining.rst
--
2.25.1
Powered by blists - more mailing lists