summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/ispreg.h
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2009-08-01 01:04:26 +0000
committermjacob <mjacob@FreeBSD.org>2009-08-01 01:04:26 +0000
commit2d4b24984c5d2ea2556ae2b1ef1df7f0833dc1b5 (patch)
tree884359c5bdd547b6c49dd87022ae80caeb753792 /sys/dev/isp/ispreg.h
parent8cd95c9b5850387fecf5b9901ef05d9c08489a4c (diff)
downloadFreeBSD-src-2d4b24984c5d2ea2556ae2b1ef1df7f0833dc1b5.zip
FreeBSD-src-2d4b24984c5d2ea2556ae2b1ef1df7f0833dc1b5.tar.gz
Add 8Gb support (isp_2500). Fix a fair number of configuration and
firmware loading bugs. Target mode support has received some serious attention to make it more usable and stable. Some backward compatible additions to CAM have been made that make target mode async events easier to deal with have also been put into place. Further refinement and better support for NP-IV (N-port Virtualization) is now in place. Code for release prior to RELENG_7 has been stripped away for code clarity. Sponsored by: Copan Systems Reviewed by: scottl, ken, jung-uk kim Approved by: re
Diffstat (limited to 'sys/dev/isp/ispreg.h')
-rw-r--r--sys/dev/isp/ispreg.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/sys/dev/isp/ispreg.h b/sys/dev/isp/ispreg.h
index ee0e154..08df337 100644
--- a/sys/dev/isp/ispreg.h
+++ b/sys/dev/isp/ispreg.h
@@ -1,6 +1,6 @@
/* $FreeBSD$ */
/*-
- * Copyright (c) 1997-2007 by Matthew Jacob
+ * Copyright (c) 1997-2009 by Matthew Jacob
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -24,6 +24,7 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
+ *
*/
/*
* Machine Independent (well, as best as possible) register
@@ -362,11 +363,12 @@
#define BIU2400_REQOUTP (BIU_BLOCK+0x20) /* Request Queue Out */
#define BIU2400_RSPINP (BIU_BLOCK+0x24) /* Response Queue In */
#define BIU2400_RSPOUTP (BIU_BLOCK+0x28) /* Response Queue Out */
-#define BIU2400_PRI_RQINP (BIU_BLOCK+0x2C) /* Priority Request Q In */
-#define BIU2400_PRI_RSPINP (BIU_BLOCK+0x30) /* Priority Request Q Out */
-#define BIU2400_ATIO_RSPINP (BIU_BLOCK+0x3C) /* ATIO Queue In */
-#define BIU2400_ATIO_REQINP (BIU_BLOCK+0x40) /* ATIO Queue Out */
+#define BIU2400_PRI_REQINP (BIU_BLOCK+0x2C) /* Priority Request Q In */
+#define BIU2400_PRI_REQOUTP (BIU_BLOCK+0x30) /* Priority Request Q Out */
+
+#define BIU2400_ATIO_RSPINP (BIU_BLOCK+0x3C) /* ATIO Queue In */
+#define BIU2400_ATIO_RSPOUTP (BIU_BLOCK+0x40) /* ATIO Queue Out */
#define BIU2400_R2HSTSLO (BIU_BLOCK+0x44)
#define BIU2400_R2HSTSHI (BIU_BLOCK+0x46)
@@ -469,10 +471,21 @@ typedef struct {
uint16_t param[MAILBOX_STORAGE];
uint16_t ibits;
uint16_t obits;
- uint32_t : 28,
+ uint32_t
+ lineno : 16,
+ : 12,
logval : 4;
uint32_t timeout;
+ const char *func;
} mbreg_t;
+#define MBSINIT(mbxp, code, loglev, timo) \
+ ISP_MEMZERO((mbxp), sizeof (mbreg_t)); \
+ (mbxp)->param[0] = code; \
+ (mbxp)->lineno = __LINE__; \
+ (mbxp)->func = __func__; \
+ (mbxp)->logval = loglev; \
+ (mbxp)->timeout = timo
+
/*
* Fibre Protocol Module and Frame Buffer Register Offsets/Definitions (2X00).
OpenPOWER on IntegriCloud