Documentation/DMA-API-HOWTO: add ARCH_KMALLOC_MINALIGN description
Add ARCH_KMALLOC_MINALIGN description in "Platform Issues" section. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: "David S. Miller" <davem@davemloft.net> Cc: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
4ae9ca825e
commit
2fd74e25df
@ -738,7 +738,20 @@ to "Closing".
|
|||||||
CONFIG_NEED_SG_DMA_LENGTH if the architecture supports IOMMUs
|
CONFIG_NEED_SG_DMA_LENGTH if the architecture supports IOMMUs
|
||||||
(including software IOMMU).
|
(including software IOMMU).
|
||||||
|
|
||||||
2) More to come...
|
2) ARCH_KMALLOC_MINALIGN
|
||||||
|
|
||||||
|
Architectures must ensure that kmalloc'ed buffer is
|
||||||
|
DMA-safe. Drivers and subsystems depend on it. If an architecture
|
||||||
|
isn't fully DMA-coherent (i.e. hardware doesn't ensure that data in
|
||||||
|
the CPU cache is identical to data in main memory),
|
||||||
|
ARCH_KMALLOC_MINALIGN must be set so that the memory allocator
|
||||||
|
makes sure that kmalloc'ed buffer doesn't share a cache line with
|
||||||
|
the others. See arch/arm/include/asm/cache.h as an example.
|
||||||
|
|
||||||
|
Note that ARCH_KMALLOC_MINALIGN is about DMA memory alignment
|
||||||
|
constraints. You don't need to worry about the architecture data
|
||||||
|
alignment constraints (e.g. the alignment constraints about 64-bit
|
||||||
|
objects).
|
||||||
|
|
||||||
Closing
|
Closing
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user