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>
