1. 28 10月, 2008 4 次提交
    • R
      libata: add missing kernel-doc · 3cd8ddbd
      Randy Dunlap 提交于
      Fix libata missing kernel-doc:
      
      Warning(lin2628-rc2//drivers/ata/libata-core.c:4562): No description
      found for parameter 'tag'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      3cd8ddbd
    • T
      libata: fix device iteration bugs · 4a9c7b33
      Tejun Heo 提交于
      There were several places where only enabled devices should be
      iterated over but device enabledness wasn't checked.
      
      * IDENTIFY data 40 wire check in cable_is_40wire()
      * xfer_mode/ncq_enabled saving in ata_scsi_error()
      * DUBIOUS_XFER handling in ata_set_mode()
      
      While at it, reformat comments in cable_is_40wire().
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4a9c7b33
    • M
      ahci: Add support for Promise PDC42819 · c77a036b
      Mark Nelson 提交于
      Add an appropriate entry for the Promise PDC42819 controller. It has an
      AHCI mode and so far works correctly with board_ahci.
      
      This chip is found on Promise's FastTrak TX2650 (2 port) and TX4650 (4 port)
      software-based RAID cards (for which there is a binary driver, t3sas) and
      can be found on some motherboards, for example the MSI K9A2 Platinum,
      which calls the chip a Promise T3 controller.
      
      Although this controller also supports SAS devices, its default bootup mode
      is AHCI and the binary driver has to do some magic to get the chip into the
      appropriate mode to drive SAS disks.
      
      Seeing as no documentation is provided by Promise, adding this entry to the
      ahci driver allows the controller to be useful to people as a SATA
      controller (with no ill effects on the system if a SAS disk is connected -
      probing of the port just times out with "link online but device
      misclassified"), without having to resort to using the binary driver. Users
      who require SAS or the proprietary software raid can get this functionality
      using the binary driver.
      Signed-off-by: NMark Nelson <mdnelson8@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c77a036b
    • A
      ata: Switch all my stuff to a common address · ab771630
      Alan Cox 提交于
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ab771630
  2. 24 10月, 2008 2 次提交
  3. 23 10月, 2008 6 次提交
  4. 11 10月, 2008 2 次提交
  5. 10 10月, 2008 1 次提交
  6. 09 10月, 2008 2 次提交
  7. 29 9月, 2008 13 次提交
    • S
      ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs · 0395e61b
      Seth Heasley 提交于
      This patch updates the Intel Ibex Peak (PCH) IDE mode SATA Controller DeviceIDs.
      Signed-off-by: NSeth Heasley <seth.heasley@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0395e61b
    • T
      libata-eh: clear UNIT ATTENTION after reset · 11fc33da
      Tejun Heo 提交于
      Resets make ATAPI devices raise UNIT ATTENTION which fails the next
      command.  As resets can happen asynchronously for unrelated reasons,
      this sometimes disrupts innocent users.  For example, reading DVD
      fails after the system wakes up from suspend or the other device
      sharing the channel went through bus error.
      
      Clearing UA has some problems as it might clear UA which the userland
      needs to know about.  However, UA after resets can only be about the
      reset itself and benefits of clearing it overweights cons.  Missing UA
      can only delay failure to one of the following commands anyway.  For
      example, timeout while burning is in progress will trigger reset and
      reset the device state and probably corrupt the burning run.  Although
      the userland application won't get the UA, its pending writes will
      fail.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      11fc33da
    • H
    • S
      [libata] pata_bf54x: Add proper PM operation · 67e3e221
      Sonic Zhang 提交于
      [akpm@linux-foundation.org: remove ifdefs, make things static]
      Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      67e3e221
    • K
      pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC · 47d692a9
      Kumar Gala 提交于
      Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all
      powerpc platforms and we want to get rid of CONFIG_PPC_MERGE use
      CONFIG_PPC instead.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      47d692a9
    • E
      libata: Implement disk shock protection support · 45fabbb7
      Elias Oltmanns 提交于
      On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
      FEATURE as specified in ATA-7 is issued to the device and processing of
      the request queue is stopped thereafter until the specified timeout
      expires or user space asks to resume normal operation. This is supposed
      to prevent the heads of a hard drive from accidentally crashing onto the
      platter when a heavy shock is anticipated (like a falling laptop
      expected to hit the floor). In fact, the whole port stops processing
      commands until the timeout has expired in order to avoid any resets due
      to failed commands on another device.
      Signed-off-by: NElias Oltmanns <eo@nebensachen.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      45fabbb7
    • B
      PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver · 2ad69677
      Ben Dooks 提交于
      The RPC machine type now selects HAVE_PATA_PLATFORM so we can remove
      the special case in the PATA_PLATFORM configuration code.
      
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      2ad69677
    • T
      ata_piix: drop merged SCR access and use slave_link instead · be77e43a
      Tejun Heo 提交于
      Now that libata has slave_link, there's no need to keep ugly merged
      SCR access.  Drop it and use slave_link instead.  This results in
      simpler code and much better separate link handling for master and
      slave.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      be77e43a
    • T
      libata: implement slave_link · b1c72916
      Tejun Heo 提交于
      Explanation taken from the comment of ata_slave_link_init().
      
       In libata, a port contains links and a link contains devices.  There
       is single host link but if a PMP is attached to it, there can be
       multiple fan-out links.  On SATA, there's usually a single device
       connected to a link but PATA and SATA controllers emulating TF based
       interface can have two - master and slave.
      
       However, there are a few controllers which don't fit into this
       abstraction too well - SATA controllers which emulate TF interface
       with both master and slave devices but also have separate SCR
       register sets for each device.  These controllers need separate links
       for physical link handling (e.g. onlineness, link speed) but should
       be treated like a traditional M/S controller for everything else
       (e.g. command issue, softreset).
      
       slave_link is libata's way of handling this class of controllers
       without impacting core layer too much.  For anything other than
       physical link handling, the default host link is used for both master
       and slave.  For physical link handling, separate @ap->slave_link is
       used.  All dirty details are implemented inside libata core layer.
       From LLD's POV, the only difference is that prereset, hardreset and
       postreset are called once more for the slave link, so the reset
       sequence looks like the following.
      
       prereset(M) -> prereset(S) -> hardreset(M) -> hardreset(S) ->
       softreset(M) -> postreset(M) -> postreset(S)
      
       Note that softreset is called only for the master.  Softreset resets
       both M/S by definition, so SRST on master should handle both (the
       standard method will work just fine).
      
      As slave_link excludes PMP support and only code paths which deal with
      the attributes of physical link are affected, all the changes are
      localized to libata.h, libata-core.c and libata-eh.c.
      
       * ata_is_host_link() updated so that slave_link is considered as host
         link too.
      
       * iterator extended to iterate over the slave_link when using the
         underbarred version.
      
       * force param handling updated such that devno 16 is mapped to the
         slave link/device.
      
       * ata_link_on/offline() updated to return the combined result from
         master and slave link.  ata_phys_link_on/offline() are the direct
         versions.
      
       * EH autopsy and report are performed separately for master slave
         links.  Reset is udpated to implement the above described reset
         sequence.
      
      Except for reset update, most changes are minor, many of them just
      modifying dev->link to ata_dev_phys_link(dev) or using phys online
      test instead.
      
      After this update, LLDs can take full advantage of per-dev SCR
      registers by simply turning on slave link.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b1c72916
    • T
      libata: misc updates to prepare for slave link · b5b3fa38
      Tejun Heo 提交于
      * Add ATA_EH_ALL_ACTIONS.
      
      * Make sata_link_{on|off}_line() return bool instead of int.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b5b3fa38
    • T
      libata: reimplement link iterator · aadffb68
      Tejun Heo 提交于
      Implement __ata_port_next_link() and reimplement
      __ata_port_for_each_link() and ata_port_for_each_link() using it.
      This removes relatively large inlined code and makes iteration easier
      to extend.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      aadffb68
    • T
      libata: make SCR access ops per-link · 82ef04fb
      Tejun Heo 提交于
      Logically, SCR access ops should take @link; however, there was no
      compelling reason to convert all SCR access ops when adding @link
      abstraction as there's one-to-one mapping between a port and a non-PMP
      link.  However, that assumption won't hold anymore with the scheduled
      addition of slave link.
      
      Make SCR access ops per-link.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      82ef04fb
    • T
      sata_nv: reinstate nv_hardreset() for non generic controllers · 4c1eb90a
      Tejun Heo 提交于
      Commit 2fd673ec which tried to remove
      hardreset for generic accidentally removed it for all flavors as all
      others were inheriting from nv_generic_ops.  This patch reinstates
      nv_hardreset() and puts it into nv_common_ops which all flavors
      inherit from.  nv_generic_ops now inherits from nv_common_ops and
      overrides .hardreset to ATA_OP_NULL.
      
      While at it, explain why nv_hardreset and ATA_OP_NULL override are
      necessary.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4c1eb90a
  8. 24 9月, 2008 2 次提交
  9. 14 9月, 2008 2 次提交
  10. 09 9月, 2008 6 次提交