Commit 380afccc authored by Paul Cercueil's avatar Paul Cercueil Committed by Vinod Koul
Browse files

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: default avatarPaul Cercueil <paul@crapouillou.net>
Reviewed-by: default avatarBagas Sanjaya <bagasdotme@gmail.com>
Link: https://lore.kernel.org/r/20240620122726.41232-8-paul@crapouillou.net


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 74609e56
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -80,6 +80,10 @@ The details of these operations are:

  - 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
    operation is explicitly stopped.

@@ -102,6 +106,11 @@ The details of these operations are:
		unsigned int sg_len, enum dma_data_direction direction,
		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_chan *chan, dma_addr_t buf_addr, size_t buf_len,
		size_t period_len, enum dma_data_direction direction);
+10 −0
Original line number Diff line number Diff line
@@ -433,6 +433,12 @@ supported.
    - residue: Provides the residue bytes of the transfer for those that
      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``

  - 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``
  that abstracts it away.

dma_vec

- A small structure that contains a DMA address and length.

DMA_CTRL_ACK

- If clear, the descriptor cannot be reused by provider until the