aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAge
* Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-19
|\
| * Merge branch 'master' into upstream-fixesJeff Garzik2006-08-19
| |\
| | * Merge gregkh@master.kernel.org:/home/rmk/linux-2.6-armGreg Kroah-Hartman2006-08-10
| | |\
| | | * [ARM] Fix Acorn platform SCSI driver build failuresRussell King2006-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCSI folk forgot to fix up all the uses of 'buffer' before deleting this struct member. Do it for them to rescue the resulting build failures. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | | * [ARM] Fix NCR5380-based SCSI card buildRussell King2006-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The NCR5380-based SCSI cards need the SCSI SPI transport selected to build correctly. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | | [PATCH] libata: PHY reset requires writing 0x4 to SControlMartin Hicks2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi, Reading the Intel VSC and AHCI it seems like writing 0x302 is incorrect. The only valid values are 4, 1 and 0. Writing 4 disables the PHY. Signed-off-by: Martin Hicks <mort@bork.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | Move libata to drivers/ata.Jeff Garzik2006-08-10
| | | |
* | | | Merge branch 'tj-upstream-pci_register_driver' of ↵Jeff Garzik2006-08-10
|\ \ \ \ | | | | | | | | | | | | | | | git://htj.dyndns.org/libata-tj into upstream
| * | | | [PATCH] libata: replace pci_module_init() with pci_register_driver()Pavel Roskin2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace pci_module_init() with pci_register_driver(). Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-10
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | [PATCH] libata: Use ATA_FLAG_PIO_POLLING for pdc_admaAlbert Lee2006-08-10
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pdc_adma was overlooked and broken by the irq-pio patch: Only HSM_ST_LAST interrupts should be delivered to this LLDD. Adding ATA_FLAG_PIO_POLLING to pdc_adma fixes the problem (temporarily), before we convert the irq handler of pdc_adma to handle all interrupts. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | Merge branch 'sii-m15w' into upstreamJeff Garzik2006-08-10
|\ \ \ \ | |_|/ / |/| | |
| * | | [PATCH] sata_sil: remove unaffected drives from m15w blacklistTejun Heo2006-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | m15w blacklist overgrew by attributing unrelated problems to m15w including R_ERR on DMA activate FIS errata. This patch shrinks sata_sil m15w blacklist such that it's as reported by Silicon Image. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Carlos Pardo <Carlos.Pardo@siliconimage.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] libata: kill unused hard_port_no and legacy_modeTejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | Kill unused probe_ent/ap->hard_port_no and probe_ent->legacy_mode. Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: replace ap->hard_port_no with ap->port_noTejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | Replace ap->hard_port_no with ap->port_no. Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: use dummy port for stolen legacy portsTejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use dummy port for stolen legacy ports. This makes ap->port_no always equal ap->hard_port_no. Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: implement dummy portTejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement dummy port which can be requested by setting appropriate bit in probe_ent->dummy_port_mask. The dummy port is used as placeholder for stolen legacy port. This allows libata to guarantee that index_of(ap) == ap->port_no == actual_device_port_no, and thus to remove error-prone ap->hard_port_no. As it's used only when one port of a legacy controller is reserved by some other entity (e.g. IDE), the focus is on keeping the added *code* complexity at minimum, so dummy port allocates all libata core resources and acts as a normal port. It just has all dummy port_ops. This patch only implements dummy port. The following patch will make libata use it for stolen legacy ports. Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: rework legacy handling to remove much of the cruftAlan Cox2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill host_set->next Fix simplex support Allow per platform setting of IDE legacy bases Some of this can be tidied further later on, in particular all the legacy port gunge belongs as a PCI quirk/PCI header decode to understand the special legacy IDE rules in the PCI spec. Longer term Jeff also wants to move the request_irq/free_irq out of core which will make this even cleaner. tj: folded in three followup patches - ata_piix-fix, broken-arch-fix and fix-new-legacy-handling, and separated per-dev xfermask into separate patch preceding this one. Folded in fixes are... * ata_piix-fix: fix build failure due to host_set->next removal * broken-arch-fix: add missing include/asm-*/libata-portmap.h * fix-new-legacy-handling: * In ata_pci_init_legacy_port(), probe_num was incorrectly incremented during initialization of the secondary port and probe_ent->n_ports was incorrectly fixed to 1. * Both legacy ports ended up having the same hard_port_no. * When printing port information, both legacy ports printed the first irq. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: implement per-dev xfermaskTejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement per-dev xfermask. libata used to determine xfermask per-port - the fastest mode of the slowest device on the port. This patch enables per-dev xfermask. Original patch is from Alan Cox <alan@redhat.com>. The following changes are made by me. * simplex warning message is added * remove disabled device handling code which is never invoked (originally for choosing port-wide lowest PIO mode) Cc: Alan Cox <alan@redhat.com> Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] [libata] Kill 'count' var in ata_device_add()Jeff Garzik2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate redundant loop variable 'count' Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] [libata] some function renamingJeff Garzik2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s/ata_host_add/ata_port_add/ s/ata_host_init/ata_port_init/ libata naming got stuck in the middle of a Great Renaming: ata_host -> ata_port ata_host_set -> ata_host To eliminate confusion, let's just give up for now, and simply ensure that things are internally consistent. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | [PATCH] libata: update ata_host_init() and rename it to ata_port_init_shost()Tejun Heo2006-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update ata_host_init() such that it only initializes SCSI host related stuff and doesn't call into ata_port_init(), and rename it to ata_port_init_shost(). Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-09
|\ \ \ \ | | |/ / | |/| |
| * | | [PATCH] libata: clear sdev->locked on door lock failureTejun Heo2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCSI EH locks door if sdev->locked is set. Sometimes door lock command fails continuously (e.g. when medium is not present) and as libata uses EH to acquire sense data, this easily creates a loop where a failed lock door invokes EH and EH issues lock door on completion. This patch clears sdev->locked on door lock failure to break this loop. This problem has been spotted and diagnosed by Unicorn Chang <uchang@tw.ibm.com>. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | [PATCH] Fix compile problem when sata debugging is onKeith Owens2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a sata debug print statement that still uses an old variable name. Signed-off-by: Keith Owens <kaos@ocs.com.au> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] ahci: remove IRQ mask clearing from init_controller()Tejun Heo2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial IRQ mask clearing is done by libata-core by freezing all ports prior to requesting IRQ. Remove redundant IRQ clearing from init_controller(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] libata: Add support for SATA attachment to SAS adaptersBrian King2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following patch enhances libata to allow SAS device drivers to utilize libata to talk to SATA devices. It introduces some new APIs which allow libata to be used without allocating a virtual scsi host. New APIs: ata_sas_port_alloc - Allocate an ata_port ata_sas_port_init - Initialize an ata_port (probe device, etc) ata_sas_port_destroy - Free an ata_port allocated by ata_sas_port_alloc ata_sas_slave_configure - configure scsi device ata_sas_queuecmd - queue a scsi command, similar to ata_scsi_queuecomand These new APIs can be used either directly by a SAS LLDD or could be used by the SAS transport class. Possible usage for a SAS LLDD would be: scsi_scan_host target_alloc ata_sas_port_alloc slave_alloc ata_sas_port_init slave_configure ata_sas_slave_configure Commands received by the LLDD for SATA devices would call ata_sas_queuecmd. Device teardown would occur with: slave_destroy port_disable target_destroy ata_sas_port_destroy Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] libata: Move ata_probe_ent_alloc to libata_coreBrian King2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move ata_probe_ent_alloc to libata-core. It will also be used by future SAS/SATA integration patches. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] libata: Add ata_port_initBrian King2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate out the ata_port initialization from ata_host_init so that it can be used in future SAS patches. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] libata: Add ata_host_set_initBrian King2006-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ata_host_set_init in preparation for SAS attached SATA. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-08
|\| | |
| * | | [PATCH] libata: fix ata_device_add() error pathTejun Heo2006-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the error path, ata_device_add() * dereferences null host_set->ports[] element. * calls scsi_remove_host() on not-yet-added shost. This patch fixes both bugs. The first problem was spotted and initial patch submitted by Dave Jones <davej@redhat.com>. The second problem was mentioned and fixed by Jeff Garzik <jgarzik@pobox.com> in a larger cleanup patch. Cc: Dave Jones <davej@redhat.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Tejun Heo <htejun@gmail.com>
| * | | [PATCH] [libata] manually inline ata_host_remove()Jeff Garzik2006-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (tj: this is for the following ata_device_add() fix) Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
| * | | [PATCH] sata_sil24: don't set probe_ent->mmio_baseTejun Heo2006-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sata_sil24 doesn't make use of probe_ent->mmio_base and setting this field causes the area to be released twice on detach. Don't set probe_ent->mmio_base. Signed-off-by: Tejun Heo <htejun@gmail.com>
| * | | [PATCH] ata_piix: fix host_set private_data intializationTejun Heo2006-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To get host_set->private_data initialized reliably, all pinfos need to point to the same hpriv. Restore pinfo->private_data after pata pinfo assignment. Signed-off-by: Tejun Heo <htejun@gmail.com>
| * | | [PATCH] libata: fix ata_port_detach() for old EH portsTejun Heo2006-08-04
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | ata_prot_detach() did nothing for old EH ports and thus SCSI hosts associated with those ports are left dangling after they are detached leaving stale devices and causing oops eventually. Make ata_port_detach() remove SCSI hosts for old EH ports. Signed-off-by: Tejun Heo <htejun@gmail.com>
* | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-03
|\| |
| * | [PATCH] ahci: skip protocol test altogether in spurious interrupt codeUnicorn Chang2006-08-03
| | | | | | | | | | | | | | | | | | | | | | | | Skip protocol test altogether in spurious interrupt code. If PIOS is received when it shouldn't, ahci will raise protocol violation. Signed-off-by: Unicorn Chang <uchang@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | kbuild: hardcode value of YACC&LEX for aic7-triple-xSam Ravnborg2006-08-01
| | | | | | | | | | | | | | | | | | | | | When we introduced -rR then aic7xxx no loger could pick up definition of YACC&LEX from make - so do it explicit now. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | | [libata] ahci: add SiS PCI IDsJeff Garzik2006-07-29
| | | | | | | | | | | | | | | Signed-off-by: David Wang <touch@sis.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] libata: cosmetic changes to PM functionsTejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | Unify pm_message_t argument to the new-style @mesg. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] ahci: implement Power Management supportTejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement power management support. Original implementation is from Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] ahci: separate out ahci_reset_controller() and ahci_init_controller()Tejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate out ahci_reset_controller() and ahci_init_controller() from ata_host_init(). These will be used by PM callbacks. This patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] libata: improve driver initialization and deinitializationTejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement ahci_[de]init_port() and use it during initialization and de-initialization. ahci_[de]init_port() are supersets of what used to be done during driver [de-]initialization. This patch makes the following behavior changes. * Per-port IRQ mask is cleared on driver load as done in other drivers. The mask will be configured properly during probe. * During init_one(), HOST_IRQ_STAT is cleared after masking port IRQs such that there is no race window. * CMD_SPIN_UP is cleared during init_one() instead of being set. It is set in port_start(). This is more consistent with overall structure of initialization. Note that CMD_SPIN_UP simply controls PHY activation. * Slumber and staggered spin-up are handled properly. * All init/deinit operations are done in step-by-step manner as described in the spec instead of issued as single merged command. Original implementation is from Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] ahci: simplify ahci_start_engine()Tejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify ahci_start_engine() by killing prerequisite condition checks. Rationales are.. * No user checks error return from ahci_start_engine() * Code flow guarantees the prerequisite conditions unless the controller is malfunctioning. In such cases, the driver had chances to learn about the problem _before_ calling this function. * Closely related to the above two, driver calls into this function even when prerequisites fail hoping for the best. Basically, ahci_start_engine() should only do the operation itself. It isn't the right place to check for prerequisites. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] ahci: cosmetic changes to ahci_start/stop_engine()Tejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fascist-format comments according to comment style used in libata core layer. * if() -> if () Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | [PATCH] ahci: relocate several internal functionsTejun Heo2006-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move ahci_port_start/stop() below EH functions. This makes ahci more consistent with other drivers and makes prototypes for ahci_start/stop_engine() unnecessary. * swap positions between ahci_start_engine() and ahci_stop_engine() for readability. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Zhao, Forrest <forrest.zhao@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-07-29
|\| |
| * | Merge branch 'master' into upstream-fixesJeff Garzik2006-07-29
| |\ \
| | * | [PATCH] scsi: kill overeager "not-ready" messagesJens Axboe2006-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HAL and friends have a tendency to trigger this one all the time. It's not really interesting, so kill it. The vendor kernels all do anyways. Signed-off-by: Jens Axboe <axboe@suse.de>