1. 05 12月, 2006 6 次提交
  2. 04 12月, 2006 28 次提交
  3. 03 12月, 2006 6 次提交
    • M
      [PATCH] sata_promise: PHYMODE4 fixup · 599b7202
      Mikael Pettersson 提交于
      This patch adds code to fix up the PHYMODE4 "align timing"
      register value on second-generation Promise SATA chips.
      Failure to correct this value on non-x86 machines makes
      drive detection prone to failure due to timeouts. (I've
      observed about 50% detection failure rates on SPARC64.)
      
      The HW boots with a bad value in this register, but on x86
      machines the Promise BIOS corrects it to the value recommended
      by the manual, so most people have been unaffected by this issue.
      
      After developing the patch I checked Promise's SATAII driver,
      and discovered that it also corrects PHYMODE4 just like this
      patch does.
      
      This patch depends on the sata_promise SATAII updates
      patch I sent recently.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      599b7202
    • T
      [PATCH] libata: always use polling IDENTIFY · 800b3996
      Tejun Heo 提交于
      libata switched to IRQ-driven IDENTIFY when IRQ-driven PIO was
      introduced.  This has caused a lot of problems including device
      misdetection and phantom device.
      
      ATA_FLAG_DETECT_POLLING was added recently to selectively use polling
      IDENTIFY on problemetic drivers but many controllers and devices are
      affected by this problem and trying to adding ATA_FLAG_DETECT_POLLING
      for each such case is diffcult and not very rewarding.
      
      This patch makes libata always use polling IDENTIFY.  This is
      consistent with libata's original behavior and drivers/ide's behavior.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      800b3996
    • J
      [libata] pata_cs5535: fix build · 3ac551a6
      Jeff Garzik 提交于
      Noticed by Tejun and others.
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3ac551a6
    • T
      [PATCH] ahci: do not powerdown during initialization · 8e16f941
      Tejun Heo 提交于
      ahci_init_controller() calls ahci_deinit_port() to make sure the
      controller is stopped before initializing the controller.  In turn,
      ahci_deinit_port() invokes ahci_power_down() to power down the port.
      If the controller supports slumber mode, the link is put into it.
      
      Unfortunately, some devices don't implement link powersaving mode
      properly and show erratic behavior after link is put into slumber
      mode.  For example, HL-DT-ST DVD-RAM GSA-H30N completely locks up on
      slumber transition and can only be recovered with the *REAL* hard
      reset - power removal and reapply.
      
      Note that this makes the first probing reset different from all
      others.  If the above dvd-ram is hotplugged after ahci is initialized,
      no problem occurs because ahci is already fully initialized with phy
      powered up.  So, this might also be the reason for other weird AHCI
      initial probing abnormalities.
      
      This patch moves power up/down out of port init/deinit and call them
      only when needed.
      
      Power down is now called only when suspending.  As system suspend
      usually involves powering down 12v for storage devices, this shouldn't
      cause problem even if the attached device doesn't support slumber
      mode.  However, in partial power management and suspend failure cases,
      devices might lock up after suspend attempt.  I thought about removing
      transition to slumber mode altogether but ahci spec mandates it before
      HBA D3 state transition.  Blacklisting such devices might be the
      solution.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      8e16f941
    • T
      [PATCH] libata: prepare ata_sg_clean() for invocation from EH · 70e6ad0c
      Tejun Heo 提交于
      Make ata_sg_clean() global and don't allow NCQ for internal commands.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      70e6ad0c
    • T
      [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() · bd056d7e
      Tejun Heo 提交于
      Separate out rw ATA taskfile building from ata_scsi_rw_xlat() into
      ata_build_rw_tf().  This will be used to improve media error handling.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      bd056d7e