]> git.proxmox.com Git - qemu.git/blame - hw/etraxfs_dma.h
virtio-scsi: do not report dropped events after reset
[qemu.git] / hw / etraxfs_dma.h
CommitLineData
73a511de
LP
1struct dma_context_metadata {
2 /* data descriptor md */
3 uint16_t metadata;
4};
5
1ba13a5d
EI
6struct etraxfs_dma_client
7{
8 /* DMA controller. */
9 int channel;
10 void *ctrl;
11
12 /* client. */
73a511de
LP
13 struct {
14 int (*push)(void *opaque, unsigned char *buf,
15 int len, bool eop);
1ba13a5d 16 void (*pull)(void *opaque);
73a511de
LP
17 void (*metadata_push)(void *opaque,
18 const struct dma_context_metadata *md);
1ba13a5d
EI
19 void *opaque;
20 } client;
21};
22
c227f099 23void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels);
1ba13a5d
EI
24void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line,
25 int input);
26void etraxfs_dmac_connect_client(void *opaque, int c,
27 struct etraxfs_dma_client *cl);
1ba13a5d
EI
28int etraxfs_dmac_input(struct etraxfs_dma_client *client,
29 void *buf, int len, int eop);