aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ahci.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2005-11-16[libata] bump versionsJeff Garzik1-1/+1
2005-11-16[libata ahci] tone down ATAPI errorsJeff Garzik1-13/+15
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 Garzik1-10/+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.
2005-11-14[libata ahci] error handling fixesJeff Garzik1-5/+19
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 Garzik1-2/+16
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 Garzik1-3/+11
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 Garzik1-1/+1
2005-11-07[libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik1-2/+2
2005-11-04[libata] ATAPI pad allocation fixes/cleanupJeff Garzik1-5/+6
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 Garzik1-21/+21
2005-10-30[libata] use dev_printk() throughout driversJeff Garzik1-21/+21
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 Garzik1-2/+2
2005-10-30[libata] change ata_qc_complete() to take error mask as second argJeff Garzik1-2/+2
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 Garzik1-9/+0
2005-10-29[libata] remove ata_chk_err(), ->check_err() hook.Jeff Garzik1-9/+0
We now depend on ->tf_read() to provide us with the contents of the Error shadow register.
2005-10-28Merge branch 'master'Jeff Garzik1-5/+5
2005-10-22libata: const-ification bombing runJeff Garzik1-1/+1
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 Viro1-4/+4
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-09Merge branch 'upstream'Jeff Garzik1-6/+25
2005-10-05libata: fix ATAPI DMA alignment issuesJeff Garzik1-11/+19
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 Garzik1-6/+25
2005-09-08[PATCH] PCI/libata INTx cleanupBrett M Russ1-16/+0
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 Russ1-1/+1
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 Garzik1-4/+3
2005-08-30[libata] __iomem annotations for various driversJeff Garzik1-16/+17
2005-08-30[libata ahci] minor remove/unplug path cleanupJeff Garzik1-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.
2005-08-29Merge /spare/repo/linux-2.6/Jeff Garzik1-4/+8
2005-08-28[libata] license change, other bitsJeff Garzik1-16/+24
- 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 Garzik1-1/+6
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 Garzik1-0/+1
2005-08-23libata: release prep (bump versions, etc.)Jeff Garzik1-0/+1
- 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 Wilck1-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>
2005-08-10[PATCH] ahci: AHCI mode SATA patch for Intel ICH7-M DHJason Gaston1-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>
2005-06-28[PATCH] libata: ahci: remove ata_port_start/stop() callsTejun Heo1-18/+4
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 Garzik1-12/+8
2005-06-04[libata] ahci: minor PCI MSI cleanupJeff Garzik1-5/+6
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 Garzik1-4/+4
2005-05-31Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD1-0/+3
2005-05-29Automatic merge of /spare/repo/netdev-2.6 branch use-after-unmap1-0/+2
2005-05-27[PATCH] drivers/scsi/ahci: add #include req'd for the DMA_{64,32}BIT_MASK constantsdomen@coderock.org1-0/+1
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 Garzik1-0/+2
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 Garzik1-10/+63
2005-04-16[PATCH] ahci: AHCI mode SATA patch for Intel ESB2Jason Gaston1-0/+6
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>
2005-04-16Linux-2.6.12-rc2Linus Torvalds1-0/+1065
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!