Documentation: dmaengine: Add DMA_CTRL_REUSE documentation
Signed-off-by: Vinod Koul <vinod.koul@intel.com> Acked-by:Robert Jarzmik <robert.jarzmik@free.fr>
This commit is contained in:
@@ -351,6 +351,23 @@ where to put them)
|
|||||||
- This can be acked by invoking async_tx_ack()
|
- This can be acked by invoking async_tx_ack()
|
||||||
- If set, does not mean descriptor can be reused
|
- If set, does not mean descriptor can be reused
|
||||||
|
|
||||||
|
* DMA_CTRL_REUSE
|
||||||
|
- If set, the descriptor can be reused after being completed. It should
|
||||||
|
not be freed by provider if this flag is set.
|
||||||
|
- The descriptor should be prepared for reuse by invoking
|
||||||
|
dmaengine_desc_set_reuse() which will set DMA_CTRL_REUSE.
|
||||||
|
- dmaengine_desc_set_reuse() will succeed only when channel support
|
||||||
|
reusable descriptor as exhibited by capablities
|
||||||
|
- As a consequence, if a device driver wants to skip the dma_map_sg() and
|
||||||
|
dma_unmap_sg() in between 2 transfers, because the DMA'd data wasn't used,
|
||||||
|
it can resubmit the transfer right after its completion.
|
||||||
|
- Descriptor can be freed in few ways
|
||||||
|
- Clearing DMA_CTRL_REUSE by invoking dmaengine_desc_clear_reuse()
|
||||||
|
and submitting for last txn
|
||||||
|
- Explicitly invoking dmaengine_desc_free(), this can succeed only
|
||||||
|
when DMA_CTRL_REUSE is already set
|
||||||
|
- Terminating the channel
|
||||||
|
|
||||||
|
|
||||||
General Design Notes
|
General Design Notes
|
||||||
--------------------
|
--------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user