13 Oct, 2007

5 commits

  • 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: Robert Hancock

    [edited slightly to make output a bit more symmetric]
    Signed-off-by: Jeff Garzik

    Robert Hancock
     
  • 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: Tejun Heo
    Cc: Kriten Carlson Accardi
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • 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: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Check to see if an ATAPI device supports Asynchronous Notification.
    If so, enable it, if the host controller supports AN.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Jeff Garzik

    Kristen Carlson Accardi
     
  • 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: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     

31 Aug, 2007

1 commit


20 Jul, 2007

1 commit

  • * Add ATA_PIO[0-6] defines to .

    * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t.

    * Add PIO masks to host drivers.

    change ACK-ed by Jeff Garzik .

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

11 Jul, 2007

1 commit


10 Jul, 2007

1 commit


10 Jun, 2007

2 commits


29 Apr, 2007

3 commits

  • (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: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     
  • Signed-off-by: Alan Cox

    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: Jeff Garzik

    Alan Cox
     
  • 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: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     

04 Apr, 2007

1 commit


23 Feb, 2007

1 commit


16 Feb, 2007

1 commit

  • The 80c wire bit is bit 13, not 14. Bit 14 is always 1 if word93 is
    implemented. This increases the chance of incorrect wire detection
    especially because host side cable detection is often unreliable and
    we sometimes soley depend on drive side cable detection. Fix the test
    and add word93 validity check.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

10 Feb, 2007

2 commits


02 Dec, 2006

1 commit


31 Aug, 2006

1 commit


15 Aug, 2006

1 commit


10 Aug, 2006

1 commit


12 Jun, 2006

1 commit


15 May, 2006

3 commits


24 Mar, 2006

1 commit


22 Mar, 2006

2 commits


04 Mar, 2006

1 commit


13 Feb, 2006

2 commits


27 Jan, 2006

1 commit


17 Jan, 2006

2 commits


07 Jan, 2006

2 commits

  • Manual fixup for merge with Jens' "Suspend support for libata", commit
    ID 9b847548663ef1039dd49f0eb4463d001e596bc3.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • 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: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jens Axboe
     

06 Jan, 2006

1 commit


09 Nov, 2005

1 commit