1. 25 4月, 2008 14 次提交
  2. 20 4月, 2008 1 次提交
  3. 19 4月, 2008 2 次提交
  4. 18 4月, 2008 23 次提交
    • 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
    • M
      sata_mv disable hotplug for now · 40f0bc2d
      Mark Lord 提交于
      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: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      40f0bc2d
    • M
      sata_mv cosmetics · 17c5aab5
      Mark Lord 提交于
      More cosmetic cleanups to unclutter the changes needed for PMP support.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      17c5aab5
    • M
      sata_mv hardreset rework · 0d8be5cb
      Mark Lord 提交于
      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: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0d8be5cb
    • J
      f3360ebf
    • T
      libata: make EH fail gracefully if no reset method is available · 4f7faa3f
      Tejun Heo 提交于
      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: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4f7faa3f
    • A
      libata: Be a bit more slack about early devices · b93fda12
      Alan Cox 提交于
      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: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b93fda12
    • A
      libata: cable logic · f792068e
      Alan Cox 提交于
      The cable detect isolation patch inadvertently removed 40 wire short
      cable handling. Put it back
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f792068e
    • T
      libata: move link onlineness check out of softreset methods · 45db2f6c
      Tejun Heo 提交于
      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: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      45db2f6c
    • T
      libata: kill dead code paths in reset path · 2a0c15ca
      Tejun Heo 提交于
      Some code paths which had been made obsolete by recent reset
      simplification were still around.  Kill them.
      
      * ata_eh_reset() checked for ATA_DEV_UNKNOWN to determine
        classification failure.  This is no longer applicable.
      
      * ata_do_reset() should convert ATA_DEV_UNKNOWN to ATA_DEV_NONE
        regardless of reset result (e.g. -EAGAIN).
      
      * LLDs don't need to convert ATA_DEV_UNKNOWN to ATA_DEV_NONE.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      2a0c15ca
    • S
      pata_scc: fix build breakage · e50e3ce5
      Stephen Rothwell 提交于
      drivers/ata/pata_scc.c: In function 'scc_bus_softreset':
      drivers/ata/pata_scc.c:594: error: 'deadlien' undeclared (first use in this function)
      drivers/ata/pata_scc.c:594: error: (Each undeclared identifier is reported only once
      drivers/ata/pata_scc.c:594: error: for each function it appears in.)
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e50e3ce5
    • T
      libata: make PMP support optional · 88fcd562
      Tejun Heo 提交于
      Make PMP support optional by adding CONFIG_SATA_PMP and leaving out
      libata-pmp.c if it isn't set.  PMP helpers return constant values if
      PMP support is not enabled and PMP declarations alias non-PMP
      counterparts.  This makes the compiler to leave out PMP related part
      out and LLDs to use non-PMP counterparts automatically.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      88fcd562
    • T
      libata: implement PMP helpers · 071f44b1
      Tejun Heo 提交于
      Implement helpers to test whether PMP is supported, attached and
      determine pmp number to use when issuing SRST to a link.  While at it,
      move ata_is_host_link() so that it's together with the two new PMP
      helpers.
      
      This change simplifies LLDs and helps making PMP support optional.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      071f44b1
    • T
      libata: separate PMP support code from core code · 48515f6c
      Tejun Heo 提交于
      Most of PMP support code is already in libata-pmp.c.  All that are in
      libata-core.c are sata_pmp_port_ops and EXPORTs.  Move them to
      libata-pmp.c.  Also, collect PMP related prototypes and declarations
      in header files and move them right above of SFF stuff.
      
      This change is to make PMP support optional.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      48515f6c
    • T
      libata: make SFF support optional · 127102ae
      Tejun Heo 提交于
      Now that SFF support is completely separated out from the core layer,
      it can be made optional.  Add CONFIG_ATA_SFF and let SFF drivers
      depend on it.  If CONFIG_ATA_SFF isn't set, all codes in libata-sff.c
      and data structures for SFF support are disabled.  This saves good
      number of bytes for small systems.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      127102ae
    • T
      libata: don't use ap->ioaddr in non-SFF drivers · 350756f6
      Tejun Heo 提交于
      ap->ioaddr is to carry addresses for TF and BMDMA registers of a SFF
      controller, don't abuse it in non-SFF controllers.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      350756f6
    • T
      libata: clean up dummy port_ops · 182d7bba
      Tejun Heo 提交于
      Now that SFF assumptions are removed from core layer, dummy port_ops
      can be slimmed down.  Chop it down.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      182d7bba
    • T
      libata: kill ata_noop_dev_select() · c9f75b04
      Tejun Heo 提交于
      Now that SFF assumptions are separated out from non-SFF reset
      sequence, port_ops->sff_dev_select() is no longer necessary for
      non-SFF controllers.  Kill ata_noop_dev_select() and ->sff_dev_select
      initialization from base and other non-SFF port_ops.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      c9f75b04
    • T
      libata: remove check_status from non-SFF drivers · 520d06f9
      Tejun Heo 提交于
      Now that all SFF stuff is separated out of core layer, core layer
      doesn't call ops->[alt_]check_status().  In fact, no one calls them
      for non-SFF drivers anymore.  Kill them.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      520d06f9