diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-03 09:14:10 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-03 09:14:10 +0000 |
commit | b42ec42d4306e6da1e72a32167262343025116ed (patch) | |
tree | 7b3b21ac1051cb23416f74388cbe06ed81bdd413 /hw/mac_dbdma.h | |
parent | 927e3a4e066d4bce091d368b15c7ad7877a1e0e1 (diff) |
DB-DMA cleanup
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6676 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/mac_dbdma.h')
-rw-r--r-- | hw/mac_dbdma.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/hw/mac_dbdma.h b/hw/mac_dbdma.h index d1a02ed75e..35f65c340a 100644 --- a/hw/mac_dbdma.h +++ b/hw/mac_dbdma.h @@ -20,22 +20,23 @@ * THE SOFTWARE. */ -typedef struct { +typedef struct DBDMA_io DBDMA_io; + +typedef void (*DBDMA_rw)(DBDMA_io *io); +typedef void (*DBDMA_end)(DBDMA_io *io); +struct DBDMA_io { void *opaque; void *channel; + target_phys_addr_t addr; int len; int is_last; - void *buf; - int buf_pos; - int buf_len; -} DBDMA_transfer; + int is_dma_out; + DBDMA_end dma_end; +}; -typedef int (*DBDMA_transfer_cb)(DBDMA_transfer *info); -typedef int (*DBDMA_transfer_handler)(DBDMA_transfer *info, - DBDMA_transfer_cb cb); void DBDMA_register_channel(void *dbdma, int nchan, qemu_irq irq, - DBDMA_transfer_handler transfer_handler, + DBDMA_rw rw, void *opaque); void DBDMA_schedule(void); void* DBDMA_init (int *dbdma_mem_index); |