summary refs log tree commit diff stats
path: root/hw/etraxfs_dma.h
diff options
context:
space:
mode:
authorLars Persson <larper@axis.com>2011-12-21 15:11:35 +0100
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2012-01-12 13:54:17 +0100
commit73a511decc9c87cbc1bac0012d990e4e74a648bf (patch)
treee830b615dc29c38e84d80391f14141321204b465 /hw/etraxfs_dma.h
parent9f6113c7e65a98a88bb95ff5fd8679fbb28f18d6 (diff)
downloadfocaccia-qemu-73a511decc9c87cbc1bac0012d990e4e74a648bf.tar.gz
focaccia-qemu-73a511decc9c87cbc1bac0012d990e4e74a648bf.zip
etraxfs-dma: Model metadata and eop
- Send EOP flags to the out channels.
- Send data descriptor metadata to the out channels.

Signed-off-by: Lars Persson <larper@axis.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'hw/etraxfs_dma.h')
-rw-r--r--hw/etraxfs_dma.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/hw/etraxfs_dma.h b/hw/etraxfs_dma.h
index 96408abab3..021c52ae7d 100644
--- a/hw/etraxfs_dma.h
+++ b/hw/etraxfs_dma.h
@@ -1,3 +1,8 @@
+struct dma_context_metadata {
+	/* data descriptor md */
+	uint16_t metadata;
+};
+
 struct etraxfs_dma_client
 {
 	/* DMA controller. */
@@ -5,10 +10,12 @@ struct etraxfs_dma_client
 	void *ctrl;
 
 	/* client.  */
-	struct
-	{
-		int (*push)(void *opaque, unsigned char *buf, int len);
+	struct {
+		int (*push)(void *opaque, unsigned char *buf,
+		            int len, bool eop);
 		void (*pull)(void *opaque);
+		void (*metadata_push)(void *opaque,
+		                      const struct dma_context_metadata *md);
 		void *opaque;
 	} client;
 };