aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* [PATCH] libata: add per-device max_sectorsTejun Heo2006-02-12
| | | | | | | | | | | | | | | If a low level driver wants to control max_sectors, it had to adjust ap->host->max_sectors and set ATA_DFLAG_LOCK_SECTORS to tell ata_scsi_slave_config not to override the limit. This is not only cumbersome but also incorrect for hosts which support more than one devices per port. This patch adds per-device ->max_sectors. If the field is unset (zero), libata core layer will adjust ->max_sectors according to default rules. If the field is set, libata honors the setting. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: move cdb_len for host to deviceTejun Heo2006-02-12
| | | | | | | | | cdb_len is per-device property. Sharing cdb_len on ap results in inaccurate configuration on revalidation and hotplugging. This patch makes cdb_len per-device. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: make ata_dev_knobble() per-deviceTejun Heo2006-02-12
| | | | | | | | | | ata_dev_knobble() unconditionally used the first device of the port to determine whether a device is bridged or not. This causes bridge limit to be incorrectly applied or unapplied for hosts with slave devices (e.g. ata_piix). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: don't do EDD handling if ->probe_reset is usedTejun Heo2006-02-12
| | | | | | | | EDD is never used with ->probe_reset. Don't handle EDD special case in ata_dev_identify if ->probe_reset is in use. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: make ata_dump_id() take @id instead of @devTejun Heo2006-02-12
| | | | | | | | Make ata_dump_id() take @id instead of @dev. This is preparation for splitting ata_dev_identify(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: separate out ata_id_major_version()Tejun Heo2006-02-12
| | | | | | | | | Separate out ATA major version calculation from ata_dev_identify() into ata_id_major_version(). It's preparation for splitting ata_dev_identify(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: separate out ata_id_n_sectors()Tejun Heo2006-02-12
| | | | | | | | Separate out n_sectors calculation into ata_id_n_sectors() from ata_dev_identify(). This will be used by revalidation. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: use ata_dev_id_c_string()Tejun Heo2006-02-12
| | | | | | | Use ata_dev_id_c_string() Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: implement ata_dev_id_c_string()Tejun Heo2006-02-12
| | | | | | | | | | ata_dev_id_c_string() reads ATA string from the specified offset of the given IDENTIFY PAGE and puts it in the specified buffer in trimmed and NULL-terminated form. The caller must supply a buffer which is one byte larger than the maximum size of the target ID string. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] ata_piix: kill spurious assignment in piix_sata_probe()Tejun Heo2006-02-12
| | | | | | | | In piix_sata_probe(), mask gets assigned unnecessarily at the beginning of the function. Kill the assignment. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: allow ->probe_reset to return ATA_DEV_UNKNOWNTejun Heo2006-02-12
| | | | | | | | | | This patch makes ata_bus_probe() normalize classes[] returned by ->probe_reset such that ->probe_reset can return ATA_DEV_UNKNOWN. This eases implementation of ->probe_reset's which don't directly use ata_drive_probe_reset(). 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-11
| | | | | | | | | 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: convert assert(X)'s in libata core layer to WARN_ON(!X)'sTejun Heo2006-02-11
| | | | | | | | | | | | | | | | | | | In an effort to kill libata-specific assert() and use generic WARN_ON(), this patch converts all assert(X)'s in libata core layer to WARN_ON(!X)'s. Most conversions are straight-forward logical negation exception for the followings. * In libata-core.c:ata_fill_sg(), assert(qc->n_elem > 0) is converted to WARN_ON(qc->n_elem == 0) because qc->n_elem is unsigned and unsigned <= 0 is weird. * In libata-scsi.c:ata_gen_ata_desc/fixed_sense(), assert(NULL != qc->ap->ops->tf_read) is converted to WARN_ON(qc->ap->ops->tf_read == NULL), as there are no other users of 'constant cond var' style in libata. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] ahci: convert to new reset mechanismTejun Heo2006-02-11
| | | | | | | Convert ahci ->phy_reset to new reset mechanism. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] ahci: make ahci_fill_cmd_slot() take *pp instead of *apTejun Heo2006-02-11
| | | | | | | | Make ahci_fill_cmd_slot() take struct ahci_port_priv *pp instead of struct ata_port *ap as suggested by Jeff Garzik. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: inline ata_qc_complete()Tejun Heo2006-02-11
| | | | | | | | This patch inlines ata_qc_complete() and uninlines __ata_qc_complete() as suggested by Jeff Garzik. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge branch 'master'Jeff Garzik2006-02-11
|\
| * Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2006-02-10
| |\
| | * [SERIAL] Remove incorrect code from ioc4 serial driverRussell King2006-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Serial drivers in general should not write uart_info->flags - they're private to serial_core. Serial drivers have no need to fiddle with tty->alt_speed, nor manipulate TTY_IO_ERROR in tty->flags. Fix the ioc4 serial driver for both these points by simply removing the offending code. Acked-by: pfg@sgi.com Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] tty buffering stall fixPaul Fulghum2006-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent stalled processing of received data when a driver allocates tty buffer space but does not immediately follow the allocation with more data and a call to schedule receive tty processing. (example: hvc_console) This bug was introduced by the first locking patch for the new tty buffering. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] wrong firmware location in IPW2100 Kconfig entryJesper Juhl2006-02-10
| |/ | | | | | | | | | | | | | | | | | | | | | | Firmware should go into /lib/firmware, not /etc/firmware. Found by Alejandro Bonilla. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] sata_sil24: add hardresetTejun Heo2006-02-10
| | | | | | | | | | | | | | | | | | Now that libata is smart enough to handle both soft and hard resets, add hardreset method. Note that sil24 hardreset doesn't supply signature; still, the new reset mechanism can make good use of it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] sata_sil24: convert to new reset mechanismTejun Heo2006-02-10
| | | | | | | | | | | | | | Convert sata_sil24 ->phy_reset to new reset mechanism. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] sata_sil: convert to new reset mechanismTejun Heo2006-02-10
| | | | | | | | | | | | | | | | Convert sata_sil to use new reset mechanism. sata_sil is fairly generic and can directly use std routine. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] libata: kill SError clearing in sata_std_hardreset().Tejun Heo2006-02-10
| | | | | | | | | | | | | | | | Don't clear SError in sata_std_hardreset(). This makes hardreset act identically to ->phy_reset register-wise. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] libata: make new reset act identical to ->phy_reset register-wiseTejun Heo2006-02-10
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes std component operations act identical to ->phy_reset register-wise except for SError clearing on sata_std_hardreset. Note that if a driver only implements/uses hardreset, it should not use ata_std_probeinit() to avoid extra sata_phy_resume() and ata_busy_sleep() compared to ->phy_reset. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] ahci: separate out ahci_fill_cmd_slot()Tejun Heo2006-02-10
| | | | | | | | | | | | | | | | | | Separate out ahci_fill_cmd_slot() from ahci_qc_prep(). ahci_fill_cmd_slot() can later be used to issue non-standard commands. (e.g. softreset) 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-10
| | | | | | | | | | | | | | | | | | ->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-10
| | | | | | | | | | | | | | 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 ata_scsi_timed_out()Tejun Heo2006-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement ata_scsi_timed_out(), to be used as scsi_host_template->eh_timed_out callback for all libata drivers. Without this function, the following race exists. If a qc completes after SCSI timer expires but before libata EH kicks in, the qc gets completed but the scsicmd still gets passed to libata EH resulting in ->eng_timeout invocation with NULL qc, which none is handling properly. This patch makes sure that scmd and qc share the same lifetime. Original idea from Jeff Garzik <jgarzik@pobox.com>. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] libata: add ATA_QCFLAG_EH_SCHEDULEDTejun Heo2006-02-10
| | | | | | | | | | | | | | | | | | Add ATA_QCFLAG_EH_SCHEDULED. If this flag is set, the qc is owned by EH and normal completion path is not allowed to finish it. This patch doesn't actually use this flag. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [libata] Move PCI IDE BMDMA-related code to new file libata-bmdma.c.Jeff Garzik2006-02-09
| |
* | Merge branch 'upstream-fixes'Jeff Garzik2006-02-09
|\|
| * Merge branch 'upstream-fixes'Jeff Garzik2006-02-09
| |\
| * | [libata sata_sil] implement 'slow_down' module parameterJeff Garzik2006-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On occasion, a user will submit a patch that enables the "mod15write" quirk for their device. Enabling this quirk has the effect of clamping all ATA commands to no more than 15 sectors. The intended use of this quirk is to stop the controller from generating FIS's of unusual size ("but Wesley, what about the FOUS's?"), which in turn works around problems in a <list> of hard drives. One side effect of this quirk is greatly decreased performance. Users often enable the mod15write quirk to fix various system, power, chip, and/or driver problems. For a few rare problematic cases, enabling this has cured lockups or data corruption. Rather than add bogus listings to the mod15write quirk list (I get a patch every month doing such), we add a 'slow_down' module parameter. This allows users to employ a performance sledgehammer in the hopes of curing a problem. It defaults to off (0), of course.
* | | [PATCH] libata: implement ata_std_probeinit()Tejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | This patch implements the off-the-shelf probeinit component operation. Currently, all it does is waking up the PHY if it's a SATA port. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] libata: add probeinit component operation to ata_drive_probe_reset()Tejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds probeinit component operation to ata_drive_probe_reset(). If present, this new operation is called before performing any reset. The operations's roll is to prepare @ap for following probe-reset operations. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [libata scsi] build fix for ATA_FLAG_IN_EH changeJeff Garzik2006-02-09
| | |
* | | [PATCH] libata: separate out sata_phy_resume() from sata_std_hardreset()Tejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | This patch separates out sata_phy_resume() from sata_std_hardreset(). The function will later be used by probeinit callback. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] libata: fix ata_std_probe_reset() SATA detectionTejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | ap->cbl is initialized during postreset and thus unknown on entry to ata_std_probe_reset(). This patch makes ata_std_probe_reset() use ATA_FLAG_SATA flag instead of ap->cbl to detect SATA port. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] libata: EH / pio tasks synchronizationTejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes sure that pio tasks are flushed before proceeding with EH. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] libata: implement ATA_FLAG_IN_EH port flagTejun Heo2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | ATA_FLAG_IN_EH flag is set on entry to EH and cleared on completion. This patch just sets and clears the flag. Following patches will build normal qc execution / EH synchronization aroung this flag. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | Merge branch 'upstream-fixes'Jeff Garzik2006-02-09
|\ \ \ | | |/ | |/|
| * | Merge branch 'master'Jeff Garzik2006-02-09
| |\ \
| | * \ Merge master.kernel.org:/home/rmk/linux-2.6-mmcLinus Torvalds2006-02-08
| | |\ \
| | | * | [MMC] Remove extra character in AU1XXX MMC Kconfig entryJordan Crouse2006-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An obvious vi fat finger on my part. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2006-02-08
| | |\ \ \
| | | * | | [SERIAL] 8250_pci: add new PCI serial card supportYoichi Yuasa2006-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds new PCI serial card support. Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | | * | | [SERIAL] ip22zilog: Whitespace cleanup.Ralf Baechle2006-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | | * | | [SERIAL] PPC32 CPM_UART: update to utilize the new TTY flip APIVitaly Bordug2006-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces old direct usage of tty->flip stuff with relative flip API calls. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>