summaryrefslogtreecommitdiffstats
path: root/kernel/dma/Kconfig
diff options
context:
space:
mode:
authorChristoph Hellwig2018-11-04 20:29:28 +0100
committerChristoph Hellwig2018-12-01 18:07:11 +0100
commit0c3b3171ceccb8830c2bb5adff1b4e9b204c1450 (patch)
treec7dbe5478677405c690334e59acc392c5db86858 /kernel/dma/Kconfig
parentdma-mapping: move the remap helpers to a separate file (diff)
downloadkernel-qcow2-linux-0c3b3171ceccb8830c2bb5adff1b4e9b204c1450.tar.gz
kernel-qcow2-linux-0c3b3171ceccb8830c2bb5adff1b4e9b204c1450.tar.xz
kernel-qcow2-linux-0c3b3171ceccb8830c2bb5adff1b4e9b204c1450.zip
dma-mapping: move the arm64 noncoherent alloc/free support to common code
The arm64 codebase to implement coherent dma allocation for architectures with non-coherent DMA is a good start for a generic implementation, given that is uses the generic remap helpers, provides the atomic pool for allocations that can't sleep and still is realtively simple and well tested. Move it to kernel/dma and allow architectures to opt into it using a config symbol. Architectures just need to provide a new arch_dma_prep_coherent helper to writeback an invalidate the caches for any memory that gets remapped for uncached access. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Will Deacon <will.deacon@arm.com> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Diffstat (limited to 'kernel/dma/Kconfig')
-rw-r--r--kernel/dma/Kconfig5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index c92e08173ed8..41c3b1df70eb 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -55,3 +55,8 @@ config SWIOTLB
config DMA_REMAP
depends on MMU
bool
+
+config DMA_DIRECT_REMAP
+ bool
+ depends on DMA_DIRECT_OPS
+ select DMA_REMAP