You can clone with
Cannot retrieve contributors at this time
DMA attributes ==============This document describes the semantics of the DMA attributes that aredefined in linux/dma-attrs.h.DMA_ATTR_WRITE_BARRIER----------------------DMA_ATTR_WRITE_BARRIER is a (write) barrier attribute for DMA. DMAto a memory region with the DMA_ATTR_WRITE_BARRIER attribute forcesall pending DMA writes to complete, and thus provides a mechanism tostrictly order DMA from a device across all intervening busses andbridges. This barrier is not specific to a particular type ofinterconnect, it applies to the system as a whole, and so itsimplementation must account for the idiosyncracies of the system allthe way from the DMA device to memory.As an example of a situation where DMA_ATTR_WRITE_BARRIER would beuseful, suppose that a device does a DMA write to indicate that data isready and available in memory. The DMA of the "completion indication"could race with data DMA. Mapping the memory used for completionindications with DMA_ATTR_WRITE_BARRIER would prevent the race.DMA_ATTR_WEAK_ORDERING----------------------DMA_ATTR_WEAK_ORDERING specifies that reads and writes to the mappingmay be weakly ordered, that is that reads and writes may pass each other.Since it is optional for platforms to implement DMA_ATTR_WEAK_ORDERING,those that do not will simply ignore the attribute and exhibit defaultbehavior.