linux/drivers/ata
Mark Lord 8f767f8a02 sata_mv: more interrupt handling rework
Continue fixing the interrupt handling logic.

Get rid of mv_intr_pio(), by using ata_sff_host_intr() for PIO..

Add a mv_unexpected_intr() catch-all for "impossible" scenarios,
where we get an interrupt that shouldn't have happened
(never seen in testing, but just in case..).

Rearrange the logic so that we always process completed
response queue entries before looking for other events,
This avoids having to re-issue commands that had already succeeded.

As part of this, we split out some duplicated functionality
into a new function, mv_get_active_qc().

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-04-25 01:26:06 -04:00
..
ahci.c ahci: retry enabling AHCI a few times before spitting out WARN_ON() 2008-04-25 00:45:13 -04:00
ata_generic.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
ata_piix.c ata_piix: add Asus Eee 701 controller to short cable list 2008-04-25 01:11:39 -04:00
Kconfig [libata] improve Kconfig help text for new PMP, SFF options 2008-04-17 15:55:24 -04:00
libata-acpi.c libata-acpi.c: remove unneeded #if's 2008-04-25 00:45:52 -04:00
libata-core.c make sata_set_spd_needed() static 2008-04-25 00:46:11 -04:00
libata-eh.c libata-eh set tf flags in NCQ EH result_tf 2008-04-25 01:11:37 -04:00
libata-pmp.c libata: implement PMP helpers 2008-04-17 15:44:25 -04:00
libata-scsi.c SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
libata-sff.c libata: make WARN_ON conditions in ata_sff_hsm_move() more strict 2008-04-25 00:45:09 -04:00
libata.h make sata_set_spd_needed() static 2008-04-25 00:46:11 -04:00
Makefile libata: make PMP support optional 2008-04-17 15:44:25 -04:00
pata_acpi.c libata: rename SFF functions 2008-04-17 15:44:21 -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 ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -04:00
pata_atiixp.c libata: rename SFF functions 2008-04-17 15:44:21 -04:00
pata_bf54x.c ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -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_rb500_cf.c ATA/IDE: fix platform driver hotplug/coldplug 2008-04-25 00:45:04 -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_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 libata: rename SFF port ops 2008-04-17 15:44:22 -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 libata: move link onlineness check out of softreset methods 2008-04-17 15:44:25 -04:00
sata_inic162x.c libata: kill dead code paths in reset path 2008-04-17 15:44:25 -04:00
sata_mv.c sata_mv: more interrupt handling rework 2008-04-25 01:26:06 -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