Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Sep 2000 23:40:16 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        "Brandon D. Valentine" <bandix@looksharp.net>
Cc:        "Justin T. Gibbs" <gibbs@plutotech.com>, stable@FreeBSD.ORG
Subject:   Re: MFC of ahc driver updates (long-ish) 
Message-ID:  <Pine.SUN.3.91.1000921231303.17353A@pcnet1.pcnet.com>
In-Reply-To: <Pine.BSF.4.21.0009212020330.15260-100000@turtle.looksharp.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Thu, 21 Sep 2000, Brandon D. Valentine wrote:
> On Tue, 19 Sep 2000, Justin T. Gibbs wrote:
> 
> >>Brandon, I'll take those patches if you've still got them lying
> >>around.  If not, I'll try to make them myself or try to get the
> >>latest -current aic7xxx driver to work.
> >
> >Testing the stuff from -current would be the best option.  There
> >are known issues for non-U2/U3 controllers in the code that Brandon
> >first proposed to have merged.
> 
> Hey Justin,
> I appreciate the work you've been doing to get these problems resolved
> for all.  I'm doing my best to get my machines with ahc-supported cards
> in them testing your latest code.  My -current machines are doing fine,
> however I've run into some trouble with a RELENG_4 backport.  The
> improvements made to the driver in the new version changed the way it is
> built and so it's not as simple as just upgrading src/sys/dev/aic7xxx/*.
> I don't know what other files you touched in this round of commits that
> I need to update in order for the kernel build to complete.  I appear to
> be running into dependency and/or include issues.  I would appreciate
> any clues you could give me as to what other files to upgrade to get the
> new driver to build.  Or perhaps, knowing the driver as intimately as
> you do, you could post a patchset for those of us with this hardware to
> test?

Just delete everything from your 4.1-stable src/sys/dev/aic7xxx/* and
copy the 5.0-current driver on top of it.  Be sure to also copy the
directory src/sys/dev/aic7xxx/aicasm also.

Then apply the attached patch.  I just recreated this patch from memory,
but I am pretty sure it is right.

-- 
Dan Eischen
[-- Attachment #2 --]
Index: sys/cam/cam_ccb.h
===================================================================
RCS file: /opt/b/CVS/src/sys/cam/cam_ccb.h,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 cam_ccb.h
--- sys/cam/cam_ccb.h	2000/03/17 22:38:29	1.15.2.1
+++ sys/cam/cam_ccb.h	2000/09/22 03:16:29
@@ -58,6 +58,10 @@
 	CAM_CDB_POINTER		= 0x00000001,/* The CDB field is a pointer    */
 	CAM_QUEUE_ENABLE	= 0x00000002,/* SIM queue actions are enabled */
 	CAM_CDB_LINKED		= 0x00000004,/* CCB contains a linked CDB     */
+	CAM_NEGOTIATE		= 0x00000008,/*
+					      * Perform transport negotiation
+					      * with this command.
+					      */
 	CAM_SCATTER_VALID	= 0x00000010,/* Scatter/gather list is valid  */
 	CAM_DIS_AUTOSENSE	= 0x00000020,/* Disable autosense feature     */
 	CAM_DIR_RESV		= 0x00000000,/* Data direction (00:reserved)  */
Index: sys/cam/scsi/scsi_message.h
===================================================================
RCS file: /opt/b/CVS/src/sys/cam/scsi/scsi_message.h,v
retrieving revision 1.1.6.1
diff -u -r1.1.6.1 scsi_message.h
--- sys/cam/scsi/scsi_message.h	2000/08/03 00:50:59	1.1.6.1
+++ sys/cam/scsi/scsi_message.h	2000/09/22 03:20:27
@@ -7,36 +7,48 @@
 
 /* Messages (1 byte) */		     /* I/T (M)andatory or (O)ptional */
 #define MSG_CMDCOMPLETE		0x00 /* M/M */
+#define MSG_TASK_COMPLETE	0x00 /* M/M */ /* SPI3 Terminology */
 #define MSG_EXTENDED		0x01 /* O/O */
 #define MSG_SAVEDATAPOINTER	0x02 /* O/O */
 #define MSG_RESTOREPOINTERS	0x03 /* O/O */
 #define MSG_DISCONNECT		0x04 /* O/O */
 #define MSG_INITIATOR_DET_ERR	0x05 /* M/M */
 #define MSG_ABORT		0x06 /* O/M */
+#define MSG_ABORT_TASK_SET	0x06 /* O/M */ /* SPI3 Terminology */
 #define MSG_MESSAGE_REJECT	0x07 /* M/M */
 #define MSG_NOOP		0x08 /* M/M */
 #define MSG_PARITY_ERROR	0x09 /* M/M */
 #define MSG_LINK_CMD_COMPLETE	0x0a /* O/O */
 #define MSG_LINK_CMD_COMPLETEF	0x0b /* O/O */
 #define MSG_BUS_DEV_RESET	0x0c /* O/M */
+#define MSG_TARGET_RESET	0x0c /* O/M */ /* SPI3 Terminology */
 #define MSG_ABORT_TAG		0x0d /* O/O */
+#define MSG_ABORT_TASK		0x0d /* O/O */ /* SPI3 Terminology */
 #define MSG_CLEAR_QUEUE		0x0e /* O/O */
