diff options
Diffstat (limited to 'arch/arm/include/asm/dma.h')
-rw-r--r-- | arch/arm/include/asm/dma.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index cb9cd1b4ea..48a9c6e67b 100644 --- a/arch/arm/include/asm/dma.h +++ b/arch/arm/include/asm/dma.h @@ -5,4 +5,27 @@ * */ -#include <asm/mmu.h> +#include <common.h> + +#define dma_alloc dma_alloc +static inline void *dma_alloc(size_t size) +{ + return xmemalign(64, ALIGN(size, 64)); +} + +#ifndef CONFIG_MMU +static inline void *dma_alloc_coherent(size_t size, dma_addr_t *dma_handle) +{ + void *ret = xmemalign(4096, size); + if (dma_handle) + *dma_handle = (dma_addr_t)ret; + + return ret; +} + +static inline void dma_free_coherent(void *mem, dma_addr_t dma_handle, + size_t size) +{ + free(mem); +} +#endif |