From 9f128bcc0728e421c067b4f3f11dd36fa6b9e9ee Mon Sep 17 00:00:00 2001 From: ken kuo Date: Tue, 6 Aug 2013 01:00:53 +0800 Subject: [PATCH] nds32: introduce DMA allocation API U-Boot does not compile for the adp-ag101 boards since commit a8f9cd1893bef05b92f63242228607b45821c4a7 (net: update FTGMAC100 for MMU/D-cache support) The driver assumes that the DMA allocation API are provided by all architectures. This is not the case for nds32 and it causes a build error. This patch adds DMA allocation API to avoid the errors. Signed-off-by: Kuan-Yu Kuo Cc: Macpaul Lin Cc: Andes Signed-off-by: Andes --- arch/nds32/include/asm/dma-mapping.h | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 arch/nds32/include/asm/dma-mapping.h diff --git a/arch/nds32/include/asm/dma-mapping.h b/arch/nds32/include/asm/dma-mapping.h new file mode 100644 index 0000000000..25e5a1b6ec --- /dev/null +++ b/arch/nds32/include/asm/dma-mapping.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2013 Andes Technology Corporation + * Ken Kuo, Andes Technology Corporation + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#ifndef __ASM_NDS_DMA_MAPPING_H +#define __ASM_NDS_DMA_MAPPING_H + +enum dma_data_direction { + DMA_BIDIRECTIONAL = 0, + DMA_TO_DEVICE = 1, + DMA_FROM_DEVICE = 2, +}; + +static void *dma_alloc_coherent(size_t len, unsigned long *handle) +{ + *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); + return (void *)*handle; +} + +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, + enum dma_data_direction dir) +{ + return (unsigned long)vaddr; +} + +static inline void dma_unmap_single(volatile void *vaddr, size_t len, + unsigned long paddr) +{ +} + +#endif /* __ASM_NDS_DMA_MAPPING_H */ -- 2.39.2