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

Documentation: dmaengine: Add DMA_CTRL_REUSE documentation

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by:Robert Jarzmik <robert.jarzmik@free.fr>

+17
+17
Documentation/dmaengine/provider.txt
··· 351 351 - This can be acked by invoking async_tx_ack() 352 352 - If set, does not mean descriptor can be reused 353 353 354 + * DMA_CTRL_REUSE 355 + - If set, the descriptor can be reused after being completed. It should 356 + not be freed by provider if this flag is set. 357 + - The descriptor should be prepared for reuse by invoking 358 + dmaengine_desc_set_reuse() which will set DMA_CTRL_REUSE. 359 + - dmaengine_desc_set_reuse() will succeed only when channel support 360 + reusable descriptor as exhibited by capablities 361 + - As a consequence, if a device driver wants to skip the dma_map_sg() and 362 + dma_unmap_sg() in between 2 transfers, because the DMA'd data wasn't used, 363 + it can resubmit the transfer right after its completion. 364 + - Descriptor can be freed in few ways 365 + - Clearing DMA_CTRL_REUSE by invoking dmaengine_desc_clear_reuse() 366 + and submitting for last txn 367 + - Explicitly invoking dmaengine_desc_free(), this can succeed only 368 + when DMA_CTRL_REUSE is already set 369 + - Terminating the channel 370 + 354 371 355 372 General Design Notes 356 373 --------------------