linux/drivers/ata
Tejun Heo 3454dc6922 sata_sil24: implement PMP support
Implement PMP support.  sil24 supports full FIS-switching.  However,
it has a PMP DMA CS errata which requires port-wide resetting if
commands are outstanding to three or more devices when an error occurs
on one of them.

ATAPI commands often result in CHECK SENSE and it's crucial to not
reset them before fetching sense data.  Unfortunately, ATAPI CHECK
SENSE causes a lot of problem if command is outstanding to any other
device usually resulting in port-wide reset.  So, sata_sil24
implements sil24_qc_defer() which guarantees ATAPI command is run by
itself.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-12 14:55:44 -04:00
..
Kconfig pata_ns87415: Initial cut at 87415/87560 IDE support 2007-10-12 14:55:43 -04:00
Makefile libata-pmp: implement Port Multiplier support 2007-10-12 14:55:44 -04:00
ahci.c [libata] AHCI: enable AHCI mode, before using AHCI reset 2007-10-12 14:55:42 -04:00
ata_generic.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
ata_piix.c [libata] ata_piix: add HP compaq laptop to short cable list 2007-10-12 14:55:43 -04:00
libata-acpi.c libata-pmp: extend ACPI support to cover PMP 2007-10-12 14:55:44 -04:00
libata-core.c libata-pmp: implement qc_defer for command switching PMP support 2007-10-12 14:55:44 -04:00
libata-eh.c libata-pmp: hook PMP support and enable it 2007-10-12 14:55:44 -04:00
libata-pmp.c libata-pmp: implement qc_defer for command switching PMP support 2007-10-12 14:55:44 -04:00
libata-scsi.c libata-pmp-prep: implement sata_async_notification() 2007-10-12 14:55:42 -04:00
libata-sff.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
libata.h libata-pmp: extend ACPI support to cover PMP 2007-10-12 14:55:44 -04:00
pata_ali.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_amd.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_artop.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_at32.c AVR32 PATA driver 2007-10-12 14:55:37 -04:00
pata_atiixp.c pata_atiixp: Audit notes on locking 2007-10-12 14:55:42 -04:00
pata_bf54x.c libata driver for bf548 on chip ATAPI controller. 2007-10-12 14:55:37 -04:00
pata_cmd64x.c [libata] Remove ->port_disable() hook 2007-10-12 14:55:35 -04:00
pata_cmd640.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_cs5520.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_cs5530.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_cs5535.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_cypress.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_efar.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x2n.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt3x3.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_hpt37x.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_hpt366.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_icside.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_isapnp.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_it821x.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_it8213.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ixp4xx_cf.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_jmicron.c [libata] Remove ->port_disable() hook 2007-10-12 14:55:35 -04:00
pata_legacy.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_marvell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_mpc52xx.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_mpiix.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_netcell.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ns87410.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_ns87415.c pata_ns87415: Initial cut at 87415/87560 IDE support 2007-10-12 14:55:43 -04:00
pata_oldpiix.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_opti.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_optidma.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_pcmcia.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old MWDMA fixes, and notes 2007-10-12 14:55:42 -04:00
pata_pdc2027x.c pdc2027x: Switch properly to ioread/iowrite 2007-10-12 14:55:38 -04:00
pata_platform.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_qdi.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_radisys.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_rz1000.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sc1200.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_scc.c libata: Fix build failure on ppc64 drivers/ata/pata_scc.c 2007-10-12 14:55:42 -04:00
pata_serverworks.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sil680.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sis.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_sl82c105.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_triflex.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_via.c libata: Switch most of the remaining SFF drivers to ata_sff_port_start 2007-10-12 14:55:36 -04:00
pata_winbond.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pdc_adma.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_inic162x.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_mv.c libata: update ata_dev_try_classify() arguments 2007-10-12 14:55:39 -04:00
sata_nv.c libata-pmp-prep: implement ops->qc_defer() 2007-10-12 14:55:41 -04:00
sata_promise.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sil.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sil24.c sata_sil24: implement PMP support 2007-10-12 14:55:44 -04:00
sata_sis.c [libata] Remove ->port_disable() hook 2007-10-12 14:55:35 -04:00
sata_svw.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_sx4.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_uli.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sata_via.c sata_via: kill SATA_PATA_SHARING register handling 2007-10-12 14:55:42 -04:00
sata_vsc.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00