Skip to content

Commit

Permalink
Documentation: dmaengine: Add DMA_CTRL_REUSE documentation
Browse files Browse the repository at this point in the history
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Acked-by:Robert Jarzmik <robert.jarzmik@free.fr>
  • Loading branch information
Vinod Koul committed Aug 17, 2015
1 parent 06f10e2 commit 60884dd
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Documentation/dmaengine/provider.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,23 @@ where to put them)
- This can be acked by invoking async_tx_ack()
- 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
--------------------
Expand Down

0 comments on commit 60884dd

Please sign in to comment.