ahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(),...
authorTejun Heo <htejun@gmail.com>
Thu, 25 Oct 2007 05:59:16 +0000 (14:59 +0900)
committerJeff Garzik <jeff@garzik.org>
Thu, 25 Oct 2007 06:06:59 +0000 (02:06 -0400)
commitedc93052844c2032b2ec5910ace516da9078714d
treef99c1f1c529cdcbf93f12bf79583b287657abd49
parentc15fcafe1c42daff212d78d4ce9619a52a74379f
ahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(), take #2

P5W-DH Deluxe has ICH9 which doesn't have PMP support but SIMG 4726
hardwired to the second port of AHCI controller at PCI device 1f.2.
The 4726 doesn't work as PMP but as a storage processor which can do
hardware RAID on downstream ports.

When no device is attached to the downstream port of the 4726, pseudo
ATA device for configuration appears.  Unfortunately, ATA emulation on
the device is very lousy and causes long hang during boot.

This patch implements workaround for the board.  If the mainboard is
P5W-DH Deluxe (matched using DMI), only hardreset is used on the
second port of AHCI controller @ 1f.2 and the hardreset doesn't depend
on receiving the first FIS and just proceed to IDENTIFY.

This workaround fixes bugzilla #8923.

  http://bugzilla.kernel.org/show_bug.cgi?id=8923

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/ahci.c