Commit 7b6859fb authored by Mintz, Yuval's avatar Mintz, Yuval Committed by David S. Miller

qed: Utilize FW 8.20.0.0

This pushes qed [and as result, all qed* drivers] into using 8.20.0.0
firmware. The changes are mostly contained in qed with minor changes
to qedi due to some HSI changes.

Content-wise, the firmware contains fixes to various issues exposed
since the release of the previous firmware, including:
 - Corrects iSCSI fast retransmit when data digest is enabled.
 - Stop draining packets when receiving several consecutive PFCs.
 - Prevent possible assertion when consecutively opening/closing
   many connections.
 - Prevent possible assertion due to too long BDQ fetch time.

In addition, the new firmware would allow us to later add iWARP support
in qed and qedr.

Changes from previous version
-----------------------------
 - V2: Fix warning in qed_debug.c
Signed-off-by: default avatarChad Dupuis <Chad.Dupuis@cavium.com>
Signed-off-by: default avatarRam Amrani <Ram.Amrani@cavium.com>
Signed-off-by: default avatarTomer Tayar <Tomer.Tayar@cavium.com>
Signed-off-by: default avatarManish Rangankar <Manish.Rangankar@cavium.com>
Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b17b8a20
...@@ -54,7 +54,7 @@ extern const struct qed_common_ops qed_common_ops_pass; ...@@ -54,7 +54,7 @@ extern const struct qed_common_ops qed_common_ops_pass;
#define QED_MAJOR_VERSION 8 #define QED_MAJOR_VERSION 8
#define QED_MINOR_VERSION 10 #define QED_MINOR_VERSION 10
#define QED_REVISION_VERSION 10 #define QED_REVISION_VERSION 11
#define QED_ENGINEERING_VERSION 21 #define QED_ENGINEERING_VERSION 21
#define QED_VERSION \ #define QED_VERSION \
......
...@@ -944,17 +944,18 @@ void qed_dcbx_set_pf_update_params(struct qed_dcbx_results *p_src, ...@@ -944,17 +944,18 @@ void qed_dcbx_set_pf_update_params(struct qed_dcbx_results *p_src,
p_dest->pf_id = p_src->pf_id; p_dest->pf_id = p_src->pf_id;
update_flag = p_src->arr[DCBX_PROTOCOL_FCOE].update; update_flag = p_src->arr[DCBX_PROTOCOL_FCOE].update;
p_dest->update_fcoe_dcb_data_flag = update_flag; p_dest->update_fcoe_dcb_data_mode = update_flag;
update_flag = p_src->arr[DCBX_PROTOCOL_ROCE].update; update_flag = p_src->arr[DCBX_PROTOCOL_ROCE].update;
p_dest->update_roce_dcb_data_flag = update_flag; p_dest->update_roce_dcb_data_mode = update_flag;
update_flag = p_src->arr[DCBX_PROTOCOL_ROCE_V2].update; update_flag = p_src->arr[DCBX_PROTOCOL_ROCE_V2].update;
p_dest->update_roce_dcb_data_flag = update_flag; p_dest->update_rroce_dcb_data_mode = update_flag;
update_flag = p_src->arr[DCBX_PROTOCOL_ISCSI].update; update_flag = p_src->arr[DCBX_PROTOCOL_ISCSI].update;
p_dest->update_iscsi_dcb_data_flag = update_flag; p_dest->update_iscsi_dcb_data_mode = update_flag;
update_flag = p_src->arr[DCBX_PROTOCOL_ETH].update; update_flag = p_src->arr[DCBX_PROTOCOL_ETH].update;
p_dest->update_eth_dcb_data_flag = update_flag; p_dest->update_eth_dcb_data_mode = update_flag;
p_dcb_data = &p_dest->fcoe_dcb_data; p_dcb_data = &p_dest->fcoe_dcb_data;
qed_dcbx_update_protocol_data(p_dcb_data, p_src, DCBX_PROTOCOL_FCOE); qed_dcbx_update_protocol_data(p_dcb_data, p_src, DCBX_PROTOCOL_FCOE);
......
This diff is collapsed.
...@@ -20,6 +20,9 @@ enum qed_dbg_features { ...@@ -20,6 +20,9 @@ enum qed_dbg_features {
DBG_FEATURE_NUM DBG_FEATURE_NUM
}; };
/* Forward Declaration */
struct qed_dev;
int qed_dbg_grc(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes); int qed_dbg_grc(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes);
int qed_dbg_grc_size(struct qed_dev *cdev); int qed_dbg_grc_size(struct qed_dev *cdev);
int qed_dbg_idle_chk(struct qed_dev *cdev, void *buffer, int qed_dbg_idle_chk(struct qed_dev *cdev, void *buffer,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -375,7 +375,6 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn, ...@@ -375,7 +375,6 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn,
p_tcp->ss_thresh = cpu_to_le32(p_conn->ss_thresh); p_tcp->ss_thresh = cpu_to_le32(p_conn->ss_thresh);
p_tcp->srtt = cpu_to_le16(p_conn->srtt); p_tcp->srtt = cpu_to_le16(p_conn->srtt);
p_tcp->rtt_var = cpu_to_le16(p_conn->rtt_var); p_tcp->rtt_var = cpu_to_le16(p_conn->rtt_var);
p_tcp->ts_time = cpu_to_le32(p_conn->ts_time);
p_tcp->ts_recent = cpu_to_le32(p_conn->ts_recent); p_tcp->ts_recent = cpu_to_le32(p_conn->ts_recent);
p_tcp->ts_recent_age = cpu_to_le32(p_conn->ts_recent_age); p_tcp->ts_recent_age = cpu_to_le32(p_conn->ts_recent_age);
p_tcp->total_rt = cpu_to_le32(p_conn->total_rt); p_tcp->total_rt = cpu_to_le32(p_conn->total_rt);
...@@ -400,8 +399,6 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn, ...@@ -400,8 +399,6 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn,
p_tcp->mss = cpu_to_le16(p_conn->mss); p_tcp->mss = cpu_to_le16(p_conn->mss);
p_tcp->snd_wnd_scale = p_conn->snd_wnd_scale; p_tcp->snd_wnd_scale = p_conn->snd_wnd_scale;
p_tcp->rcv_wnd_scale = p_conn->rcv_wnd_scale; p_tcp->rcv_wnd_scale = p_conn->rcv_wnd_scale;
dval = p_conn->ts_ticks_per_second;
p_tcp->ts_ticks_per_second = cpu_to_le32(dval);
wval = p_conn->da_timeout_value; wval = p_conn->da_timeout_value;
p_tcp->da_timeout_value = cpu_to_le16(wval); p_tcp->da_timeout_value = cpu_to_le16(wval);
p_tcp->ack_frequency = p_conn->ack_frequency; p_tcp->ack_frequency = p_conn->ack_frequency;
......
...@@ -592,15 +592,15 @@ ...@@ -592,15 +592,15 @@
#define QM_REG_WFQPFWEIGHT 0x2f4e80UL #define QM_REG_WFQPFWEIGHT 0x2f4e80UL
#define QM_REG_WFQVPWEIGHT 0x2fa000UL #define QM_REG_WFQVPWEIGHT 0x2fa000UL
#define PGLCS_REG_DBG_SELECT \ #define PGLCS_REG_DBG_SELECT_K2 \
0x001d14UL 0x001d14UL
#define PGLCS_REG_DBG_DWORD_ENABLE \ #define PGLCS_REG_DBG_DWORD_ENABLE_K2 \
0x001d18UL 0x001d18UL
#define PGLCS_REG_DBG_SHIFT \ #define PGLCS_REG_DBG_SHIFT_K2 \
0x001d1cUL 0x001d1cUL
#define PGLCS_REG_DBG_FORCE_VALID \ #define PGLCS_REG_DBG_FORCE_VALID_K2 \
0x001d20UL 0x001d20UL
#define PGLCS_REG_DBG_FORCE_FRAME \ #define PGLCS_REG_DBG_FORCE_FRAME_K2 \
0x001d24UL 0x001d24UL
#define MISC_REG_RESET_PL_PDA_VMAIN_1 \ #define MISC_REG_RESET_PL_PDA_VMAIN_1 \
0x008070UL 0x008070UL
...@@ -612,7 +612,7 @@ ...@@ -612,7 +612,7 @@
0x009050UL 0x009050UL
#define MISCS_REG_RESET_PL_HV \ #define MISCS_REG_RESET_PL_HV \
0x009060UL 0x009060UL
#define MISCS_REG_RESET_PL_HV_2 \ #define MISCS_REG_RESET_PL_HV_2_K2 \
0x009150UL 0x009150UL
#define DMAE_REG_DBG_SELECT \ #define DMAE_REG_DBG_SELECT \
0x00c510UL 0x00c510UL
...@@ -644,15 +644,15 @@ ...@@ -644,15 +644,15 @@
0x0500b0UL 0x0500b0UL
#define GRC_REG_DBG_FORCE_FRAME \ #define GRC_REG_DBG_FORCE_FRAME \
0x0500b4UL 0x0500b4UL
#define UMAC_REG_DBG_SELECT \ #define UMAC_REG_DBG_SELECT_K2 \
0x051094UL 0x051094UL
#define UMAC_REG_DBG_DWORD_ENABLE \ #define UMAC_REG_DBG_DWORD_ENABLE_K2 \
0x051098UL 0x051098UL
#define UMAC_REG_DBG_SHIFT \ #define UMAC_REG_DBG_SHIFT_K2 \
0x05109cUL 0x05109cUL
#define UMAC_REG_DBG_FORCE_VALID \ #define UMAC_REG_DBG_FORCE_VALID_K2 \
0x0510a0UL 0x0510a0UL
#define UMAC_REG_DBG_FORCE_FRAME \ #define UMAC_REG_DBG_FORCE_FRAME_K2 \
0x0510a4UL 0x0510a4UL
#define MCP2_REG_DBG_SELECT \ #define MCP2_REG_DBG_SELECT \
0x052400UL 0x052400UL
...@@ -924,15 +924,15 @@ ...@@ -924,15 +924,15 @@
0x4c160cUL 0x4c160cUL
#define XYLD_REG_DBG_FORCE_FRAME \ #define XYLD_REG_DBG_FORCE_FRAME \
0x4c1610UL 0x4c1610UL
#define YULD_REG_DBG_SELECT \ #define YULD_REG_DBG_SELECT_BB_K2 \
0x4c9600UL 0x4c9600UL
#define YULD_REG_DBG_DWORD_ENABLE \ #define YULD_REG_DBG_DWORD_ENABLE_BB_K2 \
0x4c9604UL 0x4c9604UL
#define YULD_REG_DBG_SHIFT \ #define YULD_REG_DBG_SHIFT_BB_K2 \
0x4c9608UL 0x4c9608UL
#define YULD_REG_DBG_FORCE_VALID \ #define YULD_REG_DBG_FORCE_VALID_BB_K2 \
0x4c960cUL 0x4c960cUL
#define YULD_REG_DBG_FORCE_FRAME \ #define YULD_REG_DBG_FORCE_FRAME_BB_K2 \
0x4c9610UL 0x4c9610UL
#define TMLD_REG_DBG_SELECT \ #define TMLD_REG_DBG_SELECT \
0x4d1600UL 0x4d1600UL
...@@ -994,35 +994,35 @@ ...@@ -994,35 +994,35 @@
0x580710UL 0x580710UL
#define CDU_REG_DBG_FORCE_FRAME \ #define CDU_REG_DBG_FORCE_FRAME \
0x580714UL 0x580714UL
#define WOL_REG_DBG_SELECT \ #define WOL_REG_DBG_SELECT_K2 \
0x600140UL 0x600140UL
#define WOL_REG_DBG_DWORD_ENABLE \ #define WOL_REG_DBG_DWORD_ENABLE_K2 \
0x600144UL 0x600144UL
#define WOL_REG_DBG_SHIFT \ #define WOL_REG_DBG_SHIFT_K2 \
0x600148UL 0x600148UL
#define WOL_REG_DBG_FORCE_VALID \ #define WOL_REG_DBG_FORCE_VALID_K2 \
0x60014cUL 0x60014cUL
#define WOL_REG_DBG_FORCE_FRAME \ #define WOL_REG_DBG_FORCE_FRAME_K2 \
0x600150UL 0x600150UL
#define BMBN_REG_DBG_SELECT \ #define BMBN_REG_DBG_SELECT_K2 \
0x610140UL 0x610140UL
#define BMBN_REG_DBG_DWORD_ENABLE \ #define BMBN_REG_DBG_DWORD_ENABLE_K2 \
0x610144UL 0x610144UL
#define BMBN_REG_DBG_SHIFT \ #define BMBN_REG_DBG_SHIFT_K2 \
0x610148UL 0x610148UL
#define BMBN_REG_DBG_FORCE_VALID \ #define BMBN_REG_DBG_FORCE_VALID_K2 \
0x61014cUL 0x61014cUL
#define BMBN_REG_DBG_FORCE_FRAME \ #define BMBN_REG_DBG_FORCE_FRAME_K2 \
0x610150UL 0x610150UL
#define NWM_REG_DBG_SELECT \ #define NWM_REG_DBG_SELECT_K2 \
0x8000ecUL 0x8000ecUL
#define NWM_REG_DBG_DWORD_ENABLE \ #define NWM_REG_DBG_DWORD_ENABLE_K2 \
0x8000f0UL 0x8000f0UL
#define NWM_REG_DBG_SHIFT \ #define NWM_REG_DBG_SHIFT_K2 \
0x8000f4UL 0x8000f4UL
#define NWM_REG_DBG_FORCE_VALID \ #define NWM_REG_DBG_FORCE_VALID_K2 \
0x8000f8UL 0x8000f8UL
#define NWM_REG_DBG_FORCE_FRAME \ #define NWM_REG_DBG_FORCE_FRAME_K2\
0x8000fcUL 0x8000fcUL
#define PBF_REG_DBG_SELECT \ #define PBF_REG_DBG_SELECT \
0xd80060UL 0xd80060UL
...@@ -1244,35 +1244,35 @@ ...@@ -1244,35 +1244,35 @@
0x1901534UL 0x1901534UL
#define USEM_REG_DBG_FORCE_FRAME \ #define USEM_REG_DBG_FORCE_FRAME \
0x1901538UL 0x1901538UL
#define NWS_REG_DBG_SELECT \ #define NWS_REG_DBG_SELECT_K2 \
0x700128UL 0x700128UL
#define NWS_REG_DBG_DWORD_ENABLE \ #define NWS_REG_DBG_DWORD_ENABLE_K2 \
0x70012cUL 0x70012cUL
#define NWS_REG_DBG_SHIFT \ #define NWS_REG_DBG_SHIFT_K2 \
0x700130UL 0x700130UL
#define NWS_REG_DBG_FORCE_VALID \ #define NWS_REG_DBG_FORCE_VALID_K2 \
0x700134UL 0x700134UL
#define NWS_REG_DBG_FORCE_FRAME \ #define NWS_REG_DBG_FORCE_FRAME_K2 \
0x700138UL 0x700138UL
#define MS_REG_DBG_SELECT \ #define MS_REG_DBG_SELECT_K2 \
0x6a0228UL 0x6a0228UL
#define MS_REG_DBG_DWORD_ENABLE \ #define MS_REG_DBG_DWORD_ENABLE_K2 \
0x6a022cUL 0x6a022cUL
#define MS_REG_DBG_SHIFT \ #define MS_REG_DBG_SHIFT_K2 \
0x6a0230UL 0x6a0230UL
#define MS_REG_DBG_FORCE_VALID \ #define MS_REG_DBG_FORCE_VALID_K2 \
0x6a0234UL 0x6a0234UL
#define MS_REG_DBG_FORCE_FRAME \ #define MS_REG_DBG_FORCE_FRAME_K2 \
0x6a0238UL 0x6a0238UL
#define PCIE_REG_DBG_COMMON_SELECT \ #define PCIE_REG_DBG_COMMON_SELECT_K2 \
0x054398UL 0x054398UL
#define PCIE_REG_DBG_COMMON_DWORD_ENABLE \ #define PCIE_REG_DBG_COMMON_DWORD_ENABLE_K2 \
0x05439cUL 0x05439cUL
#define PCIE_REG_DBG_COMMON_SHIFT \ #define PCIE_REG_DBG_COMMON_SHIFT_K2 \
0x0543a0UL 0x0543a0UL
#define PCIE_REG_DBG_COMMON_FORCE_VALID \ #define PCIE_REG_DBG_COMMON_FORCE_VALID_K2 \
0x0543a4UL 0x0543a4UL
#define PCIE_REG_DBG_COMMON_FORCE_FRAME \ #define PCIE_REG_DBG_COMMON_FORCE_FRAME_K2 \
0x0543a8UL 0x0543a8UL
#define MISC_REG_RESET_PL_UA \ #define MISC_REG_RESET_PL_UA \
0x008050UL 0x008050UL
...@@ -1328,85 +1328,85 @@ ...@@ -1328,85 +1328,85 @@
0x128170cUL 0x128170cUL
#define UCM_REG_SM_TASK_CTX \ #define UCM_REG_SM_TASK_CTX \
0x1281710UL 0x1281710UL
#define XSEM_REG_SLOW_DBG_EMPTY \ #define XSEM_REG_SLOW_DBG_EMPTY_BB_K2 \
0x1401140UL 0x1401140UL
#define XSEM_REG_SYNC_DBG_EMPTY \ #define XSEM_REG_SYNC_DBG_EMPTY \
0x1401160UL 0x1401160UL
#define XSEM_REG_SLOW_DBG_ACTIVE \ #define XSEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1401400UL 0x1401400UL
#define XSEM_REG_SLOW_DBG_MODE \ #define XSEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1401404UL 0x1401404UL
#define XSEM_REG_DBG_FRAME_MODE \ #define XSEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1401408UL 0x1401408UL
#define XSEM_REG_DBG_MODE1_CFG \ #define XSEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1401420UL 0x1401420UL
#define XSEM_REG_FAST_MEMORY \ #define XSEM_REG_FAST_MEMORY \
0x1440000UL 0x1440000UL
#define YSEM_REG_SYNC_DBG_EMPTY \ #define YSEM_REG_SYNC_DBG_EMPTY \
0x1501160UL 0x1501160UL
#define YSEM_REG_SLOW_DBG_ACTIVE \ #define YSEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1501400UL 0x1501400UL
#define YSEM_REG_SLOW_DBG_MODE \ #define YSEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1501404UL 0x1501404UL
#define YSEM_REG_DBG_FRAME_MODE \ #define YSEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1501408UL 0x1501408UL
#define YSEM_REG_DBG_MODE1_CFG \ #define YSEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1501420UL 0x1501420UL
#define YSEM_REG_FAST_MEMORY \ #define YSEM_REG_FAST_MEMORY \
0x1540000UL 0x1540000UL
#define PSEM_REG_SLOW_DBG_EMPTY \ #define PSEM_REG_SLOW_DBG_EMPTY_BB_K2 \
0x1601140UL 0x1601140UL
#define PSEM_REG_SYNC_DBG_EMPTY \ #define PSEM_REG_SYNC_DBG_EMPTY \
0x1601160UL 0x1601160UL
#define PSEM_REG_SLOW_DBG_ACTIVE \ #define PSEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1601400UL 0x1601400UL
#define PSEM_REG_SLOW_DBG_MODE \ #define PSEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1601404UL 0x1601404UL
#define PSEM_REG_DBG_FRAME_MODE \ #define PSEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1601408UL 0x1601408UL
#define PSEM_REG_DBG_MODE1_CFG \ #define PSEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1601420UL 0x1601420UL
#define PSEM_REG_FAST_MEMORY \ #define PSEM_REG_FAST_MEMORY \
0x1640000UL 0x1640000UL
#define TSEM_REG_SLOW_DBG_EMPTY \ #define TSEM_REG_SLOW_DBG_EMPTY_BB_K2 \
0x1701140UL 0x1701140UL
#define TSEM_REG_SYNC_DBG_EMPTY \ #define TSEM_REG_SYNC_DBG_EMPTY \
0x1701160UL 0x1701160UL
#define TSEM_REG_SLOW_DBG_ACTIVE \ #define TSEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1701400UL 0x1701400UL
#define TSEM_REG_SLOW_DBG_MODE \ #define TSEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1701404UL 0x1701404UL
#define TSEM_REG_DBG_FRAME_MODE \ #define TSEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1701408UL 0x1701408UL
#define TSEM_REG_DBG_MODE1_CFG \ #define TSEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1701420UL 0x1701420UL
#define TSEM_REG_FAST_MEMORY \ #define TSEM_REG_FAST_MEMORY \
0x1740000UL 0x1740000UL
#define MSEM_REG_SLOW_DBG_EMPTY \ #define MSEM_REG_SLOW_DBG_EMPTY_BB_K2 \
0x1801140UL 0x1801140UL
#define MSEM_REG_SYNC_DBG_EMPTY \ #define MSEM_REG_SYNC_DBG_EMPTY \
0x1801160UL 0x1801160UL
#define MSEM_REG_SLOW_DBG_ACTIVE \ #define MSEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1801400UL 0x1801400UL
#define MSEM_REG_SLOW_DBG_MODE \ #define MSEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1801404UL 0x1801404UL
#define MSEM_REG_DBG_FRAME_MODE \ #define MSEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1801408UL 0x1801408UL
#define MSEM_REG_DBG_MODE1_CFG \ #define MSEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1801420UL 0x1801420UL
#define MSEM_REG_FAST_MEMORY \ #define MSEM_REG_FAST_MEMORY \
0x1840000UL 0x1840000UL
#define USEM_REG_SLOW_DBG_EMPTY \ #define USEM_REG_SLOW_DBG_EMPTY_BB_K2 \
0x1901140UL 0x1901140UL
#define USEM_REG_SYNC_DBG_EMPTY \ #define USEM_REG_SYNC_DBG_EMPTY \
0x1901160UL 0x1901160UL
#define USEM_REG_SLOW_DBG_ACTIVE \ #define USEM_REG_SLOW_DBG_ACTIVE_BB_K2 \
0x1901400UL 0x1901400UL
#define USEM_REG_SLOW_DBG_MODE \ #define USEM_REG_SLOW_DBG_MODE_BB_K2 \
0x1901404UL 0x1901404UL
#define USEM_REG_DBG_FRAME_MODE \ #define USEM_REG_DBG_FRAME_MODE_BB_K2 \
0x1901408UL 0x1901408UL
#define USEM_REG_DBG_MODE1_CFG \ #define USEM_REG_DBG_MODE1_CFG_BB_K2 \
0x1901420UL 0x1901420UL
#define USEM_REG_FAST_MEMORY \ #define USEM_REG_FAST_MEMORY \
0x1940000UL 0x1940000UL
...@@ -1430,7 +1430,7 @@ ...@@ -1430,7 +1430,7 @@
0x340800UL 0x340800UL
#define BRB_REG_BIG_RAM_DATA \ #define BRB_REG_BIG_RAM_DATA \
0x341500UL 0x341500UL
#define SEM_FAST_REG_STALL_0 \ #define SEM_FAST_REG_STALL_0_BB_K2 \
0x000488UL 0x000488UL
#define SEM_FAST_REG_STALLED \ #define SEM_FAST_REG_STALLED \
0x000494UL 0x000494UL
...@@ -1480,37 +1480,37 @@ ...@@ -1480,37 +1480,37 @@
4 4
#define MISC_REG_BLOCK_256B_EN \ #define MISC_REG_BLOCK_256B_EN \
0x008c14UL 0x008c14UL
#define NWS_REG_NWS_CMU \ #define NWS_REG_NWS_CMU_K2 \
0x720000UL 0x720000UL
#define PHY_NW_IP_REG_PHY0_TOP_TBUS_ADDR_7_0 \ #define PHY_NW_IP_REG_PHY0_TOP_TBUS_ADDR_7_0_K2 \
0x000680UL 0x000680UL
#define PHY_NW_IP_REG_PHY0_TOP_TBUS_ADDR_15_8 \ #define PHY_NW_IP_REG_PHY0_TOP_TBUS_ADDR_15_8_K2 \
0x000684UL 0x000684UL
#define PHY_NW_IP_REG_PHY0_TOP_TBUS_DATA_7_0 \ #define PHY_NW_IP_REG_PHY0_TOP_TBUS_DATA_7_0_K2 \
0x0006c0UL 0x0006c0UL
#define PHY_NW_IP_REG_PHY0_TOP_TBUS_DATA_11_8 \ #define PHY_NW_IP_REG_PHY0_TOP_TBUS_DATA_11_8_K2 \
0x0006c4UL 0x0006c4UL
#define MS_REG_MS_CMU \ #define MS_REG_MS_CMU_K2 \
0x6a4000UL 0x6a4000UL
#define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X130 \ #define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X130_K2 \
0x000208UL 0x000208UL
#define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X132 \ #define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X131_K2 \
0x000210UL
#define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X131 \
0x00020cUL 0x00020cUL
#define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X133 \ #define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X132_K2 \
0x000210UL
#define PHY_SGMII_IP_REG_AHB_CMU_CSR_0_X133_K2 \
0x000214UL 0x000214UL
#define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X130 \ #define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X130_K2 \
0x000208UL 0x000208UL
#define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X131 \ #define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X131_K2 \
0x00020cUL 0x00020cUL
#define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X132 \ #define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X132_K2 \
0x000210UL 0x000210UL
#define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X133 \ #define PHY_PCIE_IP_REG_AHB_CMU_CSR_0_X133_K2 \
0x000214UL 0x000214UL
#define PHY_PCIE_REG_PHY0 \ #define PHY_PCIE_REG_PHY0_K2 \
0x620000UL 0x620000UL
#define PHY_PCIE_REG_PHY1 \ #define PHY_PCIE_REG_PHY1_K2 \
0x624000UL 0x624000UL
#define NIG_REG_ROCE_DUPLICATE_TO_HOST 0x5088f0UL #define NIG_REG_ROCE_DUPLICATE_TO_HOST 0x5088f0UL
#define PRS_REG_LIGHT_L2_ETHERTYPE_EN 0x1f0968UL #define PRS_REG_LIGHT_L2_ETHERTYPE_EN 0x1f0968UL
......
...@@ -2431,10 +2431,6 @@ qed_rdma_register_tid(void *rdma_cxt, ...@@ -2431,10 +2431,6 @@ qed_rdma_register_tid(void *rdma_cxt,
RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG, RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG,
params->page_size_log - 12); params->page_size_log - 12);
SET_FIELD(p_ramrod->flags,
RDMA_REGISTER_TID_RAMROD_DATA_MAX_ID,
p_hwfn->p_rdma_info->last_tid);
SET_FIELD(p_ramrod->flags, SET_FIELD(p_ramrod->flags,
RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ, RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ,
params->remote_read); params->remote_read);
......
...@@ -185,22 +185,20 @@ static void qed_set_tunn_ports(struct qed_tunnel_info *p_tun, ...@@ -185,22 +185,20 @@ static void qed_set_tunn_ports(struct qed_tunnel_info *p_tun,
} }
static void static void
__qed_set_ramrod_tunnel_param(u8 *p_tunn_cls, u8 *p_enable_tx_clas, __qed_set_ramrod_tunnel_param(u8 *p_tunn_cls,
struct qed_tunn_update_type *tun_type) struct qed_tunn_update_type *tun_type)
{ {
*p_tunn_cls = tun_type->tun_cls; *p_tunn_cls = tun_type->tun_cls;
if (tun_type->b_mode_enabled)
*p_enable_tx_clas = 1;
} }
static void static void
qed_set_ramrod_tunnel_param(u8 *p_tunn_cls, u8 *p_enable_tx_clas, qed_set_ramrod_tunnel_param(u8 *p_tunn_cls,
struct qed_tunn_update_type *tun_type, struct qed_tunn_update_type *tun_type,
u8 *p_update_port, __le16 *p_port, u8 *p_update_port,
__le16 *p_port,
struct qed_tunn_update_udp_port *p_udp_port) struct qed_tunn_update_udp_port *p_udp_port)
{ {
__qed_set_ramrod_tunnel_param(p_tunn_cls, p_enable_tx_clas, tun_type); __qed_set_ramrod_tunnel_param(p_tunn_cls, tun_type);
if (p_udp_port->b_update_port) { if (p_udp_port->b_update_port) {
*p_update_port = 1; *p_update_port = 1;
*p_port = cpu_to_le16(p_udp_port->port); *p_port = cpu_to_le16(p_udp_port->port);
...@@ -219,33 +217,27 @@ qed_tunn_set_pf_update_params(struct qed_hwfn *p_hwfn, ...@@ -219,33 +217,27 @@ qed_tunn_set_pf_update_params(struct qed_hwfn *p_hwfn,
qed_set_tunn_ports(p_tun, p_src); qed_set_tunn_ports(p_tun, p_src);
qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_vxlan, qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_vxlan,
&p_tunn_cfg->tx_enable_vxlan,
&p_tun->vxlan, &p_tun->vxlan,
&p_tunn_cfg->set_vxlan_udp_port_flg, &p_tunn_cfg->set_vxlan_udp_port_flg,
&p_tunn_cfg->vxlan_udp_port, &p_tunn_cfg->vxlan_udp_port,
&p_tun->vxlan_port); &p_tun->vxlan_port);
qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2geneve, qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2geneve,
&p_tunn_cfg->tx_enable_l2geneve,
&p_tun->l2_geneve, &p_tun->l2_geneve,
&p_tunn_cfg->set_geneve_udp_port_flg, &p_tunn_cfg->set_geneve_udp_port_flg,
&p_tunn_cfg->geneve_udp_port, &p_tunn_cfg->geneve_udp_port,
&p_tun->geneve_port); &p_tun->geneve_port);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgeneve, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgeneve,
&p_tunn_cfg->tx_enable_ipgeneve,
&p_tun->ip_geneve); &p_tun->ip_geneve);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2gre, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2gre,
&p_tunn_cfg->tx_enable_l2gre,
&p_tun->l2_gre); &p_tun->l2_gre);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgre, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgre,
&p_tunn_cfg->tx_enable_ipgre,
&p_tun->ip_gre); &p_tun->ip_gre);
p_tunn_cfg->update_rx_pf_clss = p_tun->b_update_rx_cls; p_tunn_cfg->update_rx_pf_clss = p_tun->b_update_rx_cls;
p_tunn_cfg->update_tx_pf_clss = p_tun->b_update_tx_cls;
} }
static void qed_set_hw_tunn_mode(struct qed_hwfn *p_hwfn, static void qed_set_hw_tunn_mode(struct qed_hwfn *p_hwfn,
...@@ -289,29 +281,24 @@ qed_tunn_set_pf_start_params(struct qed_hwfn *p_hwfn, ...@@ -289,29 +281,24 @@ qed_tunn_set_pf_start_params(struct qed_hwfn *p_hwfn,
qed_set_tunn_ports(p_tun, p_src); qed_set_tunn_ports(p_tun, p_src);
qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_vxlan, qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_vxlan,
&p_tunn_cfg->tx_enable_vxlan,
&p_tun->vxlan, &p_tun->vxlan,
&p_tunn_cfg->set_vxlan_udp_port_flg, &p_tunn_cfg->set_vxlan_udp_port_flg,
&p_tunn_cfg->vxlan_udp_port, &p_tunn_cfg->vxlan_udp_port,
&p_tun->vxlan_port); &p_tun->vxlan_port);
qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2geneve, qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2geneve,
&p_tunn_cfg->tx_enable_l2geneve,
&p_tun->l2_geneve, &p_tun->l2_geneve,
&p_tunn_cfg->set_geneve_udp_port_flg, &p_tunn_cfg->set_geneve_udp_port_flg,
&p_tunn_cfg->geneve_udp_port, &p_tunn_cfg->geneve_udp_port,
&p_tun->geneve_port); &p_tun->geneve_port);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgeneve, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgeneve,
&p_tunn_cfg->tx_enable_ipgeneve,
&p_tun->ip_geneve); &p_tun->ip_geneve);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2gre, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_l2gre,
&p_tunn_cfg->tx_enable_l2gre,
&p_tun->l2_gre); &p_tun->l2_gre);
__qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgre, __qed_set_ramrod_tunnel_param(&p_tunn_cfg->tunnel_clss_ipgre,
&p_tunn_cfg->tx_enable_ipgre,
&p_tun->ip_gre); &p_tun->ip_gre);
} }
......
...@@ -2099,6 +2099,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task) ...@@ -2099,6 +2099,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task)
/* Update header info */ /* Update header info */
SET_FIELD(cmd_pdu_header.flags_attr, ISCSI_CMD_HDR_ATTR, SET_FIELD(cmd_pdu_header.flags_attr, ISCSI_CMD_HDR_ATTR,
ISCSI_ATTR_SIMPLE); ISCSI_ATTR_SIMPLE);
if (hdr->cdb[0] != TEST_UNIT_READY) {
if (sc->sc_data_direction == DMA_TO_DEVICE) { if (sc->sc_data_direction == DMA_TO_DEVICE) {
SET_FIELD(cmd_pdu_header.flags_attr, SET_FIELD(cmd_pdu_header.flags_attr,
ISCSI_CMD_HDR_WRITE, 1); ISCSI_CMD_HDR_WRITE, 1);
...@@ -2108,6 +2109,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task) ...@@ -2108,6 +2109,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task)
ISCSI_CMD_HDR_READ, 1); ISCSI_CMD_HDR_READ, 1);
task_type = ISCSI_TASK_TYPE_INITIATOR_READ; task_type = ISCSI_TASK_TYPE_INITIATOR_READ;
} }
}
cmd_pdu_header.lun.lo = be32_to_cpu(scsi_lun[0]); cmd_pdu_header.lun.lo = be32_to_cpu(scsi_lun[0]);
cmd_pdu_header.lun.hi = be32_to_cpu(scsi_lun[1]); cmd_pdu_header.lun.hi = be32_to_cpu(scsi_lun[1]);
...@@ -2117,7 +2119,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task) ...@@ -2117,7 +2119,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task)
cmd_pdu_header.expected_transfer_length = cpu_to_be32(hdr->data_length); cmd_pdu_header.expected_transfer_length = cpu_to_be32(hdr->data_length);
cmd_pdu_header.hdr_second_dword = ntoh24(hdr->dlength); cmd_pdu_header.hdr_second_dword = ntoh24(hdr->dlength);
cmd_pdu_header.cmd_sn = be32_to_cpu(hdr->cmdsn); cmd_pdu_header.cmd_sn = be32_to_cpu(hdr->cmdsn);
cmd_pdu_header.opcode = hdr->opcode; cmd_pdu_header.hdr_first_byte = hdr->opcode;
qedi_cpy_scsi_cdb(sc, (u32 *)cmd_pdu_header.cdb); qedi_cpy_scsi_cdb(sc, (u32 *)cmd_pdu_header.cdb);
/* Fill tx AHS and rx buffer */ /* Fill tx AHS and rx buffer */
......
...@@ -578,7 +578,8 @@ int init_initiator_rw_iscsi_task(struct iscsi_task_params *task_params, ...@@ -578,7 +578,8 @@ int init_initiator_rw_iscsi_task(struct iscsi_task_params *task_params,
(struct iscsi_common_hdr *)cmd_header, (struct iscsi_common_hdr *)cmd_header,
tx_sgl_params, cmd_params, tx_sgl_params, cmd_params,
dif_task_params); dif_task_params);
else if (GET_FIELD(cmd_header->flags_attr, ISCSI_CMD_HDR_READ)) else if (GET_FIELD(cmd_header->flags_attr, ISCSI_CMD_HDR_READ) ||
(task_params->rx_io_size == 0 && task_params->tx_io_size == 0))
return init_rw_iscsi_task(task_params, return init_rw_iscsi_task(task_params,
ISCSI_TASK_TYPE_INITIATOR_READ, ISCSI_TASK_TYPE_INITIATOR_READ,
conn_params, conn_params,
......
...@@ -1461,9 +1461,6 @@ static const struct { ...@@ -1461,9 +1461,6 @@ static const struct {
{ ISCSI_CONN_ERROR_OUT_OF_SGES_ERROR, { ISCSI_CONN_ERROR_OUT_OF_SGES_ERROR,
"out of sge error" "out of sge error"
}, },
{ ISCSI_CONN_ERROR_TCP_SEG_PROC_IP_OPTIONS_ERROR,
"tcp seg ip options error"
},
{ ISCSI_CONN_ERROR_TCP_IP_FRAGMENT_ERROR, { ISCSI_CONN_ERROR_TCP_IP_FRAGMENT_ERROR,
"tcp ip fragment error" "tcp ip fragment error"
}, },
......
...@@ -96,12 +96,12 @@ ...@@ -96,12 +96,12 @@
#define CORE_SPQE_PAGE_SIZE_BYTES 4096 #define CORE_SPQE_PAGE_SIZE_BYTES 4096
#define MAX_NUM_LL2_RX_QUEUES 32 #define MAX_NUM_LL2_RX_QUEUES 48
#define MAX_NUM_LL2_TX_STATS_COUNTERS 32 #define MAX_NUM_LL2_TX_STATS_COUNTERS 48
#define FW_MAJOR_VERSION 8 #define FW_MAJOR_VERSION 8
#define FW_MINOR_VERSION 15 #define FW_MINOR_VERSION 20
#define FW_REVISION_VERSION 3 #define FW_REVISION_VERSION 0
#define FW_ENGINEERING_VERSION 0 #define FW_ENGINEERING_VERSION 0
/***********************/ /***********************/
...@@ -181,6 +181,14 @@ ...@@ -181,6 +181,14 @@
#define CDU_VF_FL_SEG_TYPE_OFFSET_REG_TYPE_SHIFT (12) #define CDU_VF_FL_SEG_TYPE_OFFSET_REG_TYPE_SHIFT (12)
#define CDU_VF_FL_SEG_TYPE_OFFSET_REG_OFFSET_MASK (0xfff) #define CDU_VF_FL_SEG_TYPE_OFFSET_REG_OFFSET_MASK (0xfff)
#define CDU_CONTEXT_VALIDATION_CFG_ENABLE_SHIFT (0)
#define CDU_CONTEXT_VALIDATION_CFG_VALIDATION_TYPE_SHIFT (1)
#define CDU_CONTEXT_VALIDATION_CFG_USE_TYPE (2)
#define CDU_CONTEXT_VALIDATION_CFG_USE_REGION (3)
#define CDU_CONTEXT_VALIDATION_CFG_USE_CID (4)
#define CDU_CONTEXT_VALIDATION_CFG_USE_ACTIVE (5)
/*****************/ /*****************/
/* DQ CONSTANTS */ /* DQ CONSTANTS */
/*****************/ /*****************/
...@@ -457,7 +465,6 @@ ...@@ -457,7 +465,6 @@
#define PXP_BAR_DQ 1 #define PXP_BAR_DQ 1
/* PTT and GTT */ /* PTT and GTT */
#define PXP_NUM_PF_WINDOWS 12
#define PXP_PER_PF_ENTRY_SIZE 8 #define PXP_PER_PF_ENTRY_SIZE 8
#define PXP_NUM_GLOBAL_WINDOWS 243 #define PXP_NUM_GLOBAL_WINDOWS 243
#define PXP_GLOBAL_ENTRY_SIZE 4 #define PXP_GLOBAL_ENTRY_SIZE 4
...@@ -482,6 +489,7 @@ ...@@ -482,6 +489,7 @@
#define PXP_PF_ME_OPAQUE_ADDR 0x1f8 #define PXP_PF_ME_OPAQUE_ADDR 0x1f8
#define PXP_PF_ME_CONCRETE_ADDR 0x1fc #define PXP_PF_ME_CONCRETE_ADDR 0x1fc
#define PXP_NUM_PF_WINDOWS 12
#define PXP_EXTERNAL_BAR_PF_WINDOW_START 0x1000 #define PXP_EXTERNAL_BAR_PF_WINDOW_START 0x1000
#define PXP_EXTERNAL_BAR_PF_WINDOW_NUM PXP_NUM_PF_WINDOWS #define PXP_EXTERNAL_BAR_PF_WINDOW_NUM PXP_NUM_PF_WINDOWS
#define PXP_EXTERNAL_BAR_PF_WINDOW_SINGLE_SIZE 0x1000 #define PXP_EXTERNAL_BAR_PF_WINDOW_SINGLE_SIZE 0x1000
...@@ -619,15 +627,20 @@ ...@@ -619,15 +627,20 @@
/* PRM CONSTANTS */ /* PRM CONSTANTS */
/*****************/ /*****************/
#define PRM_DMA_PAD_BYTES_NUM 2 #define PRM_DMA_PAD_BYTES_NUM 2
/******************/ /*****************/
/* SDMs CONSTANTS */ /* SDMs CONSTANTS */
/******************/ /*****************/
#define SDM_OP_GEN_TRIG_NONE 0 #define SDM_OP_GEN_TRIG_NONE 0
#define SDM_OP_GEN_TRIG_WAKE_THREAD 1 #define SDM_OP_GEN_TRIG_WAKE_THREAD 1
#define SDM_OP_GEN_TRIG_AGG_INT 2 #define SDM_OP_GEN_TRIG_AGG_INT 2
#define SDM_OP_GEN_TRIG_LOADER 4 #define SDM_OP_GEN_TRIG_LOADER 4
#define SDM_OP_GEN_TRIG_INDICATE_ERROR 6 #define SDM_OP_GEN_TRIG_INDICATE_ERROR 6
#define SDM_OP_GEN_TRIG_RELEASE_THREAD 7 #define SDM_OP_GEN_TRIG_INC_ORDER_CNT 9
/********************/
/* Completion types */
/********************/
#define SDM_COMP_TYPE_NONE 0 #define SDM_COMP_TYPE_NONE 0
#define SDM_COMP_TYPE_WAKE_THREAD 1 #define SDM_COMP_TYPE_WAKE_THREAD 1
...@@ -638,10 +651,11 @@ ...@@ -638,10 +651,11 @@
#define SDM_COMP_TYPE_INDICATE_ERROR 6 #define SDM_COMP_TYPE_INDICATE_ERROR 6
#define SDM_COMP_TYPE_RELEASE_THREAD 7 #define SDM_COMP_TYPE_RELEASE_THREAD 7
#define SDM_COMP_TYPE_RAM 8 #define SDM_COMP_TYPE_RAM 8
#define SDM_COMP_TYPE_INC_ORDER_CNT 9
/******************/ /*****************/
/* PBF CONSTANTS */ /* PBF Constants */
/******************/ /*****************/
/* Number of PBF command queue lines. Each line is 32B. */ /* Number of PBF command queue lines. Each line is 32B. */
#define PBF_MAX_CMD_LINES 3328 #define PBF_MAX_CMD_LINES 3328
...@@ -861,7 +875,7 @@ enum db_dest { ...@@ -861,7 +875,7 @@ enum db_dest {
/* Enum of doorbell DPM types */ /* Enum of doorbell DPM types */
enum db_dpm_type { enum db_dpm_type {
DPM_LEGACY, DPM_LEGACY,
DPM_ROCE, DPM_RDMA,
DPM_L2_INLINE, DPM_L2_INLINE,
DPM_L2_BD, DPM_L2_BD,
MAX_DB_DPM_TYPE MAX_DB_DPM_TYPE
...@@ -884,8 +898,8 @@ struct db_l2_dpm_data { ...@@ -884,8 +898,8 @@ struct db_l2_dpm_data {
#define DB_L2_DPM_DATA_RESERVED0_SHIFT 27 #define DB_L2_DPM_DATA_RESERVED0_SHIFT 27
#define DB_L2_DPM_DATA_SGE_NUM_MASK 0x7 #define DB_L2_DPM_DATA_SGE_NUM_MASK 0x7
#define DB_L2_DPM_DATA_SGE_NUM_SHIFT 28 #define DB_L2_DPM_DATA_SGE_NUM_SHIFT 28
#define DB_L2_DPM_DATA_RESERVED1_MASK 0x1 #define DB_L2_DPM_DATA_GFS_SRC_EN_MASK 0x1
#define DB_L2_DPM_DATA_RESERVED1_SHIFT 31 #define DB_L2_DPM_DATA_GFS_SRC_EN_SHIFT 31
}; };
/* Structure for SGE in a DPM doorbell of type DPM_L2_BD */ /* Structure for SGE in a DPM doorbell of type DPM_L2_BD */
...@@ -931,31 +945,33 @@ struct db_pwm_addr { ...@@ -931,31 +945,33 @@ struct db_pwm_addr {
}; };
/* Parameters to RoCE firmware, passed in EDPM doorbell */ /* Parameters to RoCE firmware, passed in EDPM doorbell */
struct db_roce_dpm_params { struct db_rdma_dpm_params {
__le32 params; __le32 params;
#define DB_ROCE_DPM_PARAMS_SIZE_MASK 0x3F #define DB_RDMA_DPM_PARAMS_SIZE_MASK 0x3F
#define DB_ROCE_DPM_PARAMS_SIZE_SHIFT 0 #define DB_RDMA_DPM_PARAMS_SIZE_SHIFT 0
#define DB_ROCE_DPM_PARAMS_DPM_TYPE_MASK 0x3 #define DB_RDMA_DPM_PARAMS_DPM_TYPE_MASK 0x3
#define DB_ROCE_DPM_PARAMS_DPM_TYPE_SHIFT 6 #define DB_RDMA_DPM_PARAMS_DPM_TYPE_SHIFT 6
#define DB_ROCE_DPM_PARAMS_OPCODE_MASK 0xFF #define DB_RDMA_DPM_PARAMS_OPCODE_MASK 0xFF
#define DB_ROCE_DPM_PARAMS_OPCODE_SHIFT 8 #define DB_RDMA_DPM_PARAMS_OPCODE_SHIFT 8
#define DB_ROCE_DPM_PARAMS_WQE_SIZE_MASK 0x7FF #define DB_RDMA_DPM_PARAMS_WQE_SIZE_MASK 0x7FF
#define DB_ROCE_DPM_PARAMS_WQE_SIZE_SHIFT 16 #define DB_RDMA_DPM_PARAMS_WQE_SIZE_SHIFT 16
#define DB_ROCE_DPM_PARAMS_RESERVED0_MASK 0x1 #define DB_RDMA_DPM_PARAMS_RESERVED0_MASK 0x1
#define DB_ROCE_DPM_PARAMS_RESERVED0_SHIFT 27 #define DB_RDMA_DPM_PARAMS_RESERVED0_SHIFT 27
#define DB_ROCE_DPM_PARAMS_COMPLETION_FLG_MASK 0x1 #define DB_RDMA_DPM_PARAMS_COMPLETION_FLG_MASK 0x1
#define DB_ROCE_DPM_PARAMS_COMPLETION_FLG_SHIFT 28 #define DB_RDMA_DPM_PARAMS_COMPLETION_FLG_SHIFT 28
#define DB_ROCE_DPM_PARAMS_S_FLG_MASK 0x1 #define DB_RDMA_DPM_PARAMS_S_FLG_MASK 0x1
#define DB_ROCE_DPM_PARAMS_S_FLG_SHIFT 29 #define DB_RDMA_DPM_PARAMS_S_FLG_SHIFT 29
#define DB_ROCE_DPM_PARAMS_RESERVED1_MASK 0x3 #define DB_RDMA_DPM_PARAMS_RESERVED1_MASK 0x1
#define DB_ROCE_DPM_PARAMS_RESERVED1_SHIFT 30 #define DB_RDMA_DPM_PARAMS_RESERVED1_SHIFT 30
#define DB_RDMA_DPM_PARAMS_CONN_TYPE_IS_IWARP_MASK 0x1
#define DB_RDMA_DPM_PARAMS_CONN_TYPE_IS_IWARP_SHIFT 31
}; };
/* Structure for doorbell data, in ROCE DPM mode, for 1st db in a DPM burst */ /* Structure for doorbell data, in ROCE DPM mode, for 1st db in a DPM burst */
struct db_roce_dpm_data { struct db_rdma_dpm_data {
__le16 icid; __le16 icid;
__le16 prod_val; __le16 prod_val;
struct db_roce_dpm_params params; struct db_rdma_dpm_params params;
}; };
/* Igu interrupt command */ /* Igu interrupt command */
...@@ -1026,6 +1042,42 @@ struct parsing_and_err_flags { ...@@ -1026,6 +1042,42 @@ struct parsing_and_err_flags {
#define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMERROR_SHIFT 15 #define PARSING_AND_ERR_FLAGS_TUNNELL4CHKSMERROR_SHIFT 15
}; };
struct parsing_err_flags {
__le16 flags;
#define PARSING_ERR_FLAGS_MAC_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_MAC_ERROR_SHIFT 0
#define PARSING_ERR_FLAGS_TRUNC_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_TRUNC_ERROR_SHIFT 1
#define PARSING_ERR_FLAGS_PKT_TOO_SMALL_MASK 0x1
#define PARSING_ERR_FLAGS_PKT_TOO_SMALL_SHIFT 2
#define PARSING_ERR_FLAGS_ANY_HDR_MISSING_TAG_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_MISSING_TAG_SHIFT 3
#define PARSING_ERR_FLAGS_ANY_HDR_IP_VER_MISMTCH_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_IP_VER_MISMTCH_SHIFT 4
#define PARSING_ERR_FLAGS_ANY_HDR_IP_V4_HDR_LEN_TOO_SMALL_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_IP_V4_HDR_LEN_TOO_SMALL_SHIFT 5
#define PARSING_ERR_FLAGS_ANY_HDR_IP_BAD_TOTAL_LEN_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_IP_BAD_TOTAL_LEN_SHIFT 6
#define PARSING_ERR_FLAGS_IP_V4_CHKSM_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_IP_V4_CHKSM_ERROR_SHIFT 7
#define PARSING_ERR_FLAGS_ANY_HDR_L4_IP_LEN_MISMTCH_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_L4_IP_LEN_MISMTCH_SHIFT 8
#define PARSING_ERR_FLAGS_ZERO_UDP_IP_V6_CHKSM_MASK 0x1
#define PARSING_ERR_FLAGS_ZERO_UDP_IP_V6_CHKSM_SHIFT 9
#define PARSING_ERR_FLAGS_INNER_L4_CHKSM_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_INNER_L4_CHKSM_ERROR_SHIFT 10
#define PARSING_ERR_FLAGS_ANY_HDR_ZERO_TTL_OR_HOP_LIM_MASK 0x1
#define PARSING_ERR_FLAGS_ANY_HDR_ZERO_TTL_OR_HOP_LIM_SHIFT 11
#define PARSING_ERR_FLAGS_NON_8021Q_TAG_EXISTS_IN_BOTH_HDRS_MASK 0x1
#define PARSING_ERR_FLAGS_NON_8021Q_TAG_EXISTS_IN_BOTH_HDRS_SHIFT 12
#define PARSING_ERR_FLAGS_GENEVE_OPTION_OVERSIZED_MASK 0x1
#define PARSING_ERR_FLAGS_GENEVE_OPTION_OVERSIZED_SHIFT 13
#define PARSING_ERR_FLAGS_TUNNEL_IP_V4_CHKSM_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_TUNNEL_IP_V4_CHKSM_ERROR_SHIFT 14
#define PARSING_ERR_FLAGS_TUNNEL_L4_CHKSM_ERROR_MASK 0x1
#define PARSING_ERR_FLAGS_TUNNEL_L4_CHKSM_ERROR_SHIFT 15
};
struct pb_context { struct pb_context {
__le32 crc[4]; __le32 crc[4];
}; };
...@@ -1288,39 +1340,56 @@ struct tdif_task_context { ...@@ -1288,39 +1340,56 @@ struct tdif_task_context {
struct timers_context { struct timers_context {
__le32 logical_client_0; __le32 logical_client_0;
#define TIMERS_CONTEXT_EXPIRATIONTIMELC0_MASK 0xFFFFFFF #define TIMERS_CONTEXT_EXPIRATIONTIMELC0_MASK 0x7FFFFFF
#define TIMERS_CONTEXT_EXPIRATIONTIMELC0_SHIFT 0 #define TIMERS_CONTEXT_EXPIRATIONTIMELC0_SHIFT 0
#define TIMERS_CONTEXT_RESERVED0_MASK 0x1
#define TIMERS_CONTEXT_RESERVED0_SHIFT 27
#define TIMERS_CONTEXT_VALIDLC0_MASK 0x1 #define TIMERS_CONTEXT_VALIDLC0_MASK 0x1
#define TIMERS_CONTEXT_VALIDLC0_SHIFT 28 #define TIMERS_CONTEXT_VALIDLC0_SHIFT 28
#define TIMERS_CONTEXT_ACTIVELC0_MASK 0x1 #define TIMERS_CONTEXT_ACTIVELC0_MASK 0x1
#define TIMERS_CONTEXT_ACTIVELC0_SHIFT 29 #define TIMERS_CONTEXT_ACTIVELC0_SHIFT 29
#define TIMERS_CONTEXT_RESERVED0_MASK 0x3 #define TIMERS_CONTEXT_RESERVED1_MASK 0x3
#define TIMERS_CONTEXT_RESERVED0_SHIFT 30 #define TIMERS_CONTEXT_RESERVED1_SHIFT 30
__le32 logical_client_1; __le32 logical_client_1;
#define TIMERS_CONTEXT_EXPIRATIONTIMELC1_MASK 0xFFFFFFF #define TIMERS_CONTEXT_EXPIRATIONTIMELC1_MASK 0x7FFFFFF
#define TIMERS_CONTEXT_EXPIRATIONTIMELC1_SHIFT 0 #define TIMERS_CONTEXT_EXPIRATIONTIMELC1_SHIFT 0
#define TIMERS_CONTEXT_RESERVED2_MASK 0x1
#define TIMERS_CONTEXT_RESERVED2_SHIFT 27
#define TIMERS_CONTEXT_VALIDLC1_MASK 0x1 #define TIMERS_CONTEXT_VALIDLC1_MASK 0x1
#define TIMERS_CONTEXT_VALIDLC1_SHIFT 28 #define TIMERS_CONTEXT_VALIDLC1_SHIFT 28
#define TIMERS_CONTEXT_ACTIVELC1_MASK 0x1 #define TIMERS_CONTEXT_ACTIVELC1_MASK 0x1
#define TIMERS_CONTEXT_ACTIVELC1_SHIFT 29 #define TIMERS_CONTEXT_ACTIVELC1_SHIFT 29
#define TIMERS_CONTEXT_RESERVED1_MASK 0x3 #define TIMERS_CONTEXT_RESERVED3_MASK 0x3
#define TIMERS_CONTEXT_RESERVED1_SHIFT 30 #define TIMERS_CONTEXT_RESERVED3_SHIFT 30
__le32 logical_client_2; __le32 logical_client_2;
#define TIMERS_CONTEXT_EXPIRATIONTIMELC2_MASK 0xFFFFFFF #define TIMERS_CONTEXT_EXPIRATIONTIMELC2_MASK 0x7FFFFFF
#define TIMERS_CONTEXT_EXPIRATIONTIMELC2_SHIFT 0 #define TIMERS_CONTEXT_EXPIRATIONTIMELC2_SHIFT 0
#define TIMERS_CONTEXT_RESERVED4_MASK 0x1
#define TIMERS_CONTEXT_RESERVED4_SHIFT 27
#define TIMERS_CONTEXT_VALIDLC2_MASK 0x1 #define TIMERS_CONTEXT_VALIDLC2_MASK 0x1
#define TIMERS_CONTEXT_VALIDLC2_SHIFT 28 #define TIMERS_CONTEXT_VALIDLC2_SHIFT 28
#define TIMERS_CONTEXT_ACTIVELC2_MASK 0x1 #define TIMERS_CONTEXT_ACTIVELC2_MASK 0x1
#define TIMERS_CONTEXT_ACTIVELC2_SHIFT 29 #define TIMERS_CONTEXT_ACTIVELC2_SHIFT 29
#define TIMERS_CONTEXT_RESERVED2_MASK 0x3 #define TIMERS_CONTEXT_RESERVED5_MASK 0x3
#define TIMERS_CONTEXT_RESERVED2_SHIFT 30 #define TIMERS_CONTEXT_RESERVED5_SHIFT 30
__le32 host_expiration_fields; __le32 host_expiration_fields;
#define TIMERS_CONTEXT_HOSTEXPRIRATIONVALUE_MASK 0xFFFFFFF #define TIMERS_CONTEXT_HOSTEXPRIRATIONVALUE_MASK 0x7FFFFFF
#define TIMERS_CONTEXT_HOSTEXPRIRATIONVALUE_SHIFT 0 #define TIMERS_CONTEXT_HOSTEXPRIRATIONVALUE_SHIFT 0
#define TIMERS_CONTEXT_RESERVED6_MASK 0x1
#define TIMERS_CONTEXT_RESERVED6_SHIFT 27
#define TIMERS_CONTEXT_HOSTEXPRIRATIONVALID_MASK 0x1 #define TIMERS_CONTEXT_HOSTEXPRIRATIONVALID_MASK 0x1
#define TIMERS_CONTEXT_HOSTEXPRIRATIONVALID_SHIFT 28 #define TIMERS_CONTEXT_HOSTEXPRIRATIONVALID_SHIFT 28
#define TIMERS_CONTEXT_RESERVED3_MASK 0x7 #define TIMERS_CONTEXT_RESERVED7_MASK 0x7
#define TIMERS_CONTEXT_RESERVED3_SHIFT 29 #define TIMERS_CONTEXT_RESERVED7_SHIFT 29
}; };
enum tunnel_next_protocol {
e_unknown = 0,
e_l2 = 1,
e_ipv4 = 2,
e_ipv6 = 3,
MAX_TUNNEL_NEXT_PROTOCOL
};
#endif /* __COMMON_HSI__ */ #endif /* __COMMON_HSI__ */
#endif #endif
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
/* Maximum number of buffers, used for RX packet placement */ /* Maximum number of buffers, used for RX packet placement */
#define ETH_RX_MAX_BUFF_PER_PKT 5 #define ETH_RX_MAX_BUFF_PER_PKT 5
#define ETH_RX_BD_THRESHOLD 12
/* num of MAC/VLAN filters */ /* num of MAC/VLAN filters */
#define ETH_NUM_MAC_FILTERS 512 #define ETH_NUM_MAC_FILTERS 512
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
/*********************/ /*********************/
#define FC_ABTS_REPLY_MAX_PAYLOAD_LEN 12 #define FC_ABTS_REPLY_MAX_PAYLOAD_LEN 12
#define FCOE_MAX_SIZE_FCP_DATA_SUPER (8600)
struct fcoe_abts_pkt { struct fcoe_abts_pkt {
__le32 abts_rsp_fc_payload_lo; __le32 abts_rsp_fc_payload_lo;
......
...@@ -75,25 +75,13 @@ ...@@ -75,25 +75,13 @@
#define ISCSI_TARGET_MODE 1 #define ISCSI_TARGET_MODE 1
/* iSCSI request op codes */ /* iSCSI request op codes */
#define ISCSI_OPCODE_NOP_OUT_NO_IMM (0) #define ISCSI_OPCODE_NOP_OUT (0)
#define ISCSI_OPCODE_NOP_OUT ( \ #define ISCSI_OPCODE_SCSI_CMD (1)
ISCSI_OPCODE_NOP_OUT_NO_IMM | 0x40) #define ISCSI_OPCODE_TMF_REQUEST (2)
#define ISCSI_OPCODE_SCSI_CMD_NO_IMM (1) #define ISCSI_OPCODE_LOGIN_REQUEST (3)
#define ISCSI_OPCODE_SCSI_CMD ( \ #define ISCSI_OPCODE_TEXT_REQUEST (4)
ISCSI_OPCODE_SCSI_CMD_NO_IMM | 0x40)
#define ISCSI_OPCODE_TMF_REQUEST_NO_IMM (2)
#define ISCSI_OPCODE_TMF_REQUEST ( \
ISCSI_OPCODE_TMF_REQUEST_NO_IMM | 0x40)
#define ISCSI_OPCODE_LOGIN_REQUEST_NO_IMM (3)
#define ISCSI_OPCODE_LOGIN_REQUEST ( \
ISCSI_OPCODE_LOGIN_REQUEST_NO_IMM | 0x40)
#define ISCSI_OPCODE_TEXT_REQUEST_NO_IMM (4)
#define ISCSI_OPCODE_TEXT_REQUEST ( \
ISCSI_OPCODE_TEXT_REQUEST_NO_IMM | 0x40)
#define ISCSI_OPCODE_DATA_OUT (5) #define ISCSI_OPCODE_DATA_OUT (5)
#define ISCSI_OPCODE_LOGOUT_REQUEST_NO_IMM (6) #define ISCSI_OPCODE_LOGOUT_REQUEST (6)
#define ISCSI_OPCODE_LOGOUT_REQUEST ( \
ISCSI_OPCODE_LOGOUT_REQUEST_NO_IMM | 0x40)
/* iSCSI response/messages op codes */ /* iSCSI response/messages op codes */
#define ISCSI_OPCODE_NOP_IN (0x20) #define ISCSI_OPCODE_NOP_IN (0x20)
...@@ -182,7 +170,13 @@ struct iscsi_cmd_hdr { ...@@ -182,7 +170,13 @@ struct iscsi_cmd_hdr {
#define ISCSI_CMD_HDR_READ_SHIFT 6 #define ISCSI_CMD_HDR_READ_SHIFT 6
#define ISCSI_CMD_HDR_FINAL_MASK 0x1 #define ISCSI_CMD_HDR_FINAL_MASK 0x1
#define ISCSI_CMD_HDR_FINAL_SHIFT 7 #define ISCSI_CMD_HDR_FINAL_SHIFT 7
u8 opcode; u8 hdr_first_byte;
#define ISCSI_CMD_HDR_OPCODE_MASK 0x3F
#define ISCSI_CMD_HDR_OPCODE_SHIFT 0
#define ISCSI_CMD_HDR_IMM_MASK 0x1
#define ISCSI_CMD_HDR_IMM_SHIFT 6
#define ISCSI_CMD_HDR_RSRV1_MASK 0x1
#define ISCSI_CMD_HDR_RSRV1_SHIFT 7
__le32 hdr_second_dword; __le32 hdr_second_dword;
#define ISCSI_CMD_HDR_DATA_SEG_LEN_MASK 0xFFFFFF #define ISCSI_CMD_HDR_DATA_SEG_LEN_MASK 0xFFFFFF
#define ISCSI_CMD_HDR_DATA_SEG_LEN_SHIFT 0 #define ISCSI_CMD_HDR_DATA_SEG_LEN_SHIFT 0
...@@ -790,9 +784,9 @@ enum iscsi_error_types { ...@@ -790,9 +784,9 @@ enum iscsi_error_types {
ISCSI_CONN_ERROR_LOCAL_COMPLETION_ERROR, ISCSI_CONN_ERROR_LOCAL_COMPLETION_ERROR,
ISCSI_CONN_ERROR_DATA_OVERRUN, ISCSI_CONN_ERROR_DATA_OVERRUN,
ISCSI_CONN_ERROR_OUT_OF_SGES_ERROR, ISCSI_CONN_ERROR_OUT_OF_SGES_ERROR,
ISCSI_CONN_ERROR_TCP_SEG_PROC_URG_ERROR, ISCSI_CONN_ERROR_IP_OPTIONS_ERROR,
ISCSI_CONN_ERROR_TCP_SEG_PROC_IP_OPTIONS_ERROR, ISCSI_CONN_ERROR_PRS_ERRORS,
ISCSI_CONN_ERROR_TCP_SEG_PROC_CONNECT_INVALID_WS_OPTION, ISCSI_CONN_ERROR_CONNECT_INVALID_TCP_OPTION,
ISCSI_CONN_ERROR_TCP_IP_FRAGMENT_ERROR, ISCSI_CONN_ERROR_TCP_IP_FRAGMENT_ERROR,
ISCSI_CONN_ERROR_PROTOCOL_ERR_AHS_LEN, ISCSI_CONN_ERROR_PROTOCOL_ERR_AHS_LEN,
ISCSI_CONN_ERROR_PROTOCOL_ERR_AHS_TYPE, ISCSI_CONN_ERROR_PROTOCOL_ERR_AHS_TYPE,
...@@ -1304,22 +1298,6 @@ struct ystorm_iscsi_stats_drv { ...@@ -1304,22 +1298,6 @@ struct ystorm_iscsi_stats_drv {
struct regpair iscsi_tx_total_pdu_cnt; struct regpair iscsi_tx_total_pdu_cnt;
}; };
struct iscsi_db_data {
u8 params;
#define ISCSI_DB_DATA_DEST_MASK 0x3
#define ISCSI_DB_DATA_DEST_SHIFT 0
#define ISCSI_DB_DATA_AGG_CMD_MASK 0x3
#define ISCSI_DB_DATA_AGG_CMD_SHIFT 2
#define ISCSI_DB_DATA_BYPASS_EN_MASK 0x1
#define ISCSI_DB_DATA_BYPASS_EN_SHIFT 4
#define ISCSI_DB_DATA_RESERVED_MASK 0x1
#define ISCSI_DB_DATA_RESERVED_SHIFT 5
#define ISCSI_DB_DATA_AGG_VAL_SEL_MASK 0x3
#define ISCSI_DB_DATA_AGG_VAL_SEL_SHIFT 6
u8 agg_flags;
__le16 sq_prod;
};
struct tstorm_iscsi_task_ag_ctx { struct tstorm_iscsi_task_ag_ctx {
u8 byte0; u8 byte0;
u8 byte1; u8 byte1;
...@@ -1398,5 +1376,20 @@ struct tstorm_iscsi_task_ag_ctx { ...@@ -1398,5 +1376,20 @@ struct tstorm_iscsi_task_ag_ctx {
__le32 reg1; __le32 reg1;
__le32 reg2; __le32 reg2;
}; };
struct iscsi_db_data {
u8 params;
#define ISCSI_DB_DATA_DEST_MASK 0x3
#define ISCSI_DB_DATA_DEST_SHIFT 0
#define ISCSI_DB_DATA_AGG_CMD_MASK 0x3
#define ISCSI_DB_DATA_AGG_CMD_SHIFT 2
#define ISCSI_DB_DATA_BYPASS_EN_MASK 0x1
#define ISCSI_DB_DATA_BYPASS_EN_SHIFT 4
#define ISCSI_DB_DATA_RESERVED_MASK 0x1
#define ISCSI_DB_DATA_RESERVED_SHIFT 5
#define ISCSI_DB_DATA_AGG_VAL_SEL_MASK 0x3
#define ISCSI_DB_DATA_AGG_VAL_SEL_SHIFT 6
u8 agg_flags;
__le16 sq_prod;
};
#endif /* __ISCSI_COMMON__ */ #endif /* __ISCSI_COMMON__ */
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#define RDMA_MAX_SGE_PER_SQ_WQE (4) #define RDMA_MAX_SGE_PER_SQ_WQE (4)
#define RDMA_MAX_SGE_PER_RQ_WQE (4) #define RDMA_MAX_SGE_PER_RQ_WQE (4)
#define RDMA_MAX_DATA_SIZE_IN_WQE (0x7FFFFFFF) #define RDMA_MAX_DATA_SIZE_IN_WQE (0x80000000)
#define RDMA_REQ_RD_ATOMIC_ELM_SIZE (0x50) #define RDMA_REQ_RD_ATOMIC_ELM_SIZE (0x50)
#define RDMA_RESP_RD_ATOMIC_ELM_SIZE (0x20) #define RDMA_RESP_RD_ATOMIC_ELM_SIZE (0x20)
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#define ROCE_REQ_MAX_SINGLE_SQ_WQE_SIZE (288) #define ROCE_REQ_MAX_SINGLE_SQ_WQE_SIZE (288)
#define ROCE_MAX_QPS (32 * 1024) #define ROCE_MAX_QPS (32 * 1024)
#define ROCE_DCQCN_NP_MAX_QPS (64)
#define ROCE_DCQCN_RP_MAX_QPS (64)
enum roce_async_events_type { enum roce_async_events_type {
ROCE_ASYNC_EVENT_NONE = 0, ROCE_ASYNC_EVENT_NONE = 0,
......
...@@ -111,7 +111,6 @@ struct tcp_offload_params { ...@@ -111,7 +111,6 @@ struct tcp_offload_params {
__le32 snd_wnd; __le32 snd_wnd;
__le32 rcv_wnd; __le32 rcv_wnd;
__le32 snd_wl1; __le32 snd_wl1;
__le32 ts_time;
__le32 ts_recent; __le32 ts_recent;
__le32 ts_recent_age; __le32 ts_recent_age;
__le32 total_rt; __le32 total_rt;
...@@ -122,7 +121,7 @@ struct tcp_offload_params { ...@@ -122,7 +121,7 @@ struct tcp_offload_params {
u8 ka_probe_cnt; u8 ka_probe_cnt;
u8 rt_cnt; u8 rt_cnt;
__le16 rtt_var; __le16 rtt_var;
__le16 reserved2; __le16 fw_internal;
__le32 ka_timeout; __le32 ka_timeout;
__le32 ka_interval; __le32 ka_interval;
__le32 max_rt_time; __le32 max_rt_time;
...@@ -130,7 +129,7 @@ struct tcp_offload_params { ...@@ -130,7 +129,7 @@ struct tcp_offload_params {
u8 snd_wnd_scale; u8 snd_wnd_scale;
u8 ack_frequency; u8 ack_frequency;
__le16 da_timeout_value; __le16 da_timeout_value;
__le32 ts_ticks_per_second; __le32 reserved3[2];
}; };
struct tcp_offload_params_opt2 { struct tcp_offload_params_opt2 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment