Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Nov 1996 17:19:52 -0800 (PST)
From:      "Justin T. Gibbs" <gibbs>
To:        CVS-committers, cvs-all, cvs-sys
Subject:   cvs commit:  src/sys/i386/conf GENERIC LINT options.i386 src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/scsi aic7xxx.c src/sys/pci aic7870.c
Message-ID:  <199611160119.RAA01758@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
gibbs       96/11/15 17:19:52

  Modified:    sys/dev/aic7xxx  aic7xxx.seq aic7xxx_reg.h
  Log:
  Assert that we have seen an identify or have not disconneccted since the
  initial selection when entering the status phase.  This is the same assertion
  we use for all the other data transfer phases.
  
  Hopefully fix the hangs in the mesgin and mesgout phases that I introduced
  last week during some code cleanup.  I need to get some of these 12MB/s
  drives so I can reproduce these hangs here...
  
  Add a pause disable in the SCB paging case around our manipulation of the
  QOUTQCNT variable.  This is simply extra sanity.
  
  Set LASTPHASE to P_BUSFREE once we see a busfree so that the kernel driver can
  differentiate this from a data out phase.
  
  Revision  Changes    Path
  1.49      +13 -11    src/sys/dev/aic7xxx/aic7xxx.seq
  1.17      +4 -1      src/sys/dev/aic7xxx/aic7xxx_reg.h

  Modified:    sys/i386/conf  GENERIC LINT options.i386
  Log:
  Since there have been so many reports of the Memory Mapped I/O to the
  aic7xxx cards failing on certain motherboards, reverse the logic used to
  control this feature.  AHC_FORCE_PIO is replaced with AHC_ALLOW_MEMIO.
  GENERIC no longer needs to specify the AHC_FORCE_PIO option since this is
  the default.
  
  Revision  Changes    Path
  1.78      +1 -4      src/sys/i386/conf/GENERIC
  1.295     +5 -5      src/sys/i386/conf/LINT
  1.31      +2 -2      src/sys/i386/conf/options.i386

  Modified:    sys/i386/scsi  aic7xxx.c
  Log:
  Be even more careful in how we manipulate the QOUTQCNT variable.  Now we
  do reset it from the QOUTCNT register inside a pause/unpause.  This now happens
  once per command complete interrupt in the paging case (one interrupt can be
  for multiple completed commands).  I may introduce a counter and do a lazy
  update in the future, similar to what is done with the QINCNT.
  
  Enhance the QUEUE FULL condition handling so that the number of openings will
  be reduced.  This has become more important now that the driver is faster.
  This code really belongs in the gerneric SCSI layer, as will be the case once
  3.0 gets the code from the 'SCSI' branch.
  
  Add some #if 0'd out trace code I've been using to help debug sequencer
  problems.
  
  Fix the SCB paging problem that I was seeing.  This was only on my 7850
  controller and stems from the fact that its QINFIFO can only handle 3bit
  SCB identifiers.  This means that you can only have 8 transactions open at
  a time with the current paging scheme to these controllers.  The code added
  to enforce this is generic in that it tests for the number of relevent bits
  that the QINFIFO can store and adjusts the max accordingly.  It may be possible
  to come up with a scheme that allows for more than 8 commands at a time, but
  I don't know that it is worth the effort simply to fix a low end card.  The
  aic7880 still can do 255.
  
  This problem may be related to what Andrey was seeing since I don't have n
  aic7770 rev E chip here to test on, but as soon as someone probes one of these
  cards with this new code, the dmesg output will tell the whole story.
  
  Revision  Changes    Path
  1.86      +93 -20    src/sys/i386/scsi/aic7xxx.c

  Modified:    sys/pci   aic7870.c
  Log:
  AHC_FORCE_PIO -> AHC_ALLOW_MEMIO
  
  Revision  Changes    Path
  1.44      +2 -2      src/sys/pci/aic7870.c



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