DragonFly- master sys/dev/disk/ahci ahci.c ahci.h ahci_cam.c atascsi.h

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Jun 6 15:50:17 PDT 2009

commit cec85a37534fc8449308734c4d53fe8a31c2772c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Jun 6 15:45:14 2009 -0700

    AHCI - Hotplug.  Increase timeout for BSY check, FIS adjusts for softreset, CAM
    * Wait up to 3 seconds for BSY to clear.  1 second was not enough when
      powering up an external 2.5" drive already connected to the port.
    * It is unclear how other fields in the FIS should be initialized when
      performing a soft reset.  Zero the fields instead of inheriting whatever
      junk was in the FIS from prior commands.  This seems to fix random
      errors from unplugging and plugging in a "My Book".
    * Adjust the CAM devq to ensure that one ata_xfer remains available for error
      processing.  Do not clean out the devq when reducing the number of tags to
      1 as we will not use NCQ in this case anyway and need the extra CCB for
      error processing.

Summary of changes:
 sys/dev/disk/ahci/ahci.c     |   64 ++++++++++++++++++++++++++++++++---------
 sys/dev/disk/ahci/ahci.h     |    3 +-
 sys/dev/disk/ahci/ahci_cam.c |   33 ++++++++++++++-------
 sys/dev/disk/ahci/atascsi.h  |    1 +
 4 files changed, 75 insertions(+), 26 deletions(-)


DragonFly BSD source repository

More information about the Commits mailing list