Commit 2fd74e25df46ecb0b54700aba242dcaeb2d75f4a

Authored by FUJITA Tomonori
Committed by Linus Torvalds
1 parent 4ae9ca825e

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>

Showing 1 changed file with 14 additions and 1 deletions Side-by-side Diff

Documentation/DMA-API-HOWTO.txt
... ... @@ -738,7 +738,20 @@
738 738 CONFIG_NEED_SG_DMA_LENGTH if the architecture supports IOMMUs
739 739 (including software IOMMU).
740 740  
741   -2) More to come...
  741 +2) ARCH_KMALLOC_MINALIGN
  742 +
  743 + Architectures must ensure that kmalloc'ed buffer is
  744 + DMA-safe. Drivers and subsystems depend on it. If an architecture
  745 + isn't fully DMA-coherent (i.e. hardware doesn't ensure that data in
  746 + the CPU cache is identical to data in main memory),
  747 + ARCH_KMALLOC_MINALIGN must be set so that the memory allocator
  748 + makes sure that kmalloc'ed buffer doesn't share a cache line with
  749 + the others. See arch/arm/include/asm/cache.h as an example.
  750 +
  751 + Note that ARCH_KMALLOC_MINALIGN is about DMA memory alignment
  752 + constraints. You don't need to worry about the architecture data
  753 + alignment constraints (e.g. the alignment constraints about 64-bit
  754 + objects).
742 755  
743 756 Closing
744 757