aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ahci.c
Commit message (Collapse)AuthorAge
* [BLOCK] update libata to use new blk_ordered for barriersTejun Heo2006-01-06
| | | | | | | | 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>
* [PATCH] libata: move err_mask to ata_queued_cmdAlbert Lee2005-12-06
| | | | | | | | | | | | - 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>
* [PATCH] mark several libata datastructures constArjan van de Ven2005-12-01
| | | | | | | | | | | 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>
* [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.
* [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 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.
* [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.
* [libata] constify PCI ID table in several driversJeff Garzik2005-11-10
|
* [libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik2005-11-07
|
* [libata] ATAPI pad allocation fixes/cleanupJeff Garzik2005-11-04
| | | | | | | 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.
* Merge branch 'master'Jeff Garzik2005-10-30
|\
| * [libata] use dev_printk() throughout driversJeff Garzik2005-10-30
| | | | | | | | | | | | 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.
* | Merge branch 'upstream'Jeff Garzik2005-10-30
|\|
| * [libata] change ata_qc_complete() to take error mask as second argJeff Garzik2005-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'upstream'Jeff Garzik2005-10-30
|\|
| * [libata] remove ata_chk_err(), ->check_err() hook.Jeff Garzik2005-10-29
| | | | | | | | | | We now depend on ->tf_read() to provide us with the contents of the Error shadow register.
* | Merge branch 'master'Jeff Garzik2005-10-28
|\|
| * libata: const-ification bombing runJeff Garzik2005-10-22
| | | | | | | | | | | | | | Enforce access rules where appropriate. If the compiler is smart enough, this may buy us an optimization or two as a side effect.
| * [PATCH] iomem annotations (ahci)Al Viro2005-10-21
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | Merge branch 'upstream'Jeff Garzik2005-10-09
|\|
| * libata: add ata_ratelimit(), use it in AHCI driver irq handlerJeff Garzik2005-10-05
| |
* | libata: fix ATAPI DMA alignment issuesJeff Garzik2005-10-05
|/ | | | | | ATAPI needs to be padded to next 4 byte boundary, if misaligned. Original work by me, many fixes from Tejun Heo.
* [PATCH] PCI/libata INTx cleanupBrett M Russ2005-09-08
| | | | | | | | | 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>
* [PATCH] libata: fix pio_mask values (take 2)Brett Russ2005-09-07
| | | | | | | | | | | | | | 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>
* [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-30
|
* [libata] __iomem annotations for various driversJeff Garzik2005-08-30
|
* [libata ahci] minor remove/unplug path cleanupJeff Garzik2005-08-30
| | | | | | | | 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.
* Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-29
|\
| * libata: fix EH lockingJeff Garzik2005-08-25
| | | | | | | | | | Wrap ata_qc_complete() calls in EH context in spinlocks, to prevent races (mainly in ATAPI code paths).
| * /spare/repo/libata-dev branch 'upstream-fixes'Jeff Garzik2005-08-23
| |\
| * | [PATCH] Fix HD activity LED with ahciMartin Wilck2005-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] ahci: AHCI mode SATA patch for Intel ICH7-M DHJason Gaston2005-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | [libata] license change, other bitsJeff Garzik2005-08-28
| |/ |/| | | | | | | | | | | | | | | | | | | - 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
* | libata: release prep (bump versions, etc.)Jeff Garzik2005-08-23
|/ | | | | | - bump versions where necessary - remove two duplicated+outdated doc comments - add MODULE_VERSION() to AHCI driver
* [PATCH] libata: ahci: remove ata_port_start/stop() callsTejun Heo2005-06-28
| | | | | | | This patch removes unnecessary ata_port_start/stop() calls from ahci_port_start/stop(). Signed-off-by: Tejun Heo <htejun@gmail.com>
* [libata] ahci: finish ATAPI support (hopefully)Jeff Garzik2005-06-04
|
* [libata] ahci: minor PCI MSI cleanupJeff Garzik2005-06-04
| | | | | Replace 'have_msi' variable with a bit in the existing 'flags' variable,. AHCI_FLAG_MSI.
* [libata] ahci: Update for recent ->host_stop() API changeJeff Garzik2005-05-31
|
* Automatic merge of ↵2005-05-31
|\ | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
| * Automatic merge of /spare/repo/netdev-2.6 branch use-after-unmap2005-05-29
| |\
| | * libata: Fix use-after-iounmapJeff Garzik2005-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | [PATCH] drivers/scsi/ahci: add #include req'd for the DMA_{64,32}BIT_MASK ↵domen@coderock.org2005-05-27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* / [libata ahci] support PCI MSI interrupt vectorJeff Garzik2005-05-12
|/
* [PATCH] ahci: AHCI mode SATA patch for Intel ESB2Jason Gaston2005-04-16
| | | | | | | | | | 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>
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-16
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!