diff options
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r-- | arch/arm/mm/Kconfig | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 3e62aae2225a..346ae14824a5 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -762,7 +762,8 @@ config CACHE_FEROCEON_L2_WRITETHROUGH | |||
762 | config CACHE_L2X0 | 762 | config CACHE_L2X0 |
763 | bool "Enable the L2x0 outer cache controller" | 763 | bool "Enable the L2x0 outer cache controller" |
764 | depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || \ | 764 | depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || \ |
765 | REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || ARCH_NOMADIK || ARCH_OMAP4 | 765 | REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || \ |
766 | ARCH_NOMADIK || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 | ||
766 | default y | 767 | default y |
767 | select OUTER_CACHE | 768 | select OUTER_CACHE |
768 | select OUTER_CACHE_SYNC | 769 | select OUTER_CACHE_SYNC |
@@ -791,6 +792,25 @@ config ARM_L1_CACHE_SHIFT | |||
791 | default 6 if ARM_L1_CACHE_SHIFT_6 | 792 | default 6 if ARM_L1_CACHE_SHIFT_6 |
792 | default 5 | 793 | default 5 |
793 | 794 | ||
795 | config ARM_DMA_MEM_BUFFERABLE | ||
796 | bool "Use non-cacheable memory for DMA" if CPU_V6 && !CPU_V7 | ||
797 | default y if CPU_V6 || CPU_V7 | ||
798 | help | ||
799 | Historically, the kernel has used strongly ordered mappings to | ||
800 | provide DMA coherent memory. With the advent of ARMv7, mapping | ||
801 | memory with differing types results in unpredictable behaviour, | ||
802 | so on these CPUs, this option is forced on. | ||
803 | |||
804 | Multiple mappings with differing attributes is also unpredictable | ||
805 | on ARMv6 CPUs, but since they do not have aggressive speculative | ||
806 | prefetch, no harm appears to occur. | ||
807 | |||
808 | However, drivers may be missing the necessary barriers for ARMv6, | ||
809 | and therefore turning this on may result in unpredictable driver | ||
810 | behaviour. Therefore, we offer this as an option. | ||
811 | |||
812 | You are recommended say 'Y' here and debug any affected drivers. | ||
813 | |||
794 | config ARCH_HAS_BARRIERS | 814 | config ARCH_HAS_BARRIERS |
795 | bool | 815 | bool |
796 | help | 816 | help |