AHCI - Port multiplier plug/unplug work, tuning, cleanup, bug fixes.
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Jun 2009 07:02:39 +0000 (00:02 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Jun 2009 07:02:39 +0000 (00:02 -0700)
commit831bc9e32babbfa6097afd0b74c7c06e3300c765
tree152c2b56b6f4f90e16f094323047c1726e04324b
parentdbef6246a8d336160c284860369a8a39d4902440
AHCI - Port multiplier plug/unplug work, tuning, cleanup, bug fixes.

* Clean up the command dispatch and polling code, including fixing a
  deadlock between the timeout code and the polling code.  The polling
  code now checks for timed-out CCBs.

* Test some of the delay intervals in the hard and softreset code to
  reduce protocol problems.

* Add an exclusive-access abstraction for dealing with device insertions
  and removals.  This isn't working perfectly yet, there are still some
  communications issues due to the newly inserted device interfering with
  devices already in the enclosure.

* Greatly reduce probe times.
sys/dev/disk/ahci/ahci.c
sys/dev/disk/ahci/ahci.h
sys/dev/disk/ahci/ahci_attach.c
sys/dev/disk/ahci/ahci_cam.c
sys/dev/disk/ahci/ahci_dragonfly.c
sys/dev/disk/ahci/ahci_pm.c
sys/dev/disk/ahci/atascsi.h