Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / arch / avr32 / include / asm / dma-mapping.h
diff --git a/qemu/roms/u-boot/arch/avr32/include/asm/dma-mapping.h b/qemu/roms/u-boot/arch/avr32/include/asm/dma-mapping.h
new file mode 100644 (file)
index 0000000..95ea81f
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2006 Atmel Corporation
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#ifndef __ASM_AVR32_DMA_MAPPING_H
+#define __ASM_AVR32_DMA_MAPPING_H
+
+#include <asm/io.h>
+#include <asm/arch/cacheflush.h>
+
+enum dma_data_direction {
+       DMA_BIDIRECTIONAL       = 0,
+       DMA_TO_DEVICE           = 1,
+       DMA_FROM_DEVICE         = 2,
+};
+extern void *dma_alloc_coherent(size_t len, unsigned long *handle);
+
+static inline unsigned long dma_map_single(volatile void *vaddr, size_t len,
+                                          enum dma_data_direction dir)
+{
+       extern void __bad_dma_data_direction(void);
+
+       switch (dir) {
+       case DMA_BIDIRECTIONAL:
+               dcache_flush_range(vaddr, len);
+               break;
+       case DMA_TO_DEVICE:
+               dcache_clean_range(vaddr, len);
+               break;
+       case DMA_FROM_DEVICE:
+               dcache_invalidate_range(vaddr, len);
+               break;
+       default:
+               /* This will cause a linker error */
+               __bad_dma_data_direction();
+       }
+
+       return virt_to_phys(vaddr);
+}
+
+static inline void dma_unmap_single(volatile void *vaddr, size_t len,
+                                   unsigned long paddr)
+{
+
+}
+
+#endif /* __ASM_AVR32_DMA_MAPPING_H */