1. 18 Apr, 2008 27 commits
  2. 17 Apr, 2008 13 commits
    • Shaohua Li's avatar
      ata-acpi: don't call _GTF for disabled drive · 48feb3c4
      Shaohua Li authored
      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: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      48feb3c4
    • Mark Lord's avatar
      sata_mv add temporary 3 second init delay for SiliconImage PMs · 094e50b2
      Mark Lord authored
      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: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      094e50b2
    • Mark Lord's avatar
      sata_mv remove redundant edma init code · 8a74f1a4
      Mark Lord authored
      Remove unnecessary edma init code from port_start.
      This sequence gets done later on the first I/O to the port.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      8a74f1a4
    • Mark Lord's avatar
      sata_mv add basic port multiplier support · e49856d8
      Mark Lord authored
      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: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      e49856d8
    • Mark Lord's avatar
      sata_mv fix SOC flags, enable NCQ on SOC · 02c1f32f
      Mark Lord authored
      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: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      02c1f32f
    • Mark Lord's avatar
      sata_mv disable hotplug for now · 40f0bc2d
      Mark Lord authored
      Disable hot plug/unplug detection in sata_mv for now.
      It is currently broken, and also interferes with PMP support.
      
      This will get fixed in a subsequent patch series.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      40f0bc2d
    • Mark Lord's avatar
      sata_mv cosmetics · 17c5aab5
      Mark Lord authored
      More cosmetic cleanups to unclutter the changes needed for PMP support.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      17c5aab5
    • Mark Lord's avatar
      sata_mv hardreset rework · 0d8be5cb
      Mark Lord authored
      Rework and simplify sata_mv's hardreset code to take advantage of
      libata improvements since it was first coded.
      
      Also, get rid of the now unnecessary prereset, postreset, and phy_reset
      functions.
      
      This patch also paves the way for subsequent pmp support patches,
      which will follow once this one passes muster.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      0d8be5cb
    • Jeff Garzik's avatar
    • Tejun Heo's avatar
      libata: make EH fail gracefully if no reset method is available · 4f7faa3f
      Tejun Heo authored
      When no reset method is available, libata currently oopses.  Although
      the condition can't happen unless there's a bug in a low level driver,
      oopsing isn't the best way to report the error condition.  Complain,
      dump stack and fail reset instead.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      4f7faa3f
    • Alan Cox's avatar
      libata: Be a bit more slack about early devices · b93fda12
      Alan Cox authored
      We have a certain number of 'ATA' emulations often on CF or other flash
      devices that are at best "loosely based" on the CF 1.1 standard. These
      devices report themselves as disk but don't support the ATA minimal
      command set only the CF 1.1 set.
      
      Relax the PIO checking for devices reporting ATA rev 0, or no iordy
      support, or CFA. Rework the code a bit as it was already messy and this
      made it quite ugly.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      b93fda12
    • Alan Cox's avatar
      libata: cable logic · f792068e
      Alan Cox authored
      The cable detect isolation patch inadvertently removed 40 wire short
      cable handling. Put it back
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      f792068e
    • Tejun Heo's avatar
      libata: move link onlineness check out of softreset methods · 45db2f6c
      Tejun Heo authored
      Currently, SATA softresets should do link onlineness check before
      actually performing SRST protocol but it doesn't really belong to
      softreset.
      
      This patch moves onlineness check in softreset to ata_eh_reset() and
      ata_eh_followup_srst_needed() to clean up code and help future sata_mv
      changes which need clear separation between SCR and TF accesses.
      
      sata_fsl is peculiar in that its softreset really isn't softreset but
      combination of hardreset and softreset.  This patch adds dummy private
      ->prereset to keep the current behavior but the driver really should
      implement separate hard and soft resets and return -EAGAIN from
      hardreset if it should be follwed by softreset.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      45db2f6c