1. 13 Dec, 2005 1 commit
    • Jeff Garzik's avatar
      [libata] mark certain hardware (or drivers) with a no-atapi flag · 50630195
      Jeff Garzik authored
      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.
      50630195
  2. 18 Nov, 2005 1 commit
  3. 17 Nov, 2005 2 commits
    • Jeff Garzik's avatar
      [libata sata_mv] handle lack of hardware nIEN support · a2c91a88
      Jeff Garzik authored
      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.
      a2c91a88
    • Jeff Garzik's avatar
      [libata sata_mv] SATA probe, DMA boundary fixes · 22374677
      Jeff Garzik authored
      - 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
      22374677
  4. 13 Nov, 2005 6 commits
  5. 12 Nov, 2005 3 commits
  6. 11 Nov, 2005 1 commit
  7. 10 Nov, 2005 1 commit
  8. 09 Nov, 2005 1 commit
  9. 07 Nov, 2005 1 commit
  10. 05 Nov, 2005 1 commit
  11. 30 Oct, 2005 3 commits
    • Jeff Garzik's avatar
      [libata] use dev_printk() throughout drivers · a9524a76
      Jeff Garzik authored
      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.
      a9524a76
    • Jeff Garzik's avatar
      [libata] change ata_qc_complete() to take error mask as second arg · a7dac447
      Jeff Garzik authored
      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.
      a7dac447
    • Jeff Garzik's avatar
      [libata] remove ata_chk_err(), ->check_err() hook. · 0169e284
      Jeff Garzik authored
      We now depend on ->tf_read() to provide us with the contents
      of the Error shadow register.
      0169e284
  12. 22 Oct, 2005 1 commit
  13. 20 Oct, 2005 1 commit
  14. 19 Oct, 2005 1 commit
  15. 05 Oct, 2005 3 commits
  16. 04 Oct, 2005 1 commit
    • Brett Russ's avatar
      [PATCH] libata: Marvell SATA support (DMA mode) (resend: v0.22) · 31961943
      Brett Russ authored
      
      
      This is my libata compatible low level driver for the Marvell SATA
      family.  Currently it runs in DMA mode on a 6081 chip.
      
      The 5xxx series parts are not yet DMA capable in this driver because
      the registers have differences that haven't been accounted for yet.
      Basically, I'm focused on the 6xxx series right now.  I apologize for
      those seeing problems on the 5xxx series, I've not had a chance to
      look at those problems yet.
      
      For those curious, the previous bug causing the SCSI timeout and
      subsequent panics was caused by an improper clear of hc_irq_cause in
      mv_host_intr().
      
      This version is running well in my environment (6081 chips,
      with/without SW raid1) and is showing equal or better performance
      compared to the Marvell driver (mv_sata) in my initial tests (timed
      dd's of reads/writes to/from memory/disk).
      
      I still need to look at the causes of occasional problems such as this:
      
      ata11: translating stat 0x35 err 0x00 to sense
      ata11: status=0x35 { DeviceFault SeekComplete CorrectedError Error }
      SCSI error : <10 0 0 0> return code = 0x8000002
      Current sda: sense key Hardware Error
      end_request: I/O error, dev sda, sector 3155010
      
      and this, seen at init time:
      
      ATA: abnormal status 0x80 on port 0xE093911C
      
      but they aren't showstoppers.
      Signed-off-by: default avatarBrett Russ <russb@emc.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
      31961943
  17. 09 Sep, 2005 1 commit
    • Jeff Garzik's avatar
      [libata] minor fixes · 8add7885
      Jeff Garzik authored
      * sata_mv: remove pci_intx(), now that the same function is in PCI core
      * sata_sis: fix variable initialization bug, trim trailing whitespace
      8add7885
  18. 07 Sep, 2005 2 commits