aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2020-09-17 22:14:11 +0000
committerNavdeep Parhar <np@FreeBSD.org>2020-09-17 22:14:11 +0000
commit88c9c3f4dd5fc583a308068d5f31b7c15f4deada (patch)
treee211aac6bcf9c5e3467e3965505faf75ab3f80e3
parent60365150aee30d887838ee767c6faa96107e4fb7 (diff)
downloadsrc-88c9c3f4dd5fc583a308068d5f31b7c15f4deada.tar.gz
src-88c9c3f4dd5fc583a308068d5f31b7c15f4deada.zip
cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0.
Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
Notes
Notes: svn path=/head/; revision=365861
-rw-r--r--sys/conf/files6
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.24.12.0.binbin568832 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.25.0.0.bin0
-rw-r--r--sys/dev/cxgbe/firmware/t4fw_interface.h66
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.24.12.0.binbin673280 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.25.0.0.bin0
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.24.12.0.binbin727552 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.25.0.0.bin0
-rw-r--r--sys/dev/cxgbe/firmware/t6fw_cfg.txt6
-rw-r--r--sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt12
-rw-r--r--sys/modules/cxgbe/t4_firmware/Makefile2
-rw-r--r--sys/modules/cxgbe/t5_firmware/Makefile2
-rw-r--r--sys/modules/cxgbe/t6_firmware/Makefile2
13 files changed, 72 insertions, 24 deletions
diff --git a/sys/conf/files b/sys/conf/files
index 9e8b8085c256..39a2a50e54af 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1514,7 +1514,7 @@ t4fw.fwo optional cxgbe \
no-implicit-rule \
clean "t4fw.fwo"
t4fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t4fw-1.24.12.0.bin" \
+ dependency "$S/dev/cxgbe/firmware/t4fw-1.25.0.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t4fw.fw"
@@ -1548,7 +1548,7 @@ t5fw.fwo optional cxgbe \
no-implicit-rule \
clean "t5fw.fwo"
t5fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t5fw-1.24.12.0.bin" \
+ dependency "$S/dev/cxgbe/firmware/t5fw-1.25.0.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t5fw.fw"
@@ -1582,7 +1582,7 @@ t6fw.fwo optional cxgbe \
no-implicit-rule \
clean "t6fw.fwo"
t6fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t6fw-1.24.12.0.bin" \
+ dependency "$S/dev/cxgbe/firmware/t6fw-1.25.0.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t6fw.fw"
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.24.12.0.bin b/sys/dev/cxgbe/firmware/t4fw-1.24.12.0.bin
deleted file mode 100644
index 794fb8f1426a..000000000000
--- a/sys/dev/cxgbe/firmware/t4fw-1.24.12.0.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.25.0.0.bin b/sys/dev/cxgbe/firmware/t4fw-1.25.0.0.bin
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t4fw-1.25.0.0.bin
diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h b/sys/dev/cxgbe/firmware/t4fw_interface.h
index 66e62199e23d..93f028e3ab72 100644
--- a/sys/dev/cxgbe/firmware/t4fw_interface.h
+++ b/sys/dev/cxgbe/firmware/t4fw_interface.h
@@ -4690,6 +4690,7 @@ enum fw_caps_config_crypto {
FW_CAPS_CONFIG_CRYPTO_LOOKASIDE = 0x00000001,
FW_CAPS_CONFIG_TLSKEYS = 0x00000002,
FW_CAPS_CONFIG_IPSEC_INLINE = 0x00000004,
+ FW_CAPS_CONFIG_TLS_HW = 0x00000008,
};
enum fw_caps_config_fcoe {
@@ -4838,6 +4839,7 @@ enum fw_params_param_dev {
FW_PARAMS_PARAM_DEV_TCB_CACHE_FLUSH = 0x2D,
FW_PARAMS_PARAM_DEV_FILTER = 0x2E,
FW_PARAMS_PARAM_DEV_CLIP2_CMD = 0x2F,
+ FW_PARAMS_PARAM_DEV_KTLS_HW = 0x31,
};
/*
@@ -4874,6 +4876,13 @@ enum fw_params_param_dev_filter{
FW_PARAM_DEV_FILTER_MODE_MASK = 0x01,
};
+enum fw_params_param_dev_ktls_hw {
+ FW_PARAMS_PARAM_DEV_KTLS_HW_DISABLE = 0x00,
+ FW_PARAMS_PARAM_DEV_KTLS_HW_ENABLE = 0x01,
+ FW_PARAMS_PARAM_DEV_KTLS_HW_USER_DISABLE = 0x00,
+ FW_PARAMS_PARAM_DEV_KTLS_HW_USER_ENABLE = 0x01,
+};
+
enum fw_params_param_dev_fwcache {
FW_PARAM_DEV_FWCACHE_FLUSH = 0x00,
FW_PARAM_DEV_FWCACHE_FLUSHINV = 0x01,
@@ -9638,6 +9647,7 @@ struct fw_debug_cmd {
enum fw_diag_cmd_type {
FW_DIAG_CMD_TYPE_OFLDIAG = 0,
+ FW_DIAG_CMD_TYPE_MEM_TEST_DIAG,
};
enum fw_diag_cmd_ofldiag_op {
@@ -9654,6 +9664,22 @@ enum fw_diag_cmd_ofldiag_status {
FW_DIAG_CMD_OFLDIAG_STATUS_PASSED,
};
+enum fw_diag_cmd_memdiag_op {
+ FW_DIAG_CMD_MEMDIAG_TEST_START=1,
+ FW_DIAG_CMD_MEMDIAG_TEST_STOP,
+ FW_DIAG_CMD_MEMDIAG_TEST_STATUS,
+ FW_DIAG_CMD_MEMDIAG_TEST_INIT,
+};
+
+
+enum fw_diag_cmd_memdiag_status {
+ FW_DIAG_CMD_MEMDIAG_STATUS_NONE,
+ FW_DIAG_CMD_MEMDIAG_STATUS_RUNNING,
+ FW_DIAG_CMD_MEMDIAG_STATUS_FAILED,
+ FW_DIAG_CMD_MEMDIAG_STATUS_PASSED
+};
+
+
struct fw_diag_cmd {
__be32 op_type;
__be32 len16_pkd;
@@ -9664,14 +9690,32 @@ struct fw_diag_cmd {
__be16 test_status;
__be32 duration;
} ofldiag;
+ struct fw_diag_test_memtest_diag {
+ __u8 test_op;
+ __u8 test_status;
+ __be16 size; /* in KB */
+ __be32 duration; /* in seconds */
+ } memdiag;
} u;
};
-#define S_FW_DIAG_CMD_TYPE 0
-#define M_FW_DIAG_CMD_TYPE 0xff
-#define V_FW_DIAG_CMD_TYPE(x) ((x) << S_FW_DIAG_CMD_TYPE)
-#define G_FW_DIAG_CMD_TYPE(x) \
- (((x) >> S_FW_DIAG_CMD_TYPE) & M_FW_DIAG_CMD_TYPE)
+#define S_FW_DIAG_CMD_OPCODE 24
+#define M_FW_DIAG_CMD_OPCODE 0xff
+#define V_FW_DIAG_CMD_OPCODE(x) ((x) << S_FW_DIAG_CMD_OPCODE)
+#define G_FW_DIAG_CMD_OPCODE(x) \
+ (((x) >> S_FW_DIAG_CMD_OPCODE) & M_FW_DIAG_CMD_OPCODE)
+
+#define S_FW_DIAG_CMD_TYPE 0
+#define M_FW_DIAG_CMD_TYPE 0xff
+#define V_FW_DIAG_CMD_TYPE(x) ((x) << S_FW_DIAG_CMD_TYPE)
+#define G_FW_DIAG_CMD_TYPE(x) \
+ (((x) >> S_FW_DIAG_CMD_TYPE) & M_FW_DIAG_CMD_TYPE)
+
+#define S_FW_DIAG_CMD_LEN16 0
+#define M_FW_DIAG_CMD_LEN16 0xff
+#define V_FW_DIAG_CMD_LEN16(x) ((x) << S_FW_DIAG_CMD_LEN16)
+#define G_FW_DIAG_CMD_LEN16(x) \
+ (((x) >> S_FW_DIAG_CMD_LEN16) & M_FW_DIAG_CMD_LEN16)
struct fw_hma_cmd {
__be32 op_pkd;
@@ -9939,18 +9983,18 @@ enum fw_hdr_chip {
enum {
T4FW_VERSION_MAJOR = 1,
- T4FW_VERSION_MINOR = 24,
- T4FW_VERSION_MICRO = 12,
+ T4FW_VERSION_MINOR = 25,
+ T4FW_VERSION_MICRO = 0,
T4FW_VERSION_BUILD = 0,
T5FW_VERSION_MAJOR = 1,
- T5FW_VERSION_MINOR = 24,
- T5FW_VERSION_MICRO = 12,
+ T5FW_VERSION_MINOR = 25,
+ T5FW_VERSION_MICRO = 0,
T5FW_VERSION_BUILD = 0,
T6FW_VERSION_MAJOR = 1,
- T6FW_VERSION_MINOR = 24,
- T6FW_VERSION_MICRO = 12,
+ T6FW_VERSION_MINOR = 25,
+ T6FW_VERSION_MICRO = 0,
T6FW_VERSION_BUILD = 0,
};
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.24.12.0.bin b/sys/dev/cxgbe/firmware/t5fw-1.24.12.0.bin
deleted file mode 100644
index d3a8df58c910..000000000000
--- a/sys/dev/cxgbe/firmware/t5fw-1.24.12.0.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.25.0.0.bin b/sys/dev/cxgbe/firmware/t5fw-1.25.0.0.bin
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t5fw-1.25.0.0.bin
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.24.12.0.bin b/sys/dev/cxgbe/firmware/t6fw-1.24.12.0.bin
deleted file mode 100644
index 67869335b63b..000000000000
--- a/sys/dev/cxgbe/firmware/t6fw-1.24.12.0.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.25.0.0.bin b/sys/dev/cxgbe/firmware/t6fw-1.25.0.0.bin
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t6fw-1.25.0.0.bin
diff --git a/sys/dev/cxgbe/firmware/t6fw_cfg.txt b/sys/dev/cxgbe/firmware/t6fw_cfg.txt
index a53bd673fa7a..0f15a1a59ccb 100644
--- a/sys/dev/cxgbe/firmware/t6fw_cfg.txt
+++ b/sys/dev/cxgbe/firmware/t6fw_cfg.txt
@@ -41,8 +41,8 @@
# TP OFLD MTUs
tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600
- # enable TP_OUT_CONFIG.IPIDSPLITMODE and CRXPKTENC
- reg[0x7d04] = 0x00010008/0x00010008
+ # enable TP_OUT_CONFIG.IPIDSplitMode, CRxPktEnc, and CCplAckMode.
+ reg[0x7d04] = 0x00012008/0x00012008
# TP_GLOBAL_CONFIG
reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable
@@ -272,7 +272,7 @@
[fini]
version = 0x1
- checksum = 0x4528a6ac
+ checksum = 0x13640470
#
# $FreeBSD$
#
diff --git a/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt b/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
index 080894f43f40..2a32e3b15900 100644
--- a/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
+++ b/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
@@ -110,7 +110,8 @@
sge_dbq_timer = 3, 2, 1, 5, 7, 9, 12, 16
# enable TP_OUT_CONFIG.IPIDSPLITMODE
- reg[0x7d04] = 0x00010000/0x00010000
+ # Set TP_OUT_CONFIG.CCplAckMode to get srtt/rttvar
+ reg[0x7d04] = 0x00012000/0x00012000
reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT
@@ -200,6 +201,9 @@
hma_size = 92 # Size (in MBs) of host memory expected
hma_regions = stag,pbl,rq # What all regions to place in host memory
+ #enable bottleneck-bw congestion control mode
+ #ofld_flags = 4
+
# Some "definitions" to make the rest of this a bit more readable. We support
# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets"
# per function per port ...
@@ -426,7 +430,7 @@
nserver = 496 # number of server region entries
nhash = 12288 # number of hash region entries
nhpfilter = 64 # number of high priority filter region entries
- protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif, tlskeys, crypto_lookaside, ipsec_inline, nic_hashfilter
+ protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif, tlskeys, crypto_lookaside, ipsec_inline, nic_hashfilter, nic_ktls_ofld
tp_l2t = 3072
tp_ddp = 2
tp_ddp_iscsi = 2
@@ -588,7 +592,7 @@
[fini]
version = 0x1425001d
- checksum = 0x14a022cd
+ checksum = 0xa1403d73
# Total resources used by above allocations:
# Virtual Interfaces: 104
@@ -599,4 +603,4 @@
# Virtual Functions: 64
#
# $FreeBSD$
-# \ No newline at end of file
+#
diff --git a/sys/modules/cxgbe/t4_firmware/Makefile b/sys/modules/cxgbe/t4_firmware/Makefile
index bf0aac8b592b..591e7a08ecb1 100644
--- a/sys/modules/cxgbe/t4_firmware/Makefile
+++ b/sys/modules/cxgbe/t4_firmware/Makefile
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T4FW_VER= 1.24.12.0
+T4FW_VER= 1.25.0.0
FIRMWS+= t4fw-${T4FW_VER}.bin:t4fw:${T4FW_VER}
.include <bsd.kmod.mk>
diff --git a/sys/modules/cxgbe/t5_firmware/Makefile b/sys/modules/cxgbe/t5_firmware/Makefile
index 0575e6da42c7..8c62248bfdca 100644
--- a/sys/modules/cxgbe/t5_firmware/Makefile
+++ b/sys/modules/cxgbe/t5_firmware/Makefile
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T5FW_VER= 1.24.12.0
+T5FW_VER= 1.25.0.0
FIRMWS+= t5fw-${T5FW_VER}.bin:t5fw:${T5FW_VER}
.include <bsd.kmod.mk>
diff --git a/sys/modules/cxgbe/t6_firmware/Makefile b/sys/modules/cxgbe/t6_firmware/Makefile
index 6d175d54c7fd..5c531c6c972a 100644
--- a/sys/modules/cxgbe/t6_firmware/Makefile
+++ b/sys/modules/cxgbe/t6_firmware/Makefile
@@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
-T6FW_VER= 1.24.12.0
+T6FW_VER= 1.25.0.0
FIRMWS+= t6fw-${T6FW_VER}.bin:t6fw:${T6FW_VER}
.include <bsd.kmod.mk>