1. 11 7月, 2007 5 次提交
    • T
      libata: simplify PCI legacy SFF host handling · d583bc18
      Tejun Heo 提交于
      With PCI resource fix up for legacy hosts.  We can use the same code
      path to allocate IO resources and initialize host for both legacy and
      native SFF hosts.  Only IRQ requesting needs to be different.
      
      Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all
      legacy specific functions and use the renamed functions instead.  This
      simplifies code a lot.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      d583bc18
    • D
      pata_mpc52xx: suspend/resume support · 35142ddb
      Domen Puncer 提交于
      Implement suspend and resume routines for mpc52xx ata driver.
      Tested on Lite5200b with deep-sleep and low-power (not yet in-tree)
      modes.
      Signed-off-by: NDomen Puncer <domen.puncer@telargo.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      35142ddb
    • M
      sata_promise: SATA hotplug support, take 2 · a77720ad
      Mikael Pettersson 提交于
      This patch enables hotplugging of SATA devices in the
      sata_promise driver. It's been tested successfully on
      both first- and second-generation Promise SATA chips:
      SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4,
      SATA300 TX2plus, and SATA300 TX4.
      
      The only quirk I've seen is that hotplugging (insertion)
      on the first-generation SATA150 TX2plus requires a lengthier
      EH sequence than on the second-generation chips.
      On the second-generation chips a simple soft reset seems
      to suffice, but on the first-generation chip there's a
      "port is slow to respond" after the initial soft reset,
      after which libata issues a hard reset, and then the
      device is recognised.
      
      The hotplug checks are high up in the interrupt handling
      path, not deep down in error_intr as in ahci/sata_sil24.
      That's because the chip doesn't signal hotplug status changes
      in the per-port status register: instead a global register
      contains hotplug control and status flags for all ports.
      I considered following the ahci/sata_sil24 structure, but
      that would have required non-trivial changes to the interrupt
      handling path, so I chose to keep the hotplug changes simple
      and unobtrusive.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      --
      This patch depends on the "sata_promise: cleanups" patch.
      
      Changes since the previous version (posted June 19):
      - Correct pdc_interrupt() to increment 'handled' also in
        the hotplug case. This prevents IRQ_NONE from being
        returned when an interrupt only has hotplug events to
        handle, which could confuse the kernel's IRQ machinery.
      - Added testing on the SATAII150 TX4.
      
       drivers/ata/sata_promise.c |   41 ++++++++++++++++++++++++++++++++++++-----
       1 files changed, 36 insertions(+), 5 deletions(-)
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      a77720ad
    • A
      pata_sis: FIFO whack · 15ce0943
      Alan Cox 提交于
      If you are using a SiS controller and the BIOS didn't set it up then the
      FIFO may be left active when we try and set up the CD. Not convinced this
      matters but I'd prefer to be safe
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      15ce0943
    • O
      libata-core: convert to use cancel_rearming_delayed_work() · 45a66c1c
      Oleg Nesterov 提交于
      We should not use cancel_work_sync(delayed_work->work). This works, but not
      good. We can use cancel_rearming_delayed_work(), this also simplifies the
      code.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      45a66c1c
  2. 10 7月, 2007 31 次提交
  3. 03 7月, 2007 4 次提交