OpenCloudOS-Kernel/drivers/ata
Tejun Heo fe06e5f9b7 libata-sff: separate out BMDMA EH
Some of error handling logic in ata_sff_error_handler() and all of
ata_sff_post_internal_cmd() are for BMDMA.  Create
ata_bmdma_error_handler() and ata_bmdma_post_internal_cmd() and move
BMDMA part into those.

While at it, change DMA protocol check to ata_is_dma(), fix
post_internal_cmd to call ap->ops->bmdma_stop instead of directly
calling ata_bmdma_stop() and open code hardreset selection so that
ata_std_error_handler() doesn't have to know about sff hardreset.

As these two functions are BMDMA specific, there's no reason to check
for bmdma_addr before calling bmdma methods if the protocol of the
failed command is DMA.  sata_mv and pata_mpc52xx now don't need to set
.post_internal_cmd to ATA_OP_NULL and pata_icside and sata_qstor don't
need to set it to their bmdma_stop routines.

ata_sff_post_internal_cmd() becomes noop and is removed.

This fixes p3 described in clean-up-BMDMA-initialization patch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-05-19 13:36:46 -04:00
..
Kconfig sata_inic162x: inic162x is not dependent on CONFIG_ATA_SFF 2010-05-14 22:38:40 -04:00
Makefile ahci: Add platform driver 2010-05-14 17:08:01 -04:00
ahci.c ahci: EM message type auto detect 2010-05-14 17:35:51 -04:00
ahci.h ahci: add "em_buffer" attribute for AHCI hosts 2010-05-14 17:35:51 -04:00
ahci_platform.c ahci_platform: properly set up EM messaging 2010-05-14 17:35:51 -04:00
ata_generic.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
ata_piix.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
libahci.c ahci: add "em_buffer" attribute for AHCI hosts 2010-05-14 17:35:51 -04:00
libata-acpi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
libata-core.c libata-sff: port_task is SFF specific 2010-05-19 13:35:49 -04:00
libata-eh.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
libata-pmp.c [libata] Disable R_OK (Early ACK) on SII 3726 PMP 2010-05-14 17:08:02 -04:00
libata-scsi.c libata: kill ATA_FLAG_DISABLED 2010-05-17 22:49:02 -04:00
libata-sff.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
libata.h libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
pata_acpi.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_ali.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_amd.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_artop.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_at32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pata_at91.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_atiixp.c pata_atiixp: enable parallel scan 2010-03-01 15:07:01 -05:00
pata_atp867x.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pata_bf54x.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_cmd64x.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cmd640.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_cs5520.c pata_cs5520: remove dead VDMA support 2009-12-03 15:52:51 -05:00
pata_cs5530.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cs5535.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cs5536.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_cypress.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_efar.c pata_efar: Enable parallel scanning 2010-03-01 15:07:21 -05:00
pata_hpt3x2n.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_hpt3x3.c tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
pata_hpt37x.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_hpt366.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_icside.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
pata_isapnp.c [libata] Improve timeout handling 2009-03-24 22:52:39 -04:00
pata_it821x.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_it8213.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ixp4xx_cf.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_jmicron.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_legacy.c pata_legacy: add pointers to QDI65x0 documentation 2009-12-03 16:06:47 -05:00
pata_macio.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_marvell.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_mpc52xx.c pata_mpc52xx: reduce code size by simple change of constant data types 2010-05-14 17:08:02 -04:00
pata_mpiix.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_netcell.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ninja32.c ata: Report 16/32bit PIO as best we can 2009-04-16 15:28:23 -04:00
pata_ns87410.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_ns87415.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_octeon_cf.c libata: kill ATA_FLAG_DISABLED 2010-05-17 22:49:02 -04:00
pata_of_platform.c powerpc: Fix no interrupt handling in pata_of_platform 2008-10-10 15:55:17 +11:00
pata_oldpiix.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_opti.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_optidma.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_palmld.c [ARM] 5522/1: PalmLD: IDE support 2009-05-31 14:50:40 +01:00
pata_pcmcia.c libata-sff: rename ap->ops->drain_fifo() to sff_drain_fifo() 2010-05-19 13:35:44 -04:00
pata_pdc202xx_old.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_pdc2027x.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_piccolo.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_platform.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_qdi.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_radisys.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_rb532_cf.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pata_rdc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pata_rz1000.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sc1200.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_scc.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
pata_sch.c pata_sch: use ata_pci_sff_init_one() 2010-05-14 22:38:38 -04:00
pata_serverworks.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_sil680.c pata_sil680: Do our own exec_command posting 2010-05-14 22:34:30 -04:00
pata_sis.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_sl82c105.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_triflex.c libata: Pass host flags into the pci helper 2010-03-01 14:58:46 -05:00
pata_via.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
pata_winbond.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pdc_adma.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
sata_fsl.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sata_inic162x.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
sata_mv.c libata-sff: port_task is SFF specific 2010-05-19 13:35:49 -04:00
sata_nv.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
sata_promise.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
sata_sil.c libata: kill ATA_FLAG_DISABLED 2010-05-17 22:49:02 -04:00
sata_sil24.c libata: kill ATA_FLAG_DISABLED 2010-05-17 22:49:02 -04:00
sata_sis.c sata_sis: convert to slave_link 2009-09-08 21:17:36 -04:00
sata_svw.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
sata_sx4.c libata-sff: separate out BMDMA EH 2010-05-19 13:36:46 -04:00
sata_uli.c libata-sff: clean up BMDMA initialization 2010-05-19 13:32:19 -04:00
sata_via.c sata_via: Delay on vt6420 when starting ATAPI DMA write 2010-03-01 15:19:21 -05:00
sata_vsc.c libata: kill ATA_FLAG_DISABLED 2010-05-17 22:49:02 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00