linux/drivers/ata
Tejun Heo 55a8e2c83c [PATCH] libata: implement presence detection via polling IDENTIFY
On some controllers (ICHs in piix mode), there is *NO* reliable way to
determine device presence other than issuing IDENTIFY and see how the
transaction proceeds by watching the TF status register.

libata acted this way before irq-pio and phantom devices caused very
little problem but now that IDENTIFY is performed using IRQ drive PIO,
such phantom devices now result in multiple 30sec timeouts during
boot.

This patch implements ATA_FLAG_DETECT_POLLING.  If a LLD sets this
flag, libata core issues the initial IDENTIFY in polling mode and if
the initial data transfer fails w/ HSM violation, the port is
considered to be empty thus replicating the old libata and IDE
behavior.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-12-01 22:45:55 -05:00
..
ahci.c [PATCH] ahci: honor PORTS_IMPL on ICH8s 2006-12-01 22:44:53 -05:00
ata_generic.c [PATCH] pci_module_init-convertion-in-ata_genericc fix 2006-12-01 22:40:25 -05:00
ata_piix.c [PATCH] ata_piix: clean up port flags 2006-12-01 22:45:55 -05:00
Kconfig [libata] ARM: add ixp4xx PATA driver 2006-12-01 22:42:51 -05:00
libata-core.c [PATCH] libata: implement presence detection via polling IDENTIFY 2006-12-01 22:45:55 -05:00
libata-eh.c [PATCH] libata: implement presence detection via polling IDENTIFY 2006-12-01 22:45:55 -05:00
libata-scsi.c [PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit 2006-12-01 22:45:54 -05:00
libata-sff.c [PATCH] libata: move ata_irq_on() into libata-sff.c 2006-12-01 22:40:28 -05:00
libata.h [PATCH] libata: implement presence detection via polling IDENTIFY 2006-12-01 22:45:55 -05:00
Makefile [libata] ARM: add ixp4xx PATA driver 2006-12-01 22:42:51 -05:00
pata_ali.c [PATCH] libata: add 40pin "short" cable support, honour drive side speed detection 2006-12-01 22:40:25 -05:00
pata_amd.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_artop.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_atiixp.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_cmd64x.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_cs5520.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_cs5530.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_cs5535.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_cypress.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_efar.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_hpt3x2n.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_hpt3x3.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_hpt37x.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_hpt366.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_isapnp.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_it821x.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_ixp4xx_cf.c [libata] ARM: add ixp4xx PATA driver 2006-12-01 22:42:51 -05:00
pata_jmicron.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_legacy.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_marvell.c [libata] pata_marvell: minor and trivial cleanups 2006-12-01 22:40:27 -05:00
pata_mpiix.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_netcell.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_ns87410.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_oldpiix.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_opti.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_optidma.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_pcmcia.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_pdc202xx_old.c [PATCH] pdc202xx_old: Fix name clashes with PA-RISC 2006-12-01 22:41:31 -05:00
pata_pdc2027x.c [PATCH] pci_module_init() conversion for pata_pdc2027x 2006-12-01 22:40:25 -05:00
pata_platform.c [PATCH] ata: Generic platform_device libata driver 2006-12-01 22:40:28 -05:00
pata_qdi.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_radisys.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_rz1000.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_sc1200.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_serverworks.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_sil680.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_sis.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_sl82c105.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_triflex.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_via.c [PATCH] libata: add missing sht->slave_destroy 2006-11-29 14:57:58 +09:00
pata_winbond.c [PATCH] libata: Winbond support 2006-12-01 22:40:24 -05:00
pdc_adma.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sata_mv.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sata_nv.c [PATCH] sata_nv: SRST sometimes fails after hotplug, use HRST_TO_RESUME 2006-12-01 22:40:29 -05:00
sata_promise.c Merge branch 'master' into upstream-fixes 2006-10-11 04:59:46 -04:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sata_sil24.c [PATCH] sata_sil24: add PMP related constants 2006-12-01 22:40:29 -05:00
sata_sil.c [PATCH] libata: implement ATA_EHI_PRINTINFO 2006-12-01 22:41:31 -05:00
sata_sis.c [PATCH] sata_sis: slave support on SiS965 2006-12-01 22:42:51 -05:00
sata_svw.c [PATCH] misc sata __iomem annotations 2006-10-10 15:37:21 -07:00
sata_sx4.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sata_uli.c [libata] PCI ID table cleanup in various drivers 2006-09-28 20:21:59 -04:00
sata_via.c [libata] sata_via: fix obvious typo 2006-11-08 07:46:02 -05:00
sata_vsc.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00