aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAge
* [libata sata_mv] handle lack of hardware nIEN supportJeff Garzik2005-11-17
| | | | | | | | | | | Handle errata (it was unintentional on this h/w, whereas its intentional on others) whereby the nIEN bit in Device Control is ignored, leading to a situation where a hardware interrupt completes the qc before the polling code has a chance to. This will get fixed The Right Way(tm) once Albert Lee's irq-pio branch is merged, as the more natural PIO method on this hardware is interrupt-driven.
* [libata sata_mv] SATA probe, DMA boundary fixesJeff Garzik2005-11-17
| | | | | | | | - DMA boundary was being handled incorrectly. Copied the code from ata_fill_sg(), since Marvell has the same DMA boundary needs. (we can't use ata_fill_sg directly since we have different hardware descriptors) - cleaned up the SATA phy reset code, to deal with various errata
* [libata] add timeout to commands for which we call wait_completion()Jeff Garzik2005-11-17
|
* Merge branch 'upstream-fixes'Jeff Garzik2005-11-16
|\
| * [libata] bump versionsJeff Garzik2005-11-16
| |
| * [libata ahci] tone down ATAPI errorsJeff Garzik2005-11-16
| | | | | | | | | | | | | | | | | | ATA devices don't generate many errors, so the preferred method is to printk() when they occur. ATAPI devices generate tons of exceptions during the normal course of operation, so this change skips logging the most common class of errors.
| * [PATCH] libata: honor the transfer cycle time speficied by the EIDE deviceAlbert Lee2005-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following code segment is not functional because the transfer cycle time speficied by the EIDE device is later overwritten by ata_timing_quantize(): /* * If the drive is an EIDE drive, it can tell us it needs extended * PIO/MW_DMA cycle timing. */ if (adev->id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */ memset(&p, 0, sizeof(p)); (snip) ata_timing_merge(&p, t, t, ATA_TIMING_CYCLE | ATA_TIMING_CYC8B); <== uninitialized "t" is used here } /* * Convert the timing to bus clock counts. */ ata_timing_quantize(s, t, T, UT); <== t is overwritten by quantized s The patch has been submitted for ide-timing.h before: http://marc.theaimsgroup.com/?l=linux-ide&m=110820013425454&w=2 Resubmitted for libata. Changes: - Minor fix to honor the following transfer cycle time speficied by the device - id[65]: Minimum Multiword DMA transfer cycle time per word - id[67]: Minimum PIO transfer cycle time without flow control - id[68]: Minimum PIO transfer cycle time with IORDY Signed-off-by: Albert Lee <albertcc@tw.ibm.com> ======= Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * [PATCH] sil24: add constantsTejun Heo2005-11-16
| | | | | | | | | | | | | | | | Adds constants for ATAPI support to sata_sil24. This patch is originally from Jeff Garzik <jgarzik@pobox.com>. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * [libata ahci] command completion fixes, improved debug msgsJeff Garzik2005-11-15
| | | | | | | | | | | | | | | | | | - Fix a regression in command completion, which prevented the restart of the DMA engine after the device throws an error. - Pack more hardware info into the port-reset error message. - Promote "welcome to our timeout" message from debug msg to normal printk.
| * [libata] REQUEST SENSE handling fixesJeff Garzik2005-11-14
| | | | | | | | | | | | | | | | - Move ATAPI check-condition handling out of the timeout handler - Use multi-qc-issue feature to issue REQUEST SENSE ATAPI PACKET command upon receiving an ATAPI check-condition. This cleans things up a lot, and eliminates a nasty recursion bug.
| * [libata] minor fixes, new helpersJeff Garzik2005-11-14
| | | | | | | | | | | | | | | | | | | | - in ata_dev_identify(), don't assume that all devices are either ATA or ATAPI. In the future, this code will see port multipliers and other devices. - make a debugging printk less verbose - add new helper ata_qc_reinit() - add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for fine-grained debugging use.
| * [libata] fix bugs in ATAPI padding DMA mapping codeJeff Garzik2005-11-14
| | | | | | | | | | | | | | The ATAPI pad-to-next-32bit-boundary code modifies the scatterlist's length variable, sometimes to zero. x86-64 platform would oops if a zero-length scatterlist entry was asked to be mapped. Work around this by ensuring that we never DMA-map a zero length buffer or SG entry.
| * [libata ahci] error handling fixesJeff Garzik2005-11-14
| | | | | | | | | | | | | | | | | | | | Needed to get ATAPI working. - dump hardware error bits, if hardware signals an error - only reset hardware during timeout if a command was active - call ata_qc_complete() with a fine-grained error mask. Needed so that atapi_qc_complete() can distinguish between device errors and other errors.
* | Merge branch 'master'Jeff Garzik2005-11-13
|\|
| * [libata passthru] address slave devices correctlyMark Lord2005-11-13
| |
| * [PATCH] libata: fix comments on ata_tf_from_fis()Mark Lord2005-11-13
| | | | | | | | | | | | | | Fix description on comments for ata_tf_from_fis(). Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * [PATCH] sil24: add missing ata_pad_free()Tejun Heo2005-11-13
| | | | | | | | | | | | | | | | sil24_port_stop() is missing call to ata_pad_free() thus leaking pad buffer when a port is stopped. This patch adds it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [libata sata_mv] fix tons of 50XX bugsJeff Garzik2005-11-13
| |
* | [libata sata_mv] call phy fixups during init, as well as phy resetJeff Garzik2005-11-12
| |
* | [libata sata_mv] move code aroundJeff Garzik2005-11-12
| | | | | | | | No content changes. Move 60xx code to be closer to other 60xx code.
* | [libata sata_mv] hardware initialization workJeff Garzik2005-11-12
| | | | | | | | | | Implement flash reset and PCI reset on 50xx and 60xx. Implement LED enable on 50xx.
* | [libata sata_mv] mv_hw_ops for hardware families; new errataJeff Garzik2005-11-12
| | | | | | | | | | | | - eliminate a bunch of redundant tests by creating a per-chip-family set of hooks, mv_hw_ops - implement more errata, from newer Marvell GPL'd driver
* | [libata sata_mv] move code aroundJeff Garzik2005-11-12
| | | | | | | | No content change, just prepping up future mv_hw_ops modularization.
* | [libata sata_mv] implement a bunch of errata workaroundsJeff Garzik2005-11-12
| | | | | | | | Based largely on the GPL'd Marvell vendor driver.
* | [libata sata_mv] note driver is "HIGHLY EXPERIMENTAL" in KconfigJeff Garzik2005-11-12
| |
* | [libata sata_mv] trim trailing whitespaceJeff Garzik2005-11-12
| |
* | [libata sata_mv] minor fixesJeff Garzik2005-11-12
|/ | | | | - clear SError and EDMA irq cause registers, after re-init'ing the phy - move enums with type suffix 'U' to their own enum
* [libata ahci] set port ATAPI bit correctlyJeff Garzik2005-11-12
| | | | | | Although according to the documentation this largely only affects desktop LED control, let's make sure we set the ATAPI bit when we have an ATAPI device attached to the port.
* [libata ahci, qstor] fix miscount of scatter/gather entriesJeff Garzik2005-11-12
| | | | | Don't directly reference qc->n_elem, as that might cause an off-by-one error for misaligned (padded) ATAPI transfers.
* [PATCH] kill libata scsi_wait_req usage (make libata compile with scsi-misc ↵Mike Christie2005-11-11
| | | | | | | | | | changes) scsi_wait_req does not exist any more in the SCSI layer. This patch makes it so libata can compile again. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6Linus Torvalds2005-11-11
|\
| * Merge by hand (whitespace conflicts in libata.h)James Bottomley2005-11-10
| |\ | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Update version number to 8.01.03-k.Andrew Vasquez2005-11-09
| | | | | | | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Correct ISP24xx soft-reset handling.Andrew Vasquez2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A driver must wait 100us before attempting an MMIO operation to the RISC after a soft-reset has been initiated. A similar delay was needed with earlier ISPs. Note: a PCI config-space read is used to flush the MMIO write to the ISP, since the ISP's state machines are unable to respond to any MMIO read during the reset process. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Correct abort issue during loop-down state.Ravi Anand2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | Correct issue where abort I/O command was not being issued when the loop-state was down. Signed-off-by: Ravi Anand <ravi.anand@qlogic.com> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Correct loop-in-transition issuesRavi Anand2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | When mulitple initiators are coming up in an FCAL topology. Signed-off-by: Ravi Anand <ravi.anand@qlogic.com> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Correct additional posting issues during NVRAM accesses.Andrew Vasquez2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On MMIO relaxed-order platforms, it is possible for the proper delay during NVRAM access to begin before the request passes through the PCI bus (via a MMIO write) to the ISP. Thus, causing a subsequent read to the NVRAM part to fail. Add a MMIO read, after the MMIO write to insure any posted writes are flushed. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] aacraid: Fix read capacity 16 return dataMark Haverkamp2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn. The return data from a read capacity 16 needs to have RTO_EN and PROT_EN zeroed out. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] remove Scsi_Device typedefChristoph Hellwig2005-11-09
| | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] remove Scsi_Pointer typedefChristoph Hellwig2005-11-09
| | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] remove Scsi_Host_Template typedefChristoph Hellwig2005-11-09
| | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] sd: fix issue_flushJames Bottomley2005-11-09
| | | | | | | | | | | | | | | | | | | | | | | | sd_issue_flush() is called from atomic context so we can't use the semaphore based routines to get a reference to the scsi_disk. Assume something else already got the reference so we can safely use it. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] Fix refcount leak in scsi_report_lun_scanAlan Stern2005-11-08
| | | | | | | | | | | | | | | Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix usb storage oopsgoggin, edward2005-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that scsi_run_queue is called from scsi_next_command() after doing a scsi_put_command. If the command was the only thing holding the reference on the scsi_device then the resulting device put will tear down the block queue. Fix this by taking a reference to the device and holding it around scsi_run_queue() Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | Merge by hand (conflicts between pending drivers and kfree cleanups)James Bottomley2005-11-08
| |\ \ | | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] ipr: Driver version 2.1.0brking@us.ibm.com2005-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump the driver version. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] ipr: Better handle failure of adapter bringup commandsbrking@us.ibm.com2005-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some new ipr adapters do not support some of the initialization commands currently sent to it from the driver. Handle these commands failing and continue on with the adapter initialization. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] ipr: Increase ipr device scanning limitsbrking@us.ibm.com2005-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase device scanning limits so that all devices are found. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] ipr: New PCI Idsbrking@us.ibm.com2005-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for some new ipr adapters Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] ipr: Support device reset to RAID disksbrking@us.ibm.com2005-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support now exists in some ipr adapters to issue a device reset to an Advanced Function disk. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>