summaryrefslogtreecommitdiffstats
path: root/include/dma.h
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2015-03-05 22:49:58 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-06 07:51:51 +0100
commita0c4e2203fdde7b2636eab3f1406ea66f0e0da19 (patch)
treef7117216c02aa5cc0627d9377b4bdebad66166f6 /include/dma.h
parent682b7d849a56d500067ae93a4fdd29a32135d874 (diff)
downloadbarebox-a0c4e2203fdde7b2636eab3f1406ea66f0e0da19.tar.gz
barebox-a0c4e2203fdde7b2636eab3f1406ea66f0e0da19.tar.xz
dma: add streaming DMA ops
This will allow us to implement cache maintenance in a platform agnostic way. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/dma.h')
-rw-r--r--include/dma.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/dma.h b/include/dma.h
index 899f831faa..fb75eec678 100644
--- a/include/dma.h
+++ b/include/dma.h
@@ -11,6 +11,7 @@
#include <malloc.h>
#include <xfuncs.h>
+#include <dma-dir.h>
#include <asm/dma.h>
#ifndef dma_alloc
@@ -27,4 +28,14 @@ static inline void dma_free(void *mem)
}
#endif
+/* streaming DMA - implement the below calls to support HAS_DMA */
+void dma_sync_single_for_cpu(unsigned long address, size_t size,
+ enum dma_data_direction dir);
+
+void dma_sync_single_for_device(unsigned long address, size_t size,
+ enum dma_data_direction dir);
+
+void *dma_alloc_coherent(size_t size, dma_addr_t *dma_handle);
+void dma_free_coherent(void *mem, dma_addr_t dma_handle, size_t size);
+
#endif /* __DMA_H */