mac_scsi: Fix pseudo DMA implementation
authorFinn Thain <fthain@telegraphics.com.au>
Wed, 23 Mar 2016 10:10:31 +0000 (21:10 +1100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 11 Apr 2016 20:57:09 +0000 (16:57 -0400)
commit3a0f64bfa90700c4fa9db0ed2d701300edd9a0b3
treec115966bfb47370b38e0c14b2dd0b95736e8892c
parentded155b5e4e735bdd654306145dff6491ce85766
mac_scsi: Fix pseudo DMA implementation

Fix various issues: Comments about bus errors are incorrect. The
PDMA asm must return the size of the memory access that faulted so the
transfer count can be adjusted accordingly. A phase change may cause a
bus error but should not be treated as failure. A bus error does not
always imply a phase change and generally the transfer may continue.
Scatter/gather doesn't seem to work with PDMA due to overruns. This is
a pity because peak throughput seems to double with SG_ALL.
Tested on a Mac LC III and a PowerBook 520.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/NCR5380.h
drivers/scsi/mac_scsi.c