android_kernel_samsung_msm8976/drivers/ata
Tejun Heo edc9305284 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>
2007-10-25 02:06:59 -04:00
..
ahci.c ahci: ahci: implement workaround for ASUS P5W-DH Deluxe ahci_broken_hardreset(), take #2 2007-10-25 02:06:59 -04:00
ata_generic.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
ata_piix.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
Kconfig Update libata driver for bf548 atapi controller against the 2.6.24 tree. 2007-10-17 20:49:02 -04:00
libata-acpi.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
libata-core.c libata-core.c: make 2 functions static 2007-10-25 01:59:30 -04:00
libata-eh.c libata: cosmetic clean up in ata_eh_reset() 2007-10-25 02:02:02 -04:00
libata-pmp.c libata: use ata_exec_internal() for PMP register access 2007-10-12 14:55:47 -04:00
libata-scsi.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
libata-sff.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
libata.h libata: add @timeout to ata_exec_internal[_sg]() 2007-10-12 14:55:47 -04:00
Makefile drivers/ata: add support to Freescale 3.0Gbps SATA Controller 2007-10-17 20:49:02 -04:00
pata_acpi.c pata_acpi: fix build breakage if !CONFIG_PM 2007-10-17 20:48:30 -04:00
pata_ali.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_amd.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_artop.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_at32.c AVR32 PATA driver 2007-10-12 14:55:37 -04:00
pata_atiixp.c pata_atiixp: Audit notes on locking 2007-10-12 14:55:42 -04:00
pata_bf54x.c Update libata driver for bf548 atapi controller against the 2.6.24 tree. 2007-10-17 20:49:02 -04:00
pata_cmd64x.c pata_cmd64x.c typo fix 2007-10-20 01:02:48 +02:00
pata_cmd640.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_cs5520.c [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
pata_cs5530.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5535.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5536.c pata_cs5536: MWDMA fix 2007-10-19 22:55:03 -04:00
pata_cypress.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_efar.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x2n.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x3.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_hpt37x.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt366.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_icside.c Fix pata_icside build for recent libata API changes 2007-10-25 02:05:26 -04:00
pata_isapnp.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_it821x.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_it8213.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ixp4xx_cf.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_jmicron.c pata_jmicron: match vendor and class code only 2007-10-12 14:55:46 -04:00
pata_legacy.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_marvell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_mpc52xx.c mpc52xx-ata: fix compile warning (unused variable) 2007-10-14 08:57:30 -07:00
pata_mpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_netcell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ns87410.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_ns87415.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
pata_oldpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_opti.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_optidma.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_pcmcia.c [libata] pata_pcmcia: Add additional id string (corsair, 1GB) 2007-10-15 15:51:42 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old MWDMA fixes, and notes 2007-10-12 14:55:42 -04:00
pata_pdc2027x.c pdc2027x: Switch properly to ioread/iowrite 2007-10-12 14:55:38 -04:00
pata_platform.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_qdi.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_radisys.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_rz1000.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sc1200.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_scc.c libata: Fix build failure on ppc64 drivers/ata/pata_scc.c 2007-10-12 14:55:42 -04:00
pata_serverworks.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sil680.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_sis.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sl82c105.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_triflex.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_via.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_winbond.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pdc_adma.c [libata] kill ata_sg_is_last() 2007-10-18 16:21:18 -04:00
sata_fsl.c drivers/ata: add support to Freescale 3.0Gbps SATA Controller 2007-10-17 20:49:02 -04:00
sata_inic162x.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_mv.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
sata_nv.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
sata_promise.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sil.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sil24.c [libata] kill ata_sg_is_last() 2007-10-18 16:21:18 -04:00
sata_sis.c [libata] sata_sis: use correct S/G table size 2007-10-19 22:56:44 -04:00
sata_svw.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sx4.c [libata] checkpatch-inspired cleanups 2007-10-23 20:59:42 -04:00
sata_uli.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_via.c more trivial signedness fixes in drivers 2007-10-14 12:41:52 -07:00
sata_vsc.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00