linux/drivers/ata
Mark Lord 88e675e193 sata_mv: fix pmp drives not found
Part three of simplifying/fixing handling of the main_irq_mask register
to resolve unexpected interrupt issues observed in 2.6.26-rc*.

Partially fix a reported bug whereby we sometimes miss seeing drives on
a port-multiplier, as reported by Gwendal Grignou <gwendal@google.com>.

The problem was that we were receiving unexpected interrupts
during EH from POLLed commands while accessing port-multiplier registers.
These unexpected interrupts can be prevented by masking the DONE_IRQ bit
for the port whenever not operating in EDMA mode.

Also fix port_stop() to mask all port interrupts.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-05-19 17:29:51 -04:00
..
ahci.c libata: improve post-reset device ready test 2008-05-06 11:32:02 -04:00
ata_generic.c pata_atiixp: Don't disable 2008-05-06 11:43:44 -04:00
ata_piix.c ata_piix: verify SIDPR access before enabling it 2008-05-06 11:33:53 -04:00
Kconfig sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL 2008-05-06 11:40:57 -04:00
libata-acpi.c libata-acpi.c: remove unneeded #if's 2008-04-25 00:45:52 -04:00
libata-core.c libata: export ata_eh_analyze_ncq_error 2008-05-06 11:37:58 -04:00
libata-eh.c libata: export ata_eh_analyze_ncq_error 2008-05-06 11:37:58 -04:00
libata-pmp.c libata: implement PMP helpers 2008-04-17 15:44:25 -04:00
libata-scsi.c libata-scsi: improve rbuf handling for simulated commands 2008-04-29 02:17:03 -04:00
libata-sff.c libata: improve post-reset device ready test 2008-05-06 11:32:02 -04:00
libata.h libata-scsi: clean up inquiry / mode sense related functions 2008-04-29 02:16:37 -04:00
Makefile libata: Add Intel SCH PATA driver 2008-05-06 11:33:58 -04:00
pata_acpi.c pata_atiixp: Don't disable 2008-05-06 11:43:44 -04:00
pata_ali.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_amd.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_artop.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_at32.c avr32/pata: avoid unnecessary memset (updated after comments) 2008-05-19 17:27:40 -04:00
pata_atiixp.c [libata] pata_atiixp: fix PIO timing data misprogramming 2008-04-29 17:39:45 -04:00
pata_bf54x.c pata-bf54x: Set ATAPI HSM to control IDE device terminate sequence. 2008-05-19 17:27:29 -04:00
pata_cmd64x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cmd640.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_cs5520.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5530.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5535.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cs5536.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_cypress.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_efar.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt3x2n.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt3x3.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt37x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_hpt366.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_icside.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_isapnp.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_it821x.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_it8213.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_ixp4xx_cf.c ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -04:00
pata_jmicron.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_legacy.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_marvell.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_mpc52xx.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_mpiix.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_netcell.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_ninja32.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_ns87410.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_ns87415.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_of_platform.c Rename: linux/pata_platform.h to linux/ata_platform.h 2008-02-06 06:54:17 -05:00
pata_oldpiix.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_opti.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_optidma.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_pcmcia.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_pdc202xx_old.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_pdc2027x.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_platform.c ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -04:00
pata_qdi.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pata_radisys.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_rb532_cf.c [MIPS] ATA: Rename routerboard 500 to 532 2008-04-29 02:16:25 -04:00
pata_rz1000.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sc1200.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_scc.c libata: move link onlineness check out of softreset methods 2008-04-17 15:44:25 -04:00
pata_sch.c libata: Add Intel SCH PATA driver 2008-05-06 11:33:58 -04:00
pata_serverworks.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sil680.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sis.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_sl82c105.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_triflex.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_via.c pata_via: Fix 6410 misdetect 2008-04-29 17:41:10 -04:00
pata_winbond.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
pdc_adma.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
sata_fsl.c typo in sata_fsl 2008-04-28 10:03:31 -07:00
sata_inic162x.c sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL 2008-05-06 11:40:57 -04:00
sata_mv.c sata_mv: fix pmp drives not found 2008-05-19 17:29:51 -04:00
sata_nv.c sata_nv: make hardreset return -EAGAIN on success 2008-04-25 00:45:48 -04:00
sata_promise.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
sata_sil24.c libata: move link onlineness check out of softreset methods 2008-04-17 15:44:25 -04:00
sata_sil.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sata_sis.c sata_sis: SCR accessors return -EINVAL when requested SCR isn't available 2008-04-24 23:42:47 -04:00
sata_svw.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sata_sx4.c libata: add qc_fill_rtf port operation 2008-04-17 15:44:23 -04:00
sata_uli.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
sata_via.c libata: restructure SFF post-reset readiness waits 2008-04-17 15:44:22 -04:00
sata_vsc.c libata: rename SFF port ops 2008-04-17 15:44:22 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00