Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jan 1997 10:07:17 -0800 (PST)
From:      "Justin T. Gibbs" <gibbs>
To:        CVS-committers, cvs-all, cvs-sys
Subject:   cvs commit:  src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/scsi aic7xxx.c src/sys/pci aic7870.c
Message-ID:  <199701221807.KAA17373@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
gibbs       97/01/22 10:07:17

  Modified:    sys/dev/aic7xxx  aic7xxx.seq aic7xxx_reg.h
  Log:
  Clear the SCSI channel after we go to busfree instead of after re/selection.
  
  Only enable reselections once the channel and SCSIRATE have been cleared.
  
  Add a pause block around the test busy code in the non-tagged case to simplify
  error recovery in the corner case of aborting an SCB that just got started.
  
  Simplify reselection processing by removing the call to initialize_scsiid.
  
  Clear the scsiseq re/select control bits and setup for catching bogus
  busfrees earlier in the re/select process.
  
  Improve the automatic PIO code.  It turns out that SPIORDY is not a reliable
  hardware condition bit, so use REQINIT intstead.  Don't rely on PHASEMIS
  either since it can take too long to come true.  Use a brute force comparison
  instead.
  
  Remove some unnecessary overhead in the command complete processing.  It
  should be nearly impossible to overflow the QOUTFIFO (worst case 9 command
  have to complete with at least 6 of them requiring paging on an aic7850),
  so don't take the additional PIO hit to guard against this condition.  If we
  don't see our interrupt in time, the system has bigger problems elsewhere.
  If this ever does happen, the timeout handler will notice and retry the
  command.
  
  Revision  Changes    Path
  1.54      +51 -45    src/sys/dev/aic7xxx/aic7xxx.seq
  1.20      +2 -1      src/sys/dev/aic7xxx/aic7xxx_reg.h

  Modified:    sys/i386/scsi  aic7xxx.c
  Log:
  Remove some unnecessary overhead in the command complete processing.  It
  should be nearly impossible to overflow the QOUTFIFO (worst case 9 command
  have to complete with at least 6 of them requiring paging on an aic7850),
  so don't take the additional PIO hit to guard against this condition.  If we
  don't see our interrupt in time, the system has bigger problems elsewhere.
  If this ever does happen, the timeout handler will notice and retry the
  command.
  
  Remove the ABORT_TAG sequencer interrupt handler.  This condition can't happen
  with the new SCB paging scheme.
  
  Fix a few bugs noticed by Dan Eischen <deischen@iworks.InterWorks.org>
  that could prevent ULTRA from being negotiated to drives above ID 7 and
  also could allow an SCB to be passed to ahc_done twice during error recovery.
  
  Fix a bug notice by Rory Bolt <rory@atBackup.com>.  It turns out that a
  sequencer reset will actually start the sequencer running regardless of the
  state of the pause bit.  This could lead to strange problems with loading
  the sequencer.
  
  Revision  Changes    Path
  1.90      +29 -48    src/sys/i386/scsi/aic7xxx.c

  Modified:    sys/pci   aic7870.c
  Log:
  Be smarter about enabling memory mapped I/O.  The AHC_ALLOW_MEMIO option
  should not be required anymore.
  
  Turn on ULTRA for cards that don't have a BIOS or SEEPROM.
  
  Revision  Changes    Path
  1.46      +8 -6      src/sys/pci/aic7870.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701221807.KAA17373>