Subject: HEADS UP: Major changes to SCSI driver
To: None <port-sgimips@netbsd.org>
From: Wayne Knowles <wdk@netbsd.org>
List: port-sgimips
Date: 11/10/2001 20:59:46
I have just commited some *major* changes to the SGI WD33c93 SCSI driver.
The changes are an evolutionary step to bring it in line with the rest of
the SCSI drivers used by the kernel.  This is the next logical step
towards creating a machine independant driver that can be used by other
ports.

During the development I was careful to do extensive testing against
everything I had access to.  One of the only areas I was not able to test
was multiple LUN support, but I believe it should not give problems.

The new driver can handle a locally hosted "make build" and a "make
release" to completion with simultaneous dumps to tapes and other
background thrashing.  This is sometihing the previous driver gave me
trouble with.

At the same time I have commited the disklabel support contributed by
Christopher Sekiya to prevent everyone from manually applying it.

Note - you will have to backout the patch or remove sgimips/disksubr.c as
a few minor changes were made in the commit.

If you do experience problems please report back to the list or send-pr(1)
it.

Enjoy!

-- 
Wayne Knowles			NetBSD/mipsco port maintainer
wdk@netbsd.org			http://www.netbsd.org


---------- Forwarded message ----------
Date: Sat, 10 Nov 2001 09:32:44 +0200 (EET)
From: Wayne Knowles <wdk@netbsd.org>
To: source-changes@netbsd.org
Subject: CVS commit: syssrc/sys/arch/sgimips/hpc


Module Name:	syssrc
Committed By:	wdk
Date:		Sat Nov 10 07:32:43 UTC 2001

Modified Files:
	syssrc/sys/arch/sgimips/hpc: hpcdma.h sbic.c sbicreg.h sbicvar.h wdsc.c

Log Message:
Complete overhaul of WD33c93 SCSI driver

 - Full support for SCSI-2 Tagged commands (enabled by default)
 - Implement save and restore datapointer messages
 - Formalize interface between MI and MD drivers.
 - decouple interface between MD driver and DMA routines
 - Use scsipi layer where appropriate (Tags, Sync Negotiations etc)
 - control blocks stored using kernel pool(9) functions
 - evcnt(9) compliant counters
 - Enable advanced features on later WD33c93 chips.
   (Identify message out phase is hardware assisted)
 - Improved timeout support (one per active control block)
 - Improved MESG_IN and MESG_OUT handling
 - Start to tidy up debugging output
 - Numerous bug fixes and cleanups throughout

Changes are based largely on the NCR53c9x MI driver for ideas on
how to DTRT.


To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/sgimips/hpc/hpcdma.h \
    syssrc/sys/arch/sgimips/hpc/sbic.c syssrc/sys/arch/sgimips/hpc/sbicreg.h \
    syssrc/sys/arch/sgimips/hpc/sbicvar.h syssrc/sys/arch/sgimips/hpc/wdsc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.