summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_qstor.c
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] move ->eh_strategy_handler to the transport classChristoph Hellwig2006-04-101-1/+0
| | | | | | | | | | | | | Overriding the whole EH code is a per-transport, not per-host thing. Move ->eh_strategy_handler to the transport class, same as ->eh_timed_out. Downside is that scsi_host_alloc can't check for the total lack of EH anymore, but the transition period from old EH where we needed it is long gone already. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [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>
* Merge branch 'upstream-fixes'Jeff Garzik2006-02-201-1/+1
|\
| * [PATCH] libata: fix WARN_ON() condition in *_fill_sg()Tejun Heo2006-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | For ATAPI commands, padding can reduce qc->n_elem by one and thus to zero making assert(qc->n_elem > 0)'s in ata_fill_sg() and qs_fill_sg() fail for legal commands. This patch fixes the assert()'s to take qc->pad_len into account. Although the condition check seems a bit excessive, as this part of code isn't still stable yet, I think it's worth to keep those. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.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-2/+2
| | | | | | | | | | | | | | | | | | 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: 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: 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>
* [PATCH] libata: move err_mask to ata_queued_cmdAlbert Lee2005-12-061-3/+4
| | | | | | | | | | | | - 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 ahci, qstor] fix miscount of scatter/gather entriesJeff Garzik2005-11-121-3/+6
| | | | | 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-101-1/+1
|
* [libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik2005-11-071-2/+1
|
* Merge branch 'master'Jeff Garzik2005-10-301-10/+8
|\
| * [libata] use dev_printk() throughout driversJeff Garzik2005-10-301-10/+8
| | | | | | | | | | | | 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-3/+4
|\ \ | |/
| * [libata] change ata_qc_complete() to take error mask as second argJeff Garzik2005-10-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-291-1/+1
|\ \ | |/
| * [libata] ensure ->tf_read() hook reads Status and Error registersJeff Garzik2005-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | We want ->tf_read() to get a complete snapshot of all taskfile registers, without requiring the callers to manually call ata_chk_status() and ata_chk_err() themselves. This also fixes a minor bug in sata_vsc where the lower bits of the feature register were incorrectly placed in the HOB (high order bits) portion of struct ata_taskfile.
* | Merge branch 'master'Jeff Garzik2005-10-281-3/+5
|\ \ | |/
| * libata: const-ification bombing runJeff Garzik2005-10-221-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.
| * [PATCH] enum safety (sata_qstor)Al Viro2005-10-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | sata_qstor strays into a nasty area - gcc handling of wide enums is full of bugs that got fixed between gcc versions creating portability nightmare. Single-member enums are safe, so are ones that stay within the range of int or unsigned int. Anything beyond that is asking for trouble. Declaration of constants split in two enums, taking the ~0UL one into a separate enum. 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-3/+5
|/ | | | | | ATAPI needs to be padded to next 4 byte boundary, if misaligned. Original work by me, many fixes from Tejun Heo.
* [PATCH] drivers: convert kcalloc to kzallocPekka Enberg2005-09-071-1/+1
| | | | | | | | This patch converts kcalloc(1, ...) calls to use the new kzalloc() function. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-301-4/+4
|
* Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-291-5/+7
|\
| * libata: fix a few alan-ismsJeff Garzik2005-08-271-1/+1
| |
| * [PATCH] libata: regularize dma_start/stop argumentsAlan Cox2005-08-261-2/+2
| | | | | | | | | | | | | | Needed for a few PATA drivers. Also fix up a wrong comment. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * [PATCH] fix atapi_packet_task vs. intr race (take 2)Tejun Heo2005-08-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * libata: trim trailing whitespace.Jeff Garzik2005-07-311-1/+1
| | | | | | | | Also, fixup a tabs-to-spaces block of code in ata_piix.
* | [libata] license change, other bitsJeff Garzik2005-08-281-14/+17
|/ | | | | | | | | | | - 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: 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-rc2v2.6.12-rc2Linus Torvalds2005-04-161-0/+718
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!
OpenPOWER on IntegriCloud