aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
Commit message (Collapse)AuthorAge
* [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.
* [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.
* 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.
* libata: turn on block layer clusteringJeff Garzik2005-10-22
|
* Add ide-timing functionality to libata.Alan Cox2005-10-21
| | | | | | | | | | | This is needed for full AMD and VIA drivers and possibly more. Functions to turn actual clocking and cycle timings into register values. Also to merge shared timings to compute an optimal timing set. Built from the drivers/ide version by Vojtech Pavlik Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata CHS: calculate read/write commands and protocol on the fly ↵Albert Lee2005-10-18
| | | | | | | | | | | | | | | (revise #6) - merge ata_prot_to_cmd() and ata_dev_set_protocol() as ata_rwcmd_protocol() - pave road for read/write multiple support - remove usage of pre-cached command and protocol values and call ata_rwcmd_protocol() instead Signed-off-by: Albert Lee <albertcc@tw.ibm.com> ============== Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* libata: add ata_ratelimit(), use it in AHCI driver irq handlerJeff Garzik2005-10-05
|
* libata: bitmask based pci init functions for one or two portsAlan Cox2005-10-04
| | | | | | | | | | | | | | This redoes the n_ports logic I proposed before as a bitmask. ata_pci_init_native_mode is now used with a mask allowing for mixed mode stuff later on. ata_pci_init_legacy_port is called with port number and does one port now not two. Instead it is called twice by the ata init logic which cleans both of them up. There are stil limits in the original code left over - IRQ/port mapping for legacy mode should be arch specific values - You can have one legacy mode IDE adapter per PCI root bridge on some systems - Doesn't handle mixed mode devices yet (but is now a lot closer to it)
* /spare/repo/libata-dev branch 'chs-support'Jeff Garzik2005-09-28
|\
| * Merge /spare/repo/linux-2.6/Jeff Garzik2005-09-24
| |\
| * \ Merge /spare/repo/linux-2.6/ Jeff Garzik2005-09-08
| |\ \
| * \ \ Merge libata branch 'chs-support' to latest upstream kernel.Jeff Garzik2005-08-29
| |\ \ \
| * \ \ \ Merge upstream kernel changes into 'C/H/S support' branch of libata.Jeff Garzik2005-06-22
| |\ \ \ \
| * | | | | [libata] C/H/S support, for older devicesAlbert Lee2005-05-12
| | | | | |
* | | | | | [PATCH] libata: rename host statesAlbert Lee2005-09-28
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: s/PIO_ST_/HSM_ST_/ and s/pio_task_state/hsm_task_state/. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | | | [PATCH] PATCH: remove function for non-PCI as requestedAlan Cox2005-09-16
| |_|_|/ |/| | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | | /spare/repo/libata-dev branch 'iomap-try3'Jeff Garzik2005-09-05
|\ \ \ \
| * | | | [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-30
| | |_|/ | |/| |
* / | | [libata] allow ATAPI to be enabled with new atapi_enabled module optionJeff Garzik2005-08-30
|/ / / | | | | | | | | | | | | | | | | | | | | | ATAPI is getting close to being ready. To increase exposure, we enable the code in the upstream kernel, but default it to off (present behavior). Users must pass atapi_enabled=1 as a module option (if module) or on the kernel command line (if built in) to turn on discovery of their ATAPI devices.
* | | Merge /spare/repo/linux-2.6/Jeff Garzik2005-08-29
|\ \ \
| * | | libata: fix a few alan-ismsJeff Garzik2005-08-27
| | | |
| * | | [PATCH] libata: regularize dma_start/stop argumentsAlan Cox2005-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-31
| | |/ | |/| | | | | | | Also, fixup a tabs-to-spaces block of code in ata_piix.
* / | [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
* | Automatic merge of /spare/repo/linux-2.6/.git branch HEAD2005-06-03
|\ \
| * \ Automatic merge of /spare/repo/linux-2.6/.git branch HEAD2005-06-02
| |\ \
| | * | 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.
| * | | libata: update inline source docsEdward Falk2005-06-02
| |/ /
| * / [PATCH] libata: flush COMRESET set and clearBrett Russ2005-05-15
| |/ | | | | | | | | | | | | | | | | | | | | | | Updated patch to fix erroneous flush of COMRESET set and missing flush of COMRESET clear. Created a new routine scr_write_flush() to try to prevent this in the future. Also, this patch is based on libata-2.6 instead of the previous libata-dev-2.6 based patch. Signed-off-by: Brett Russ <russb@emc.com> Index: libata-2.6/drivers/scsi/libata-core.c ===================================================================
* / [PATCH] libata basic detection and errata for PATA->SATA bridgesBrad Campbell2005-05-12
|/ | | | | | | | This patch works around an issue with WD drives (and possibly others) over SiL PATA->SATA Bridges on SATA controllers locking up with transfers > 200 sectors. Signed-off-by: Brad Campbell <brad@wasp.net.au>
* 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!