DragonFly-2.3.1.225.g3209f master sys/dev/disk/ahci TODO ahci.c ahci.h ahci_attach.c ahci_cam.c ahci_dragonfly.c ahci_dragonfly.h ahci_pm.c atascsi.h

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 11 23:16:03 PDT 2009


commit 3209f581df87eb2723810cc4f0dcb8be697198e9
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jun 11 23:10:06 2009 -0700

    AHCI - Add Port Multiplier HOTPLUG support
    
    * Add a ton of infrastructure to the port multiplier module.  We now probe
      the PM capabilities and turn on asynchronous notification if it supports
      it.
    
      Upon reception of an async notification event we access the PM to
      determine which targets may have changed state, then rescan those
      targets.
    
    * Add code to handle transient IFS failures when issuing a PM softreset
      command.
    
    * Significantly rework the CAM infrastructure such that most of the hard
      work now occurs from a main context instead of from an interrupt context.
    
    * Replace all DELAY()'s with ahci_os_sleep(), and use tsleep().
    
    * Use milliseconds as a universal time-base.
    
    * Do not initiate a timeout until a CCB is actually sent to the
      chip.
    
    * Improve the device probe and state machine (it still needs work though).

Summary of changes:
 sys/dev/disk/ahci/TODO             |   79 +++++++
 sys/dev/disk/ahci/ahci.c           |  405 ++++++++++++++++++++++++------------
 sys/dev/disk/ahci/ahci.h           |   58 +++++-
 sys/dev/disk/ahci/ahci_attach.c    |    3 +-
 sys/dev/disk/ahci/ahci_cam.c       |  253 ++++++++++++++---------
 sys/dev/disk/ahci/ahci_dragonfly.c |   16 ++
 sys/dev/disk/ahci/ahci_dragonfly.h |    1 +
 sys/dev/disk/ahci/ahci_pm.c        |  259 +++++++++++++++++++----
 sys/dev/disk/ahci/atascsi.h        |   22 ++-
 9 files changed, 818 insertions(+), 278 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3209f581df87eb2723810cc4f0dcb8be697198e9


-- 
DragonFly BSD source repository





More information about the Commits mailing list