Documentation: dmaengine: Document new dma_vec API

Document the dmaengine_prep_peripheral_dma_vec() API function, the
device_prep_peripheral_dma_vec() backend function, and the dma_vec
struct.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Link: https://lore.kernel.org/r/20240620122726.41232-8-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Paul Cercueil 2024-06-20 14:27:26 +02:00 committed by Vinod Koul
parent 74609e5686
commit 380afccc2a
2 changed files with 19 additions and 0 deletions

View File

@ -80,6 +80,10 @@ The details of these operations are:
- slave_sg: DMA a list of scatter gather buffers from/to a peripheral - slave_sg: DMA a list of scatter gather buffers from/to a peripheral
- peripheral_dma_vec: DMA an array of scatter gather buffers from/to a
peripheral. Similar to slave_sg, but uses an array of dma_vec
structures instead of a scatterlist.
- dma_cyclic: Perform a cyclic DMA operation from/to a peripheral till the - dma_cyclic: Perform a cyclic DMA operation from/to a peripheral till the
operation is explicitly stopped. operation is explicitly stopped.
@ -102,6 +106,11 @@ The details of these operations are:
unsigned int sg_len, enum dma_data_direction direction, unsigned int sg_len, enum dma_data_direction direction,
unsigned long flags); unsigned long flags);
struct dma_async_tx_descriptor *dmaengine_prep_peripheral_dma_vec(
struct dma_chan *chan, const struct dma_vec *vecs,
size_t nents, enum dma_data_direction direction,
unsigned long flags);
struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic(
struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
size_t period_len, enum dma_data_direction direction); size_t period_len, enum dma_data_direction direction);

View File

@ -433,6 +433,12 @@ supported.
- residue: Provides the residue bytes of the transfer for those that - residue: Provides the residue bytes of the transfer for those that
support residue. support residue.
- ``device_prep_peripheral_dma_vec``
- Similar to ``device_prep_slave_sg``, but it takes a pointer to a
array of ``dma_vec`` structures, which (in the long run) will replace
scatterlists.
- ``device_issue_pending`` - ``device_issue_pending``
- Takes the first transaction descriptor in the pending queue, - Takes the first transaction descriptor in the pending queue,
@ -544,6 +550,10 @@ dma_cookie_t
- Not really relevant any more since the introduction of ``virt-dma`` - Not really relevant any more since the introduction of ``virt-dma``
that abstracts it away. that abstracts it away.
dma_vec
- A small structure that contains a DMA address and length.
DMA_CTRL_ACK DMA_CTRL_ACK
- If clear, the descriptor cannot be reused by provider until the - If clear, the descriptor cannot be reused by provider until the