svn commit: r220339 - in stable/8/sys: dev/cxgbe dev/cxgbe/common modules/cxgbe modules/cxgbe/if_cxgbe

Navdeep Parhar np at FreeBSD.org
Mon Apr 4 18:47:18 UTC 2011


Author: np
Date: Mon Apr  4 18:47:17 2011
New Revision: 220339
URL: http://svn.freebsd.org/changeset/base/220339

Log:
  MFC r220231, r220232
  
  r220231:
  Allow multiple modules within sys/modules/cxgbe.  The first one is if_cxgbe.
  
  r220232:
  Update header and related code for firmware 1.3.8

Added:
  stable/8/sys/modules/cxgbe/if_cxgbe/
     - copied from r220231, head/sys/modules/cxgbe/if_cxgbe/
Replaced:
  stable/8/sys/modules/cxgbe/Makefile
     - copied unchanged from r220231, head/sys/modules/cxgbe/Makefile
Modified:
  stable/8/sys/dev/cxgbe/common/common.h
  stable/8/sys/dev/cxgbe/common/t4fw_interface.h
  stable/8/sys/dev/cxgbe/t4_main.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/dev/cxgbe/common/common.h
==============================================================================
--- stable/8/sys/dev/cxgbe/common/common.h	Mon Apr  4 18:39:04 2011	(r220338)
+++ stable/8/sys/dev/cxgbe/common/common.h	Mon Apr  4 18:47:17 2011	(r220339)
@@ -54,7 +54,7 @@ enum {
 
 #define FW_VERSION_MAJOR 1
 #define FW_VERSION_MINOR 3
-#define FW_VERSION_MICRO 0
+#define FW_VERSION_MICRO 8
 
 struct port_stats {
 	u64 tx_octets;            /* total # of octets in good frames */

Modified: stable/8/sys/dev/cxgbe/common/t4fw_interface.h
==============================================================================
--- stable/8/sys/dev/cxgbe/common/t4fw_interface.h	Mon Apr  4 18:39:04 2011	(r220338)
+++ stable/8/sys/dev/cxgbe/common/t4fw_interface.h	Mon Apr  4 18:47:17 2011	(r220339)
@@ -47,7 +47,7 @@ enum fw_retval {
 	FW_ENOSYS		= 38,	/* functionality not implemented */
 	FW_EPROTO		= 71,	/* protocol error */
 	FW_ETIMEDOUT		= 110,	/* timeout */
-	FW_TIMEDOUT		= 110,	/* timeout */
+	FW_EINPROGRESS		= 115,	/* fw internal */
 	FW_SCSI_ABORT_REQUESTED	= 128,	/* */
 	FW_SCSI_ABORT_TIMEDOUT	= 129,	/* */
 	FW_SCSI_ABORTED		= 130,	/* */
@@ -3934,13 +3934,11 @@ enum fw_port_cap {
 	FW_PORT_CAP_FC_RX		= 0x0040,
 	FW_PORT_CAP_FC_TX		= 0x0080,
 	FW_PORT_CAP_ANEG		= 0x0100,
-	FW_PORT_CAP_MDI_0		= 0x0200,
-	FW_PORT_CAP_MDI_1		= 0x0400,
-	FW_PORT_CAP_BEAN		= 0x0800,
-	FW_PORT_CAP_PMA_LPBK		= 0x1000,
-	FW_PORT_CAP_PCS_LPBK		= 0x2000,
-	FW_PORT_CAP_PHYXS_LPBK		= 0x4000,
-	FW_PORT_CAP_FAR_END_LPBK	= 0x8000,
+	FW_PORT_CAP_MDIX		= 0x0200,
+	FW_PORT_CAP_MDIAUTO		= 0x0400,
+	FW_PORT_CAP_FEC			= 0x0800,
+	FW_PORT_CAP_TECHKR		= 0x1000,
+	FW_PORT_CAP_TECHKX4		= 0x2000,
 };
 
 #define S_FW_PORT_CAP_SPEED	0
@@ -3955,6 +3953,12 @@ enum fw_port_cap {
 #define G_FW_PORT_CAP_FC(x) \
     (((x) >> S_FW_PORT_CAP_FC) & M_FW_PORT_CAP_FC)
 
+#define S_FW_PORT_CAP_ANEG	8
+#define M_FW_PORT_CAP_ANEG	0x1
+#define V_FW_PORT_CAP_ANEG(x)	((x) << S_FW_PORT_CAP_ANEG)
+#define G_FW_PORT_CAP_ANEG(x) \
+    (((x) >> S_FW_PORT_CAP_ANEG) & M_FW_PORT_CAP_ANEG)
+
 enum fw_port_mdi {
 	FW_PORT_CAP_MDI_UNCHANGED,
 	FW_PORT_CAP_MDI_AUTO,
@@ -4253,16 +4257,16 @@ enum fw_port_type {
 /* These are read from module's EEPROM and determined once the
    module is inserted. */
 enum fw_port_module_type {
-	FW_PORT_MOD_TYPE_NA,
-	FW_PORT_MOD_TYPE_LR = 0x1,
-	FW_PORT_MOD_TYPE_SR = 0x2,
-	FW_PORT_MOD_TYPE_ER = 0x3,
-	FW_PORT_MOD_TYPE_TWINAX_PASSIVE = 0x4,
-	FW_PORT_MOD_TYPE_TWINAX_ACTIVE = 0x5,
-
-	FW_PORT_MOD_TYPE_LRM = 0x6,
-
-	FW_PORT_MOD_TYPE_NONE = M_FW_PORT_CMD_MODTYPE
+	FW_PORT_MOD_TYPE_NA		= 0x0,
+	FW_PORT_MOD_TYPE_LR		= 0x1,
+	FW_PORT_MOD_TYPE_SR		= 0x2,
+	FW_PORT_MOD_TYPE_ER		= 0x3,
+	FW_PORT_MOD_TYPE_TWINAX_PASSIVE	= 0x4,
+	FW_PORT_MOD_TYPE_TWINAX_ACTIVE	= 0x5,
+	FW_PORT_MOD_TYPE_LRM		= 0x6,
+	FW_PORT_MOD_TYPE_UNKNOWN	= M_FW_PORT_CMD_MODTYPE - 2,
+	FW_PORT_MOD_TYPE_NOTSUPPORTED	= M_FW_PORT_CMD_MODTYPE - 1,
+	FW_PORT_MOD_TYPE_NONE		= M_FW_PORT_CMD_MODTYPE
 };
 
 /* used by FW and tools may use this to generate VPD */

Modified: stable/8/sys/dev/cxgbe/t4_main.c
==============================================================================
--- stable/8/sys/dev/cxgbe/t4_main.c	Mon Apr  4 18:39:04 2011	(r220338)
+++ stable/8/sys/dev/cxgbe/t4_main.c	Mon Apr  4 18:47:17 2011	(r220339)
@@ -2748,11 +2748,15 @@ t4_os_portmod_changed(const struct adapt
 {
 	struct port_info *pi = sc->port[idx];
 	static const char *mod_str[] = {
-		NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX"
+		NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM"
 	};
 
 	if (pi->mod_type == FW_PORT_MOD_TYPE_NONE)
 		if_printf(pi->ifp, "transceiver unplugged.\n");
+	else if (pi->mod_type == FW_PORT_MOD_TYPE_UNKNOWN)
+		if_printf(pi->ifp, "unknown transceiver inserted.\n");
+	else if (pi->mod_type == FW_PORT_MOD_TYPE_NOTSUPPORTED)
+		if_printf(pi->ifp, "unsupported transceiver inserted.\n");
 	else if (pi->mod_type > 0 && pi->mod_type < ARRAY_SIZE(mod_str)) {
 		if_printf(pi->ifp, "%s transceiver inserted.\n",
 		    mod_str[pi->mod_type]);

Copied: stable/8/sys/modules/cxgbe/Makefile (from r220231, head/sys/modules/cxgbe/Makefile)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/8/sys/modules/cxgbe/Makefile	Mon Apr  4 18:47:17 2011	(r220339, copy of r220231, head/sys/modules/cxgbe/Makefile)
@@ -0,0 +1,7 @@
+#
+# $FreeBSD$
+#
+
+SUBDIR = if_cxgbe
+
+.include <bsd.subdir.mk>


More information about the svn-src-stable-8 mailing list