aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2021-05-25 20:47:06 +0000
committerNavdeep Parhar <np@FreeBSD.org>2021-10-20 17:30:56 +0000
commit20cbc6676b87a00813b73676d9bcb390a41ce479 (patch)
treee2315224025430fbf44eea14f6236833bd2662a7
parentdf667b59d76fefc9fafa3a02ed162c58e6aa5199 (diff)
downloadsrc-20cbc6676b87a00813b73676d9bcb390a41ce479.tar.gz
src-20cbc6676b87a00813b73676d9bcb390a41ce479.zip
cxgbe(4): Update firmwares to 1.25.6.0.
Changes since 1.25.0.0 are listed here. This list comes from the Release Notes for the "Chelsio Unified Wire v3.14.0.3 for Linux" release dated 2021-05-21. Fixes ----- BASE: - Fixed Back to back T6 100G-CR4 link coming up with NO FEC sometimes. - [T5] Try to bring up link in 1G speed if link doesn't come up on 10G. - Fixed a bug to not allow BaseR fec in 100G speed. - Fixed linkup issues on BT adapter in 1G and 100M speed. - Fixed an issue to allow driver to send VI_ENABLE multiple times (once with rx disable and then later rx enable). - Fixed rate limiting not working on class number 16 to 30. - Fixed backward compatibility issue in port type interpretation with vpd version 0x80. ETH: - Fixed a case when firmware failed to deliver NIC WR completion to host. - No rate limit support for WR ETH_TX_PKTS2 due to performance reasons. OFLD - Fixed a connection hang in SO adapters when tp_plen_max (set by driver) is more than the window size. - Added fw_filter_vnic_mode to firmware API file (t4fw_interface.h) - Use correct rx channel in coprocessor crypto completion (CPL_FW6_PLD). This was causing out of order completion to host. FOiSCSI - Fixed a crash due to unaligned access of ipv6 address. - Fixed a crash during lun reset. Enhancements ------------ ETH: - Rate limiting support added for encapsulated (vxlan, nvgre, geneve) NIC TCP packets. OFLD: - More than 128 SGLs supported in FW_RI_FR_NSMR_WR. Now, more than 16GB (upto 64GB) of PBLs can be written with single FW_RI_FR_NSMR_WR. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications (cherry picked from commit e0fa04e257c1af4c793a70a124ba41e592570c14)
-rw-r--r--sys/conf/files6
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.25.0.40.binbin569856 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t4fw-1.25.6.0.binbin0 -> 570368 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t4fw_interface.h23
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.25.0.40.binbin673792 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t5fw-1.25.6.0.binbin0 -> 675840 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.25.0.40.binbin731648 -> 0 bytes
-rw-r--r--sys/dev/cxgbe/firmware/t6fw-1.25.6.0.binbin0 -> 730112 bytes
-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
11 files changed, 19 insertions, 16 deletions
diff --git a/sys/conf/files b/sys/conf/files
index 40bba75d4fbc..30f1a0940a8e 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1523,7 +1523,7 @@ t4fw.fwo optional cxgbe \
no-implicit-rule \
clean "t4fw.fwo"
t4fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t4fw-1.25.0.40.bin" \
+ dependency "$S/dev/cxgbe/firmware/t4fw-1.25.6.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t4fw.fw"
@@ -1557,7 +1557,7 @@ t5fw.fwo optional cxgbe \
no-implicit-rule \
clean "t5fw.fwo"
t5fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t5fw-1.25.0.40.bin" \
+ dependency "$S/dev/cxgbe/firmware/t5fw-1.25.6.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t5fw.fw"
@@ -1591,7 +1591,7 @@ t6fw.fwo optional cxgbe \
no-implicit-rule \
clean "t6fw.fwo"
t6fw.fw optional cxgbe \
- dependency "$S/dev/cxgbe/firmware/t6fw-1.25.0.40.bin" \
+ dependency "$S/dev/cxgbe/firmware/t6fw-1.25.6.0.bin" \
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
no-obj no-implicit-rule \
clean "t6fw.fw"
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.25.0.40.bin b/sys/dev/cxgbe/firmware/t4fw-1.25.0.40.bin
deleted file mode 100644
index 075478fdf040..000000000000
--- a/sys/dev/cxgbe/firmware/t4fw-1.25.0.40.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t4fw-1.25.6.0.bin b/sys/dev/cxgbe/firmware/t4fw-1.25.6.0.bin
new file mode 100644
index 000000000000..45e805198f59
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t4fw-1.25.6.0.bin
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h b/sys/dev/cxgbe/firmware/t4fw_interface.h
index 30a2e1760052..0f877cb5a045 100644
--- a/sys/dev/cxgbe/firmware/t4fw_interface.h
+++ b/sys/dev/cxgbe/firmware/t4fw_interface.h
@@ -4839,7 +4839,9 @@ 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_DEV_512SGL_MR = 0x30,
FW_PARAMS_PARAM_DEV_KTLS_HW = 0x31,
+ FW_PARAMS_PARAM_DEV_VI_ENABLE_INGRESS_AFTER_LINKUP = 0x32,
};
/*
@@ -4874,11 +4876,12 @@ enum fw_params_param_dev_diag {
enum fw_params_param_dev_filter{
FW_PARAM_DEV_FILTER_VNIC_MODE = 0x00,
FW_PARAM_DEV_FILTER_MODE_MASK = 0x01,
+};
- /* VNIC modes */
- FW_VNIC_MODE_PF_VF = 0,
- FW_VNIC_MODE_OUTER_VLAN = 1,
- FW_VNIC_MODE_ENCAP_EN = 2,
+enum fw_filter_vnic_mode {
+ FW_VNIC_MODE_PF_VF = 0,
+ FW_VNIC_MODE_OUTER_VLAN = 1,
+ FW_VNIC_MODE_ENCAP_EN = 2,
};
enum fw_params_param_dev_ktls_hw {
@@ -9989,18 +9992,18 @@ enum fw_hdr_chip {
enum {
T4FW_VERSION_MAJOR = 1,
T4FW_VERSION_MINOR = 25,
- T4FW_VERSION_MICRO = 0,
- T4FW_VERSION_BUILD = 40,
+ T4FW_VERSION_MICRO = 6,
+ T4FW_VERSION_BUILD = 0,
T5FW_VERSION_MAJOR = 1,
T5FW_VERSION_MINOR = 25,
- T5FW_VERSION_MICRO = 0,
- T5FW_VERSION_BUILD = 40,
+ T5FW_VERSION_MICRO = 6,
+ T5FW_VERSION_BUILD = 0,
T6FW_VERSION_MAJOR = 1,
T6FW_VERSION_MINOR = 25,
- T6FW_VERSION_MICRO = 0,
- T6FW_VERSION_BUILD = 40,
+ T6FW_VERSION_MICRO = 6,
+ T6FW_VERSION_BUILD = 0,
};
enum {
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.25.0.40.bin b/sys/dev/cxgbe/firmware/t5fw-1.25.0.40.bin
deleted file mode 100644
index 1d115d65a1ba..000000000000
--- a/sys/dev/cxgbe/firmware/t5fw-1.25.0.40.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t5fw-1.25.6.0.bin b/sys/dev/cxgbe/firmware/t5fw-1.25.6.0.bin
new file mode 100644
index 000000000000..6c2d1374c87a
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t5fw-1.25.6.0.bin
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.25.0.40.bin b/sys/dev/cxgbe/firmware/t6fw-1.25.0.40.bin
deleted file mode 100644
index acddb1cf8bfd..000000000000
--- a/sys/dev/cxgbe/firmware/t6fw-1.25.0.40.bin
+++ /dev/null
Binary files differ
diff --git a/sys/dev/cxgbe/firmware/t6fw-1.25.6.0.bin b/sys/dev/cxgbe/firmware/t6fw-1.25.6.0.bin
new file mode 100644
index 000000000000..1cf05565ffff
--- /dev/null
+++ b/sys/dev/cxgbe/firmware/t6fw-1.25.6.0.bin
Binary files differ
diff --git a/sys/modules/cxgbe/t4_firmware/Makefile b/sys/modules/cxgbe/t4_firmware/Makefile
index f5bc4830771b..48ac2766a560 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.25.0.40
+T4FW_VER= 1.25.6.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 89106cb4a497..3b54df8b222b 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.25.0.40
+T5FW_VER= 1.25.6.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 071db2bab2dc..e7b39839b5e4 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.25.0.40
+T6FW_VER= 1.25.6.0
FIRMWS+= t6fw-${T6FW_VER}.bin:t6fw:${T6FW_VER}
.include <bsd.kmod.mk>