summaryrefslogtreecommitdiff
path: root/drivers/scsi/ahci.c
AgeCommit message (Collapse)Author
2006-03-11[PATCH] ahci: fix NULL pointer dereference detected by CoverityTejun Heo
Fix NULL pointer dereference detected by the Coverity checker. Kill dev -> pdev -> dev conversion while at it. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-01-29[libata ahci] add another JMicron pci idJeff Garzik
2006-01-29[libata ahci] Isolate Intel-ism, add JMicron JMB360 supportJeff Garzik
Isolate some PCI config register bitbanging to Intel hardware, as it should have been all along. Add support for JMicron JMB360.
2006-01-17[PATCH] ahci: AHCI mode SATA patch for Intel ICH8Jason Gaston
This patch adds the Intel ICH8 DID's to the ahci.c file for AHCI mode SATA support. Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-06[BLOCK] update libata to use new blk_ordered for barriersTejun Heo
Reflect changes in SCSI midlayer and updated to use new ordered request implementation Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <axboe@suse.de>
2005-12-06[PATCH] libata: move err_mask to ata_queued_cmdAlbert Lee
- remove err_mask from the parameter list of the complete functions - move err_mask to ata_queued_cmd - initialize qc->err_mask when needed - for each function call to ata_qc_complete(), replace the err_mask parameter with qc->err_mask. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> =============== Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[PATCH] mark several libata datastructures constArjan van de Ven
Hi, the patch below marks several libata (and libata-driver) structures const so that they end up in the .rodata segment and don't false-share cachelines with things that get dirtied often. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-16[libata] bump versionsJeff Garzik
2005-11-16[libata ahci] tone down ATAPI errorsJeff Garzik
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.
2005-11-15[libata ahci] command completion fixes, improved debug msgsJeff Garzik
- 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.
2005-11-14[libata ahci] error handling fixesJeff Garzik
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.
2005-11-12[libata ahci] set port ATAPI bit correctlyJeff Garzik
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.
2005-11-12[libata ahci, qstor] fix miscount of scatter/gather entriesJeff Garzik
Don't directly reference qc->n_elem, as that might cause an off-by-one error for misaligned (padded) ATAPI transfers.
2005-11-10[libata] constify PCI ID table in several driversJeff Garzik
2005-11-07[libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik
2005-11-04[libata] ATAPI pad allocation fixes/cleanupJeff Garzik
Use ata_pad_{alloc,free} in two drivers, to factor out common code. Add ata_pad_{alloc,free} to two other drivers, which needed the padding but had not been updated.
2005-10-30Merge branch 'master'Jeff Garzik
2005-10-30[libata] use dev_printk() throughout driversJeff Garzik
A few drivers were not following the standard meme of printing out their driver name and version at module load time; this is fixed as well.
2005-10-30Merge branch 'upstream'Jeff Garzik
2005-10-30[libata] change ata_qc_complete() to take error mask as second argJeff Garzik
The second argument to ata_qc_complete() was being used for two purposes: communicate the ATA Status register to the completion function, and indicate an error. On legacy PCI IDE hardware, the latter is often implicit in the former. On more modern hardware, the driver often completely emulated a Status register value, passing ATA_ERR as an indication that something went wrong. Now that previous code changes have eliminated the need to use drv_stat arg to communicate the ATA Status register value, we can convert it to a mask of possible error classes. This will lead to more flexible error handling in the future.
2005-10-30Merge branch 'upstream'Jeff Garzik
2005-10-29[libata] remove ata_chk_err(), ->check_err() hook.Jeff Garzik
We now depend on ->tf_read() to provide us with the contents of the Error shadow register.
2005-10-28Merge branch 'master'Jeff Garzik
2005-10-22libata: const-ification bombing runJeff Garzik
Enforce access rules where appropriate. If the compiler is smart enough, this may buy us an optimization or two as a side effect.
2005-10-21[PATCH] iomem annotations (ahci)Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-09Merge branch 'upstream'Jeff Garzik
2005-10-05libata: fix ATAPI DMA alignment issuesJeff Garzik
ATAPI needs to be padded to next 4 byte boundary, if misaligned. Original work by me, many fixes from Tejun Heo.
2005-10-05libata: add ata_ratelimit(), use it in AHCI driver irq handlerJeff Garzik
2005-09-08[PATCH] PCI/libata INTx cleanupBrett M Russ
Simple cleanup to eliminate X copies of the pci_enable_intx() function in libata. Moved ahci.c's pci_intx() to pci.c and use it throughout libata and msi.c. Signed-off-by: Brett Russ <russb@emc.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-07[PATCH] libata: fix pio_mask values (take 2)Brett Russ
ata_get_mode_mask() uses bits 3 and 4 in the pio_mask to represent PIO modes 3 and 4. The value read from the drive, which reports support for PIO3 and PIO4 in bits 0 and 1, is shifted left by 3 bits and OR'd with 0x7 (which then corresponds to PIO 2-0 in libata). Thus, the drivers below need adjustments to comply with the way pio_mask is used. I changed the masks from the commented values to all support PIO4-0, since the spec mandates that PIO0-2 are supported and there's no reason not to support PIO3 IMO. Signed-off-by: Brett Russ <russb@emc.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-30[libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik
2005-08-30[libata] __iomem annotations for various driversJeff Garzik
2005-08-30[libata ahci] minor remove/unplug path cleanupJeff Garzik
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.
2005-08-29Merge /spare/repo/linux-2.6/Jeff Garzik
2005-08-28[libata] license change, other bitsJeff Garzik
- 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
2005-08-25libata: fix EH lockingJeff Garzik
Wrap ata_qc_complete() calls in EH context in spinlocks, to prevent races (mainly in ATAPI code paths).
2005-08-23/spare/repo/libata-dev branch 'upstream-fixes'Jeff Garzik
2005-08-23libata: release prep (bump versions, etc.)Jeff Garzik
- bump versions where necessary - remove two duplicated+outdated doc comments - add MODULE_VERSION() to AHCI driver
2005-08-23[PATCH] Fix HD activity LED with ahciMartin Wilck
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>
2005-08-10[PATCH] ahci: AHCI mode SATA patch for Intel ICH7-M DHJason Gaston
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>
2005-06-28[PATCH] libata: ahci: remove ata_port_start/stop() callsTejun Heo
This patch removes unnecessary ata_port_start/stop() calls from ahci_port_start/stop(). Signed-off-by: Tejun Heo <htejun@gmail.com>
2005-06-04[libata] ahci: finish ATAPI support (hopefully)Jeff Garzik
2005-06-04[libata] ahci: minor PCI MSI cleanupJeff Garzik
Replace 'have_msi' variable with a bit in the existing 'flags' variable,. AHCI_FLAG_MSI.
2005-05-31[libata] ahci: Update for recent ->host_stop() API changeJeff Garzik
2005-05-31Automatic merge of ↵
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
2005-05-29Automatic merge of /spare/repo/netdev-2.6 branch use-after-unmap
2005-05-27[PATCH] drivers/scsi/ahci: add #include req'd for the DMA_{64,32}BIT_MASK ↵domen@coderock.org
constants The previous patch did not compile cleanly on all architectures so here's a fixed one which #includes <linux/dma-mapping.h>. Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() This patch includes dma-mapping.h explicitly because it caused errors on some architectures otherwise. See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Domen Puncer <domen@coderock.org> diff -puN drivers/scsi/ahci.c~dma_mask-drivers_scsi_ahci drivers/scsi/ahci.c
2005-05-26libata: Fix use-after-iounmapJeff Garzik
Jens Axboe pointed out that the iounmap() call in libata was occurring too early, and some drivers (ahci, probably others) were using ioremap'd memory after it had been unmapped. The patch should address that problem by way of improving the libata driver API: * move ->host_stop() call after all ->port_stop() calls have occurred. * create default helper function ata_host_stop(), and move iounmap() call there. * add ->host_stop_prewalk() hook, use it in sata_qstor.c (hi Mark). sata_qstor appears to require the host-stop-before-port-stop ordering that existed prior to applying the attached patch.
2005-05-12[libata ahci] support PCI MSI interrupt vectorJeff Garzik
2005-04-16[PATCH] ahci: AHCI mode SATA patch for Intel ESB2Jason Gaston
This patch adds the Intel ESB2 DID's to the ahci.c file for AHCI mode SATA support. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Cc: <linux-scsi@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>