android_kernel_xiaomi_sm8350/drivers/ata
Dan Williams ea34e45a46 sata_vsc: refactor vsc_sata_interrupt and hook up error handling
Separate sata_vsc interrupt handling into a normal (per-port) path and an
error path with the addition of vsc_port_intr and vsc_error_intr
respectively.  The error path handles interrupt based
hotplug events which requires the definition of vsc_freeze and vsc_thaw.

Note: vsc_port_intr has a workaround for unexpected interrupts that occur
during polled commands.  This fixes a regression between 2.6.19 and 2.6.20.

Changes in take2:
* removed definition of invalid fis bit
* let standard ata-error-handling handle the serror register
* clear all unhandled interrupts
* revert changes to vsc_intr_mask_update (vsc_thaw enables all interrupts)
* use unlikely() for the pci-abort and not-our-interrupt cases in vsc_sata_interrupt

Changes in take3:
* Unify the "add" + "hook-up" patches into this single patch

[htejun@gmail.com: clean up comments and suggestions]
Cc: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-02-24 20:54:26 -05:00
..
ahci.c ahci: consider SDB FIS containing spurious NCQ completions HSM violation (regenerated) 2007-02-23 05:37:10 -05:00
ata_generic.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
ata_piix.c [libata] ata_piix: remove duplicate PCI IDs 2007-02-23 05:49:14 -05:00
Kconfig libata: Fix Cell SATA driver dependencies 2007-02-21 04:58:17 -05:00
libata-acpi.c libata: fix remaining ap->id 2007-02-23 05:37:11 -05:00
libata-core.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata-eh.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata-scsi.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata-sff.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata.h SiS warning fixes 2007-02-21 04:58:17 -05:00
Makefile libata: PATA driver for Celleb 2007-02-21 04:58:16 -05:00
pata_ali.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_amd.c pata_amd: fix an obvious bug in cable detection 2007-02-24 20:52:12 -05:00
pata_artop.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_atiixp.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cmd64x.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cs5520.c pata_cs5520: suspend/resume 2007-02-21 04:58:20 -05:00
pata_cs5530.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cs5535.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cypress.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_efar.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt3x2n.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt3x3.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt37x.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt366.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_isapnp.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_it821x.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_it8213.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_ixp4xx_cf.c pata_ixp4xx: Fix up set_mode() function and display Configured for PIO info 2007-02-21 04:58:20 -05:00
pata_jmicron.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_legacy.c libata: Add a host flag to indicate lack of IORDY capability 2007-02-15 18:04:01 -05:00
pata_marvell.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_mpc52xx.c [POWERPC] Fixup mp5200 drivers to match device tree changes 2007-02-13 15:35:53 +11:00
pata_mpiix.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
pata_netcell.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_ns87410.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_oldpiix.c pata_oldpiix: Call both PIO and DMA setup functions on switch as they are called on set up 2007-02-21 04:58:20 -05:00
pata_opti.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_optidma.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_pcmcia.c pata_pcmcia: Update device table 2007-02-21 04:58:19 -05:00
pata_pdc202xx_old.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_pdc2027x.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
pata_platform.c pata: Display Configuring .. lines for devices with private set_mode methods 2007-02-21 04:58:20 -05:00
pata_qdi.c libata: Add a host flag to indicate lack of IORDY capability 2007-02-15 18:04:01 -05:00
pata_radisys.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_rz1000.c pata: Display Configuring .. lines for devices with private set_mode methods 2007-02-21 04:58:20 -05:00
pata_sc1200.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_scc.c libata: fix remaining ap->id 2007-02-23 05:37:11 -05:00
pata_serverworks.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_sil680.c pata_sil680: Assorted fixes 2007-02-21 04:58:20 -05:00
pata_sis.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
pata_sl82c105.c pata_sl82c105: remove un-needed code paths 2007-02-21 04:58:20 -05:00
pata_triflex.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_via.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_winbond.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pdc_adma.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
sata_inic162x.c [PATCH] scheduled removal of SA_XXX interrupt flags: ata fix 2007-02-14 08:09:55 -08:00
sata_mv.c sata_mv: fix pci_enable_msi() error handling 2007-02-24 20:52:12 -05:00
sata_nv.c sata_nv: complain on spurious completion notifiers 2007-02-23 05:37:11 -05:00
sata_promise.c sata_promise: new EH conversion for 20619 chips, take 2 2007-02-15 18:04:00 -05:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
sata_sil24.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
sata_sil.c sata_sil: ignore and clear spurious IRQs while executing commands by polling 2007-02-24 20:52:12 -05:00
sata_sis.c SiS warning fixes 2007-02-21 04:58:17 -05:00
sata_svw.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
sata_sx4.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
sata_uli.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
sata_via.c sata_via: fix resource-managed iomap conversion 2007-02-21 04:58:19 -05:00
sata_vsc.c sata_vsc: refactor vsc_sata_interrupt and hook up error handling 2007-02-24 20:54:26 -05:00
sis.h SiS warning fixes 2007-02-21 04:58:17 -05:00