1. 23 10月, 2008 1 次提交
  2. 11 10月, 2008 1 次提交
  3. 10 10月, 2008 1 次提交
  4. 09 10月, 2008 2 次提交
  5. 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
  6. 14 9月, 2008 2 次提交
  7. 09 9月, 2008 7 次提交
  8. 01 9月, 2008 1 次提交
    • A
      sparc: remove CONFIG_SUN4 · 5110bd21
      Adrian Bunk 提交于
      While doing some easy cleanups on the sparc code I noticed that the
      CONFIG_SUN4 code seems to be worse than the rest - there were some
      "I don't know how it should work, but the current code definitely cannot
      work." places.
      
      And while I have seen people running Linux on machines like a
      SPARCstation 5 a few years ago I don't recall having seen sun4
      machines, even less ones running Linux.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5110bd21
  9. 23 8月, 2008 5 次提交
  10. 22 8月, 2008 7 次提交
    • J
      [libata] pata_it821x: fix warning · 4ef28185
      Jeff Garzik 提交于
      Reported by Andrew Morton:
      drivers/ata/pata_it821x.c: In function 'it821x_port_start':
      drivers/ata/pata_it821x.c:609: warning: 'mtype' may be used uninitialized in
      this function
      
      Pretty horrid fix, but so's a warning..
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4ef28185
    • A
      libata: Fix a large collection of DMA mode mismatches · b15b3eba
      Alan Cox 提交于
      Dave Müller sent a diff for the pata_oldpiix that highlighted a problem
      where a lot of the ATA drivers assume dma_mode == 0 means "no DMA" while
      the core code uses 0xFF.
      
      This turns out to have other consequences such as code doing >= XFER_UDMA_0
      also catching 0xFF as UDMAlots. Fortunately it doesn't generally affect
      set_dma_mode, although some drivers call back into their own set mode code
      from other points.
      
      Having been through the drivers I've added helpers for using_udma/using_mwdma
      dma_enabled so that people don't open code ranges that may change (eg if UDMA8
      appears somewhere)
      
      Thanks to David for the initial bits
      [and added fix for pata_oldpiix from and signed-off-by Dave Mueller
       <dave.mueller@gmx.ch>  -jg]
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b15b3eba
    • T
      ahci: sis controllers actually can do PMP · 20e2de4a
      Tejun Heo 提交于
      SIS controllers were blacklisted for PMP as enabling it made device
      detection fail whether the device was PMP or not - the natural
      conclusion was the controller chokes on SRST w/ pmp==15.  However, it
      turned out that the controller just didn't like issuing SRST after
      hardreset w/o clearing SError first.  Interestingly, the SRST itself
      succeeds but the following commands fail.
      
      If SError is cleared between hardreset and SRST, which is the default
      behavior now, everything works fine and SIS controllers work with PMPs
      happily.
      
      Remove PMP blacklisting for SIS AHCIs.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Piter PUNK <piterpunk@slackware.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      20e2de4a
    • T
      pata_via: clean up recent tf_load changes · ff04715b
      Tejun Heo 提交于
      Commit bfce5e01 implemented custom
      tf_load for pata_via.  This patch cleans it up a bit.
      
      * Instead of duplicating whole body, copy tf and set ATA_TFLAG_DEVICE
        when necessary.
      
      * Rename via_ata_tf_load() to via_tf_load().
      
      * No need to set .tf_load in via_port_ops_noirq as it inherits from
        via_port_ops.
      
      * Clean up indentation.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ff04715b
    • T
      libata: restore SControl on detach · d127ea7b
      Tejun Heo 提交于
      Save SControl during probing and restore it on detach.  This prevents
      adjustments made by libata drivers to seep into the next driver which
      gets attached (be it a libata one or not).
      
      It's not clear whether SControl also needs to be restored on suspend.
      The next system to have control (ACPI or kexec'd kernel) would
      probably like to see the original SControl value but there's no
      guarantee that a link is gonna keep working after SControl is adjusted
      without a reset and adding a reset and modified recovery cycle soley
      for this is an overkill.  For now, do it only for detach.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      d127ea7b
    • T
      libata: use ata_link_printk() when printing SError · da0e21d3
      Tejun Heo 提交于
      SError belongs to link not port.  Use ata_link_printk() to print it.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      da0e21d3
    • T
      libata: always do follow-up SRST if hardreset returned -EAGAIN · 5dbfc9cb
      Tejun Heo 提交于
      As an optimization, follow-up SRST used to be skipped if
      classification wasn't requested even when hardreset requested it via
      -EAGAIN.  However, some hardresets can't wait for device readiness and
      skipping SRST can cause timeout or other failures during revalidation.
      Always perform follow-up SRST if hardreset returns -EAGAIN.  This
      makes reset paths more predictable and thus less error-prone.
      
      While at it, move hardreset error checking such that it's done right
      after hardreset is finished.  This simplifies followup SRST condition
      check a bit and makes the reset path easier to modify.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5dbfc9cb