summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream' of ↵Linus Torvalds2005-09-0512-99/+103
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * /spare/repo/libata-dev branch 'iomap-try3'Jeff Garzik2005-09-0510-95/+94
| |\
| | * [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-3010-39/+45
| | |
| | * [libata] __iomem annotations for various driversJeff Garzik2005-08-306-45/+48
| | |
| | * [libata ahci] minor remove/unplug path cleanupJeff Garzik2005-08-301-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | Don't bother calling a hook, to call our own module, to call a helper than simply calls ionumap(). If you unroll all that convolution, you get a simple kfree()+iounmap() pair of calls.
| * | [libata] fix ATAPI-enable typoJeff Garzik2005-08-301-1/+1
| | | | | | | | | | | | Dumb typo spotted by Mark Lord.
| * | [libata] allow ATAPI to be enabled with new atapi_enabled module optionJeff Garzik2005-08-303-4/+9
| |/ | | | | | | | | | | | | | | ATAPI is getting close to being ready. To increase exposure, we enable the code in the upstream kernel, but default it to off (present behavior). Users must pass atapi_enabled=1 as a module option (if module) or on the kernel command line (if built in) to turn on discovery of their ATAPI devices.
* | [PATCH] swsusp: switch pm_message_t to structPavel Machek2005-09-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds type-checking to pm_message_t, so that people can't confuse it with int or u32. It also allows us to fix "disk yoyo" during suspend (disk spinning down/up/down). [We've tried that before; since that cpufreq problems were fixed and I've tried make allyes config and fixed resulting damage.] Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Alexander Nyberg <alexn@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] mips: clean up 32/64-bit configurationRalf Baechle2005-09-051-1/+1
|/ | | | | | | | Start cleaning 32-bit vs. 64-bit configuration. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge refs/heads/upstream from ↵Linus Torvalds2005-08-291-7/+43
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-2916-408/+818
| |\
| * | [libata sata_promise] Do not attempt to use SATA phy on PATA controllersJeff Garzik2005-08-291-7/+43
| | |
* | | [PATCH] Make MODULE_DEVICE_TABLE work for vio devicesStephen Rothwell2005-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | Make MODULE_DEVICE_TABLE work for vio devices. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] Create vio_bus_opsStephen Rothwell2005-08-301-0/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | Create vio_bus_ops so that we just pass a structure to vio_bus_init instead of three separate function pointers. Rearrange vio.h to avoid forward references. vio.h only needs struct device_node from prom.h so remove the include and just declare it. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-2916-157/+448
|\ \
| * \ Merge refs/heads/upstream from ↵Linus Torvalds2005-08-2915-150/+442
| |\ \ | | |/ | |/| | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| | * [libata scsi] fix read/write translation edge casesJeff Garzik2005-08-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bugs for unlikely edge cases noticed by Douglas Gilbert: - When READ(6)/WRITE(6) sector count == 0, treat it as 256 sectors - For other READ(x)/WRITE(x), when sector count == 0, error. We don't support successfully completing zero-length transfers at this time.
| | * libata: fix a few alan-ismsJeff Garzik2005-08-271-1/+1
| | |
| | * [libata sata_sil] list documentation URL, since its publicJeff Garzik2005-08-261-0/+5
| | |
| | * [PATCH] libata: regularize dma_start/stop argumentsAlan Cox2005-08-262-7/+8
| | | | | | | | | | | | | | | | | | | | | Needed for a few PATA drivers. Also fix up a wrong comment. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * [PATCH] libata: typoAlan Cox2005-08-261-5/+4
| | | | | | | | | | | | | | | | | | You spelt heuristic wrongly. Also reformatted to 80 columns, ignore the diff and fix the typo if you prefer that. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * libata: fix EH lockingJeff Garzik2005-08-254-3/+28
| | | | | | | | | | | | | | | Wrap ata_qc_complete() calls in EH context in spinlocks, to prevent races (mainly in ATAPI code paths).
| | * Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-242-4/+4
| | |\
| | * \ /spare/repo/libata-dev branch 'upstream-fixes'Jeff Garzik2005-08-235-28/+4
| | |\ \
| | * \ \ Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-231-35/+13
| | |\ \ \
| | * | | | [PATCH] sil: apply M15W quirk selectively (take 2)Tejun Heo2005-08-231-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As SII reports that only original 3112's are affected by M15W quirk, This patch adds SIL_FLAG_MOD15WRITE to selectively apply M15W quirk depending on chipsets. As of yet, we don't know exactly which PCI IDs are for original 3112, so M15W quirk is applied to all except for 3512 and 3124. Once more info is avaliable, we can change some of these sil_3112_m15w's to sil_3112. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] libata: implement ata_poll_qc_complete and use it in polling functionsTejun Heo2005-08-231-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [PATCH libata-dev-2.6:upstream] implement ata_poll_qc_complete and use it in polling functions Previously, libata polling functions turned irq back on and completed qc commands without holding host lock. This creates a race condition between the polling task and interrupts from other ports on the same host set or spurious interrupt from itself. This patch implements ata_poll_qc_complete which enables irq and completes qc atomically and convert all polling functions. Note: atapi_packet_task() didn't use to turn irq back on or clear ATA_FLAG_NOINTR on error exits. This patch makes it use ata_poll_qc_complete which does both. Note: With this change, ALL invocations of ata_qc_complete() are now done under host_set lock. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] fix atapi_packet_task vs. intr race (take 2)Tejun Heo2005-08-236-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interrupts from devices sharing the same IRQ could cause ata_host_intr to finish commands being processed by atapi_packet_task if the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA protocol. This is because libata interrupt handler is unaware that interrupts are not expected during that period. This patch adds ATA_FLAG_NOINTR flag to tell the interrupt handler that we're not expecting interrupts. Note that once proper HSM is implemented for interrupt-driven PIO, this should be merged into it and this flag will be removed. ahci.c is a different kind of beast, so it's left alone. * The following drivers use ata_qc_issue_prot and ata_interrupt, so changes in libata core will do. ata_piix sata_sil sata_svw sata_via sata_sis sata_uli * The following drivers use ata_qc_issue_prot and custom intr handler. They need this change to work correctly. sata_nv sata_vsc * The following drivers use custom issue function and intr handler. Currently all custom issue functions don't support ATAPI, so this change is irrelevant, updated for consistency and to avoid later mistakes. sata_promise sata_qstor sata_sx4 Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] Fix HD activity LED with ahciMartin Wilck2005-08-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch: fix wrong HD activity control by ahci driver The ahci driver 1.0 sets the SActive bit on every transaction, causing the LED to light up. The SActive bit is used only for native command queuing (NCQ) which the current driver version doesn't implement. Resetting the SActive bit is the device's responsibility (by sending a "Set Device Bits FIS" to the host adapter) but this is not required in response to non-NCQ commands, and (most) devices don't. Thus the LED stays always on. This patch fixes the LED behavior. Spec references: http://www.intel.com/technology/serialata/pdf/rev1_1.pdf, sec. 3.3.13, 5.5.1 http://www.serialata.org/docs/serialata10a.pdf http://www.intel.com/design/storage/papers/25266401.pdf Signed-off-by: Martin.Wilck@fujitsu-siemens.com Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] sata_promise: Add PDC40519 idDaniel Drake2005-08-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Promise TX4200 is a 4-port SATA controller based on the PDC40519 chip. It meets the description of the 20319, so just a simple ID needs to be added to support this hardware. Thanks to Martin Povolný for testing. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] sata_promise: Add PDC40718 idOtto Meier2005-08-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otto Meier recently submitted a patch to support the PDC40718 chip (marketed as SATA300 TX4, a 4-port SATA controller). Signed-off-by: Otto Meier <gf435@gmx.net> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | [PATCH] libata: Clear ATA_QCFLAG_ACTIVE flag before calling the completion ↵Albert Lee2005-08-231-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callback Description: After calling the completion callback, the libata error handler might be running and getting atapi sense data. Clearing the ATA_QCFLAG_ACTIVE flag at this point might interfere with the libata error handler. Changes: - Clear the ATA_QCFLAG_ACTIVE flag before calling the completion callback (and also before the error handler) - Add some comment Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | /spare/repo/libata-dev branch 'upstream-fixes'Jeff Garzik2005-08-231-6/+133
| | |\ \ \ \
| | | * | | | [PATCH] libata handle the case when device returns/needs extra dataAlbert Lee2005-08-121-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PATCH 2/2: handle the case when device returns/needs extra data Description: Sometimes the device returns/needs extra data than expected. Changes: Modify __atapi_pio_bytes() to handle the case where device returns/needs extra data. - for read case, discard trailing data from the device - for write case, padding zero data to the device Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | | * | | | [PATCH] libata ata_data_xfer() fixAlbert Lee2005-08-121-3/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PATCH 1/2: ata_data_xfer() fix Changes: - Modify ata_mmio_data_xfer() and ata_pio_data_xfer() to handle odd-lengthed buffer. - Add some function comments This patch does not reuse ap->pad as alignment buffer since using local variable seems good enough. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | | [libata scsi] add START STOP UNIT translationDouglas Gilbert2005-08-111-0/+56
| | | | | | |
| | * | | | | Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-115-3/+44
| | |\ \ \ \ \ | | | |/ / / /
| | * | | | | [PATCH] ahci: AHCI mode SATA patch for Intel ICH7-M DHJason Gaston2005-08-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hello, This patch adds the Intel ICH7-M DH DID to the ahci.c file for AHCI mode SATA support.  This patch was built against the 2.6.13-rc6 kernel.   If acceptable, please apply. Thanks, Jason Gaston Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | | | Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-1010-53/+51
| | |\ \ \ \ \
| | * | | | | | libata: trim trailing whitespace.Jeff Garzik2005-07-3111-91/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, fixup a tabs-to-spaces block of code in ata_piix.
| | * | | | | | [PATCH] sata_nv: Support MCP51/MCP55 device IDsDaniel Drake2005-07-311-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a multi-part message in MIME format. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * | | | | | | [PATCH] sg.c: fix a memory leak in devices seq_file implementationJan Blunck2005-08-271-7/+6
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I know that scsi procfs is legacy code but this is a fix for a memory leak. While reading through sg.c I realized that the implementation of /proc/scsi/sg/devices with seq_file is leaking memory due to freeing the pointer returned by the next() iterator method. Since next() might return NULL or an error this is wrong. This patch fixes it through using the seq_files private field for holding the reference to the iterator object. Here is a small bash script to trigger the leak. Use slabtop to watch the size-32 usage grow and grow. #!/bin/sh while true; do cat /proc/scsi/sg/devices > /dev/null done Signed-off-by: Jan Blunck <j.blunck@tu-harburg.de> Acked-by: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | | | | [libata sata_nv] NVIDIA ok'd license change from OSL+GPL to GPLJeff Garzik2005-08-291-14/+13
| | | | | | |
* | | | | | | [libata] license change, other bitsJeff Garzik2005-08-2816-244/+363
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - changes license of all code from OSL+GPL to plain ole GPL - except for NVIDIA, who hasn't yet responded about sata_nv - copyright holders were already contacted privately - adds info in each driver about where hardware/protocol docs may be obtained - where I have made major contributions, updated copyright dates
* | | | | | Merge head 'upstream-fixes' of ↵Linus Torvalds2005-08-235-28/+4
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * | | | | libata: release prep (bump versions, etc.)Jeff Garzik2005-08-235-28/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | - bump versions where necessary - remove two duplicated+outdated doc comments - add MODULE_VERSION() to AHCI driver
* | | | | [PATCH] Kconfig fix (non-modular SCSI drivers)Al Viro2005-08-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-modular scsi drivers depend on built-in scsi Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | | [PATCH] Kconfig fix (acornscsi)Al Viro2005-08-231-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | acornscsi had been broken for a long time; marked as such Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | Revert "dc395x: Fix support for highmem"Linus Torvalds2005-08-141-35/+13
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It introduces a repeatable oops in the driver, which is a bigger problem than the patch tries to solve. From the original description: Author: Jamie Lenehan <lenehan@twibble.org> Date: Thu Mar 3 14:41:40 2005 +0200 [PATCH] dc395x: Fix support for highmem From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Removes the page_to_virt and maps sg lists dynamically. This makes the driver work with highmem pages. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Merge head 'upstream-fixes' of ↵Linus Torvalds2005-08-102-1/+2
|\ \ \ | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
OpenPOWER on IntegriCloud