aboutsummaryrefslogtreecommitdiff
path: root/hw/mac_dbdma.h
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-03 09:14:10 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-03 09:14:10 +0000
commitb42ec42d4306e6da1e72a32167262343025116ed (patch)
tree7b3b21ac1051cb23416f74388cbe06ed81bdd413 /hw/mac_dbdma.h
parent927e3a4e066d4bce091d368b15c7ad7877a1e0e1 (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.h19
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);