macio: use DMA memory interface for non-block ATAPI transfers
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Sun, 5 Jun 2016 22:36:42 +0000 (23:36 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Tue, 7 Jun 2016 00:17:45 +0000 (10:17 +1000)
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ide/macio.c

index 42ad68a..78c10a0 100644 (file)
@@ -271,7 +271,8 @@ static void pmac_ide_atapi_transfer_cb(void *opaque, int ret)
     if (s->lba == -1) {
         /* Non-block ATAPI transfer - just copy to RAM */
         s->io_buffer_size = MIN(s->io_buffer_size, io->len);
-        cpu_physical_memory_write(io->addr, s->io_buffer, s->io_buffer_size);
+        dma_memory_write(&address_space_memory, io->addr, s->io_buffer,
+                         s->io_buffer_size);
         ide_atapi_cmd_ok(s);
         m->dma_active = false;
         goto done;