lkml.org 
[lkml]   [2013]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
Subject[QUESTION] How can I understand ARM_DMA_MEM_BUFFERABLE?
From
Hi everyone:

In the newest linux kernel version3.8, arch/arm/mm/Kconfig, there are
some menu like this:

872 *config ARM_DMA_MEM_BUFFERABLE*

873 *bool "Use non-cacheable memory for DMA" if (CPU_V6 ||
CPU_V6K) && !CPU_V7*

874 depends on !(MACH_REALVIEW_PB1176 || REALVIEW_EB_ARM11MP || \

875 MACH_REALVIEW_PB11MP)

876 default y if CPU_V6 || CPU_V6K || CPU_V7

877 help

878 Historically, the kernel has used strongly ordered mappings to

879 provide DMA coherent memory. With the advent of ARMv7, mapping

880 memory with differing types results in unpredictable behaviour,

881 so on these CPUs, this option is forced on.

882

883 Multiple mappings with differing attributes is also unpredictable

884 on ARMv6 CPUs, but since they do not have aggressive speculative

885 prefetch, no harm appears to occur.

886
887 However, drivers may be missing the necessary barriers for ARMv6,

888 and therefore turning this on may result in unpredictable driver

889 behaviour. Therefore, we offer this as an option.

890
891 You are recommended say 'Y' here and debug any affected drivers.



I have three questions:

1)Does this mean that I cann't get unbuffered DMA buffer on ARM
cortex a8(CPU_V7)?


2)How can I allocate unbuffered DMA buffer on linux of cortex a8 platform?

3)In the upper contex,there are:
"With the advent of ARMv7, mapping memory with differing types
results in unpredictable behaviour"
What does "mapping memory with differing types" really mean?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2013-03-01 06:42    [W:0.029 / U:1.804 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site