]> git.proxmox.com Git - qemu.git/blame - hw/xilinx_axidma.h
PPC: Fix TLB invalidation bug within the PPC interrupt handler.
[qemu.git] / hw / xilinx_axidma.h
CommitLineData
93f1e401
EI
1/* AXI DMA connection. Used until qdev provides a generic way. */
2typedef void (*DMAPushFn)(void *opaque,
3 unsigned char *buf, size_t len, uint32_t *app);
4
5struct XilinxDMAConnection {
6 void *dma;
7 void *client;
8
9 DMAPushFn to_dma;
10 DMAPushFn to_client;
11};
12
13static 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
20static 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
27static inline
28void 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}
33static inline
34void 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