Skip to content

Commit

Permalink
dbdma: use DMA memory interface for memory accesses
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
  • Loading branch information
mcayland authored and dgibson committed Jun 7, 2016
1 parent ddd495e commit 8865588
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions hw/misc/macio/mac_dbdma.c
Expand Up @@ -42,6 +42,7 @@
#include "hw/ppc/mac_dbdma.h"
#include "qemu/main-loop.h"
#include "qemu/log.h"
#include "sysemu/dma.h"

/* debug DBDMA */
//#define DEBUG_DBDMA
Expand Down Expand Up @@ -81,8 +82,8 @@ static void dbdma_cmdptr_load(DBDMA_channel *ch)
{
DBDMA_DPRINTF("dbdma_cmdptr_load 0x%08x\n",
ch->regs[DBDMA_CMDPTR_LO]);
cpu_physical_memory_read(ch->regs[DBDMA_CMDPTR_LO],
&ch->current, sizeof(dbdma_cmd));
dma_memory_read(&address_space_memory, ch->regs[DBDMA_CMDPTR_LO],
&ch->current, sizeof(dbdma_cmd));
}

static void dbdma_cmdptr_save(DBDMA_channel *ch)
Expand All @@ -92,8 +93,8 @@ static void dbdma_cmdptr_save(DBDMA_channel *ch)
DBDMA_DPRINTF("xfer_status 0x%08x res_count 0x%04x\n",
le16_to_cpu(ch->current.xfer_status),
le16_to_cpu(ch->current.res_count));
cpu_physical_memory_write(ch->regs[DBDMA_CMDPTR_LO],
&ch->current, sizeof(dbdma_cmd));
dma_memory_write(&address_space_memory, ch->regs[DBDMA_CMDPTR_LO],
&ch->current, sizeof(dbdma_cmd));
}

static void kill_channel(DBDMA_channel *ch)
Expand Down Expand Up @@ -353,7 +354,7 @@ static void load_word(DBDMA_channel *ch, int key, uint32_t addr,
return;
}

cpu_physical_memory_read(addr, &val, len);
dma_memory_read(&address_space_memory, addr, &val, len);

if (len == 2)
val = (val << 16) | (current->cmd_dep & 0x0000ffff);
Expand Down Expand Up @@ -398,7 +399,7 @@ static void store_word(DBDMA_channel *ch, int key, uint32_t addr,
else if (len == 1)
val >>= 24;

cpu_physical_memory_write(addr, &val, len);
dma_memory_write(&address_space_memory, addr, &val, len);

if (conditional_wait(ch))
goto wait;
Expand Down

0 comments on commit 8865588

Please sign in to comment.