aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h3
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c23
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h9
3 files changed, 24 insertions, 11 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
index 8f9637279f12..f9098d8fc25b 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
@@ -973,6 +973,9 @@ static inline int bnx2x_func_start(struct bnx2x *bp)
973 else /* CHIP_IS_E1X */ 973 else /* CHIP_IS_E1X */
974 start_params->network_cos_mode = FW_WRR; 974 start_params->network_cos_mode = FW_WRR;
975 975
976 start_params->gre_tunnel_mode = IPGRE_TUNNEL;
977 start_params->gre_tunnel_rss = GRE_INNER_HEADERS_RSS;
978
976 return bnx2x_func_state_change(bp, &func_params); 979 return bnx2x_func_state_change(bp, &func_params);
977} 980}
978 981
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
index 66ab25908086..5bdc1d6dcf89 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
@@ -5679,17 +5679,18 @@ static inline int bnx2x_func_send_start(struct bnx2x *bp,
5679 memset(rdata, 0, sizeof(*rdata)); 5679 memset(rdata, 0, sizeof(*rdata));
5680 5680
5681 /* Fill the ramrod data with provided parameters */ 5681 /* Fill the ramrod data with provided parameters */
5682 rdata->function_mode = (u8)start_params->mf_mode; 5682 rdata->function_mode = (u8)start_params->mf_mode;
5683 rdata->sd_vlan_tag = cpu_to_le16(start_params->sd_vlan_tag); 5683 rdata->sd_vlan_tag = cpu_to_le16(start_params->sd_vlan_tag);
5684 rdata->path_id = BP_PATH(bp); 5684 rdata->path_id = BP_PATH(bp);
5685 rdata->network_cos_mode = start_params->network_cos_mode; 5685 rdata->network_cos_mode = start_params->network_cos_mode;
5686 5686 rdata->gre_tunnel_mode = start_params->gre_tunnel_mode;
5687 /* 5687 rdata->gre_tunnel_rss = start_params->gre_tunnel_rss;
5688 * No need for an explicit memory barrier here as long we would 5688
5689 * need to ensure the ordering of writing to the SPQ element 5689 /* No need for an explicit memory barrier here as long we would
5690 * and updating of the SPQ producer which involves a memory 5690 * need to ensure the ordering of writing to the SPQ element
5691 * read and we will have to put a full memory barrier there 5691 * and updating of the SPQ producer which involves a memory
5692 * (inside bnx2x_sp_post()). 5692 * read and we will have to put a full memory barrier there
5693 * (inside bnx2x_sp_post()).
5693 */ 5694 */
5694 5695
5695 return bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_START, 0, 5696 return bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_START, 0,
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
index 064dba24610d..35479da11f84 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
@@ -1123,6 +1123,15 @@ struct bnx2x_func_start_params {
1123 1123
1124 /* Function cos mode */ 1124 /* Function cos mode */
1125 u8 network_cos_mode; 1125 u8 network_cos_mode;
1126
1127 /* NVGRE classification enablement */
1128 u8 nvgre_clss_en;
1129
1130 /* NO_GRE_TUNNEL/NVGRE_TUNNEL/L2GRE_TUNNEL/IPGRE_TUNNEL */
1131 u8 gre_tunnel_mode;
1132
1133 /* GRE_OUTER_HEADERS_RSS/GRE_INNER_HEADERS_RSS/NVGRE_KEY_ENTROPY_RSS */
1134 u8 gre_tunnel_rss;
1126}; 1135};
1127 1136
1128struct bnx2x_func_switch_update_params { 1137struct bnx2x_func_switch_update_params {