1. 16 1月, 2008 1 次提交
  2. 18 12月, 2007 1 次提交
  3. 06 11月, 2007 1 次提交
    • A
      libata: handle broken cable reporting · 6bbfd53d
      Alan Cox 提交于
      One or two ancient drives predated the cable spec and didn't sent the
      valid bits for the field. I had hoped to leave this out of libata as a
      piece of historical annoyance but a recent CD drive shows the same bug so
      we have to import support for it.
      
      Same concept as Bartlomiej's changes old IDE except that as we have
      centralised blacklists we can avoid keeping another private table of stuff
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      6bbfd53d
  4. 05 11月, 2007 1 次提交
  5. 03 11月, 2007 1 次提交
    • T
      libata: increase 128 KB / cmd limit for ATAPI tape drives · f8d8e579
      Tony Battersby 提交于
      Commands sent to ATAPI tape drives via the SCSI generic (sg) driver are
      limited in the amount of data that they can transfer by the max_sectors
      value.  The max_sectors value is currently calculated according to the
      command set for disk drives, which doesn't apply to tape drives.  The
      default max_sectors value of 256 limits ATAPI tape drive commands to
      128 KB.  This patch against 2.6.24-rc1 increases the max_sectors value
      for tape drives to 65535, which permits tape drive commands to transfer
      just under 32 MB.
      
      Tested with a SuperMicro PDSME motherboard, AHCI, and a Sony SDX-570V
      SATA tape drive.
      
      Note that some of the chipset drivers also set their own max_sectors
      value, which may override the value set in libata-core.  I don't have
      any of these chipsets to test, so I didn't go messing with them.  Also,
      ATAPI devices other than tape drives may benefit from similar changes,
      but I have only tape drives and disk drives to test.
      Signed-off-by: NTony Battersby <tonyb@cybernetics.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      f8d8e579
  6. 29 10月, 2007 2 次提交
    • K
      [libata] Link power management infrastructure · ca77329f
      Kristen Carlson Accardi 提交于
      Device Initiated Power Management, which is defined
      in SATA 2.5 can be enabled for disks which support it.
      This patch enables DIPM when the user sets the link
      power management policy to "min_power".
      
      Additionally, libata drivers can define a function
      (enable_pm) that will perform hardware specific actions to
      enable whatever power management policy the user set up
      for Host Initiated Power management (HIPM).
      This power management policy will be activated after all
      disks have been enumerated and intialized.  Drivers should
      also define disable_pm, which will turn off link power
      management, but not change link power management policy.
      
      Documentation/scsi/link_power_management_policy.txt has additional
      information.
      Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ca77329f
    • T
      libata: track SLEEP state and issue SRST to wake it up · 054a5fba
      Tejun Heo 提交于
      ATA devices in SLEEP mode don't respond to any commands.  SRST is
      necessary to wake it up.  Till now, when a command is issued to a
      device in SLEEP mode, the command times out, which makes EH reset the
      device and retry the command after that, causing a long delay.
      
      This patch makes libata track SLEEP state and issue SRST automatically
      if a command is about to be issued to a device in SLEEP.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Bruce Allen <ballen@gravity.phys.uwm.edu>
      Cc: Andrew Paprocki <andrew@ishiboo.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      054a5fba
  7. 24 10月, 2007 1 次提交
  8. 13 10月, 2007 5 次提交
    • R
      libata: add human-readable error value decoding · 1333e194
      Robert Hancock 提交于
      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: NRobert Hancock <hancockr@shaw.ca>
      
      [edited slightly to make output a bit more symmetric]
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1333e194
    • T
      libata: misc updates for AN · 854c73a2
      Tejun Heo 提交于
      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: NTejun Heo <htejun@gmail.com>
      Cc: Kriten Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      854c73a2
    • A
      libata: Strict checking for identify reporting · c7293870
      Alan Cox 提交于
      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: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c7293870
    • K
      [libata] check for SATA async notify support · 9f45cbd3
      Kristen Carlson Accardi 提交于
      Check to see if an ATAPI device supports Asynchronous Notification.
      If so, enable it, if the host controller supports AN.
      Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9f45cbd3
    • A
      libata: Correct IORDY handling · 0bc2a79a
      Alan Cox 提交于
      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: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      0bc2a79a
  9. 31 8月, 2007 1 次提交
  10. 20 7月, 2007 1 次提交
  11. 11 7月, 2007 1 次提交
  12. 10 7月, 2007 1 次提交
  13. 10 6月, 2007 2 次提交
  14. 29 4月, 2007 3 次提交
    • M
      libata: Handle drives that require a spin-up command before first access · 169439c2
      Mark Lord 提交于
      (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: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      169439c2
    • A
      libata: HPA support · 1e999736
      Alan Cox 提交于
      Signed-off-by: NAlan 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: NJeff Garzik <jeff@garzik.org>
      1e999736
    • M
      libata: add support for READ/WRITE LONG · 5a5dbd18
      Mark Lord 提交于
      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: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      5a5dbd18
  15. 04 4月, 2007 1 次提交
  16. 23 2月, 2007 1 次提交
  17. 16 2月, 2007 1 次提交
  18. 10 2月, 2007 2 次提交
  19. 02 12月, 2006 1 次提交
  20. 31 8月, 2006 1 次提交
  21. 15 8月, 2006 1 次提交
  22. 10 8月, 2006 1 次提交
    • J
      [ATA] Increase lba48 max-sectors from 200 to 256. · 8b881b04
      Jeff Garzik 提交于
      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
  23. 12 6月, 2006 1 次提交
  24. 15 5月, 2006 2 次提交
  25. 22 3月, 2006 2 次提交
  26. 04 3月, 2006 1 次提交
  27. 13 2月, 2006 1 次提交
  28. 07 1月, 2006 1 次提交
    • J
      [PATCH] Suspend support for libata · 9b847548
      Jens Axboe 提交于
      This patch adds suspend patch to libata, and ata_piix in particular. For
      most low level drivers, they should just need to add the 4 hooks to
      work. As I can only test ata_piix, I didn't enable it for more
      though.
      
      Suspend support is the single most important feature on a notebook, and
      most new notebooks have sata drives. It's quite embarrassing that we
      _still_ do not support this. Right now, it's perfectly possible to
      suspend the drive in mid-transfer.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9b847548
  29. 06 1月, 2006 1 次提交