macio: handle non-block ATAPI DMA transfers
commit85720d36676ef0b765a69f1e312b4c9d4ff6fa16
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Sun, 18 May 2014 12:20:55 +0000 (18 13:20 +0100)
committerAlexander Graf <agraf@suse.de>
Mon, 16 Jun 2014 11:24:36 +0000 (16 13:24 +0200)
tree2417d66867d722d96ec7e5f9dfc4b3a5161cd44e
parent10582ff832798813ba3a17f13f3ab46250388b47
macio: handle non-block ATAPI DMA transfers

Currently the macio DMA routines assume that all DMA requests are for read/write
block transfers. This is not always the case for ATAPI, for example when
requesting a TOC where the response is generated directly in the IDE buffer.

Detect these non-block ATAPI DMA transfers (where no lba is specified in the
command) and copy the results directly into RAM as indicated by the DBDMA
descriptor. This fixes CDROM access under MorphOS.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/ide/macio.c