- 13 12月, 2005 5 次提交
-
-
由 Tejun Heo 提交于
There is no user of qc->waiting left after ata_exec_internal() changes. Kill the field. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
There is no user of ata_qc_wait_err() and ata_qc_complete_noop() after ata_exec_internal() changes. Remove unused functions. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
This patch converts all users of libata internal commands to use ata_exec_internal(). Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
This patch implements ata_exec_internal() function which performs libata internal command execution. Previously, this was done by each user by manually initializing a qc, issueing it, waiting for its completion and handling errors. In addition to obvious code factoring, using ata_exec_internal() fixes the following bugs. * qc not freed on issue failure * ap->qactive clearing could race with the next internal command * race between timeout handling and irq * ignoring error condition not represented in tf->status Also, qc & hardware are not accessed anymore once it's completed, making internal commands more conformant with general semantics. ata_exec_internal() also makes it easy to issue internal commands from multiple threads if that becomes necessary. This patch only implements ata_exec_internal(). A following patch will convert all users. Signed-off-by: NTejun Heo <htejun@gmail.com> -- Jeff, all patches have been regenerated against upstream branch as of today. (575ab52a) Also, I took out a debug printk from ata_exec_internal (don't know how that one got left there). Other than that, all patches are identical to the previous posting. Thanks. :-) Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Mark Lord 提交于
Fix incorrect pointer usage on two calls to kunmap_atomic(). This seems to happen a lot, because kunmap() wants the struct page *, whereas kunmap_atomic() instead wants the mapped virtual address. Signed-off-by: NMark Lord <liml@rtr.ca> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 06 12月, 2005 5 次提交
-
-
由 Albert Lee 提交于
1. ata_pio_complete(): It seems unnecessary to wait for the clearing of the DRQ bit. (Waiting for BSY=0 should be enough. ata_ok() also checks the correctness of the status bits later.) 2. ata_pio_block(): - added error checking, before transfering data. - minor comments fix Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============ Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
- set qc->err_mask directly when we found the error - remove the code to determine err_mask from device status Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============ Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
- move "qc->err_mask |= AC_ERR_ATA_BUS" to where the error is found - add "assert(qc->err_mask)" to ata_pio_error() to make sure qc->err_mask was available when we enter the error state Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============ Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 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>
-
由 Albert Lee 提交于
- add qc to ata_pio_poll() - reorder the initialization of qc in ata_pio_complete() 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>
-
- 20 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Make the SATA phy probe messages a bit more informative. Note this only applies to drivers that use __sata_phy_reset(), which excludes some drivers.
-
- 17 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 16 11月, 2005 1 次提交
-
-
由 Albert Lee 提交于
The following code segment is not functional because the transfer cycle time speficied by the EIDE device is later overwritten by ata_timing_quantize(): /* * If the drive is an EIDE drive, it can tell us it needs extended * PIO/MW_DMA cycle timing. */ if (adev->id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */ memset(&p, 0, sizeof(p)); (snip) ata_timing_merge(&p, t, t, ATA_TIMING_CYCLE | ATA_TIMING_CYC8B); <== uninitialized "t" is used here } /* * Convert the timing to bus clock counts. */ ata_timing_quantize(s, t, T, UT); <== t is overwritten by quantized s The patch has been submitted for ide-timing.h before: http://marc.theaimsgroup.com/?l=linux-ide&m=110820013425454&w=2 Resubmitted for libata. Changes: - Minor fix to honor the following transfer cycle time speficied by the device - id[65]: Minimum Multiword DMA transfer cycle time per word - id[67]: Minimum PIO transfer cycle time without flow control - id[68]: Minimum PIO transfer cycle time with IORDY Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ======= Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 15 11月, 2005 3 次提交
-
-
由 Jeff Garzik 提交于
- Move ATAPI check-condition handling out of the timeout handler - Use multi-qc-issue feature to issue REQUEST SENSE ATAPI PACKET command upon receiving an ATAPI check-condition. This cleans things up a lot, and eliminates a nasty recursion bug.
-
由 Jeff Garzik 提交于
- in ata_dev_identify(), don't assume that all devices are either ATA or ATAPI. In the future, this code will see port multipliers and other devices. - make a debugging printk less verbose - add new helper ata_qc_reinit() - add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for fine-grained debugging use.
-
由 Jeff Garzik 提交于
The ATAPI pad-to-next-32bit-boundary code modifies the scatterlist's length variable, sometimes to zero. x86-64 platform would oops if a zero-length scatterlist entry was asked to be mapped. Work around this by ensuring that we never DMA-map a zero length buffer or SG entry.
-
- 14 11月, 2005 1 次提交
-
-
由 Mark Lord 提交于
Fix description on comments for ata_tf_from_fis(). Signed-off-by: NMark Lord <mlord@pobox.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 11 11月, 2005 1 次提交
-
-
由 Alan Cox 提交于
This will let me chop the code size of several drivers right down. In many cases the actual private data is very useful and constant for a given host controller so being able to just pass it at probe time would be very useful indeed (eg with the via driver would could pass the udma clocking and reduce the code size, or with the AMD one the UDMA multiplier and the offset) Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 09 11月, 2005 2 次提交
-
-
由 Albert Lee 提交于
- if condition fix for ata_dev_identify() - ata_pio_poll() minor cleanup. Changes: - Use (dev->class == ATA_DEV_ATA) for ata_dev_identify() since "qc->tf.command" has been overwritten by the device status - Use HSM_ST_TMOUT directly in ata_pio_poll() Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============ Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Randy Dunlap 提交于
Fix all reported kernel-doc errors in libata. Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 07 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 06 11月, 2005 1 次提交
-
-
由 Tejun Heo 提交于
-
- 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 2 次提交
-
-
由 Jeff Garzik 提交于
A lot of power packed into a little patch. This change eliminates the sharing between our controller-wide spinlock and the SCSI core's Scsi_Host lock. As the locking in libata was already highly compartmentalized, always referencing our own lock, and never scsi_host::host_lock. As a side effect, this change eliminates a deadlock from calling scsi_finish_command() while inside our spinlock.
-
由 Jeff Garzik 提交于
Integrate ata_exec() and ata_tf_to_host() into their only caller, ata_bus_edd(). Rename ata_tf_to_host_nolock() to ata_tf_to_host(). This makes locking a bit easier to review, and may help pave the way for future changes.
-
- 30 10月, 2005 6 次提交
-
-
由 Jeff Garzik 提交于
ata_pci_init_one() receives an array of struct ata_port_info. Recent updates to the code had always obtained port information from array element 0, rather than array element N. Change to avoid hardcoding port_info[0], thereby restoring proper hardware information to secondary legacy ports.
-
由 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.
-
由 David Hardeman 提交于
This patch uses sg_set_buf/sg_init_one in some places where it was duplicated. Signed-off-by: NDavid Hardeman <david@2gen.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Greg KH <greg@kroah.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
-
由 Randy Dunlap 提交于
libata-core cleanups: - use kzalloc() instead of kmalloc() + memset(); - use one exit path in ata_device_add(); Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Jeff Garzik 提交于
We want ->tf_read() to get a complete snapshot of all taskfile registers, without requiring the callers to manually call ata_chk_status() and ata_chk_err() themselves. This also fixes a minor bug in sata_vsc where the lower bits of the feature register were incorrectly placed in the HOB (high order bits) portion of struct ata_taskfile.
-
- 27 10月, 2005 1 次提交
-
-
由 Alan Cox 提交于
-
- 25 10月, 2005 1 次提交
-
-
由 Randy Dunlap 提交于
Correct some function names in kernel-doc. Add some kernel-doc descriptions. Fix some typos. Remove a few blank lines. Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 23 10月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Enforce access rules where appropriate. If the compiler is smart enough, this may buy us an optimization or two as a side effect.
-
- 22 10月, 2005 2 次提交
-
-
由 Alan Cox 提交于
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: NAlan Cox <alan@redhat.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Alan Cox 提交于
-
- 19 10月, 2005 3 次提交
-
-
由 Albert Lee 提交于
problem: id[53-58] might be changed after initializing device CHS settings. changes: - call ata_dev_reread_id() to reread the identify device info, after initializing device CHS settings. Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============ Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
- 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: NAlbert Lee <albertcc@tw.ibm.com> ============== Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
move the initialization of taskfile LBA flags "ATA_TFLAG_LBA" and "ATA_TFLAG_LBA48 flags" to the SCSI translation functions Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============= Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-