DragonFly BSD
DragonFly commits List (threaded) for 2010-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: git: kernel - AHCI hotplug work to help support AMD chipsets

From: Tim Darby <t+dfbsd@xxxxxxxxxxxx>
Date: Wed, 24 Nov 2010 09:09:24 -0700

Thanks!  I have one of these AMD motherboards on order and having working hotplug would be awesome.


On Mon, Nov 22, 2010 at 7:40 PM, Matthew Dillon <dillon@crater.dragonflybsd.org> wrote:

commit 5502cf2442bc10db6925a4db0956131ae634ec95
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Mon Nov 22 18:25:33 2010 -0800

   kernel - AHCI hotplug work to help support AMD chipsets

   * Change the Hot-plug mechanics to something which appears to work for
     both NVidia and AMD AHCI chipsets, and hopefully Intel too (untested).

     This appears to fix hot-plug for AMD's SB850-based AHCI (circa AM3 socket

   * Basically the SCTL.DET and CMD.SUD bits control the behavior of the
     SATA Phy, but in typical Intel fashion the specification is seriously
     lacking on how events such as hot-plug are handled based on what state
     the phy is in.

     Previously we were looking for phy transition events while holding
     the port in the RESET state (DET=1, SUD=1), which worked up till this
     point.  But it doesn't work with AMD's SB850-based AHCI.

     Now we are attempting to do the same thing with the port in
     the SPIN-UP/NORMAL state (DET=0, SUD=1).

   * The AHCI documentation wants us to use the LISTEN mode (DET=0, SUD=0)
     and get a SERR.DIAG.X event for hot-plug but this doesn't seem to work
     very reliably.  In fact, 10.10.4 is ambiguous for the case
     where Staggered-spin-up is not supported since SUD is wired to '1'
     in that case (making LISTEN mode impossible).

Summary of changes:
 sys/dev/disk/ahci/ahci.c |   96 ++++++++++++++++++++++++++--------------------
 1 files changed, 54 insertions(+), 42 deletions(-)


DragonFly BSD source repository

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]