Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 May 2000 14:13:51 -0600
From:      "Justin T. Gibbs" <gibbs@FreeBSD.org>
To:        scsi@FreeBSD.org
Subject:   Aic7xxx U160 support (and other CAM improvements).
Message-ID:  <200005092013.OAA08705@caspian.plutotech.com>

next in thread | raw e-mail | index | archive | help
For those of you interested in testing U160 support as well as
some performance enhancements in the aic7xxx driver, check out
the patches here:

http://people.FreeBSD.org/~gibbs/cam_aic7xxx_u160.diffs

You will also need to copy src/lib/libc/stdlib/bsearch.c to sys/libkern
in order for the patches to work.

Here's a run down of what is included:

	o U160 support for the aic7892/aic7899 chips and controllers
	  based on them.

	o Embedded CDB support for cdbs up to 12 bytes in length
	  on all controllers.  In the past, all controllers other than
	  those in the 789X series performed a separate dma for
	  transaction information and the cdb.

	o Better use of chips with two DMA engines.  We now use the
	  secondary DMA channel to pull in S/G blocks in advance
	  of the DMA engine running dry.

	o Full support for "Bayonet" style DMA.  In addition to using
	  the secondary DMA channel, we take advantage of the in chip
	  S/G element FIFO so that the DMA engine does not have to
	  wait on the sequencer engine to load the next S/G segment
	  when one completes.  This applies to all aic789X chips other
	  than the aic7895.

There are also a bunch of CAM changes in the patches.  The CAM changes
include some cleanup of the error recovery code as well as some enhancements
to the get/set transfer settings API.

So why aren't these in the tree?  For one thing, the CAM API changes,
once reviewed, will require all SIM drivers to undergo some changes.
These patches only include support for the aic7xxx driver.  It is
also unclear that what I have here will be the "final" API for this
CCB type.  During 5.0, it is expected that the CAM API will change
considerably.  The intent is to push these API changes onto a "CAM branch"
until they have stabilized and then have only a single integration phase
for 5.0.  One of my goals for CAM in 5.0 is to have a rich API that third
party vendors can write to without the fear that the API will change in
the near future.  This will require a lot of experimentation and
development work to achieve.  I'll be posting another message about
CAM goals in 5.0 that proposes a road map for CAM and I hope the rest
of the readers of -scsi will help me refine it.

--
Justin


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




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