Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Paul Cercueil and committed by
Vinod Koul
380afccc 74609e56

+19
+9
Documentation/driver-api/dmaengine/client.rst
··· 80 80 81 81 - slave_sg: DMA a list of scatter gather buffers from/to a peripheral 82 82 83 + - peripheral_dma_vec: DMA an array of scatter gather buffers from/to a 84 + peripheral. Similar to slave_sg, but uses an array of dma_vec 85 + structures instead of a scatterlist. 86 + 83 87 - dma_cyclic: Perform a cyclic DMA operation from/to a peripheral till the 84 88 operation is explicitly stopped. 85 89 ··· 104 100 struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( 105 101 struct dma_chan *chan, struct scatterlist *sgl, 106 102 unsigned int sg_len, enum dma_data_direction direction, 103 + unsigned long flags); 104 + 105 + struct dma_async_tx_descriptor *dmaengine_prep_peripheral_dma_vec( 106 + struct dma_chan *chan, const struct dma_vec *vecs, 107 + size_t nents, enum dma_data_direction direction, 107 108 unsigned long flags); 108 109 109 110 struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic(
+10
Documentation/driver-api/dmaengine/provider.rst
··· 433 433 - residue: Provides the residue bytes of the transfer for those that 434 434 support residue. 435 435 436 + - ``device_prep_peripheral_dma_vec`` 437 + 438 + - Similar to ``device_prep_slave_sg``, but it takes a pointer to a 439 + array of ``dma_vec`` structures, which (in the long run) will replace 440 + scatterlists. 441 + 436 442 - ``device_issue_pending`` 437 443 438 444 - Takes the first transaction descriptor in the pending queue, ··· 549 543 550 544 - Not really relevant any more since the introduction of ``virt-dma`` 551 545 that abstracts it away. 546 + 547 + dma_vec 548 + 549 + - A small structure that contains a DMA address and length. 552 550 553 551 DMA_CTRL_ACK 554 552