From owner-freebsd-scsi Tue May 9 13:17:35 2000 Delivered-To: freebsd-scsi@freebsd.org Received: from caspian.plutotech.com (caspian.plutotech.com [206.168.67.80]) by hub.freebsd.org (Postfix) with ESMTP id 6009137C0A6 for ; Tue, 9 May 2000 13:13:50 -0700 (PDT) (envelope-from gibbs@caspian.plutotech.com) Received: from caspian.plutotech.com (localhost [127.0.0.1]) by caspian.plutotech.com (8.9.3/8.9.1) with ESMTP id OAA08705 for ; Tue, 9 May 2000 14:13:51 -0600 (MDT) (envelope-from gibbs@caspian.plutotech.com) Message-Id: <200005092013.OAA08705@caspian.plutotech.com> X-Mailer: exmh version 2.1.1 10/15/1999 To: scsi@FreeBSD.org Subject: Aic7xxx U160 support (and other CAM improvements). Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 09 May 2000 14:13:51 -0600 From: "Justin T. Gibbs" Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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