ncr5380: Enable PDMA for DTC chips
authorOndrej Zary <linux@rainbow-software.org>
Sun, 3 Jan 2016 05:06:17 +0000 (16:06 +1100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Jan 2016 02:43:12 +0000 (21:43 -0500)
commitaeb51152bb55451f7a3ddb8c1ec4d4bc19d4a195
tree0f0ab14b9416e7f3cbfd669406abc92398f38bd1
parentcecf3beef0ef311b5b375b6307fd5dc3f5dc3edb
ncr5380: Enable PDMA for DTC chips

Add I/O register mapping for DTC chips and enable PDMA mode.

These chips have 16-bit wide HOST BUFFER register and it must be read
by 16-bit accesses (we lose data otherwise).

Large PIO transfers crash at least the DTCT-436P chip (all reads result
in 0xFF) so this patch actually makes it work.

The chip also crashes when we bang on the C400 host status register too
heavily after PDMA write - a small udelay is needed.

Tested on DTCT-436P and verified that it does not break 53C400A.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
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/g_NCR5380.c
drivers/scsi/g_NCR5380.h