summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_sx4.c
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] libata: move err_mask to ata_queued_cmdAlbert Lee2005-12-061-5/+10
| | | | | | | | | | | | - 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-011-1/+1
| | | | | | | | | | | 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-161-1/+1
|
* [libata] constify PCI ID table in several driversJeff Garzik2005-11-101-1/+1
|
* [libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik2005-11-071-2/+2
|
* Merge branch 'master'Jeff Garzik2005-10-311-1/+2
|\
| * [libata] use dev_printk() throughout driversJeff Garzik2005-10-301-1/+2
| | | | | | | | | | | | 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-301-5/+5
|\|
| * [libata] change ata_qc_complete() to take error mask as second argJeff Garzik2005-10-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'master'Jeff Garzik2005-10-281-15/+14Star
|\|
| * libata: const-ification bombing runJeff Garzik2005-10-221-5/+5
| | | | | | | | | | | | | | 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 (sata_sx4)Al Viro2005-10-211-10/+9Star
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | libata: fix ATAPI DMA alignment issuesJeff Garzik2005-10-051-7/+6Star
|/ | | | | | ATAPI needs to be padded to next 4 byte boundary, if misaligned. Original work by me, many fixes from Tejun Heo.
* [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-301-8/+7Star
|
* [libata] __iomem annotations for various driversJeff Garzik2005-08-301-19/+20
|
* Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-291-70/+76
|\
| * libata: fix EH lockingJeff Garzik2005-08-261-0/+5
| | | | | | | | | | Wrap ata_qc_complete() calls in EH context in spinlocks, to prevent races (mainly in ATAPI code paths).
| * [PATCH] fix atapi_packet_task vs. intr race (take 2)Tejun Heo2005-08-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-111-1/+1
| |\
| * | libata: trim trailing whitespace.Jeff Garzik2005-07-311-69/+69
| | | | | | | | | | | | Also, fixup a tabs-to-spaces block of code in ata_piix.
* | | [libata] license change, other bitsJeff Garzik2005-08-291-14/+19
| |/ |/| | | | | | | | | | | | | | | | | | | - 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
* | [PATCH] sata: fix sata_sx4 dma_prep to not use sg->lengthTejun Heo2005-08-101-1/+1
|/ | | | | | | | | | | sata_sx4 directly references sg->length to calculate total_len in pdc20621_dma_prep(). This is incorrect as dma_map_sg() could have merged multiple sg's into one and, in such case, sg->length doesn't reflect true size of the entry. This patch makes it use sg_dma_len(sg). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* libata: Fix use-after-iounmapJeff Garzik2005-05-271-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.
* Linux-2.6.12-rc2Linus Torvalds2005-04-171-0/+1503
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!