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

From: Jonathan Cameron
Date: Thu Dec 21 2023 - 06:40:59 EST


On Tue, 19 Dec 2023 18:50:04 +0100
Paul Cercueil <paul@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>

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