diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2020-10-29 12:52:40 +1100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2020-11-27 10:33:40 +0100 |
commit | 8d8d53cf8fd028310b1189165b939cde124895d7 (patch) | |
tree | f1aab854df1f06f0604eb240adf21937c5bc6bc6 /kernel/dma/Kconfig | |
parent | 418baf2c28f3473039f2f7377760bd8f6897ae18 (diff) | |
download | lwn-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/Kconfig | 4 |
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 |