]> git.sur5r.net Git - u-boot/commitdiff
arm: dma_alloc_coherent: malloc() -> memalign()
authorKuo-Jung Su <dantesu@faraday-tech.com>
Mon, 29 Jul 2013 05:51:43 +0000 (13:51 +0800)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 14 Sep 2013 10:08:00 +0000 (12:08 +0200)
Even though the MMU/D-cache is off, some DMA engines still
expect strict address alignment.

For example, the incoming Faraday FTMAC110 & FTGMAC100 ethernet
controllers expect the tx/rx descriptors should always be aligned
to 16-bytes boundary.

Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
CC: Albert ARIBAUD <albert.u.boot@aribaud.net>
arch/arm/include/asm/dma-mapping.h

index 009863beec555f72410cd3c893855ac7f1c4f7b4..55a4e266a0a7078dc8f5390647b51019b8c78962 100644 (file)
@@ -16,7 +16,7 @@ enum dma_data_direction {
 
 static void *dma_alloc_coherent(size_t len, unsigned long *handle)
 {
-       *handle = (unsigned long)malloc(len);
+       *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len);
        return (void *)*handle;
 }