summaryrefslogtreecommitdiff
path: root/kernel/dma/Kconfig
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2020-10-29 12:52:40 +1100
committerChristoph Hellwig <hch@lst.de>2020-11-27 10:33:40 +0100
commit8d8d53cf8fd028310b1189165b939cde124895d7 (patch)
treef1aab854df1f06f0604eb240adf21937c5bc6bc6 /kernel/dma/Kconfig
parent418baf2c28f3473039f2f7377760bd8f6897ae18 (diff)
downloadlwn-8d8d53cf8fd028310b1189165b939cde124895d7.tar.gz
lwn-8d8d53cf8fd028310b1189165b939cde124895d7.zip
dma-mapping: Allow mixing bypass and mapped DMA operation
At the moment we allow bypassing DMA ops only when we can do this for the entire RAM. However there are configs with mixed type memory where we could still allow bypassing IOMMU in most cases; POWERPC with persistent memory is one example. This adds an arch hook to determine where bypass can still work and we invoke direct DMA API. The following patch checks the bus limit on POWERPC to allow or disallow direct mapping. This adds a ARCH_HAS_DMA_MAP_DIRECT config option to make the arch_xxxx hooks no-op by default. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'kernel/dma/Kconfig')
-rw-r--r--kernel/dma/Kconfig4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index c99de4a21458..43d106598e82 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -20,6 +20,10 @@ config DMA_OPS
config DMA_OPS_BYPASS
bool
+# Lets platform IOMMU driver choose between bypass and IOMMU
+config ARCH_HAS_DMA_MAP_DIRECT
+ bool
+
config NEED_SG_DMA_LENGTH
bool