diff options
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 23 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 9 |
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 | ||
1128 | struct bnx2x_func_switch_update_params { | 1137 | struct bnx2x_func_switch_update_params { |