1 #ifndef HW_ETRAXFS_DMA_H
2 #define HW_ETRAXFS_DMA_H
4 #include "exec/hwaddr.h"
6 struct dma_context_metadata
{
7 /* data descriptor md */
11 struct etraxfs_dma_client
19 int (*push
)(void *opaque
, unsigned char *buf
,
21 void (*pull
)(void *opaque
);
22 void (*metadata_push
)(void *opaque
,
23 const struct dma_context_metadata
*md
);
28 void *etraxfs_dmac_init(hwaddr base
, int nr_channels
);
29 void etraxfs_dmac_connect(void *opaque
, int channel
, qemu_irq
*line
,
31 void etraxfs_dmac_connect_client(void *opaque
, int c
,
32 struct etraxfs_dma_client
*cl
);
33 int etraxfs_dmac_input(struct etraxfs_dma_client
*client
,
34 void *buf
, int len
, int eop
);