]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dmaengine: stm32-dma3: prevent LL refactoring thanks to DT configuration
authorAmelie Delaunay <amelie.delaunay@foss.st.com>
Wed, 16 Oct 2024 12:39:57 +0000 (14:39 +0200)
committerVinod Koul <vkoul@kernel.org>
Mon, 21 Oct 2024 17:21:45 +0000 (22:51 +0530)
commit2ff0fb9474eefa7149c199fb3f79e54355a6c184
treebadccd22b0213932b19a2ba62a3adae0234dc2fc
parente18a9830233e739ae7045700232c53b4cb2e98eb
dmaengine: stm32-dma3: prevent LL refactoring thanks to DT configuration

stm32-dma3 driver refactors the linked-list in order to address the memory
with the highest possible data width.
It means that it can introduce up to 2 linked-list items. One with a
transfer length multiple of channel maximum burst length and so with the
highest possible data width. And an extra one with the latest bytes, with
lower data width.
Some devices (e.g. FMC ECC) don't support having several transfers instead
of only one.
So add the possibility to prevent linked-list refactoring, when bit 17 of
the 'DMA transfer requirements' bit mask is set in device tree.
When NOPACK feature is used (bit 16 pf the 'DMA transfer requirements' bit
mask in device tree), linked-list refactoring can be avoided, since the
memory data width and burst will be aligned with the device ones.

Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Link: https://lore.kernel.org/r/20241016-dma3-mp25-updates-v3-5-8311fe6f228d@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/stm32/stm32-dma3.c