aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_sx4.c
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] libata: implement minimal transport template for ->eh_timed_outTejun Heo2006-03-211-1/+0
| | | | | | | | | | SCSI midlayer has moved hostt->eh_timed_out to transport template. As libata doesn't need full-blown transport support yet, implement minimal transport for libata. No transport class or whatsoever, just empty transport template with ->eh_timed_out hook. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] libata: kill sht->max_sectorsTejun Heo2006-02-121-1/+0
| | | | | | | | The previous dev->max_sectors patch made sht->max_sectors meaningless. Kill all initializations of sht->max_sectors. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: convert assert(xxx)'s in low-level drivers to WARN_ON(!xxx)'sTejun Heo2006-02-111-1/+1
| | | | | | | | | This patch converts all assert(xxx)'s in low-level drivers to WARN_ON(!xxx)'s. After this patch, there is no in-kernel user of the libata assert() macro. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: kill NULL qc handling from ->eng_timeout callbacksTejun Heo2006-02-101-8/+1
| | | | | | | | | ->eng_timeout cannot be invoked with NULL qc anymore. Add an assertion in ata_scsi_error() and kill NULL qc handling from all ->eng_timeout callbacks. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: use ata_scsi_timed_out()Tejun Heo2006-02-101-0/+1
| | | | | | | Make all libata low level drivers use ata_scsi_timed_out(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: implement and apply ata_eh_qc_complete/retry()Tejun Heo2006-01-261-10/+2
| | | | | | | | | | | Implement ata_eh_qc_complete/retry() using scsi_eh_finish_cmd() and scsi_eh_flush_done_q(). This removes all eh scsicmd finish hacks from low level drivers. This change was first suggested by Jeff Garzik. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: return AC_ERR_* from issue functionsTejun Heo2006-01-261-2/+2
| | | | | | | | | Return AC_ERR_* mask from issue fuctions instead of 0/-1. This enables things like failing a qc with AC_ERR_HSM when the device doesn't set DRDY when the qc is about to be issued. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [BLOCK] update libata to use new blk_ordered for barriersTejun Heo2006-01-061-1/+0
| | | | | | | | 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>
* Merge branch 'upstream-fixes'Jeff Garzik2005-12-131-1/+2
|\
| * [libata] mark certain hardware (or drivers) with a no-atapi flagJeff Garzik2005-12-131-1/+2
| | | | | | | | | | | | | | | | | | | | Some hardware does not support the PACKET command at all. Other hardware supports ATAPI, but the driver does something nasty such as calling BUG() when an ATAPI command is issued. For these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI. Initial version contributed by Ben Collins.
* | [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-301-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/+14
|\ \ | |/
| * 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/+9
| | | | | | | | | | 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/+6
|/ | | | | | 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/+7
|
* [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-251-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-281-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-261-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-161-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!