edgar_igl | 1ba13a5 | 2008-05-11 15:03:06 +0000 | [diff] [blame] | 1 | struct etraxfs_dma_client |
| 2 | { |
| 3 | /* DMA controller. */ |
| 4 | int channel; |
| 5 | void *ctrl; |
| 6 | |
| 7 | /* client. */ |
| 8 | struct |
| 9 | { |
| 10 | int (*push)(void *opaque, unsigned char *buf, int len); |
| 11 | void (*pull)(void *opaque); |
| 12 | void *opaque; |
| 13 | } client; |
| 14 | }; |
| 15 | |
Anthony Liguori | c227f09 | 2009-10-01 16:12:16 -0500 | [diff] [blame] | 16 | void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels); |
edgar_igl | 1ba13a5 | 2008-05-11 15:03:06 +0000 | [diff] [blame] | 17 | void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line, |
| 18 | int input); |
| 19 | void etraxfs_dmac_connect_client(void *opaque, int c, |
| 20 | struct etraxfs_dma_client *cl); |
edgar_igl | 1ba13a5 | 2008-05-11 15:03:06 +0000 | [diff] [blame] | 21 | int etraxfs_dmac_input(struct etraxfs_dma_client *client, |
| 22 | void *buf, int len, int eop); |