blob: 96408abab32e5d70e7a69670024c259bb267aa9c [file] [log] [blame]
edgar_igl1ba13a52008-05-11 15:03:06 +00001struct 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 Liguoric227f092009-10-01 16:12:16 -050016void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels);
edgar_igl1ba13a52008-05-11 15:03:06 +000017void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line,
18 int input);
19void etraxfs_dmac_connect_client(void *opaque, int c,
20 struct etraxfs_dma_client *cl);
edgar_igl1ba13a52008-05-11 15:03:06 +000021int etraxfs_dmac_input(struct etraxfs_dma_client *client,
22 void *buf, int len, int eop);