1. 12 Oct, 2007 5 commits
    • Robert Hancock's avatar
      libata: add human-readable error value decoding · 1333e194
      Robert Hancock authored
      
      This adds human-readable decoding of the ATA status and error registers
      (similar to what drivers/ide does) as well as the SATA Serror register
      to libata error handling output.  This prevents the need to pore
      through standards documents to figure out the meaning of the bits
      in these registers when looking at error reports.  Some bits that
      drivers/ide decoded are not decoded here, since the bits are either
      command-dependent or obsolete, and properly parsing them would add
      too much complexity.
      Signed-off-by: default avatarRobert Hancock <hancockr@shaw.ca>
      
      [edited slightly to make output a bit more symmetric]
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      1333e194
    • Tejun Heo's avatar
      libata: misc updates for AN · 854c73a2
      Tejun Heo authored
      
      Update AN support in preparation of PMP support.
      
      * s/ata_id_has_AN/ata_id_has_atapi_AN/
      * add AN enabled reporting during configuration
      * add err_mask to AN configuration failure reporting
      * update LOCKING comment for ata_scsi_media_change_notify()
      * check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify()
      * set ATA_FLAG_AN in ahci and sata_sil24
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Cc: Kriten Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      854c73a2
    • Alan Cox's avatar
      libata: Strict checking for identify reporting · c7293870
      Alan Cox authored
      
      The ATA specifications require checks on certain flags before assuming
      the validity of other data. Go through the methods and correct those
      needing extra checks. Also note limits on ata_id_major_version with
      respect to ATA-1 and ATA-2. Correct the 32bit PIO check.
      
      Wants to sit in -mm for a bit in case of a screwup on my part that I
      didn't hit on the test drives and also in case someone, somewhere has
      a drive that gets it wrong.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      c7293870
    • Kristen Carlson Accardi's avatar
      [libata] check for SATA async notify support · 9f45cbd3
      Kristen Carlson Accardi authored
      
      Check to see if an ATAPI device supports Asynchronous Notification.
      If so, enable it, if the host controller supports AN.
      Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      9f45cbd3
    • Alan Cox's avatar
      libata: Correct IORDY handling · 0bc2a79a
      Alan Cox authored
      
      Debugging a report of a problem with an ancient solid state disk showed
      up some problems in the IORDY handling
      
      1.	We check the wrong bit to see if the device has IORDY
      2.	Even then some ancient creaking piles of crap don't support
      	SETXFER at all.
      
      The cases it fixes are obscure and the risk of side effects is slight
      but possible. This also moves us slightly closer to supporting original
      MFM/RLL disks with libata.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      0bc2a79a
  2. 31 Aug, 2007 1 commit
  3. 19 Jul, 2007 1 commit
  4. 11 Jul, 2007 1 commit
  5. 09 Jul, 2007 1 commit
  6. 10 Jun, 2007 2 commits
  7. 28 Apr, 2007 3 commits
    • Mark Lord's avatar
      libata: Handle drives that require a spin-up command before first access · 169439c2
      Mark Lord authored
      
      (S)ATA drives can be configured for "power-up in standby",
      a mode whereby a specific "spin up now!" command is required
      before the first media access.
      
      Currently, a drive with this feature enabled can not be used at all
      with libata, and once in this mode, the drive becomes a doorstop.
      
      The older drivers/ide subsystem at least enumerates the drive,
      so that it can be woken up after the fact from a userspace HDIO_*
      command, but not libata.
      
      This patch adds support to libata for the "power-up in standby"
      mode where a "spin up now!" command (SET_FEATURES) is needed.
      With this, libata will recognize such drives, spin them up,
      and then re-IDENTIFY them if necessary to get a full/complete
      set of drive features data.
      
      Drives in this state are determined by looking for
      special values in id[2], as documented in the current ATA specs.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      169439c2
    • Alan Cox's avatar
      libata: HPA support · 1e999736
      Alan Cox authored
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      
      Add support for ignoring the BIOS HPA result (off by default) and setting
      the disk to the full available size unless already frozen.
      
      Tested with various platforms/disks and confirmed to work with the
      Macintosh (which broke earlier) and ata_piix (breakage due to the LBA48
      readback that Tejun fixed).
      
      For normal users this brings us, I believe, to feature parity with old IDE
      (and of course more featured in some areas too).
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      1e999736
    • Mark Lord's avatar
      libata: add support for READ/WRITE LONG · 5a5dbd18
      Mark Lord authored
      
      The READ/WRITE LONG commands are theoretically obsolete,
      but the majority of drives in existance still implement them.
      
      The WRITE_LONG and WRITE_LONG_ONCE commands are of particular
      interest for fault injection testing -- eg. creating "media errors"
      at specific locations on a disk.
      
      The fussy bit is that these commands require a non-standard
      sector size, usually 520 bytes instead of 512.
      
      This patch adds support to libata for READ/WRITE LONG commands
      issued via SG_IO/ATA_16.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5a5dbd18
  8. 04 Apr, 2007 1 commit
  9. 23 Feb, 2007 1 commit
  10. 15 Feb, 2007 1 commit
  11. 09 Feb, 2007 2 commits
  12. 02 Dec, 2006 1 commit
  13. 31 Aug, 2006 1 commit
  14. 14 Aug, 2006 1 commit
  15. 10 Aug, 2006 1 commit
    • Jeff Garzik's avatar
      [ATA] Increase lba48 max-sectors from 200 to 256. · 8b881b04
      Jeff Garzik authored
      Also, moved ATA_MAX_SECTORS and ATA_MAX_SECTORS_LBA48 from
      linux/libata.h to linux/ata.h, now that they truly reflect the standard
      (well... mostly; note TODO comment).
      
      This changes the performance profile (and potential bug profile)
      for a bunch of drivers, so be wary.
      8b881b04
  16. 12 Jun, 2006 1 commit
  17. 15 May, 2006 2 commits
  18. 22 Mar, 2006 2 commits
  19. 03 Mar, 2006 1 commit
  20. 12 Feb, 2006 1 commit
  21. 06 Jan, 2006 2 commits
  22. 09 Nov, 2005 1 commit
  23. 22 Oct, 2005 1 commit
  24. 21 Oct, 2005 1 commit
  25. 18 Oct, 2005 2 commits
  26. 28 Sep, 2005 2 commits
  27. 29 Aug, 2005 1 commit
    • Jeff Garzik's avatar
      [libata] license change, other bits · af36d7f0
      Jeff Garzik authored
      - changes license of all code from OSL+GPL to plain ole GPL
        - except for NVIDIA, who hasn't yet responded about sata_nv
        - copyright holders were already contacted privately
      
      - adds info in each driver about where hardware/protocol docs may be
        obtained
      
      - where I have made major contributions, updated copyright dates
      af36d7f0