dma-mapping: provide CONFIG_ARCH_DMA_DEFAULT_COHERENT
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Sat, 1 Apr 2023 09:15:30 +0000 (10:15 +0100)
committerChristoph Hellwig <hch@lst.de>
Fri, 7 Apr 2023 05:38:25 +0000 (07:38 +0200)
Provide a kconfig option to allow arches to manipulate default
value of dma_default_coherent in Kconfig.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/Kconfig
kernel/dma/mapping.c

index 56866aa..6677d0e 100644 (file)
@@ -76,6 +76,13 @@ config ARCH_HAS_DMA_PREP_COHERENT
 config ARCH_HAS_FORCE_DMA_UNENCRYPTED
        bool
 
+#
+# Select this option if the architecture assumes DMA devices are coherent
+# by default.
+#
+config ARCH_DMA_DEFAULT_COHERENT
+       bool
+
 config SWIOTLB
        bool
        select NEED_DMA_MAP_STATE
index 80f9663..9a4db5c 100644 (file)
@@ -20,7 +20,7 @@
 #if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \
        defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \
        defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL)
-bool dma_default_coherent;
+bool dma_default_coherent = IS_ENABLED(CONFIG_ARCH_DMA_DEFAULT_COHERENT);
 #endif
 
 /*