aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r--arch/arm/mm/Kconfig19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index c4ed9f93f646..573528d9c6d8 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -781,3 +781,22 @@ config ARM_L1_CACHE_SHIFT
781 int 781 int
782 default 6 if ARM_L1_CACHE_SHIFT_6 782 default 6 if ARM_L1_CACHE_SHIFT_6
783 default 5 783 default 5
784
785config ARM_DMA_MEM_BUFFERABLE
786 bool "Use non-cacheable memory for DMA" if CPU_V6 && !CPU_V7
787 default y if CPU_V6 || CPU_V7
788 help
789 Historically, the kernel has used strongly ordered mappings to
790 provide DMA coherent memory. With the advent of ARMv7, mapping
791 memory with differing types results in unpredictable behaviour,
792 so on these CPUs, this option is forced on.
793
794 Multiple mappings with differing attributes is also unpredictable
795 on ARMv6 CPUs, but since they do not have aggressive speculative
796 prefetch, no harm appears to occur.
797
798 However, drivers may be missing the necessary barriers for ARMv6,
799 and therefore turning this on may result in unpredictable driver
800 behaviour. Therefore, we offer this as an option.
801
802 You are recommended say 'Y' here and debug any affected drivers.