Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 2001 10:04:28 -0800 (PST)
From:      "Justin T. Gibbs" <gibbs@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/aic7xxx aic7xxx.c aic7xxx.h aic7xxx.reg aic7xxx.seq aic7xxx_pci.c
Message-ID:  <200102101804.f1AI4Se58203@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
gibbs       2001/02/10 10:04:28 PST

  Modified files:
    sys/dev/aic7xxx      aic7xxx.c aic7xxx.h aic7xxx.reg 
                         aic7xxx.seq aic7xxx_pci.c 
  Log:
  aic7xxx.c:
  	Style nits.
  
  	Make sure that our selection hardware is disabled
  	as soon as possible after detecting a busfree and
  	even go so far as to disable the selection hardware
  	in advance of an event that will cause a busfree
  	(ABORT or BUS DEVICE RESET message).  The concern
  	is that the selection hardware will select a target
  	for which, after processing the bus free, there
  	will be no commands pending.  The sequencer idle
  	loop will re-enable the selection should it still be
  	necessary.
  
  	In ahc_handle_scsiint(), clear SSTAT0 events several
  	PCI transactions (most notably reads) prior to clearing
  	SCSIINT.  The newer chips seem to take a bit of time to
  	see the change which can make the clearing of SCSIINT
  	ineffective.
  
  	Don't bother panicing at the end of ahc_handle_scsiint().
  	Getting to the final else just means we lost the race
  	with clearing SCSIINT.
  
  	In ahc_free(), handle init-level 0.  This can happen when we
  	fail the attach for RAID devices.  While I'm here, also kill
  	the parent dma tag.
  
  	In ahc_match_scb(), consider initiator ccbs to be any
  	that are not from the target mode group.  This fixes
  	a bug where an external target reset CCB was not getting
  	cleaned up by the reset code.
  
  	Don't bother freezing a ccb in any of our "abort" routines
  	when the status is set to CAM_REQ_CMP.  This can happen
  	for a target reset ccb.
  
  aic7xxx.reg:
  	Reserve space for a completion queue.  This will be used
  	to enhance performance in the near future.
  
  aic7xxx.seq:
  	Remove an optimization for the 7890 autoflush bug that
  	turned out to allow, in rare cases, some data to get
  	lost.
  
  	Implement a simpler, faster, fix for the PCI_2_1 retry
  	bug that hangs the sequencer on an SCB dma for certain chips.
  
  	Test against SAVED_SCSIID rather than SELID during target
  	reselections.  This is how we always did it in the past,
  	but the code was modified while trying to work around an
  	issue with the 7895.  SAVED_SCSIID takes into account
  	twin channel adapters such as the 2742T, whereas SELID
  	does not have the channel bit.  This caused invalid
  	selection warnings and other strangeness on these cards.
  
  aic7xxx_pci.c
  	Use the correct mask for checking the generic aic7892
  	entry.
  
  Revision  Changes    Path
  1.69      +95 -41    src/sys/dev/aic7xxx/aic7xxx.c
  1.35      +2 -2      src/sys/dev/aic7xxx/aic7xxx.h
  1.34      +10 -2     src/sys/dev/aic7xxx/aic7xxx.reg
  1.110     +38 -29    src/sys/dev/aic7xxx/aic7xxx.seq
  1.11      +35 -9     src/sys/dev/aic7xxx/aic7xxx_pci.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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