1. 06 5月, 2008 2 次提交
    • T
      ata_piix: verify SIDPR access before enabling it · cb6716c8
      Tejun Heo 提交于
      On certain configurations (certain macbooks), even though all the
      conditions for SIDPR access described in the datasheet are met,
      actually reading those registers just returns 0 and have no effect on
      write.  Verify SIDPR is actually working before enabling it.
      
      This is reported by Ryan Roth in bz#10512.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Ryan Roth <ryan.roth@ch2m.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      cb6716c8
    • T
      libata: improve post-reset device ready test · 78ab88f0
      Tejun Heo 提交于
      Some controllers (jmb and inic162x) use 0x77 and 0x7f to indicate that
      the device isn't ready yet.  It looks like they use 0xff if device
      presence is detected but connection isn't established.  0x77 or 0x7f
      after connection is established and use the value from signature FIS
      after receiving it.
      
      This patch implements ata_check_ready(), which takes TF status value
      and determines whether the port is ready or not considering the above
      and other conditions, and use it in @check_ready() functions.  This is
      safe as both 0x77 and 0x7f aren't valid ready status value even though
      they have BSY bit cleared.
      
      This fixes hot plug detection failures which can be triggered with
      certain drives if they aren't already spun up when the data connector
      is hot plugged.
      
      Tested on sil, sil24, ahci (jmb/ich), piix and inic162x combined with
      eight drives from all major vendors.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      78ab88f0
  2. 30 4月, 2008 4 次提交
  3. 29 4月, 2008 6 次提交
  4. 25 4月, 2008 20 次提交
  5. 20 4月, 2008 1 次提交
  6. 19 4月, 2008 2 次提交
  7. 18 4月, 2008 5 次提交
    • S
      ata-acpi: don't call _GTF for disabled drive · 48feb3c4
      Shaohua Li 提交于
      I got below log after a S3 resume in a ASUS A6VC laptop. The system has
      only one IDE drive. It appears there is no reason calling _GTF for
      disabled drive.
      
      ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126]
      ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE
      ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node df822bd0), AE_AML_OPERAND_VALUE
      ata2.00: _GTF evaluation failed (AE 0x3006)
      ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126]
      ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE
      ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node df822b94), AE_AML_OPERAND_VALUE
      ata2.01: _GTF evaluation failed (AE 0x3006)
      Signed-off-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      48feb3c4
    • M
      sata_mv add temporary 3 second init delay for SiliconImage PMs · 094e50b2
      Mark Lord 提交于
      sata_mv does not yet fully support hotplug (coming soon, though).
      This means that the driver may not find a Silicon Image port-multiplier
      when first loaded, because those devices take in exceess of 3 seconds
      to sync up the SATA PHY (most devices do this in mere microseconds).
      
      So, as a short-term interim measure, here we insert a 3-second pause
      on initial driver load, once per controller board (not once per port!),
      to allow the Silicon Image port-multipliers to be detected later.
      
      This will be removed again (soon!) once hotplug is fully implemented/working.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      094e50b2
    • M
      sata_mv remove redundant edma init code · 8a74f1a4
      Mark Lord 提交于
      Remove unnecessary edma init code from port_start.
      This sequence gets done later on the first I/O to the port.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      8a74f1a4
    • M
      sata_mv add basic port multiplier support · e49856d8
      Mark Lord 提交于
      Add basic port-multiplier support to sata_mv.
      This works in Command-based-switching mode for Gen-II chipsets,
      and in FIS-based-switching mode for Gen-IIe chipsets.
      
      Error handling remains at the primary port level for now
      (works okay, but not great).  This will get fixed in a subsequent
      patch series for IRQ/EH handling fixes.  There are also some
      known NCQ/PMP errata to be dealt with in the near future,
      once we have this basic PMP support in place.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e49856d8
    • M
      sata_mv fix SOC flags, enable NCQ on SOC · 02c1f32f
      Mark Lord 提交于
      The System-On-Chip (SOC) core supports all of the same
      features as the other recent Marvell chips,
      including NCQ and IRQ coalescing.
      
      Fix the chip_soc flags to enable these capabilities
      (note that the driver currently does nothing special
      for IRQ coalescing, though).
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      02c1f32f