Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8163dd4 authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "common: DMA-mapping: add per-buffer coherent mappings attributes" into msm-4.9

parents 90f6f9ba b1b39b23
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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.
+11 −0
Original line number Diff line number Diff line
@@ -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.