[Midnightbsd-cvs] src [8195] trunk/sys: update interface to firmware 1.5.2
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Sep 17 11:42:51 EDT 2016
Revision: 8195
http://svnweb.midnightbsd.org/src/?rev=8195
Author: laffer1
Date: 2016-09-17 11:42:51 -0400 (Sat, 17 Sep 2016)
Log Message:
-----------
update interface to firmware 1.5.2
Modified Paths:
--------------
trunk/sys/dev/cxgbe/common/common.h
trunk/sys/dev/cxgbe/firmware/t4fw_interface.h
trunk/sys/modules/cxgbe/firmware/Makefile
Modified: trunk/sys/dev/cxgbe/common/common.h
===================================================================
--- trunk/sys/dev/cxgbe/common/common.h 2016-09-17 15:42:11 UTC (rev 8194)
+++ trunk/sys/dev/cxgbe/common/common.h 2016-09-17 15:42:51 UTC (rev 8195)
@@ -64,7 +64,7 @@
};
#define FW_VERSION_MAJOR 1
-#define FW_VERSION_MINOR 5
+#define FW_VERSION_MINOR 6
#define FW_VERSION_MICRO 2
struct port_stats {
Modified: trunk/sys/dev/cxgbe/firmware/t4fw_interface.h
===================================================================
--- trunk/sys/dev/cxgbe/firmware/t4fw_interface.h 2016-09-17 15:42:11 UTC (rev 8194)
+++ trunk/sys/dev/cxgbe/firmware/t4fw_interface.h 2016-09-17 15:42:51 UTC (rev 8195)
@@ -720,6 +720,7 @@
FW_FLOWC_MNEM_TCPSTATE,
FW_FLOWC_MNEM_UOSTATE,
FW_FLOWC_MNEM_SCHEDCLASS,
+ FW_FLOWC_MNEM_DCBPRIO,
};
struct fw_flowc_mnemval {
@@ -1732,7 +1733,7 @@
#define FW_FOISCSI_NAME_MAX_LEN 224
#define FW_FOISCSI_ALIAS_MAX_LEN 224
-#define FW_FOISCSI_MAX_CHAP_NAME_LEN 64
+#define FW_FOISCSI_CHAP_SEC_MAX_LEN 128
#define FW_FOISCSI_INIT_NODE_MAX 8
enum fw_chnet_ifconf_wr_subop {
@@ -1798,6 +1799,11 @@
} param;
};
+enum fw_foiscsi_node_type {
+ FW_FOISCSI_NODE_TYPE_INITIATOR = 0,
+ FW_FOISCSI_NODE_TYPE_TARGET,
+};
+
enum fw_foiscsi_session_type {
FW_FOISCSI_SESSION_TYPE_DISCOVERY = 0,
FW_FOISCSI_SESSION_TYPE_NORMAL,
@@ -2160,7 +2166,7 @@
__be32 r1;
} sess_attr;
struct fw_foiscsi_conn_attr {
- __be32 hdigest_to_auth_policy;
+ __be32 hdigest_to_ddp_pgsz;
__be32 max_rcv_dsl;
__be32 ping_tmo;
__be16 dst_port;
@@ -2178,7 +2184,7 @@
} conn_attr;
__u8 tgt_name_len;
__u8 r3[7];
- __u8 tgt_name[224];
+ __u8 tgt_name[FW_FOISCSI_NAME_MAX_LEN];
};
#define S_FW_FOISCSI_CTRL_WR_SESS_TYPE 30
@@ -2262,6 +2268,13 @@
(((x) >> S_FW_FOISCSI_CTRL_WR_AUTH_POLICY) & \
M_FW_FOISCSI_CTRL_WR_AUTH_POLICY)
+#define S_FW_FOISCSI_CTRL_WR_DDP_PGSZ 21
+#define M_FW_FOISCSI_CTRL_WR_DDP_PGSZ 0x3
+#define V_FW_FOISCSI_CTRL_WR_DDP_PGSZ(x) \
+ ((x) << S_FW_FOISCSI_CTRL_WR_DDP_PGSZ)
+#define G_FW_FOISCSI_CTRL_WR_DDP_PGSZ(x) \
+ (((x) >> S_FW_FOISCSI_CTRL_WR_DDP_PGSZ) & M_FW_FOISCSI_CTRL_WR_DDP_PGSZ)
+
struct fw_foiscsi_chap_wr {
__be32 op_compl;
__be32 flowid_len16;
@@ -2269,14 +2282,11 @@
__u8 status;
__u8 id_len;
__u8 sec_len;
- __u8 tgt_id_len;
- __u8 tgt_sec_len;
+ __u8 node_type;
__be16 node_id;
- __u8 r2;
- __u8 chap_id[64];
- __u8 chap_sec[16];
- __u8 tgt_id[64];
- __u8 tgt_sec[16];
+ __u8 r3[2];
+ __u8 chap_id[FW_FOISCSI_NAME_MAX_LEN];
+ __u8 chap_sec[FW_FOISCSI_CHAP_SEC_MAX_LEN];
};
/******************************************************************************
@@ -3408,6 +3418,9 @@
FW_PARAMS_PARAM_DEV_TPREV = 0x0C,
FW_PARAMS_PARAM_DEV_CF = 0x0D,
FW_PARAMS_PARAM_DEV_BYPASS = 0x0E,
+ FW_PARAMS_PARAM_DEV_PHYFW = 0x0F,
+ FW_PARAMS_PARAM_DEV_LOAD = 0x10,
+ FW_PARAMS_PARAM_DEV_DIAG = 0x11,
};
/*
@@ -3484,6 +3497,15 @@
FW_PARAMS_PARAM_DEV_BYPASS_BYPASS = 0x2,
};
+enum fw_params_phyfw_actions {
+ FW_PARAMS_PARAM_PHYFW_DOWNLOAD = 0x00,
+ FW_PARAMS_PARAM_PHYFW_VERSION = 0x01,
+};
+
+enum fw_params_param_dev_diag {
+ FW_PARAM_DEV_DIAG_TMP = 0x00,
+};
+
#define S_FW_PARAMS_MNEM 24
#define M_FW_PARAMS_MNEM 0xff
#define V_FW_PARAMS_MNEM(x) ((x) << S_FW_PARAMS_MNEM)
@@ -5163,6 +5185,13 @@
(((x) >> S_FW_VI_ENABLE_CMD_LED) & M_FW_VI_ENABLE_CMD_LED)
#define F_FW_VI_ENABLE_CMD_LED V_FW_VI_ENABLE_CMD_LED(1U)
+#define S_FW_VI_ENABLE_CMD_DCB_INFO 28
+#define M_FW_VI_ENABLE_CMD_DCB_INFO 0x1
+#define V_FW_VI_ENABLE_CMD_DCB_INFO(x) ((x) << S_FW_VI_ENABLE_CMD_DCB_INFO)
+#define G_FW_VI_ENABLE_CMD_DCB_INFO(x) \
+ (((x) >> S_FW_VI_ENABLE_CMD_DCB_INFO) & M_FW_VI_ENABLE_CMD_DCB_INFO)
+#define F_FW_VI_ENABLE_CMD_DCB_INFO V_FW_VI_ENABLE_CMD_DCB_INFO(1U)
+
/* VI VF stats offset definitions */
#define VI_VF_NUM_STATS 16
enum fw_vi_stats_vf_index {
@@ -5442,6 +5471,9 @@
FW_PORT_ACTION_GET_PORT_INFO = 0x0003,
FW_PORT_ACTION_L2_PPP_CFG = 0x0004,
FW_PORT_ACTION_L2_DCB_CFG = 0x0005,
+ FW_PORT_ACTION_DCB_READ_TRANS = 0x0006,
+ FW_PORT_ACTION_DCB_READ_RECV = 0x0007,
+ FW_PORT_ACTION_DCB_READ_DET = 0x0008,
FW_PORT_ACTION_LOW_PWR_TO_NORMAL = 0x0010,
FW_PORT_ACTION_L1_LOW_PWR_EN = 0x0011,
FW_PORT_ACTION_L2_WOL_MODE_EN = 0x0012,
@@ -5450,6 +5482,7 @@
FW_PORT_ACTION_MAC_LPBK = 0x0022,
FW_PORT_ACTION_L1_WS_LPBK_ASIC = 0x0023,
FW_PORT_ACTION_L1_EXT_LPBK = 0x0026,
+ FW_PORT_ACTION_DIAGNOSTICS = 0x0027,
FW_PORT_ACTION_PCS_LPBK = 0x0028,
FW_PORT_ACTION_PHY_RESET = 0x0040,
FW_PORT_ACTION_PMA_RESET = 0x0041,
@@ -5456,7 +5489,7 @@
FW_PORT_ACTION_PCS_RESET = 0x0042,
FW_PORT_ACTION_PHYXS_RESET = 0x0043,
FW_PORT_ACTION_DTEXS_REEST = 0x0044,
- FW_PORT_ACTION_AN_RESET = 0x0045
+ FW_PORT_ACTION_AN_RESET = 0x0045,
};
enum fw_port_l2cfg_ctlbf {
@@ -5486,8 +5519,13 @@
FW_PORT_DCB_TYPE_PRIORATE = 0x02,
FW_PORT_DCB_TYPE_PFC = 0x03,
FW_PORT_DCB_TYPE_APP_ID = 0x04,
+ FW_PORT_DCB_TYPE_CONTROL = 0x05,
};
+enum fw_port_diag_ops {
+ FW_PORT_DIAGS_TEMP = 0x00,
+};
+
struct fw_port_cmd {
__be32 op_to_portid;
__be32 action_to_len16;
@@ -5521,6 +5559,10 @@
__be32 r8;
__be64 r9;
} info;
+ struct fw_port_diags {
+ __be32 diagop_diagval;
+ __be32 r;
+ } diags;
union fw_port_dcb {
struct fw_port_dcb_pgid {
__u8 type;
@@ -5557,6 +5599,12 @@
__be16 protocolid;
__be64 r12;
} app_priority;
+ struct fw_port_dcb_control {
+ __u8 type;
+ __u8 all_syncd_pkd;
+ __be16 r10_lo[3];
+ __be64 r11;
+ } control;
} dcb;
} u;
};
@@ -5700,6 +5748,18 @@
#define G_FW_PORT_CMD_MODTYPE(x) \
(((x) >> S_FW_PORT_CMD_MODTYPE) & M_FW_PORT_CMD_MODTYPE)
+#define S_FW_PORT_CMD_DIAGOP 24
+#define M_FW_PORT_CMD_DIAGOP 0xff
+#define V_FW_PORT_CMD_DIAGOP(x) ((x) << S_FW_PORT_CMD_DIAGOP)
+#define G_FW_PORT_CMD_DIAGOP(x) \
+ (((x) >> S_FW_PORT_CMD_DIAGOP) & M_FW_PORT_CMD_DIAGOP)
+
+#define S_FW_PORT_CMD_DIAGVAL 0
+#define M_FW_PORT_CMD_DIAGVAL 0xffffff
+#define V_FW_PORT_CMD_DIAGVAL(x) ((x) << S_FW_PORT_CMD_DIAGVAL)
+#define G_FW_PORT_CMD_DIAGVAL(x) \
+ (((x) >> S_FW_PORT_CMD_DIAGVAL) & M_FW_PORT_CMD_DIAGVAL)
+
#define S_FW_PORT_CMD_APPLY 7
#define M_FW_PORT_CMD_APPLY 0x1
#define V_FW_PORT_CMD_APPLY(x) ((x) << S_FW_PORT_CMD_APPLY)
@@ -5707,6 +5767,13 @@
(((x) >> S_FW_PORT_CMD_APPLY) & M_FW_PORT_CMD_APPLY)
#define F_FW_PORT_CMD_APPLY V_FW_PORT_CMD_APPLY(1U)
+#define S_FW_PORT_CMD_ALL_SYNCD 7
+#define M_FW_PORT_CMD_ALL_SYNCD 0x1
+#define V_FW_PORT_CMD_ALL_SYNCD(x) ((x) << S_FW_PORT_CMD_ALL_SYNCD)
+#define G_FW_PORT_CMD_ALL_SYNCD(x) \
+ (((x) >> S_FW_PORT_CMD_ALL_SYNCD) & M_FW_PORT_CMD_ALL_SYNCD)
+#define F_FW_PORT_CMD_ALL_SYNCD V_FW_PORT_CMD_ALL_SYNCD(1U)
+
/*
* These are configured into the VPD and hence tools that generate
* VPD may use this enumeration.
@@ -5768,6 +5835,7 @@
FW_PORT_LINK_DN_RC_REMFLT,
FW_PORT_LINK_DN_ANEG_F,
FW_PORT_LINK_DN_MS_RES_F,
+ FW_PORT_LINK_DN_OVERHEAT,
FW_PORT_LINK_DN_UNKNOWN
};
@@ -6706,19 +6774,35 @@
M_FW_DEVLOG_CMD_MEMADDR16_DEVLOG)
enum fw_watchdog_actions {
- FW_WATCHDOG_ACTION_FLR = 0x1,
- FW_WATCHDOG_ACTION_BYPASS = 0x2,
+ FW_WATCHDOG_ACTION_SHUTDOWN = 0,
+ FW_WATCHDOG_ACTION_FLR = 1,
+ FW_WATCHDOG_ACTION_BYPASS = 2,
+ FW_WATCHDOG_ACTION_TMPCHK = 3,
+
+ FW_WATCHDOG_ACTION_MAX = 4,
};
#define FW_WATCHDOG_MAX_TIMEOUT_SECS 60
struct fw_watchdog_cmd {
- __be32 op_to_write;
+ __be32 op_to_vfn;
__be32 retval_len16;
__be32 timeout;
- __be32 actions;
+ __be32 action;
};
+#define S_FW_WATCHDOG_CMD_PFN 8
+#define M_FW_WATCHDOG_CMD_PFN 0x7
+#define V_FW_WATCHDOG_CMD_PFN(x) ((x) << S_FW_WATCHDOG_CMD_PFN)
+#define G_FW_WATCHDOG_CMD_PFN(x) \
+ (((x) >> S_FW_WATCHDOG_CMD_PFN) & M_FW_WATCHDOG_CMD_PFN)
+
+#define S_FW_WATCHDOG_CMD_VFN 0
+#define M_FW_WATCHDOG_CMD_VFN 0xff
+#define V_FW_WATCHDOG_CMD_VFN(x) ((x) << S_FW_WATCHDOG_CMD_VFN)
+#define G_FW_WATCHDOG_CMD_VFN(x) \
+ (((x) >> S_FW_WATCHDOG_CMD_VFN) & M_FW_WATCHDOG_CMD_VFN)
+
struct fw_clip_cmd {
__be32 op_to_write;
__be32 alloc_to_len16;
Modified: trunk/sys/modules/cxgbe/firmware/Makefile
===================================================================
--- trunk/sys/modules/cxgbe/firmware/Makefile 2016-09-17 15:42:11 UTC (rev 8194)
+++ trunk/sys/modules/cxgbe/firmware/Makefile 2016-09-17 15:42:51 UTC (rev 8195)
@@ -17,11 +17,11 @@
.endif
.endfor
-# The firmware binary is optional.
-# t4fw-<a>.<b>.<c>.<d>.bin
-FW_BIN != cd ${T4FW} && echo t4fw-*.bin
-.if exists(${FW_BIN})
-FIRMWS += ${FW_BIN}:t4fw:${FW_BIN:C/t4fw-//:C/.bin//}
-.endif
+T4FW_VER = 1.6.2.0
+FIRMWS += t4fw.fw:t4fw:${T4FW_VER}
+CLEANFILES += t4fw.fw
+t4fw.fw: t4fw-${T4FW_VER}.bin.uu
+ uudecode -o ${.TARGET} ${.ALLSRC}
+
.include <bsd.kmod.mk>
More information about the Midnightbsd-cvs
mailing list