cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0.

These firmwares were obtained from the "Chelsio T5/T4 Unified Wire
v2.12.0.3 for Linux" release.  Changes since 1.14.4.0 (which is the
firmware in -STABLE branches) are in the "Release Notes" accompanying
the Unified Wire release and are copy-pasted here as well.

22.1. T5 Firmware
+++++++++++++++++++++++++++++++++

Version : 1.15.37.0
Date    : 04/27/2016
================================================================================

FIXES
-----

BASE:
 - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress
   queue was ignored.
 - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency.
 - Fixed an issue in watchdog which was causing VM bring-up failure after reboot.
 - Fixed 40G link failures with some switches when auto-negotiation enabled.
 - Fixed to improve on link bring-up time.
 - Per port buffer groups size doubled to improve performance.
 - Fixed an issue where bogus d3hot bits were set causing traffic stall.
 - Fixed an issue where sometimes adapter was not seen after reboot.
 - Fixed an issue where iWARP was crashing in conjunction with traffic management.
 - Fixed an issue where link failed to come up after removing twinax cable and
   inserting optical module.

ETH
 - Fixed a link flap issue on T580-CR.

OFLD
 - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag.

FOiSCSI
 - Fixed an issue in recovery path where connection was getting closed before
   recovery processing was done.
 - Fixed an issue in TCP port reuse.
 - Fixed an issue in recovery path when large number (>64) of iSCSI connections
   were in use.
 - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to
   use given inerface.
 - Fixed an issue where fw was sending ENETUNREACH event for normal tcp
   disconnection.

DCBX
 - Fixed an issue where iscsi tlv is sent incorrectly to host. (DCBX CEE)
 - Fixed an issue where apply bit set for APP id was affecting the ETS and PFC
  settings.(DCBX IEEE)
 - Fixed an issue where app priority values are not handled correctly in fw.
  (DCBX IEEE)
 - Fixed an issue where enable/disable dcbx can cause crash. (DCBX CEE,DCBX IEEE)

FOFCoE
 - Removed BB6 support.

ENHANCEMENTS
------------

BASE:
 - Added new interface to program DCA settings in SGE contexts; allow 32-byte
   IQE size
 - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment.
 - Added MPS raw interface.

ETH:
 - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx.

OFLD:
 - WR opcode is returned to host in cqe error response.

22.2. T4 Firmware
+++++++++++++++++

Version : 1.15.37.0
Date    : 04/27/2016
================================================================================

FIXES
-----

BASE:
 - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue
   was ignored.
 - Fixed an issue in watchdog which was causing VM bring-up failure after reboot.
 - Per port buffer groups size doubled to improve performance.
 - Fixed an issue where iWARP was crashing in conjunction with traffic management.

FOiSCSI:
 - Fixed an issue in recovery path where connection was getting closed before
   recovery processing was done.
 - Fixed an issue in TCP port reuse.
 - Fixed an issue in recovery path when large number (>64) of iSCSI connections
   were in use.
 - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to
   use given inerface.

DCBX
 - Fixed an issue where iscsi tlv is sent incorrectly to host.(DCBX CEE)
 - Fixed an issue where enable/disable dcbx can cause crash in firmware.(DCBX CEE)

FOiSCSI
 - Fixes an issue where fw was sending ENETUNREACH event for normal tcp
   disconnection.

FOFCoE
 - Removed BB6 support.

ENHANCEMENTS
------------

BASE:
 - Added MPS raw interface.

ETH:
 - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx.
================================================================================

Obtained from:	Chelsio Communications
MFC after:	6 weeks
Relnotes:	yes
Sponsored by:	Chelsio Communications
This commit is contained in:
Navdeep Parhar 2016-05-13 17:38:59 +00:00
parent 16fba18fc0
commit 96807c23ce
8 changed files with 20076 additions and 20068 deletions

View File

