[PATCH] libata: Marvell SATA support (DMA mode) (resend: v0.22)
authorBrett Russ <russb@emc.com>
Fri, 30 Sep 2005 05:36:00 +0000 (01:36 -0400)
committerJeff Garzik <jgarzik@pobox.com>
Tue, 4 Oct 2005 02:08:19 +0000 (22:08 -0400)
commit31961943e3110c5a1c36b1e0069c29f7c4380e51
treed9b3b38afeb8f4e9736ba601b0265f584652a30f
parent2b235826098bb653982894dfc3f70fd029f6c2e4
[PATCH] libata: Marvell SATA support (DMA mode) (resend: v0.22)

This is my libata compatible low level driver for the Marvell SATA
family.  Currently it runs in DMA mode on a 6081 chip.

The 5xxx series parts are not yet DMA capable in this driver because
the registers have differences that haven't been accounted for yet.
Basically, I'm focused on the 6xxx series right now.  I apologize for
those seeing problems on the 5xxx series, I've not had a chance to
look at those problems yet.

For those curious, the previous bug causing the SCSI timeout and
subsequent panics was caused by an improper clear of hc_irq_cause in
mv_host_intr().

This version is running well in my environment (6081 chips,
with/without SW raid1) and is showing equal or better performance
compared to the Marvell driver (mv_sata) in my initial tests (timed
dd's of reads/writes to/from memory/disk).

I still need to look at the causes of occasional problems such as this:

ata11: translating stat 0x35 err 0x00 to sense
ata11: status=0x35 { DeviceFault SeekComplete CorrectedError Error }
SCSI error : <10 0 0 0> return code = 0x8000002
Current sda: sense key Hardware Error
end_request: I/O error, dev sda, sector 3155010

and this, seen at init time:

ATA: abnormal status 0x80 on port 0xE093911C

but they aren't showstoppers.

Signed-off-by: Brett Russ <russb@emc.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/scsi/sata_mv.c