[PATCH v5 3/8] dmaengine: Add API function dmaengine_prep_slave_dma_vec()

Jonathan Cameron jic23 at kernel.org
Thu Dec 21 11:40:20 UTC 2023


On Tue, 19 Dec 2023 18:50:04 +0100
Paul Cercueil <paul at crapouillou.net> wrote:

> 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 at crapouillou.net>

This and the next patch look fine to me as clearly simplify things for
our usecases, but they are really something for the dmaengine maintainers
to comment on.

Jonathan


More information about the dri-devel mailing list