An error occurred fetching the project authors.
- 03 Dec, 2006 2 commits
-
-
Tejun Heo authored
For certain errors, interrupt handler alter BMDMA host status before entering EH (clears active and intr). Thus altered BMDMA host status value is recorded by BMDMA EH and reported to user. Move BMDMA host status recording from EH to interrupt handler. Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
Tejun Heo authored
There are machines out there which share legacy PCI IDE IRQs w/ other devices. libata SFF interrupt/HSM code is ready for shared IRQ and has been setting IRQF_SHARED for devices in native PCI mode. Device in legacy mode is still a PCI device and thus supposedly uses active-low level triggered IRQ. Machines with such setup should be quite rare and w/o this flag libata is likely to fail loading and render the system unuseable. Also, IDE driver has been setting IRQF_SHARED for devices in legacy mode for a looooong time. Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
- 02 Dec, 2006 2 commits
-
-
Tejun Heo authored
ata_irq_on() isn't used outside of libata core layer. The function is TF/SFF interface specific but currently used by core path with some hack too. Move it from include/linux/libata.h to drivers/ata/libata-sff.c. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Robert Hancock authored
This patch adds support for ADMA mode on NVIDIA nForce4 (CK804/MCP04) SATA controllers to the sata_nv driver. Benefits of ADMA mode include: - NCQ support - Reduced CPU overhead (controller DMAs command information from memory instead of them being pushed in by the CPU) - Full 64-bit DMA support ADMA mode is enabled by default in this version. To disable it, set the module parameter adma_enabled=0. Signed-off-by:
Robert Hancock <hancockr@shaw.ca> Cc: Jeff Garzik <jeff@garzik.org> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 21 Oct, 2006 1 commit
-
-
Alan Cox authored
There are some Linux supported platforms that simply cannot hit the low I/O addresses used by ATA legacy mode PCI mappings. These platforms have a window for PCI space that is fixed by the board logic and doesn't include the neccessary locations. Provide a config option so that such platforms faced with a controller that they cannot support simply error it and punt Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 28 Sep, 2006 2 commits
-
-
Jeff Garzik authored
Don't write the same code twice, in two different functions, when they both call the same initialization function, with the same private_data pointer info. Also, note a bug found with a FIXME. Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jeff Garzik authored
* Replace needless 'n_ports > 2' check with a simple BUG_ON(). No existing driver ever wants more than 2 ports. * Delete ATA_FLAG_NO_LEGACY check. No current driver uses ata_pci_init_one(), that sets this flag. * Move PCI_CLASS_PROG register read below pci_enable_device() * Handle ata_device_add() failure Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 26 Sep, 2006 2 commits
-
-
Jeff Garzik authored
Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 19 Sep, 2006 1 commit
-
-
Tejun Heo authored
Non-uniform ports handling got broken while updating libata to handle those in the same host. Only separate irq for the non-uniform secondary port was implemented while all other fields (host flags, transfer mode...) of the secondary port simply shared those of the first. For ata_piix combined mode, which ATM is the only user of non-uniform ports, this causes the secondary port assume the wrong type. This can cause PATA port to use SATA ops, which results in bogus check on PCS and detection failure. This patch adds ata_probe_ent->pinfo2 which points to optional port_info for the secondary port. For the time being, this seems to be the simplest solution. This workaround will be removed together with ata_probe_ent itself after init model is updated to allow more flexibility. Signed-off-by:
Tejun Heo <htejun@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Nelson A. de Oliveira <naoliv@gmail.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 24 Aug, 2006 2 commits
-
-
Jeff Garzik authored
Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jeff Garzik authored
The biggest change is that ata_host_set is renamed to ata_host. * ata_host_set => ata_host * ata_probe_ent->host_flags => ata_probe_ent->port_flags * ata_probe_ent->host_set_flags => ata_probe_ent->_host_flags * ata_host_stats => ata_port_stats * ata_port->host => ata_port->scsi_host * ata_port->host_set => ata_port->host * ata_port_info->host_flags => ata_port_info->flags * ata_(.*)host_set(.*)\(\) => ata_\1host\2() The leading underscore in ata_probe_ent->_host_flags is to avoid reusing ->host_flags for different purpose. Currently, the only user of the field is libata-bmdma.c and probe_ent itself is scheduled to be removed. ata_port->host is reused for different purpose but this field is used inside libata core proper and of different type. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 10 Aug, 2006 3 commits
-
-
Jeff Garzik authored
-
Tejun Heo authored
Use dummy port for stolen legacy ports. This makes ap->port_no always equal ap->hard_port_no. Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
Alan Cox authored
Kill host_set->next Fix simplex support Allow per platform setting of IDE legacy bases Some of this can be tidied further later on, in particular all the legacy port gunge belongs as a PCI quirk/PCI header decode to understand the special legacy IDE rules in the PCI spec. Longer term Jeff also wants to move the request_irq/free_irq out of core which will make this even cleaner. tj: folded in three followup patches - ata_piix-fix, broken-arch-fix and fix-new-legacy-handling, and separated per-dev xfermask into separate patch preceding this one. Folded in fixes are... * ata_piix-fix: fix build failure due to host_set->next removal * broken-arch-fix: add missing include/asm-*/libata-portmap.h * fix-new-legacy-handling: * In ata_pci_init_legacy_port(), probe_num was incorrectly incremented during initialization of the secondary port and probe_ent->n_ports was incorrectly fixed to 1. * Both legacy ports ended up having the same hard_port_no. * When printing port information, both legacy ports printed the first irq. Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
- 09 Aug, 2006 1 commit
-
-
Brian King authored
Move ata_probe_ent_alloc to libata-core. It will also be used by future SAS/SATA integration patches. Signed-off-by:
Brian King <brking@us.ibm.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 02 Jul, 2006 1 commit
-
-
Thomas Gleixner authored
Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 30 Jun, 2006 1 commit
-
-
Jörn Engel authored
Signed-off-by:
Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by:
Adrian Bunk <bunk@stusta.de>
-
- 23 Jun, 2006 1 commit
-
-
Jeff Garzik authored
Prepare for changes required to support SATA devices attached to SAS HBAs. For these devices we don't want to use host_set at all, since libata will not be the owner of struct scsi_host. Signed-off-by:
Brian King <brking@us.ibm.com> (with slight merge modifications made by...) Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 12 Jun, 2006 1 commit
-
-
Tejun Heo authored
For a legacy ATA controller, libata registers two separate host sets. There was no connection between the two hosts making it impossible to traverse all ports related to the controller. This patch adds host_set->next which points to the second host_set and makes ata_pci_remove_one() remove all associated host_sets. * On device removal, all ports hanging off the device are properly detached. Prior to this patch, ports on the first host_set weren't detached casuing oops on driver unloading. * On device removal, both host_sets are properly freed This will also be used by new power management code to suspend and resume all ports of a controller. host_set/port representation will be improved to handle legacy controllers better and this host_set linking will go away with it. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 31 May, 2006 1 commit
-
-
Tejun Heo authored
With hotplug, every reset might be a probing reset and thus something similar to probe_init() is needed. prereset() method is called before a series of resets to a port and is the counterpart of postreset(). prereset() can tell EH to use different type of reset or skip reset by modifying ehc->i.action. This patch also implements ata_std_prereset(). Most controllers should be able to use this function directly or with some wrapping. After hotplug, different controllers need different actions to resume the PHY and detect the newly attached device. Controllers can be categorized as follows. * Controllers which can wait for the first D2H FIS after hotplug. Note that if the waiting is implemented by polling TF status, there needs to be a way to set BSY on PHY status change. It can be implemented by hardware or with the help of the driver. * Controllers which can wait for the first D2H FIS after sending COMRESET. These controllers need to issue COMRESET to wait for the first FIS. Note that the received D2H FIS could be the first D2H FIS after POR (power-on-reset) or D2H FIS in response to the COMRESET. Some controllers use COMRESET as TF status synchronization point and clear TF automatically (sata_sil). * Controllers which cannot wait for the first D2H FIS reliably. Blindly issuing SRST to spinning-up device often results in command issue failure or timeout, causing extended delay. For these controllers, ata_std_prereset() explicitly waits ATA_SPINUP_WAIT (currently 8s) to give newly attached device time to spin up, then issues reset. Note that failing to getting ready in ATA_SPINUP_WAIT is not critical. libata will retry. So, the timeout needs to be long enough to spin up most devices. LLDDs can tell ata_std_prereset() which of above action is needed with ATA_FLAG_HRST_TO_RESUME and ATA_FLAG_SKIP_D2H_BSY flags. These flags are PHY-specific property and will be moved to ata_link later. While at it, this patch unifies function typedef's such that they all have named arguments. Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
- 15 May, 2006 2 commits
-
-
Tejun Heo authored
* kill ata_poll_qc_complete() and implement/use ata_hsm_qc_complete() which completes qcs in new EH compliant manner from HSM * don't print error message from ata_hsm_move(). it's responsibility of EH. * kill ATA_FLAG_NOINTR usage in bmdma EH Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
Tejun Heo authored
Implement stock BMDMA error handling methods. Signed-off-by:
Tejun Heo <htejun@gmail.com>
-
- 30 Mar, 2006 1 commit
-
-
Alan Cox authored
This is the minimal patch set to enable the current code to be used with a controller following SFF (ie any PATA and early SATA controllers) safely without crashes if there is no BMDMA area or if BMDMA is not assigned by the BIOS for some reason. Simplex status is recorded but not acted upon in this change, this isn't a problem with the current drivers as none of them are for simplex hardware. A following diff will deal with that. The flags in the probe structure remain ->host_set_flags although Jeff asked me to rename them, simply because the rename would break the usual Linux rules that old code should break when there are changes. not compile and run and then blow up/eat your computer/etc. Renaming this later is a trivial exercise once a better name is chosen. Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 24 Mar, 2006 1 commit
-
-
Jeff Garzik authored
Mostly, trim trailing whitespace. Also: * export ata_dev_pair * move ata_dev_classify export closer to ata_dev_pair export
-
- 23 Mar, 2006 2 commits
-
-
Jeff Garzik authored
No code changes, just moving code between files.
-
Alan Cox authored
Signed-off-by:
Alan Cox <alan@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 22 Mar, 2006 2 commits
-
-
Alan Cox authored
The first performs the simplex clearing relevant to some chipsets that report simplex by default but can in fact do more if poked. The second is used to strip DMA modes from a PCI control with no BAR4 allocation. Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Alan Cox authored
Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 09 Feb, 2006 1 commit
-
-
Jeff Garzik authored
-