[git patches] libata updates

From: Jeff Garzik
Date: Mon Mar 20 2006 - 06:14:23 EST

[just sent upstream; patch snipped due to size]

Please pull from 'upstream-linus' branch of

to receive the following updates:

drivers/scsi/Makefile | 2
drivers/scsi/ahci.c | 197 +-
drivers/scsi/ata_piix.c | 392 +++--
drivers/scsi/libata-bmdma.c | 703 ++++++++++
drivers/scsi/libata-core.c | 2984 +++++++++++++++++++++-----------------------
drivers/scsi/libata-scsi.c | 240 ++-
drivers/scsi/libata.h | 3
drivers/scsi/pdc_adma.c | 6
drivers/scsi/sata_mv.c | 279 +++-
drivers/scsi/sata_nv.c | 2
drivers/scsi/sata_promise.c | 129 +
drivers/scsi/sata_qstor.c | 10
drivers/scsi/sata_sil.c | 128 -
drivers/scsi/sata_sil24.c | 102 -
drivers/scsi/sata_sis.c | 2
drivers/scsi/sata_svw.c | 2
drivers/scsi/sata_sx4.c | 25
drivers/scsi/sata_uli.c | 2
drivers/scsi/sata_via.c | 2
drivers/scsi/sata_vsc.c | 2
drivers/scsi/scsi_error.c | 7
include/linux/ata.h | 22
include/linux/libata.h | 180 ++
include/scsi/scsi_eh.h | 3
24 files changed, 3312 insertions(+), 2112 deletions(-)

Albert Lee:
libata CHS: LBA28/LBA48 optimization (revise #6)

Daniel Drake:
sata_promise: Support FastTrak TX4300/TX4310

Jeff Garzik:
[libata ata_piix] Fix ICH6/7 map value interpretation
[libata sata_mv] add 6042 support, fix 60xx/50xx EDMA configuration
[libata scsi] build fix for ATA_FLAG_IN_EH change
[libata] Move PCI IDE BMDMA-related code to new file libata-bmdma.c.
libata: turn on ATAPI by default

Luke Kosewski:
[libata sata_promise] add correct read/write of hotplug registers for SATAII devices

Randy Dunlap:

Various libata documentation updates.

Tejun Heo:
libata: separate out ata_sata_print_link_status
ahci: separate out ahci_stop/start_engine
ahci: separate out ahci_dev_classify
ata_piix: fix MAP VALUE interpretation for for ICH6/7
libata: fold __ata_qc_complete() into ata_qc_free()
libata: make the owner of a qc responsible for freeing it
libata: fix ata_qc_issue() error handling
ahci: fix err_mask setting in ahci_host_intr
libata: add detailed AC_ERR_* flags
libata: return AC_ERR_* from issue functions
SCSI: export scsi_eh_finish_cmd() and scsi_eh_flush_done_q()
libata: implement and apply ata_eh_qc_complete/retry()
libata: create pio/atapi task queueing wrappers
ahci: stop engine during hard reset
ahci: add constants for SRST
libata: export ata_busy_sleep
libata: modify ata_dev_try_classify
libata: new ->probe_reset operation
libata: implement ata_drive_probe_reset()
libata: implement standard reset component operations and ->probe_reset
libata: implement ATA_FLAG_IN_EH port flag
libata: EH / pio tasks synchronization
libata: fix ata_std_probe_reset() SATA detection
libata: separate out sata_phy_resume() from sata_std_hardreset()
libata: add probeinit component operation to ata_drive_probe_reset()
libata: implement ata_std_probeinit()
libata: implement ata_scsi_timed_out()
libata: use ata_scsi_timed_out()
libata: kill NULL qc handling from ->eng_timeout callbacks
ahci: separate out ahci_fill_cmd_slot()
libata: make new reset act identical to ->phy_reset register-wise
libata: kill SError clearing in sata_std_hardreset().
sata_sil: convert to new reset mechanism
sata_sil24: convert to new reset mechanism
sata_sil24: add hardreset
libata: inline ata_qc_complete()
ahci: make ahci_fill_cmd_slot() take *pp instead of *ap
ahci: convert to new reset mechanism
libata: convert assert(X)'s in libata core layer to WARN_ON(!X)'s
libata: convert assert(xxx)'s in low-level drivers to WARN_ON(!xxx)'s
libata: kill assert() macro
libata: allow ->probe_reset to return ATA_DEV_UNKNOWN
ata_piix: kill spurious assignment in piix_sata_probe()
libata: implement ata_dev_id_c_string()
libata: use ata_dev_id_c_string()
libata: separate out ata_id_n_sectors()
libata: separate out ata_id_major_version()
libata: make ata_dump_id() take @id instead of @dev
libata: don't do EDD handling if ->probe_reset is used
libata: make ata_dev_knobble() per-device
libata: move cdb_len for host to device
libata: add per-device max_sectors
libata: kill sht->max_sectors
libata: rename ata_dev_id_[c_]string()
libata: update ata_dev_init_params()
libata: fix comment regarding setting cable type
ata_piix: convert pata to new reset mechanism
ata_piix: convert sata to new reset mechanism
libata: separate out ata_dev_read_id()
libata: kill ata_dev_reread_id()
sata_sil24: add a new PCI ID for SiI 3124
libata: kill illegal kfree(id)
sata_sil: remove unneeded ATA_FLAG_SRST from 3512 port info
libata: seperate out ata_class_present()
ata_piix: finer-grained port_info
ata_piix: add a couple of flags
ata_piix: implement proper port map
ata_piix: reimplement piix_sata_probe()
libata: convert dev->id to pointer
libata: separate out ata_dev_configure()
libata: fold ata_dev_config() into ata_dev_configure()
libata: reorganize ata_bus_probe()
sata_sil: replace sil_3112_m15w board id with sil_3112
sata_sil: use kzalloc
sata_sil: replace register address constants with sil_port[] entry
sata_sil: cosmetic flag/constant changes
libata: re-initialize parameters before configuring
libata: add @print_info argument to ata_dev_configure()
libata: implement ata_dev_revalidate()
libata: revalidate after transfer mode configuration
sata_sil24: fix mwdma_mask setting
libata: implement port_task
libata: convert pio_task and packet_task to port_task
libata: kill unused pio_task and packet_task
libata: improve xfer mask constants and update ata_mode_string()
libata: add xfer_mask handling functions
libata: use ata_id_xfermask() in ata_dev_configure()
libata: use xfer_mask helpers in ata_dev_set_mode()
libata: reimplement ata_set_mode() using xfer_mask helpers
libata: kill unused xfer_mode functions
libata: fix missing classes[] initialization in ata_bus_probe()
sata_sil24: exit early from softreset if SStatus reports no device
sata_sil24: lengthen softreset timeout
ahci: enable prefetching for PACKET commands
libata: fix class handling in ata_bus_probe()
libata: check Word 88 validity in ata_id_xfer_mask()
libata: use local *id instead of dev->id in ata_dev_configure()
libata: move IDENTIFY info printing from ata_dev_read_id() to ata_dev_configure()

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/