@ -1263,7 +1263,7 @@ t4fw.fwo optional cxgbe \
no-implicit-rule \
clean "t4fw.fwo"
t4fw.fw optional cxgbe \
dependency "$S/dev/cxgbe/firmware/t4fw-1.15.28.0.bin.uu" \
dependency "$S/dev/cxgbe/firmware/t4fw-1.15.37.0.bin.uu" \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "t4fw.fw"
@ -1287,7 +1287,7 @@ t5fw.fwo optional cxgbe \
no-implicit-rule \
clean "t5fw.fwo"
t5fw.fw optional cxgbe \
dependency "$S/dev/cxgbe/firmware/t5fw-1.15.28.0.bin.uu" \
dependency "$S/dev/cxgbe/firmware/t5fw-1.15.37.0.bin.uu" \
compile-with "${NORMAL_FW}" \
no-obj no-implicit-rule \
clean "t5fw.fw"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -135,7 +135,7 @@ enum fw_wr_opcodes {
FW_POFCOE_ULPTX_WR = 0x43,
FW_ISCSI_TX_DATA_WR = 0x45,
FW_PTP_TX_PKT_WR = 0x46,
FW_SEC_LOOKASIDE_LPBK_WR= 0x63,
FW_SEC_LOOKASIDE_LPBK_WR= 0x6d,
FW_COiSCSI_TGT_WR = 0x70,
FW_COiSCSI_TGT_CONN_WR = 0x71,
FW_COiSCSI_TGT_XMIT_WR = 0x72,
@ -913,6 +913,7 @@ enum fw_flowc_mnem {
FW_FLOWC_MNEM_DCBPRIO = 12,
FW_FLOWC_MNEM_SND_SCALE = 13,
FW_FLOWC_MNEM_RCV_SCALE = 14,
FW_FLOWC_MNEM_MAX = 15,
};
struct fw_flowc_mnemval {
@ -2547,6 +2548,12 @@ enum fw_chnet_addr_type {
FW_CHNET_ADDR_TYPE_IPV6,
};
enum fw_msg_wr_type {
FW_MSG_WR_TYPE_RPL = 0,
FW_MSG_WR_TYPE_ERR,
FW_MSG_WR_TYPE_PLD,
};
struct fw_coiscsi_tgt_wr {
__be32 op_compl;
__be32 flowid_len16;
@ -2602,9 +2609,11 @@ struct fw_coiscsi_tgt_conn_wr {
__be32 hdigest_to_ddp_pgsz;
__be32 tgt_id;
__be16 max_r2t;
__be16 max_rcv_dsl;
__be16 r5;
__be32 max_burst;
__be32 nxt_statsn;
__be32 max_rdsl;
__be32 max_tdsl;
__be32 nxt_sn;
__be32 r6;
} conn_iscsi;
};
@ -2618,6 +2627,9 @@ struct fw_coiscsi_tgt_xmit_wr {
__be32 datasn;
__be32 t_xfer_len;
__be32 flags;
__be32 tag;
__be32 tidx;
__be32 r5[2];
};
#define S_FW_COiSCSI_TGT_XMIT_WR_DDGST 23
@ -2643,6 +2655,30 @@ struct fw_coiscsi_tgt_xmit_wr {
(((x) >> S_FW_COiSCSI_TGT_XMIT_WR_DDP) & M_FW_COiSCSI_TGT_XMIT_WR_DDP)
#define F_FW_COiSCSI_TGT_XMIT_WR_DDP V_FW_COiSCSI_TGT_XMIT_WR_DDP(1U)
#define S_FW_COiSCSI_TGT_XMIT_WR_ABORT 19
#define M_FW_COiSCSI_TGT_XMIT_WR_ABORT 0x1
#define V_FW_COiSCSI_TGT_XMIT_WR_ABORT(x) \
((x) << S_FW_COiSCSI_TGT_XMIT_WR_ABORT)
#define G_FW_COiSCSI_TGT_XMIT_WR_ABORT(x) \
(((x) >> S_FW_COiSCSI_TGT_XMIT_WR_ABORT) & M_FW_COiSCSI_TGT_XMIT_WR_ABORT)
#define F_FW_COiSCSI_TGT_XMIT_WR_ABORT V_FW_COiSCSI_TGT_XMIT_WR_ABORT(1U)
#define S_FW_COiSCSI_TGT_XMIT_WR_FINAL 18
#define M_FW_COiSCSI_TGT_XMIT_WR_FINAL 0x1
#define V_FW_COiSCSI_TGT_XMIT_WR_FINAL(x) \
((x) << S_FW_COiSCSI_TGT_XMIT_WR_FINAL)
#define G_FW_COiSCSI_TGT_XMIT_WR_FINAL(x) \
(((x) >> S_FW_COiSCSI_TGT_XMIT_WR_FINAL) & M_FW_COiSCSI_TGT_XMIT_WR_FINAL)
#define F_FW_COiSCSI_TGT_XMIT_WR_FINAL V_FW_COiSCSI_TGT_XMIT_WR_FINAL(1U)
#define S_FW_COiSCSI_TGT_XMIT_WR_PADLEN 16
#define M_FW_COiSCSI_TGT_XMIT_WR_PADLEN 0x3
#define V_FW_COiSCSI_TGT_XMIT_WR_PADLEN(x) \
((x) << S_FW_COiSCSI_TGT_XMIT_WR_PADLEN)
#define G_FW_COiSCSI_TGT_XMIT_WR_PADLEN(x) \
(((x) >> S_FW_COiSCSI_TGT_XMIT_WR_PADLEN) & \
M_FW_COiSCSI_TGT_XMIT_WR_PADLEN)
#define S_FW_COiSCSI_TGT_XMIT_WR_IMMDLEN 0
#define M_FW_COiSCSI_TGT_XMIT_WR_IMMDLEN 0xff
#define V_FW_COiSCSI_TGT_XMIT_WR_IMMDLEN(x) \
@ -2678,13 +2714,13 @@ struct fw_isns_wr {
};
struct fw_isns_xmit_wr {
__be32 op_to_immdlen;
__be32 flowid_len16;
__be64 cookie;
__be16 iq_id;
__be16 r4;
__be32 xfer_len;
__be64 r5;
__be32 op_to_immdlen;
__be32 flowid_len16;
__be64 cookie;
__be16 iq_id;
__be16 r4;
__be32 xfer_len;
__be64 r5;
};
#define S_FW_ISNS_XMIT_WR_IMMDLEN 0
@ -2693,7 +2729,6 @@ struct fw_isns_xmit_wr {
#define G_FW_ISNS_XMIT_WR_IMMDLEN(x) \
(((x) >> S_FW_ISNS_XMIT_WR_IMMDLEN) & M_FW_ISNS_XMIT_WR_IMMDLEN)
/******************************************************************************
* F O F C O E W O R K R E Q U E S T s
*******************************************/
@ -3535,8 +3570,8 @@ enum fw_cmd_opcodes {
FW_FCOE_SPARAMS_CMD = 0x35,
FW_FCOE_STATS_CMD = 0x37,
FW_FCOE_FCF_CMD = 0x38,
FW_PTP_CMD = 0x39,
FW_DCB_IEEE_CMD = 0x3a,
FW_PTP_CMD = 0x3e,
FW_LASTC2E_CMD = 0x40,
FW_ERROR_CMD = 0x80,
FW_DEBUG_CMD = 0x81,
@ -8742,12 +8777,12 @@ enum fw_hdr_chip {
enum {
T4FW_VERSION_MAJOR = 0x01,
T4FW_VERSION_MINOR = 0x05,
T4FW_VERSION_MICRO = 0x1c,
T4FW_VERSION_MICRO = 0x25,
T4FW_VERSION_BUILD = 0x00,
T5FW_VERSION_MAJOR = 0x01,
T5FW_VERSION_MINOR = 0x05,
T5FW_VERSION_MICRO = 0x1c,
T5FW_VERSION_MICRO = 0x25,
T5FW_VERSION_BUILD = 0x00,
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
T4FW_VER= 1.15.28.0
T4FW_VER= 1.15.37.0
FIRMWS+= t4fw.fw:t4fw:${T4FW_VER}
CLEANFILES+= t4fw.fw

View File

@ -17,7 +17,7 @@ FIRMWS+= ${F}:${F:C/.txt//}:1.0.0.0
.endif
.endfor
T5FW_VER= 1.15.28.0
T5FW_VER= 1.15.37.0
FIRMWS+= t5fw.fw:t5fw:${T5FW_VER}
CLEANFILES+= t5fw.fw