1. 20 11月, 2005 1 次提交
  2. 17 11月, 2005 1 次提交
  3. 16 11月, 2005 1 次提交
    • A
      [PATCH] libata: honor the transfer cycle time speficied by the EIDE device · 75b1f2f8
      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>
      75b1f2f8
  4. 15 11月, 2005 3 次提交
    • J
      [libata] REQUEST SENSE handling fixes · c6e6e666
      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.
      c6e6e666
    • J
      [libata] minor fixes, new helpers · 2c13b7ce
      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.
      2c13b7ce
    • J
      [libata] fix bugs in ATAPI padding DMA mapping code · e1410f2d
      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.
      e1410f2d
  5. 14 11月, 2005 1 次提交
  6. 11 11月, 2005 1 次提交
  7. 09 11月, 2005 2 次提交
  8. 07 11月, 2005 1 次提交
  9. 06 11月, 2005 1 次提交
  10. 05 11月, 2005 1 次提交
    • J
      [libata] ATAPI pad allocation fixes/cleanup · 6037d6bb
      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.
      6037d6bb
  11. 31 10月, 2005 2 次提交
    • J
      [libata] locking rewrite (== fix) · 005a5a06
      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.
      005a5a06
    • J
      [libata] ata_tf_to_host cleanups · e5338254
      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.
      e5338254
  12. 30 10月, 2005 6 次提交
  13. 27 10月, 2005 1 次提交
  14. 25 10月, 2005 1 次提交
  15. 23 10月, 2005 1 次提交
  16. 22 10月, 2005 2 次提交
  17. 19 10月, 2005 3 次提交
  18. 06 10月, 2005 2 次提交
  19. 05 10月, 2005 2 次提交
  20. 04 10月, 2005 2 次提交
    • A
      libata: bitmask based pci init functions for one or two ports · 47a86593
      Alan Cox 提交于
      This redoes the n_ports logic I proposed before as a bitmask.
      ata_pci_init_native_mode is now used with a mask allowing for mixed mode
      stuff later on. ata_pci_init_legacy_port is called with port number and
      does one port now not two. Instead it is called twice by the ata init
      logic which cleans both of them up.
      
      There are stil limits in the original code left over
      
      - IRQ/port mapping for legacy mode should be arch specific values
      - You can have one legacy mode IDE adapter per PCI root bridge on some systems
      - Doesn't handle mixed mode devices yet (but is now a lot closer to it)
      47a86593
    • J
      [libata] improve device scan · 644dd0cc
      Jeff Garzik 提交于
      Replace SCSI's legacy "bang at the door" method of probing with one
      directly controlled by the underlying ATA transport layer.
      
      We now only call scsi_scan_target() for devices we find, rather than
      probing every possible channel/id within a certain range.
      644dd0cc
  21. 28 9月, 2005 2 次提交
  22. 16 9月, 2005 2 次提交
  23. 07 9月, 2005 1 次提交