Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - A index
The Linux kernel configuration item CONFIG_ARM_DMA_MEM_BUFFERABLE
:
(( CONFIG_CPU_V6 || CONFIG_CPU_V6K || CONFIG_CPU_V7M ) && ! CONFIG_CPU_V7 ) && ( CONFIG_CPU_V6 || CONFIG_CPU_V6K || CONFIG_CPU_V7 || CONFIG_CPU_V7M )
Historically, the kernel has used strongly ordered mappings to provide DMA coherent memory. With the advent of ARMv7, mapping memory with differing types results in unpredictable behaviour, so on these CPUs, this option is forced on.
Multiple mappings with differing attributes is also unpredictable on ARMv6 CPUs, but since they do not have aggressive speculative prefetch, no harm appears to occur.
However, drivers may be missing the necessary barriers for ARMv6, and therefore turning this on may result in unpredictable driver behaviour. Therefore, we offer this as an option.
On some of the beefier ARMv7-M machines (with DMA and write buffers) you likely want this enabled, while those that didn't need it until now also won't need it in the future.
You are recommended say 'Y' here and debug any affected drivers.
Raw data from LKDDb:
(none)
This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).
The data is retrived from:
Popular queries:
Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - A index
Automatically generated (in year 2024). See also LKDDb sources on GitLab