diff options
author | Paul Cercueil <paul@crapouillou.net> | 2024-06-20 14:27:20 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2024-06-21 15:31:56 +0530 |
commit | 5878853fc9389e7d0988d4b465a415cf96fd14fa (patch) | |
tree | ca373d013a259df20fddeb213e48ded1f61ab869 /drivers/dma | |
parent | 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 (diff) |
dmaengine: Add API function dmaengine_prep_peripheral_dma_vec()
This function can be used to initiate a scatter-gather DMA transfer,
where the address and size of each segment is located in one entry of
the dma_vec array.
The major difference with dmaengine_prep_slave_sg() is that it supports
specifying the lengths of each DMA transfer; as trying to override the
length of the transfer with dmaengine_prep_slave_sg() is a very tedious
process. The introduction of a new API function is also justified by the
fact that scatterlists are on their way out.
Note that dmaengine_prep_interleaved_dma() is not helpful either in that
case, as it assumes that the address of each segment will be higher than
the one of the previous segment, which we just cannot guarantee in case
of a scatter-gather transfer.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Co-developed-by: Nuno Sa <nuno.sa@analog.com>
Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240620122726.41232-2-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma')
0 files changed, 0 insertions, 0 deletions