- 30 3月, 2006 1 次提交
-
-
由 Mark Lord 提交于
(1) A DMA transfer size of 0x10000 was not being written as 0x0000 in the PRDs. Fixed. (1) The DEV_IRQ interrupt cause bit happens spuriously during EDMA operation, and was not being ignored by the driver. This led to various "drive busy" errors being reported, with associated unpredictable behaviour. Fixed. (2) If a SATA or PCI interrupt was received with no outstanding command, the interrupt handler still attempted to invoke ata_qc_complete(), triggering assert()/BUG_ON() behaviour elsewhere in libata. Fixed. The driver still has issues with confusion after error-recovery, but should now be reliable in the absence of drive errors. I will be looking more into the error-handling bugs next. Signed-Off-By: NMark Lord <mlord@pobox.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 22 3月, 2006 2 次提交
-
-
由 Mark Lord 提交于
This patch addresses a number of weird behaviours observed for the sata_mv driver, by fixing an "off by one" bug in processing of the EDMA response queue. Basically, sata_mv was looking in the wrong place for command results, and this produced a lot of unpredictable behaviour. Signed-off-by: NMark Lord <mlord@pobox.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Tejun Heo 提交于
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: NTejun Heo <htejun@gmail.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 21 3月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
Interrupt handler did not properly initialize a variable on a per-port basis, leading to incorrect behavior on ports other than port 0. Bug caught and fixed by Mark Lord. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 18 2月, 2006 1 次提交
-
-
由 Jens Axboe 提交于
Signed-off-by: NJens Axboe <axboe@suse.de> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 13 2月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
The previous dev->max_sectors patch made sht->max_sectors meaningless. Kill all initializations of sht->max_sectors. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 12 2月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
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: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 10 2月, 2006 2 次提交
-
-
由 Tejun Heo 提交于
->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: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
Make all libata low level drivers use ata_scsi_timed_out(). Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 03 2月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
Several bug reports have come in, noting that disabling CONFIG_PCI_MSI has fixed their problems with this driver. This may be generic system issues, but there is also the probability of unimplemented hardware errata workarounds. Until this ream of bug reports is sorted out, we can get them going in non-MSI interrupt mode. As such, this change adds an 'msi' module option, which defaults to off.
-
- 01 2月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 27 1月, 2006 3 次提交
-
-
由 Tejun Heo 提交于
Implement ata_eh_qc_complete/retry() using scsi_eh_finish_cmd() and scsi_eh_flush_done_q(). This removes all eh scsicmd finish hacks from low level drivers. This change was first suggested by Jeff Garzik. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
Add detailed AC_ERR_* flags and use them. Long-term goal is to describe all errors with err_mask and tf combination (tf for failed sector information, etc...). After proper error diagnosis is implemented, sense data should also be generated from err_mask instead of directly from hardware tf registers as it is currently. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
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: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 06 1月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
Reflect changes in SCSI midlayer and updated to use new ordered request implementation Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJens Axboe <axboe@suse.de>
-
- 13 12月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Some hardware does not support the PACKET command at all. Other hardware supports ATAPI, but the driver does something nasty such as calling BUG() when an ATAPI command is issued. For these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI. Initial version contributed by Ben Collins.
-
- 06 12月, 2005 2 次提交
-
-
由 Jeff Garzik 提交于
-
由 Albert Lee 提交于
- 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: NAlbert Lee <albertcc@tw.ibm.com> =============== Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 01 12月, 2005 1 次提交
-
-
由 Arjan van de Ven 提交于
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: NArjan van de Ven <arjan@infradead.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 19 11月, 2005 2 次提交
-
-
由 Jeff Garzik 提交于
-
由 Jeff Garzik 提交于
-
- 17 11月, 2005 2 次提交
-
-
由 Jeff Garzik 提交于
Handle errata (it was unintentional on this h/w, whereas its intentional on others) whereby the nIEN bit in Device Control is ignored, leading to a situation where a hardware interrupt completes the qc before the polling code has a chance to. This will get fixed The Right Way(tm) once Albert Lee's irq-pio branch is merged, as the more natural PIO method on this hardware is interrupt-driven.
-
由 Jeff Garzik 提交于
- DMA boundary was being handled incorrectly. Copied the code from ata_fill_sg(), since Marvell has the same DMA boundary needs. (we can't use ata_fill_sg directly since we have different hardware descriptors) - cleaned up the SATA phy reset code, to deal with various errata
-
- 14 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 13 11月, 2005 7 次提交
-
-
由 Jeff Garzik 提交于
-
由 Jeff Garzik 提交于
No content changes. Move 60xx code to be closer to other 60xx code.
-
由 Jeff Garzik 提交于
Implement flash reset and PCI reset on 50xx and 60xx. Implement LED enable on 50xx.
-
由 Jeff Garzik 提交于
- eliminate a bunch of redundant tests by creating a per-chip-family set of hooks, mv_hw_ops - implement more errata, from newer Marvell GPL'd driver
-
由 Jeff Garzik 提交于
No content change, just prepping up future mv_hw_ops modularization.
-
由 Jeff Garzik 提交于
Based largely on the GPL'd Marvell vendor driver.
-
由 Jeff Garzik 提交于
-
- 12 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
- clear SError and EDMA irq cause registers, after re-init'ing the phy - move enums with type suffix 'U' to their own enum
-
- 11 11月, 2005 2 次提交
-
-
由 Jeff Garzik 提交于
Contributed by Jeroen <dekien@pandora.be>
-
由 Jeff Garzik 提交于
-
- 10 11月, 2005 1 次提交
-
-
由 Christoph Hellwig 提交于
Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 07 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 05 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Use ata_pad_{alloc,free} in two drivers, to factor out common code. Add ata_pad_{alloc,free} to two other drivers, which needed the padding but had not been updated.
-
- 31 10月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
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.
-
- 30 10月, 2005 2 次提交
-
-
由 Jeff Garzik 提交于
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.
-
由 Jeff Garzik 提交于
We now depend on ->tf_read() to provide us with the contents of the Error shadow register.
-