[lkml]   [2007]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 3/5] dma: document dma_flags_set_attr()

    Document dma_flags_set_attr().

    Signed-off-by: Arthur Kepner <>


    DMA-API.txt | 27 +++++++++++++++++++++++++++
    1 files changed, 27 insertions(+)

    diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt
    index cc7a8c3..16e15c0 100644
    --- a/Documentation/DMA-API.txt
    +++ b/Documentation/DMA-API.txt
    @@ -544,3 +544,30 @@ size is the size (and should be a page-sized multiple).
    The return value will be either a pointer to the processor virtual
    address of the memory, or an error (via PTR_ERR()) if any part of the
    region is occupied.
    +dma_flags_set_attr(u32 attr, enum dma_data_direction dir)
    +Amend dir with a platform-specific "dma attribute".
    +The only attribute currently defined is DMA_BARRIER_ATTR, which causes
    +in-flight DMA to be flushed when the associated memory region is written
    +to (see example below). Setting DMA_BARRIER_ATTR provides a mechanism
    +to enforce ordering of DMA on platforms that permit DMA to be reordered
    +between device and host memory (within a NUMA interconnect). On other
    +platforms this is a nop.
    +DMA_BARRIER_ATTR would be set when the memory region is mapped for DMA,
    + int count;
    + int flags = dma_flags_set_attr(DMA_BARRIER_ATTR, DMA_BIDIRECTIONAL);
    + ....
    + count = dma_map_sg(dev, sglist, nents, flags);
    +As an example of a situation where this would be useful, suppose that
    +the 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. Using DMA_BARRIER_ATTR on the memory used for
    +completion indications would prevent the race.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at
     \ /
      Last update: 2007-10-03 04:51    [W:0.020 / U:0.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site