Loading Documentation/DMA-attributes.txt +19 −0 Original line number Diff line number Diff line Loading @@ -176,3 +176,22 @@ DMA_ATTR_IOMMU_USE_UPSTREAM_HINT DMA_ATTR_IOMMU_USE_UPSTREAM_HINT: Normally an smmu will override any bus attributes (i.e cacheablilty) provided by the client device. Some hardware may be designed to use the original attributes instead. DMA_ATTR_FORCE_COHERENT ----------------------- When passed to a DMA map call the DMA_ATTR_FORCE_COHERENT DMA attribute can be used to force a buffer to be mapped as IO coherent. This DMA attribute is only currently supported for arm64 stage 1 IOMMU mappings. DMA_ATTR_FORCE_NON_COHERENT --------------------------- When passed to a DMA map call the DMA_ATTR_FORCE_NON_COHERENT DMA attribute can be used to force a buffer to not be mapped as IO coherent. The DMA_ATTR_FORCE_NON_COHERENT DMA attribute overrides the buffer IO coherency configuration set by making the device IO coherent. This DMA attribute is only currently supported for arm64 stage 1 IOMMU mappings. include/linux/dma-mapping.h +11 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,17 @@ * may be designed to use the original attributes instead. */ #define DMA_ATTR_IOMMU_USE_UPSTREAM_HINT (1UL << 13) /* * When passed to a DMA map call the DMA_ATTR_FORCE_COHERENT DMA * attribute can be used to force a buffer to be mapped as IO coherent. */ #define DMA_ATTR_FORCE_COHERENT (1UL << 14) /* * When passed to a DMA map call the DMA_ATTR_FORCE_NON_COHERENT DMA * attribute can be used to force a buffer to not be mapped as IO * coherent. */ #define DMA_ATTR_FORCE_NON_COHERENT (1UL << 15) /* * A dma_addr_t can hold any valid DMA or bus address for the platform. Loading Loading
Documentation/DMA-attributes.txt +19 −0 Original line number Diff line number Diff line Loading @@ -176,3 +176,22 @@ DMA_ATTR_IOMMU_USE_UPSTREAM_HINT DMA_ATTR_IOMMU_USE_UPSTREAM_HINT: Normally an smmu will override any bus attributes (i.e cacheablilty) provided by the client device. Some hardware may be designed to use the original attributes instead. DMA_ATTR_FORCE_COHERENT ----------------------- When passed to a DMA map call the DMA_ATTR_FORCE_COHERENT DMA attribute can be used to force a buffer to be mapped as IO coherent. This DMA attribute is only currently supported for arm64 stage 1 IOMMU mappings. DMA_ATTR_FORCE_NON_COHERENT --------------------------- When passed to a DMA map call the DMA_ATTR_FORCE_NON_COHERENT DMA attribute can be used to force a buffer to not be mapped as IO coherent. The DMA_ATTR_FORCE_NON_COHERENT DMA attribute overrides the buffer IO coherency configuration set by making the device IO coherent. This DMA attribute is only currently supported for arm64 stage 1 IOMMU mappings.
include/linux/dma-mapping.h +11 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,17 @@ * may be designed to use the original attributes instead. */ #define DMA_ATTR_IOMMU_USE_UPSTREAM_HINT (1UL << 13) /* * When passed to a DMA map call the DMA_ATTR_FORCE_COHERENT DMA * attribute can be used to force a buffer to be mapped as IO coherent. */ #define DMA_ATTR_FORCE_COHERENT (1UL << 14) /* * When passed to a DMA map call the DMA_ATTR_FORCE_NON_COHERENT DMA * attribute can be used to force a buffer to not be mapped as IO * coherent. */ #define DMA_ATTR_FORCE_NON_COHERENT (1UL << 15) /* * A dma_addr_t can hold any valid DMA or bus address for the platform. Loading