]> Git Repo - qemu.git/blob - hw/xilinx_axidma.h
hda: do not mix output and input stream states, RHBZ #740493
[qemu.git] / hw / xilinx_axidma.h
1 /* AXI DMA connection. Used until qdev provides a generic way.  */
2 typedef void (*DMAPushFn)(void *opaque,
3                             unsigned char *buf, size_t len, uint32_t *app);
4
5 struct XilinxDMAConnection {
6     void *dma;
7     void *client;
8
9     DMAPushFn to_dma;
10     DMAPushFn to_client;
11 };
12
13 static inline void xlx_dma_connect_client(struct XilinxDMAConnection *dmach,
14                                           void *c, DMAPushFn f)
15 {
16     dmach->client = c;
17     dmach->to_client = f;
18 }
19
20 static inline void xlx_dma_connect_dma(struct XilinxDMAConnection *dmach,
21                                        void *d, DMAPushFn f)
22 {
23     dmach->dma = d;
24     dmach->to_dma = f;
25 }
26
27 static inline
28 void xlx_dma_push_to_dma(struct XilinxDMAConnection *dmach,
29                          uint8_t *buf, size_t len, uint32_t *app)
30 {
31     dmach->to_dma(dmach->dma, buf, len, app);
32 }
33 static inline
34 void xlx_dma_push_to_client(struct XilinxDMAConnection *dmach,
35                             uint8_t *buf, size_t len, uint32_t *app)
36 {
37     dmach->to_client(dmach->client, buf, len, app);
38 }
39
This page took 0.027226 seconds and 4 git commands to generate.