aboutsummaryrefslogtreecommitdiff
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)
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;
};