-#define MSG_INIT_RECOVERY	0x0f /* O/O */
-#define MSG_REL_RECOVERY	0x10 /* O/O */
-#define MSG_TERM_IO_PROC	0x11 /* O/O */
+#define MSG_CLEAR_TASK_SET	0x0e /* O/O */ /* SPI3 Terminology */
+#define MSG_INIT_RECOVERY	0x0f /* O/O */ /* Deprecated in SPI3 */
+#define MSG_REL_RECOVERY	0x10 /* O/O */ /* Deprecated in SPI3 */
+#define MSG_TERM_IO_PROC	0x11 /* O/O */ /* Deprecated in SPI3 */
+#define MSG_CLEAR_ACA		0x16 /* O/O */ /* SPI3 */
+#define MSG_LOGICAL_UNIT_RESET	0x17 /* O/O */ /* SPI3 */
+#define MSG_QAS_REQUEST		0x55 /* O/O */ /* SPI3 */
 
 /* Messages (2 byte) */
 #define MSG_SIMPLE_Q_TAG	0x20 /* O/O */
+#define MSG_SIMPLE_TASK		0x20 /* O/O */ /* SPI3 Terminology */
 #define MSG_HEAD_OF_Q_TAG	0x21 /* O/O */
+#define MSG_HEAD_OF_QUEUE_TASK	0x21 /* O/O */ /* SPI3 Terminology */
 #define MSG_ORDERED_Q_TAG	0x22 /* O/O */
+#define MSG_ORDERED_TASK	0x22 /* O/O */ /* SPI3 Terminology */
 #define MSG_IGN_WIDE_RESIDUE	0x23 /* O/O */
+#define MSG_ACA_TASK		0x24 /* 0/0 */ /* SPI3 */
 
 /* Identify message */		     /* M/M */	
 #define MSG_IDENTIFYFLAG	0x80 
 #define MSG_IDENTIFY_DISCFLAG	0x40 
 #define MSG_IDENTIFY(lun, disc)	(((disc) ? 0xc0 : MSG_IDENTIFYFLAG) | (lun))
 #define MSG_ISIDENTIFY(m)	((m) & MSG_IDENTIFYFLAG)
-#define MSG_IDENTIFY_LUNMASK	0x01F 
+#define MSG_IDENTIFY_LUNMASK	0x03F 
 
 /* Extended messages (opcode and length) */
 #define MSG_EXT_SDTR		0x01
@@ -46,4 +58,10 @@
 #define MSG_EXT_WDTR_LEN	0x02
 #define MSG_EXT_WDTR_BUS_8_BIT	0x00
 #define MSG_EXT_WDTR_BUS_16_BIT	0x01
-#define MSG_EXT_WDTR_BUS_32_BIT	0x02 
+#define MSG_EXT_WDTR_BUS_32_BIT	0x02 /* Deprecated in SPI3 */
+
+#define MSG_EXT_PPR		0x04 /* SPI3 */
+#define MSG_EXT_PPR_LEN		0x06
+#define MSG_EXT_PPR_QAS_REQ	0x04
+#define MSG_EXT_PPR_DT_REQ	0x02
+#define MSG_EXT_PPR_IU_REQ	0x01
Index: sys/conf/files
===================================================================
RCS file: /opt/b/CVS/src/sys/conf/files,v
retrieving revision 1.340.2.24
diff -u -r1.340.2.24 files
--- sys/conf/files	2000/08/17 18:35:36	1.340.2.24
+++ sys/conf/files	2000/09/22 03:24:50
@@ -6,7 +6,7 @@
 #
 aicasm				optional ahc				   \
 	dependency 	"$S/dev/aic7xxx/*.[chyl]"			   \
-	compile-with	"${MAKE} -f $S/dev/aic7xxx/Makefile MAKESRCPATH=$S/dev/aic7xxx" \
+	compile-with	"${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
 	no-obj no-implicit-rule						   \
 	clean		"aicasm aicasm_gram.c aicasm_scan.c y.tab.h"
 aic7xxx_{seq,reg}.h		optional ahc				   \
@@ -116,13 +116,14 @@
 dev/ahb/ahb.c		optional ahb eisa
 dev/aic/aic.c		optional aic
 dev/aic/aic_pccard.c	optional aic card
-dev/aic7xxx/ahc_eisa.c	optional ahc eisa	\
-	dependency	"aic7xxx_reg.h $S/dev/aic7xxx/ahc_eisa.c"
-dev/aic7xxx/ahc_pci.c	optional ahc pci	\
-	dependency	"aic7xxx_reg.h $S/dev/aic7xxx/ahc_pci.c"
-dev/aic7xxx/aic7xxx.c	optional ahc		\
-	dependency	"aic7xxx_{reg,seq}.h"
-dev/aic7xxx/93cx6.c	optional ahc
+dev/aic7xxx/aic7770.c	optional ahc eisa
+dev/aic7xxx/ahc_eisa.c	optional ahc eisa
+#dev/aic7xxx/ahc_isa.c	optional ahc isa
+dev/aic7xxx/ahc_pci.c	optional ahc pci
+dev/aic7xxx/aic7xxx.c	optional ahc
+dev/aic7xxx/aic7xxx_93cx6.c	optional ahc
+dev/aic7xxx/aic7xxx_freebsd.c	optional ahc
+dev/aic7xxx/aic7xxx_pci.c	optional ahc pci
 dev/buslogic/bt.c	optional bt
 dev/buslogic/bt_isa.c	optional bt isa
 dev/buslogic/bt_mca.c	optional bt mca

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.1000921231303.17353A>