forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dma: document dma_*map*_attrs() interfaces
Document the new dma_*map*_attrs() functions. [[email protected]: fix up for dma-add-dma_map_attrs-interfaces and update docs] Signed-off-by: Arthur Kepner <[email protected]> Acked-by: David S. Miller <[email protected]> Cc: Tony Luck <[email protected]> Cc: Jesse Barnes <[email protected]> Cc: Jes Sorensen <[email protected]> Cc: Randy Dunlap <[email protected]> Cc: Roland Dreier <[email protected]> Cc: James Bottomley <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Grant Grundler <[email protected]> Cc: Michael Ellerman <[email protected]> Signed-off-by: Mark Nelson <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Showing
2 changed files
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
DMA attributes | ||
============== | ||
|
||
This document describes the semantics of the DMA attributes that are | ||
defined in linux/dma-attrs.h. | ||
|
||
DMA_ATTR_WRITE_BARRIER | ||
---------------------- | ||
|
||
DMA_ATTR_WRITE_BARRIER is a (write) barrier attribute for DMA. DMA | ||
to a memory region with the DMA_ATTR_WRITE_BARRIER attribute forces | ||
all pending DMA writes to complete, and thus provides a mechanism to | ||
strictly order DMA from a device across all intervening busses and | ||
bridges. This barrier is not specific to a particular type of | ||
interconnect, it applies to the system as a whole, and so its | ||
implementation must account for the idiosyncracies of the system all | ||
the way from the DMA device to memory. | ||
|
||
As an example of a situation where DMA_ATTR_WRITE_BARRIER would be | ||
useful, suppose that a device does a DMA write to indicate that data is | ||
ready and available in memory. The DMA of the "completion indication" | ||
could race with data DMA. Mapping the memory used for completion | ||
indications with DMA_ATTR_WRITE_BARRIER would prevent the race. | ||
|