aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream'Jeff Garzik2006-04-021-5/+8
|\
| * [PATCH] libata: print SControl in SATA link status info messageTejun Heo2006-04-021-5/+8
| | | | | | | | | | | | | | Now that libata mangles with SControl, it's helpful to print out SControl in link status message. Add it. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [libata] irq-pio: Fix merge mistakeJeff Garzik2006-04-022-96/+4
| |
* | Merge branch 'upstream'Jeff Garzik2006-04-0213-248/+635
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/scsi/libata-core.c drivers/scsi/pdc_adma.c drivers/scsi/sata_mv.c drivers/scsi/sata_nv.c drivers/scsi/sata_promise.c drivers/scsi/sata_qstor.c drivers/scsi/sata_sx4.c drivers/scsi/sata_vsc.c include/linux/libata.h
| * [PATCH] libata: make some libata-core routines externTejun Heo2006-04-022-17/+25
| | | | | | | | | | | | | | | | Make libata-core routines which will be used by EH implementation extern. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: separate out libata-eh.cTejun Heo2006-04-025-229/+273
| | | | | | | | | | | | | | | | | | | | A lot of EH codes are about to be added to libata. Separate out libata-eh.c. ata_scsi_timed_out(), ata_scsi_error(), ata_qc_timeout(), ata_eng_timeout(), ata_eh_qc_complete() and ata_eh_qc_retry() are moved. No code is changed by this patch. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: dec scmd->retries for qcs with zero err_maskTejun Heo2006-04-021-2/+5
| | | | | | | | | | | | | | | | | | | | qcs might get retried because of unrelated failure. e.g. NCQ command failure causes the whole command set to be aborted. Decrement scmd->retries for such retrials to avoid unnecessarily failing commands. Note that scmd->retries will be incremented the first time. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: add @cdb to ata_exec_internal()Tejun Heo2006-04-021-5/+8
| | | | | | | | | | | | | | Add @cdb to ata_exec_internal(). It will be used by new EH. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: don't read TF directly from sense generation functionsTejun Heo2006-04-021-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | TF register might not be directly accessible depending on errors. e.g. TF of failed NCQ command is in log page 10h. Make reading TF responsibility of error handlers. For the current EH, simply push TF reading into qc completion functions as they are practically part of EH. New EH will fill qc->tf with status registers before complting qcs. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: always generate sense if qc->err_mask is non-zeroTejun Heo2006-04-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current sense generation code does not generate sense error if status register value doesn't indicate error condition. However, LLDD's may indicate errors which 't show up in status register. Completing such qc's without generating sense results in successful completion of failed commands. Invoke ata_to_sense_error() regardless of status register if qc->err_mask is not zero such that ata_to_sense_error() generates default sense error. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: pass qc around intead of ap during PIOTejun Heo2006-04-021-45/+26
| | | | | | | | | | | | | | | | | | | | The current code passes pointer to ap around and repeatedly performs ata_qc_from_tag() to access the ongoing qc. This is unnatural and makes EH synchronization cumbersome. Make PIO codes deal with qc instead of ap. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: add ATA_QCFLAG_IOTejun Heo2006-04-021-0/+1
| | | | | | | | | | | | | | | | | | Add a new qc flag ATA_QCFLAG_IO. This flag gets set for normal IO commands originating from SCSI midlayer. This information will be used by EH to determine transfer speed reconfiguration. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: clear ATA_DFLAG_PIO before setting itTejun Heo2006-04-021-0/+1
| | | | | | | | | | | | | | | | ata_dev_set_mode() is now responsible for managing ATA_DFLAG_PIO. Clear it before setting it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: clear only affected flags during ata_dev_configure()Tejun Heo2006-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | ata_dev_configure() should not clear dynamic device flags determined elsewhere. Lower eight bits are reserved for feature flags, define ATA_DFLAG_CFG_MASK and clear only those bits before configuring device. Without this patch, ATA_DFLAG_PIO gets turned off during revalidation making PIO mode unuseable. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: rename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLEDTejun Heo2006-04-0210-20/+20
| | | | | | | | | | | | | | | | Rename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLED for consistency. (ATA_FLAG_* are always about ports). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: ATA_FLAG_IN_EH is not used, kill itTejun Heo2006-04-021-13/+4
| | | | | | | | | | | | | | Kill unused flag ATA_FLAG_IN_EH. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: ata_dev_revalidate() printk updateTejun Heo2006-04-021-13/+10
| | | | | | | | | | | | | | | | Make sure ata_dev_revalidate() complains on failures and kill revalidation failure message printed from ata_dev_set_mode(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: report device number when PIO failsTejun Heo2006-04-021-1/+2
| | | | | | | | | | | | | | Report device number on PIO failure. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: consider disabled devices in ata_dev_xfermask()Tejun Heo2006-04-021-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | ata_bus_probe() now marks failed devices properly and leaves meaningful transfer mode masks. This patch makes ata_dev_xfermask() consider disable devices when determining PIO mode to avoid violating device selection timing. While at it, move port-wide resttriction out of device iteration loop and try to make the function look a bit prettier. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: improve ata_bus_probe()Tejun Heo2006-04-021-16/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve ata_bus_probe() such that configuration failures are handled better. Each device is given ATA_PROBE_MAX_TRIES chances, but any non-transient error (revalidation failure with -ENODEV, configuration failure with -EINVAL...) disables the device directly. Any IO error results in SATA PHY speed down and ata_set_mode() failure lowers transfer mode. The last try always puts a device into PIO-0. After each failure, the whole port is reset to make sure that the controller and all the devices are in a known and stable state. The reset also applies SATA SPD configuration if necessary. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: implement ata_down_xfermask_limit()Tejun Heo2006-04-021-0/+52
| | | | | | | | | | | | | | | | | | | | Implement ata_down_xfermask_limit(). This function manipulates @dev->pio/mwdma/udma_mask such that the next lower transfer mode is selected. This will be used to improve ata_bus_probe() failure handling and later by EH. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: add 5s sleep between resetsTejun Heo2006-04-021-1/+14
| | | | | | | | | | | | | | | | Some devices react badly if resets are performed back-to-back. Give devices some time to breath and tell user that we're taking a nap. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: use SATA speed down in ata_drive_probe_reset()Tejun Heo2006-04-021-4/+12
| | | | | | | | | | | | | | | | | | | | Make ata_drive_probe_reset() use SATA SPD configuration. Hardreset will be force if speed renegotiation is necessary. Also, if a hardreset fails, PHY speed is stepped down and hardreset is retried until the lowest speed is reached. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: implement ap->sata_spd_limit and helpersTejun Heo2006-04-021-4/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ap->sata_spd_limit contrains SATA PHY speed of the port. It is initialized to the configured value prior to probing thus preserving BIOS configured value. hardreset is responsible for applying SPD limit and sata_std_hardreset() is updated to do that. SATA SPD limit will be used to enhance failure handling during probing and later by EH. This patch also normalizes some comments around affected code. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | Merge branch 'upstream'Jeff Garzik2006-04-011-29/+49
|\|
| * [PATCH] libata: preserve SATA SPD setting over hard resetsTejun Heo2006-04-011-3/+9
| | | | | | | | | | | | | | | | Don't overwrite SPD setting during hard reset. This change has the (intended) side effect of honoring the BIOS configuration. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: don't disable devices from ata_set_mode()Tejun Heo2006-04-011-26/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When ata_set_mode() fails on a device, make ata_set_mode() return error code and pointer to the device instead of disabling it directly. This gives more control to higher level driving logic. This patch does not change the end result (configured transfer mode) although it may make libata repeat mode configuration to the peer of a failing device. Later ata_bus_probe() rewrite will make full use of this change. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [PATCH] libata-dev: handle DRQ=1 ERR=1 (revised)Albert Lee2006-04-011-14/+32
| | | | | | | | | | | | | | | | | | | | | | Handle DRQ=1 ERR=1 situation. Revised according to what IDE try_to_flush_leftover_data() does. Changes: - For ATA PIO writes and ATAPI devices, just stop the HSM and let EH handle it. - For ATA PIO reads, read only one block of junk data and then let EH handle it. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | Merge branch 'upstream'Jeff Garzik2006-04-01210-4995/+20660
|\|
| * [PATCH] libata: reorganize ata_set_mode()Tejun Heo2006-04-011-56/+35
| | | | | | | | | | | | | | | | | | | | | | Merge ata_host_set_pio() and ata_host_set_dma() into ata_set_mode() and use function-level *dev to iterate over devices. This eases soon-to-follow ata_set_mode() interface change. While at it, kill an unnecessary comment and normalize others. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: make ata_set_mode() handle no-device case properlyTejun Heo2006-04-011-1/+4
| | | | | | | | | | | | | | | | | | Make ata_set_mode() return without doing anything if there is no device on the port. This is in preparation for ata_bus_probe() changes. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: implement ata_dev_enabled and disabled()Tejun Heo2006-04-014-16/+16
| | | | | | | | | | | | | | | | | | | | | | This patch renames ata_dev_present() to ata_dev_enabled() and adds ata_dev_disabled(). This is to discern the state where a device is present but disabled from not-present state. This disctinction is necessary when configuring transfer mode because device selection timing must not be violated even if a device fails to configure. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: convert do_probe_reset() to ata_do_reset()Tejun Heo2006-04-011-13/+16
| | | | | | | | | | | | | | | | | | Make do_probe_reset() generic by pushing classification check into ata_drive_probe_reset() and rename it to ata_do_reset(). This will be used by EH reset. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: separate out ata_spd_string()Tejun Heo2006-04-011-9/+14
| | | | | | | | | | | | | | | | Separate out ata_spd_string() from sata_print_link_status(). This will be used by SATA spd configuration routines. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: make ata_bus_probe() return negative errno on failureTejun Heo2006-04-011-3/+3
| | | | | | | | | | | | | | | | | | ata_bus_probe() uses unsigned int rc to receive negative errno and returns the converted unsigned int value. Convert temporary variables to int and make ata_bus_probe() return negative errno on failure. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: fix ata_set_mode() return valueTejun Heo2006-04-011-1/+2
| | | | | | | | | | | | | | | | Make ata_set_mode() return correct error value when ata_dev_set_mode() fails. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2006-03-312-7/+32
| |\ | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-serial: [SERIAL] Allow 8250 PCI, PNP, GSC and HP300 support to be disabled
| | * [SERIAL] Allow 8250 PCI, PNP, GSC and HP300 support to be disabledRussell King2006-03-292-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the 8250 probe modules to be disabled if we're building for with EMBEDDED enabled. This reduces the kernel size by not including unnecessary probe module support. Original idea from Matt Mackall for PCI only, expanded to others by rmk. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | Merge master.kernel.org:/home/rmk/linux-2.6-mmcLinus Torvalds2006-03-3110-53/+1325
| |\ \ | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-mmc: [MMC] Pass -DDEBUG on compiler command line if MMC_DEBUG selected [MMC] Add OMAP MMC host driver
| | * | [MMC] Pass -DDEBUG on compiler command line if MMC_DEBUG selectedRussell King2006-03-298-58/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than each driver test MMC_DEBUG itself, and define DEBUG, pass it in via the makefile instead. Fix drivers to use pr_debug() where appropriate, and avoid defining a DEBUG() macro. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | [MMC] Add OMAP MMC host driverCarlos Aguiar2006-03-294-0/+1298
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Adds OMAP MMC driver. Signed-off-by: Juha Yrjölä <juha.yrjola@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Carlos Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | Merge branch 'upstream-linus' of ā†µLinus Torvalds2006-03-315-24/+22
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: fix ata_xfer_tbl termination [PATCH] libata: make ata_qc_issue complete failed qcs [PATCH] libata: fix ata_qc_issue failure path [PATCH] ata_piix: fix ich6/m_map_db [libata] ahci: add ATI SB600 PCI IDs
| | * | [PATCH] libata: fix ata_xfer_tbl terminationTejun Heo2006-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ata_xfer_tbl is terminated by entry with -1 as ->shift. However, ->shift was unsigned int making the termination condition bogus. This patch converts ->shift and ->bits to int. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| | * | [PATCH] libata: make ata_qc_issue complete failed qcsTejun Heo2006-03-313-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no reason for the issuer to diddle with a failed qc as the issuer has complete control over when a qc gets freed (usually in ->complete_fn). Make ata_qc_issue() responsible for completing qcs which failed to issue. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| | * | [PATCH] libata: fix ata_qc_issue failure pathTejun Heo2006-03-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On sg_err failure path, ata_qc_issue() doesn't mark the qc active before returning. This triggers WARN_ON() in __ata_qc_complete() when the qc gets completed. This patch moves ap->active_tag and QCFLAG_ACTIVE setting to the top of the function. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| | * | [PATCH] ata_piix: fix ich6/m_map_dbTejun Heo2006-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAP tables of ich6 and ich6m are wrong. Depending on port usage, ata_piix may fail to initialize attached devices. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| | * | Merge branch 'master'Jeff Garzik2006-03-3197-746/+16491
| | |\ \
| | * | | [libata] ahci: add ATI SB600 PCI IDsJeff Garzik2006-03-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Anatoli Antonovitch <antonovi@ati.com> Signed-off-by: Felix Kuehling <fkuehlin@ati.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | [PATCH] Decrease number of pointer derefs in jsm_tty.cJesper Juhl2006-03-311-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decrease the number of pointer derefs in drivers/serial/jsm/jsm_tty.c Benefits of the patch: - Fewer pointer dereferences should make the code slightly faster. - Size of generated code is smaller - Improved readability Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: "V. ANANDA KRISHNAN" <mansarov@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | [PATCH] md: Raid-6 did not create sysfs entries for stripe cacheNeilBrown2006-03-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Brad Campbell <brad@wasp.net.au> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>