tmp_suning_uos_patched/drivers/ata
Mikael Pettersson fba6edbd3b sata_promise: handle ATAPI_NODATA ourselves
This patch extends sata_promise to handle ATAPI_NODATA
commands internally. However, commands destined to
ATA_DFLAG_CDB_INTR devices are excluded from this and
continue to be returned to libata.

Concrete changes:
- pdc_atapi_dma_pkt() is renamed to pdc_atapi_pkt(), and is
  extended to set up correct headers for NODATA packets
- pdc_qc_prep() calls pdc_atapi_pkt() for ATAPI_NODATA
- pdc_host_intr() handles ATAPI_NODATA
- pdc_qc_issue_prot() sends ATAPI_NODATA packets via the
  chip's packet mechanism, except for CDB_INTR devices

Tested on first- and second-generation chips, SATAPI and PATAPI,
with no observable regressions.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-02-09 17:39:34 -05:00
..
ahci.c libata: handle pci_enable_device() failure while resuming 2007-02-09 17:39:30 -05:00
ata_generic.c libata: set_mode, Fix the FIXME 2007-01-24 19:55:16 -05:00
ata_piix.c ata_piix: add ICH7 on Acer 3682WLMi to laptop list 2007-02-09 17:39:29 -05:00
Kconfig sata_inic162x: finally, driver for initio 162x SATA controllers, take #2 2007-02-09 17:39:31 -05:00
libata-core.c libata: kill qc->nsect and cursect 2007-02-09 17:39:31 -05:00
libata-eh.c libata: kill qc->nsect and cursect 2007-02-09 17:39:31 -05:00
libata-scsi.c libata: kill qc->nsect and cursect 2007-02-09 17:39:31 -05:00
libata-sff.c libata-sff: Don't try and activate channels which are not in use 2007-02-09 17:39:30 -05:00
libata.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 17:01:28 +00:00
Makefile sata_inic162x: finally, driver for initio 162x SATA controllers, take #2 2007-02-09 17:39:31 -05:00
pata_ali.c libata: use ata_id_c_string() 2007-02-09 17:39:30 -05:00
pata_amd.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_artop.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_atiixp.c pata_atiixp: propogate cable detection hack from drivers/ide to the new driver 2007-02-02 11:52:05 -05:00
pata_cmd64x.c libata cmd64x: whack into a shape that looks like the documentation 2007-01-24 19:52:31 -05:00
pata_cs5520.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_cs5530.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_cs5535.c [libata] pata_cs5535: fix build 2006-12-03 07:57:21 -05:00
pata_cypress.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_efar.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_hpt3x2n.c libata hpt3xn: Hopefully sort out the DPLL logic versus the vendor code 2007-01-24 19:52:31 -05:00
pata_hpt3x3.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_hpt37x.c libata: use ata_id_c_string() 2007-02-09 17:39:30 -05:00
pata_hpt366.c libata: use ata_id_c_string() 2007-02-09 17:39:30 -05:00
pata_isapnp.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_it821x.c libata: use ata_id_c_string() 2007-02-09 17:39:30 -05:00
pata_it8213.c [PATCH] pata_it8213: Add new driver for the IT8213 card 2007-02-09 17:39:28 -05:00
pata_ixp4xx_cf.c libata: set_mode, Fix the FIXME 2007-01-24 19:55:16 -05:00
pata_jmicron.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_legacy.c libata: set_mode, Fix the FIXME 2007-01-24 19:55:16 -05:00
pata_marvell.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_mpc52xx.c [PATCH] libata: Add support for the MPC52xx ATA controller 2007-02-09 17:39:29 -05:00
pata_mpiix.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_netcell.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_ns87410.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_oldpiix.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_opti.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_optidma.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_pcmcia.c [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation 2006-12-04 20:12:02 -05:00
pata_pdc202xx_old.c libata: kill qc->nsect and cursect 2007-02-09 17:39:31 -05:00
pata_pdc2027x.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_platform.c [PATCH] pata_platform: fallout from set_mode() change 2007-01-30 08:39:20 -08:00
pata_qdi.c [PATCH] ata: fix platform_device_register_simple() error check 2006-12-16 10:45:28 -05:00
pata_radisys.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_rz1000.c libata: set_mode, Fix the FIXME 2007-01-24 19:55:16 -05:00
pata_sc1200.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_serverworks.c libata: use ata_id_c_string() 2007-02-09 17:39:30 -05:00
pata_sil680.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_sis.c pata_sis: implement laptop list and add ASUS A6K/A6U 2007-02-09 17:39:29 -05:00
pata_sl82c105.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_triflex.c [PATCH] libata: kill unnecessary sht->max_sectors initializations 2006-12-03 17:56:22 +09:00
pata_via.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pata_winbond.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
pdc_adma.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
sata_inic162x.c sata_inic162x: finally, driver for initio 162x SATA controllers, take #2 2007-02-09 17:39:31 -05:00
sata_mv.c sata_mv HighPoint 2310 support (88SX7042) 2007-01-19 19:24:36 -05:00
sata_nv.c sata_nv: add suspend/resume support v3 (Resubmit) 2007-02-09 17:39:30 -05:00
sata_promise.c sata_promise: handle ATAPI_NODATA ourselves 2007-02-09 17:39:34 -05:00
sata_promise.h
sata_qstor.c libata: kill qc->nsect and cursect 2007-02-09 17:39:31 -05:00
sata_sil24.c libata: handle pci_enable_device() failure while resuming 2007-02-09 17:39:30 -05:00
sata_sil.c libata: handle pci_enable_device() failure while resuming 2007-02-09 17:39:30 -05:00
sata_sis.c [libata] trim trailing whitespace 2007-02-09 17:39:29 -05:00
sata_svw.c [PATCH] sata_svw: trivial iomem annotations 2007-02-09 09:14:07 -08:00
sata_sx4.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sata_uli.c libata: implement ATA_FLAG_IGN_SIMPLEX and use it in sata_uli 2007-01-25 17:26:01 -05:00
sata_via.c sata_via: PATA support 2007-02-09 17:39:30 -05:00
sata_vsc.c [libata] sata_vsc: build fix after PCI MSI feature addition 2007-02-09 17:39:31 -05:00