diff options
author | Dmitry Kravkov <dmitry@broadcom.com> | 2013-03-11 01:17:52 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-12 07:54:26 -0400 |
commit | 91226790bbe2dbfbba48dd79d49f2b38ef10eb97 (patch) | |
tree | 7192ce4c32dade780bb439f86ead0c221dac5e3b /drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | |
parent | 82594f8f47bc1167d55776cfb599633ec4ac8e77 (diff) |
bnx2x: use FW 7.8.17
Update appropriate HSI files and adapt driver accordingly.
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | 235 |
1 files changed, 205 insertions, 30 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h index a7a3504e1bd5..12f00a40cdf0 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | |||
@@ -114,6 +114,10 @@ struct license_key { | |||
114 | #define EPIO_CFG_EPIO30 0x0000001f | 114 | #define EPIO_CFG_EPIO30 0x0000001f |
115 | #define EPIO_CFG_EPIO31 0x00000020 | 115 | #define EPIO_CFG_EPIO31 0x00000020 |
116 | 116 | ||
117 | struct mac_addr { | ||
118 | u32 upper; | ||
119 | u32 lower; | ||
120 | }; | ||
117 | 121 | ||
118 | struct shared_hw_cfg { /* NVRAM Offset */ | 122 | struct shared_hw_cfg { /* NVRAM Offset */ |
119 | /* Up to 16 bytes of NULL-terminated string */ | 123 | /* Up to 16 bytes of NULL-terminated string */ |
@@ -2836,8 +2840,8 @@ struct afex_stats { | |||
2836 | 2840 | ||
2837 | #define BCM_5710_FW_MAJOR_VERSION 7 | 2841 | #define BCM_5710_FW_MAJOR_VERSION 7 |
2838 | #define BCM_5710_FW_MINOR_VERSION 8 | 2842 | #define BCM_5710_FW_MINOR_VERSION 8 |
2839 | #define BCM_5710_FW_REVISION_VERSION 2 | 2843 | #define BCM_5710_FW_REVISION_VERSION 17 |
2840 | #define BCM_5710_FW_ENGINEERING_VERSION 0 | 2844 | #define BCM_5710_FW_ENGINEERING_VERSION 0 |
2841 | #define BCM_5710_FW_COMPILE_FLAGS 1 | 2845 | #define BCM_5710_FW_COMPILE_FLAGS 1 |
2842 | 2846 | ||
2843 | 2847 | ||
@@ -3528,11 +3532,14 @@ struct client_init_tx_data { | |||
3528 | #define CLIENT_INIT_TX_DATA_BCAST_ACCEPT_ALL_SHIFT 2 | 3532 | #define CLIENT_INIT_TX_DATA_BCAST_ACCEPT_ALL_SHIFT 2 |
3529 | #define CLIENT_INIT_TX_DATA_ACCEPT_ANY_VLAN (0x1<<3) | 3533 | #define CLIENT_INIT_TX_DATA_ACCEPT_ANY_VLAN (0x1<<3) |
3530 | #define CLIENT_INIT_TX_DATA_ACCEPT_ANY_VLAN_SHIFT 3 | 3534 | #define CLIENT_INIT_TX_DATA_ACCEPT_ANY_VLAN_SHIFT 3 |
3531 | #define CLIENT_INIT_TX_DATA_RESERVED1 (0xFFF<<4) | 3535 | #define CLIENT_INIT_TX_DATA_RESERVED0 (0xFFF<<4) |
3532 | #define CLIENT_INIT_TX_DATA_RESERVED1_SHIFT 4 | 3536 | #define CLIENT_INIT_TX_DATA_RESERVED0_SHIFT 4 |
3533 | u8 default_vlan_flg; | 3537 | u8 default_vlan_flg; |
3534 | u8 force_default_pri_flg; | 3538 | u8 force_default_pri_flg; |
3535 | __le32 reserved3; | 3539 | u8 tunnel_lso_inc_ip_id; |
3540 | u8 refuse_outband_vlan_flg; | ||
3541 | u8 tunnel_non_lso_pcsum_location; | ||
3542 | u8 reserved1; | ||
3536 | }; | 3543 | }; |
3537 | 3544 | ||
3538 | /* | 3545 | /* |
@@ -3566,6 +3573,11 @@ struct client_update_ramrod_data { | |||
3566 | __le16 silent_vlan_mask; | 3573 | __le16 silent_vlan_mask; |
3567 | u8 silent_vlan_removal_flg; | 3574 | u8 silent_vlan_removal_flg; |
3568 | u8 silent_vlan_change_flg; | 3575 | u8 silent_vlan_change_flg; |
3576 | u8 refuse_outband_vlan_flg; | ||
3577 | u8 refuse_outband_vlan_change_flg; | ||
3578 | u8 tx_switching_flg; | ||
3579 | u8 tx_switching_change_flg; | ||
3580 | __le32 reserved1; | ||
3569 | __le32 echo; | 3581 | __le32 echo; |
3570 | }; | 3582 | }; |
3571 | 3583 | ||
@@ -3635,7 +3647,8 @@ struct eth_classify_header { | |||
3635 | */ | 3647 | */ |
3636 | struct eth_classify_mac_cmd { | 3648 | struct eth_classify_mac_cmd { |
3637 | struct eth_classify_cmd_header header; | 3649 | struct eth_classify_cmd_header header; |
3638 | __le32 reserved0; | 3650 | __le16 reserved0; |
3651 | __le16 inner_mac; | ||
3639 | __le16 mac_lsb; | 3652 | __le16 mac_lsb; |
3640 | __le16 mac_mid; | 3653 | __le16 mac_mid; |
3641 | __le16 mac_msb; | 3654 | __le16 mac_msb; |
@@ -3648,7 +3661,8 @@ struct eth_classify_mac_cmd { | |||
3648 | */ | 3661 | */ |
3649 | struct eth_classify_pair_cmd { | 3662 | struct eth_classify_pair_cmd { |
3650 | struct eth_classify_cmd_header header; | 3663 | struct eth_classify_cmd_header header; |
3651 | __le32 reserved0; | 3664 | __le16 reserved0; |
3665 | __le16 inner_mac; | ||
3652 | __le16 mac_lsb; | 3666 | __le16 mac_lsb; |
3653 | __le16 mac_mid; | 3667 | __le16 mac_mid; |
3654 | __le16 mac_msb; | 3668 | __le16 mac_msb; |
@@ -3870,8 +3884,68 @@ struct eth_halt_ramrod_data { | |||
3870 | 3884 | ||
3871 | 3885 | ||
3872 | /* | 3886 | /* |
3873 | * Command for setting multicast classification for a client | 3887 | * destination and source mac address. |
3888 | */ | ||
3889 | struct eth_mac_addresses { | ||
3890 | #if defined(__BIG_ENDIAN) | ||
3891 | __le16 dst_mid; | ||
3892 | __le16 dst_lo; | ||
3893 | #elif defined(__LITTLE_ENDIAN) | ||
3894 | __le16 dst_lo; | ||
3895 | __le16 dst_mid; | ||
3896 | #endif | ||
3897 | #if defined(__BIG_ENDIAN) | ||
3898 | __le16 src_lo; | ||
3899 | __le16 dst_hi; | ||
3900 | #elif defined(__LITTLE_ENDIAN) | ||
3901 | __le16 dst_hi; | ||
3902 | __le16 src_lo; | ||
3903 | #endif | ||
3904 | #if defined(__BIG_ENDIAN) | ||
3905 | __le16 src_hi; | ||
3906 | __le16 src_mid; | ||
3907 | #elif defined(__LITTLE_ENDIAN) | ||
3908 | __le16 src_mid; | ||
3909 | __le16 src_hi; | ||
3910 | #endif | ||
3911 | }; | ||
3912 | |||
3913 | /* tunneling related data */ | ||
3914 | struct eth_tunnel_data { | ||
3915 | #if defined(__BIG_ENDIAN) | ||
3916 | __le16 dst_mid; | ||
3917 | __le16 dst_lo; | ||
3918 | #elif defined(__LITTLE_ENDIAN) | ||
3919 | __le16 dst_lo; | ||
3920 | __le16 dst_mid; | ||
3921 | #endif | ||
3922 | #if defined(__BIG_ENDIAN) | ||
3923 | __le16 reserved0; | ||
3924 | __le16 dst_hi; | ||
3925 | #elif defined(__LITTLE_ENDIAN) | ||
3926 | __le16 dst_hi; | ||
3927 | __le16 reserved0; | ||
3928 | #endif | ||
3929 | #if defined(__BIG_ENDIAN) | ||
3930 | u8 reserved1; | ||
3931 | u8 ip_hdr_start_inner_w; | ||
3932 | __le16 pseudo_csum; | ||
3933 | #elif defined(__LITTLE_ENDIAN) | ||
3934 | __le16 pseudo_csum; | ||
3935 | u8 ip_hdr_start_inner_w; | ||
3936 | u8 reserved1; | ||
3937 | #endif | ||
3938 | }; | ||
3939 | |||
3940 | /* union for mac addresses and for tunneling data. | ||
3941 | * considered as tunneling data only if (tunnel_exist == 1). | ||
3874 | */ | 3942 | */ |
3943 | union eth_mac_addr_or_tunnel_data { | ||
3944 | struct eth_mac_addresses mac_addr; | ||
3945 | struct eth_tunnel_data tunnel_data; | ||
3946 | }; | ||
3947 | |||
3948 | /*Command for setting multicast classification for a client */ | ||
3875 | struct eth_multicast_rules_cmd { | 3949 | struct eth_multicast_rules_cmd { |
3876 | u8 cmd_general_data; | 3950 | u8 cmd_general_data; |
3877 | #define ETH_MULTICAST_RULES_CMD_RX_CMD (0x1<<0) | 3951 | #define ETH_MULTICAST_RULES_CMD_RX_CMD (0x1<<0) |
@@ -3889,7 +3963,6 @@ struct eth_multicast_rules_cmd { | |||
3889 | struct regpair reserved3; | 3963 | struct regpair reserved3; |
3890 | }; | 3964 | }; |
3891 | 3965 | ||
3892 | |||
3893 | /* | 3966 | /* |
3894 | * parameters for multicast classification ramrod | 3967 | * parameters for multicast classification ramrod |
3895 | */ | 3968 | */ |
@@ -3898,7 +3971,6 @@ struct eth_multicast_rules_ramrod_data { | |||
3898 | struct eth_multicast_rules_cmd rules[MULTICAST_RULES_COUNT]; | 3971 | struct eth_multicast_rules_cmd rules[MULTICAST_RULES_COUNT]; |
3899 | }; | 3972 | }; |
3900 | 3973 | ||
3901 | |||
3902 | /* | 3974 | /* |
3903 | * Place holder for ramrods protocol specific data | 3975 | * Place holder for ramrods protocol specific data |
3904 | */ | 3976 | */ |
@@ -3962,11 +4034,14 @@ struct eth_rss_update_ramrod_data { | |||
3962 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_TCP_CAPABILITY_SHIFT 4 | 4034 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_TCP_CAPABILITY_SHIFT 4 |
3963 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_UDP_CAPABILITY (0x1<<5) | 4035 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_UDP_CAPABILITY (0x1<<5) |
3964 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_UDP_CAPABILITY_SHIFT 5 | 4036 | #define ETH_RSS_UPDATE_RAMROD_DATA_IPV6_UDP_CAPABILITY_SHIFT 5 |
4037 | #define ETH_RSS_UPDATE_RAMROD_DATA_EN_5_TUPLE_CAPABILITY (0x1<<6) | ||
4038 | #define ETH_RSS_UPDATE_RAMROD_DATA_EN_5_TUPLE_CAPABILITY_SHIFT 6 | ||
3965 | #define ETH_RSS_UPDATE_RAMROD_DATA_UPDATE_RSS_KEY (0x1<<7) | 4039 | #define ETH_RSS_UPDATE_RAMROD_DATA_UPDATE_RSS_KEY (0x1<<7) |
3966 | #define ETH_RSS_UPDATE_RAMROD_DATA_UPDATE_RSS_KEY_SHIFT 7 | 4040 | #define ETH_RSS_UPDATE_RAMROD_DATA_UPDATE_RSS_KEY_SHIFT 7 |
3967 | u8 rss_result_mask; | 4041 | u8 rss_result_mask; |
3968 | u8 rss_mode; | 4042 | u8 rss_mode; |
3969 | __le32 __reserved2; | 4043 | __le16 udp_4tuple_dst_port_mask; |
4044 | __le16 udp_4tuple_dst_port_value; | ||
3970 | u8 indirection_table[T_ETH_INDIRECTION_TABLE_SIZE]; | 4045 | u8 indirection_table[T_ETH_INDIRECTION_TABLE_SIZE]; |
3971 | __le32 rss_key[T_ETH_RSS_KEY]; | 4046 | __le32 rss_key[T_ETH_RSS_KEY]; |
3972 | __le32 echo; | 4047 | __le32 echo; |
@@ -4130,6 +4205,23 @@ enum eth_tpa_update_command { | |||
4130 | MAX_ETH_TPA_UPDATE_COMMAND | 4205 | MAX_ETH_TPA_UPDATE_COMMAND |
4131 | }; | 4206 | }; |
4132 | 4207 | ||
4208 | /* In case of LSO over IPv4 tunnel, whether to increment | ||
4209 | * IP ID on external IP header or internal IP header | ||
4210 | */ | ||
4211 | enum eth_tunnel_lso_inc_ip_id { | ||
4212 | EXT_HEADER, | ||
4213 | INT_HEADER, | ||
4214 | MAX_ETH_TUNNEL_LSO_INC_IP_ID | ||
4215 | }; | ||
4216 | |||
4217 | /* In case tunnel exist and L4 checksum offload, | ||
4218 | * the pseudo checksum location, on packet or on BD. | ||
4219 | */ | ||
4220 | enum eth_tunnel_non_lso_pcsum_location { | ||
4221 | PCSUM_ON_PKT, | ||
4222 | PCSUM_ON_BD, | ||
4223 | MAX_ETH_TUNNEL_NON_LSO_PCSUM_LOCATION | ||
4224 | }; | ||
4133 | 4225 | ||
4134 | /* | 4226 | /* |
4135 | * Tx regular BD structure | 4227 | * Tx regular BD structure |
@@ -4181,8 +4273,8 @@ struct eth_tx_start_bd { | |||
4181 | #define ETH_TX_START_BD_FORCE_VLAN_MODE_SHIFT 4 | 4273 | #define ETH_TX_START_BD_FORCE_VLAN_MODE_SHIFT 4 |
4182 | #define ETH_TX_START_BD_PARSE_NBDS (0x3<<5) | 4274 | #define ETH_TX_START_BD_PARSE_NBDS (0x3<<5) |
4183 | #define ETH_TX_START_BD_PARSE_NBDS_SHIFT 5 | 4275 | #define ETH_TX_START_BD_PARSE_NBDS_SHIFT 5 |
4184 | #define ETH_TX_START_BD_RESREVED (0x1<<7) | 4276 | #define ETH_TX_START_BD_TUNNEL_EXIST (0x1<<7) |
4185 | #define ETH_TX_START_BD_RESREVED_SHIFT 7 | 4277 | #define ETH_TX_START_BD_TUNNEL_EXIST_SHIFT 7 |
4186 | }; | 4278 | }; |
4187 | 4279 | ||
4188 | /* | 4280 | /* |
@@ -4231,15 +4323,10 @@ struct eth_tx_parse_bd_e1x { | |||
4231 | * Tx parsing BD structure for ETH E2 | 4323 | * Tx parsing BD structure for ETH E2 |
4232 | */ | 4324 | */ |
4233 | struct eth_tx_parse_bd_e2 { | 4325 | struct eth_tx_parse_bd_e2 { |
4234 | __le16 dst_mac_addr_lo; | 4326 | union eth_mac_addr_or_tunnel_data data; |
4235 | __le16 dst_mac_addr_mid; | ||
4236 | __le16 dst_mac_addr_hi; | ||
4237 | __le16 src_mac_addr_lo; | ||
4238 | __le16 src_mac_addr_mid; | ||
4239 | __le16 src_mac_addr_hi; | ||
4240 | __le32 parsing_data; | 4327 | __le32 parsing_data; |
4241 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_START_OFFSET_W (0x7FF<<0) | 4328 | #define ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W (0x7FF<<0) |
4242 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_START_OFFSET_W_SHIFT 0 | 4329 | #define ETH_TX_PARSE_BD_E2_L4_HDR_START_OFFSET_W_SHIFT 0 |
4243 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_LENGTH_DW (0xF<<11) | 4330 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_LENGTH_DW (0xF<<11) |
4244 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_LENGTH_DW_SHIFT 11 | 4331 | #define ETH_TX_PARSE_BD_E2_TCP_HDR_LENGTH_DW_SHIFT 11 |
4245 | #define ETH_TX_PARSE_BD_E2_IPV6_WITH_EXT_HDR (0x1<<15) | 4332 | #define ETH_TX_PARSE_BD_E2_IPV6_WITH_EXT_HDR (0x1<<15) |
@@ -4251,8 +4338,51 @@ struct eth_tx_parse_bd_e2 { | |||
4251 | }; | 4338 | }; |
4252 | 4339 | ||
4253 | /* | 4340 | /* |
4254 | * The last BD in the BD memory will hold a pointer to the next BD memory | 4341 | * Tx 2nd parsing BD structure for ETH packet |
4255 | */ | 4342 | */ |
4343 | struct eth_tx_parse_2nd_bd { | ||
4344 | __le16 global_data; | ||
4345 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_START_OUTER_W (0xF<<0) | ||
4346 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_START_OUTER_W_SHIFT 0 | ||
4347 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_TYPE_OUTER (0x1<<4) | ||
4348 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_TYPE_OUTER_SHIFT 4 | ||
4349 | #define ETH_TX_PARSE_2ND_BD_LLC_SNAP_EN (0x1<<5) | ||
4350 | #define ETH_TX_PARSE_2ND_BD_LLC_SNAP_EN_SHIFT 5 | ||
4351 | #define ETH_TX_PARSE_2ND_BD_NS_FLG (0x1<<6) | ||
4352 | #define ETH_TX_PARSE_2ND_BD_NS_FLG_SHIFT 6 | ||
4353 | #define ETH_TX_PARSE_2ND_BD_TUNNEL_UDP_EXIST (0x1<<7) | ||
4354 | #define ETH_TX_PARSE_2ND_BD_TUNNEL_UDP_EXIST_SHIFT 7 | ||
4355 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_LEN_OUTER_W (0x1F<<8) | ||
4356 | #define ETH_TX_PARSE_2ND_BD_IP_HDR_LEN_OUTER_W_SHIFT 8 | ||
4357 | #define ETH_TX_PARSE_2ND_BD_RESERVED0 (0x7<<13) | ||
4358 | #define ETH_TX_PARSE_2ND_BD_RESERVED0_SHIFT 13 | ||
4359 | __le16 reserved1; | ||
4360 | u8 tcp_flags; | ||
4361 | #define ETH_TX_PARSE_2ND_BD_FIN_FLG (0x1<<0) | ||
4362 | #define ETH_TX_PARSE_2ND_BD_FIN_FLG_SHIFT 0 | ||
4363 | #define ETH_TX_PARSE_2ND_BD_SYN_FLG (0x1<<1) | ||
4364 | #define ETH_TX_PARSE_2ND_BD_SYN_FLG_SHIFT 1 | ||
4365 | #define ETH_TX_PARSE_2ND_BD_RST_FLG (0x1<<2) | ||
4366 | #define ETH_TX_PARSE_2ND_BD_RST_FLG_SHIFT 2 | ||
4367 | #define ETH_TX_PARSE_2ND_BD_PSH_FLG (0x1<<3) | ||
4368 | #define ETH_TX_PARSE_2ND_BD_PSH_FLG_SHIFT 3 | ||
4369 | #define ETH_TX_PARSE_2ND_BD_ACK_FLG (0x1<<4) | ||
4370 | #define ETH_TX_PARSE_2ND_BD_ACK_FLG_SHIFT 4 | ||
4371 | #define ETH_TX_PARSE_2ND_BD_URG_FLG (0x1<<5) | ||
4372 | #define ETH_TX_PARSE_2ND_BD_URG_FLG_SHIFT 5 | ||
4373 | #define ETH_TX_PARSE_2ND_BD_ECE_FLG (0x1<<6) | ||
4374 | #define ETH_TX_PARSE_2ND_BD_ECE_FLG_SHIFT 6 | ||
4375 | #define ETH_TX_PARSE_2ND_BD_CWR_FLG (0x1<<7) | ||
4376 | #define ETH_TX_PARSE_2ND_BD_CWR_FLG_SHIFT 7 | ||
4377 | u8 reserved2; | ||
4378 | u8 tunnel_udp_hdr_start_w; | ||
4379 | u8 fw_ip_hdr_to_payload_w; | ||
4380 | __le16 fw_ip_csum_wo_len_flags_frag; | ||
4381 | __le16 hw_ip_id; | ||
4382 | __le32 tcp_send_seq; | ||
4383 | }; | ||
4384 | |||
4385 | /* The last BD in the BD memory will hold a pointer to the next BD memory */ | ||
4256 | struct eth_tx_next_bd { | 4386 | struct eth_tx_next_bd { |
4257 | __le32 addr_lo; | 4387 | __le32 addr_lo; |
4258 | __le32 addr_hi; | 4388 | __le32 addr_hi; |
@@ -4267,6 +4397,7 @@ union eth_tx_bd_types { | |||
4267 | struct eth_tx_bd reg_bd; | 4397 | struct eth_tx_bd reg_bd; |
4268 | struct eth_tx_parse_bd_e1x parse_bd_e1x; | 4398 | struct eth_tx_parse_bd_e1x parse_bd_e1x; |
4269 | struct eth_tx_parse_bd_e2 parse_bd_e2; | 4399 | struct eth_tx_parse_bd_e2 parse_bd_e2; |
4400 | struct eth_tx_parse_2nd_bd parse_2nd_bd; | ||
4270 | struct eth_tx_next_bd next_bd; | 4401 | struct eth_tx_next_bd next_bd; |
4271 | }; | 4402 | }; |
4272 | 4403 | ||
@@ -4678,10 +4809,10 @@ enum common_spqe_cmd_id { | |||
4678 | RAMROD_CMD_ID_COMMON_STOP_TRAFFIC, | 4809 | RAMROD_CMD_ID_COMMON_STOP_TRAFFIC, |
4679 | RAMROD_CMD_ID_COMMON_START_TRAFFIC, | 4810 | RAMROD_CMD_ID_COMMON_START_TRAFFIC, |
4680 | RAMROD_CMD_ID_COMMON_AFEX_VIF_LISTS, | 4811 | RAMROD_CMD_ID_COMMON_AFEX_VIF_LISTS, |
4812 | RAMROD_CMD_ID_COMMON_SET_TIMESYNC, | ||
4681 | MAX_COMMON_SPQE_CMD_ID | 4813 | MAX_COMMON_SPQE_CMD_ID |
4682 | }; | 4814 | }; |
4683 | 4815 | ||
4684 | |||
4685 | /* | 4816 | /* |
4686 | * Per-protocol connection types | 4817 | * Per-protocol connection types |
4687 | */ | 4818 | */ |
@@ -4878,7 +5009,7 @@ struct vf_flr_event_data { | |||
4878 | */ | 5009 | */ |
4879 | struct malicious_vf_event_data { | 5010 | struct malicious_vf_event_data { |
4880 | u8 vf_id; | 5011 | u8 vf_id; |
4881 | u8 reserved0; | 5012 | u8 err_id; |
4882 | u16 reserved1; | 5013 | u16 reserved1; |
4883 | u32 reserved2; | 5014 | u32 reserved2; |
4884 | u32 reserved3; | 5015 | u32 reserved3; |
@@ -4984,10 +5115,10 @@ enum event_ring_opcode { | |||
4984 | EVENT_RING_OPCODE_CLASSIFICATION_RULES, | 5115 | EVENT_RING_OPCODE_CLASSIFICATION_RULES, |
4985 | EVENT_RING_OPCODE_FILTERS_RULES, | 5116 | EVENT_RING_OPCODE_FILTERS_RULES, |
4986 | EVENT_RING_OPCODE_MULTICAST_RULES, | 5117 | EVENT_RING_OPCODE_MULTICAST_RULES, |
5118 | EVENT_RING_OPCODE_SET_TIMESYNC, | ||
4987 | MAX_EVENT_RING_OPCODE | 5119 | MAX_EVENT_RING_OPCODE |
4988 | }; | 5120 | }; |
4989 | 5121 | ||
4990 | |||
4991 | /* | 5122 | /* |
4992 | * Modes for fairness algorithm | 5123 | * Modes for fairness algorithm |
4993 | */ | 5124 | */ |
@@ -5025,14 +5156,18 @@ struct flow_control_configuration { | |||
5025 | */ | 5156 | */ |
5026 | struct function_start_data { | 5157 | struct function_start_data { |
5027 | u8 function_mode; | 5158 | u8 function_mode; |
5028 | u8 reserved; | 5159 | u8 allow_npar_tx_switching; |
5029 | __le16 sd_vlan_tag; | 5160 | __le16 sd_vlan_tag; |
5030 | __le16 vif_id; | 5161 | __le16 vif_id; |
5031 | u8 path_id; | 5162 | u8 path_id; |
5032 | u8 network_cos_mode; | 5163 | u8 network_cos_mode; |
5164 | u8 dmae_cmd_id; | ||
5165 | u8 gre_tunnel_mode; | ||
5166 | u8 gre_tunnel_rss; | ||
5167 | u8 nvgre_clss_en; | ||
5168 | __le16 reserved1[2]; | ||
5033 | }; | 5169 | }; |
5034 | 5170 | ||
5035 | |||
5036 | struct function_update_data { | 5171 | struct function_update_data { |
5037 | u8 vif_id_change_flg; | 5172 | u8 vif_id_change_flg; |
5038 | u8 afex_default_vlan_change_flg; | 5173 | u8 afex_default_vlan_change_flg; |
@@ -5042,14 +5177,19 @@ struct function_update_data { | |||
5042 | __le16 afex_default_vlan; | 5177 | __le16 afex_default_vlan; |
5043 | u8 allowed_priorities; | 5178 | u8 allowed_priorities; |
5044 | u8 network_cos_mode; | 5179 | u8 network_cos_mode; |
5180 | u8 lb_mode_en_change_flg; | ||
5045 | u8 lb_mode_en; | 5181 | u8 lb_mode_en; |
5046 | u8 tx_switch_suspend_change_flg; | 5182 | u8 tx_switch_suspend_change_flg; |
5047 | u8 tx_switch_suspend; | 5183 | u8 tx_switch_suspend; |
5048 | u8 echo; | 5184 | u8 echo; |
5049 | __le16 reserved1; | 5185 | u8 reserved1; |
5186 | u8 update_gre_cfg_flg; | ||
5187 | u8 gre_tunnel_mode; | ||
5188 | u8 gre_tunnel_rss; | ||
5189 | u8 nvgre_clss_en; | ||
5190 | u32 reserved3; | ||
5050 | }; | 5191 | }; |
5051 | 5192 | ||
5052 | |||
5053 | /* | 5193 | /* |
5054 | * FW version stored in the Xstorm RAM | 5194 | * FW version stored in the Xstorm RAM |
5055 | */ | 5195 | */ |
@@ -5076,6 +5216,22 @@ struct fw_version { | |||
5076 | #define __FW_VERSION_RESERVED_SHIFT 4 | 5216 | #define __FW_VERSION_RESERVED_SHIFT 4 |
5077 | }; | 5217 | }; |
5078 | 5218 | ||
5219 | /* GRE RSS Mode */ | ||
5220 | enum gre_rss_mode { | ||
5221 | GRE_OUTER_HEADERS_RSS, | ||
5222 | GRE_INNER_HEADERS_RSS, | ||
5223 | NVGRE_KEY_ENTROPY_RSS, | ||
5224 | MAX_GRE_RSS_MODE | ||
5225 | }; | ||
5226 | |||
5227 | /* GRE Tunnel Mode */ | ||
5228 | enum gre_tunnel_type { | ||
5229 | NO_GRE_TUNNEL, | ||
5230 | NVGRE_TUNNEL, | ||
5231 | L2GRE_TUNNEL, | ||
5232 | IPGRE_TUNNEL, | ||
5233 | MAX_GRE_TUNNEL_TYPE | ||
5234 | }; | ||
5079 | 5235 | ||
5080 | /* | 5236 | /* |
5081 | * Dynamic Host-Coalescing - Driver(host) counters | 5237 | * Dynamic Host-Coalescing - Driver(host) counters |
@@ -5239,6 +5395,26 @@ enum ip_ver { | |||
5239 | MAX_IP_VER | 5395 | MAX_IP_VER |
5240 | }; | 5396 | }; |
5241 | 5397 | ||
5398 | /* | ||
5399 | * Malicious VF error ID | ||
5400 | */ | ||
5401 | enum malicious_vf_error_id { | ||
5402 | VF_PF_CHANNEL_NOT_READY, | ||
5403 | ETH_ILLEGAL_BD_LENGTHS, | ||
5404 | ETH_PACKET_TOO_SHORT, | ||
5405 | ETH_PAYLOAD_TOO_BIG, | ||
5406 | ETH_ILLEGAL_ETH_TYPE, | ||
5407 | ETH_ILLEGAL_LSO_HDR_LEN, | ||
5408 | ETH_TOO_MANY_BDS, | ||
5409 | ETH_ZERO_HDR_NBDS, | ||
5410 | ETH_START_BD_NOT_SET, | ||
5411 | ETH_ILLEGAL_PARSE_NBDS, | ||
5412 | ETH_IPV6_AND_CHECKSUM, | ||
5413 | ETH_VLAN_FLG_INCORRECT, | ||
5414 | ETH_ILLEGAL_LSO_MSS, | ||
5415 | ETH_TUNNEL_NOT_SUPPORTED, | ||
5416 | MAX_MALICIOUS_VF_ERROR_ID | ||
5417 | }; | ||
5242 | 5418 | ||
5243 | /* | 5419 | /* |
5244 | * Multi-function modes | 5420 | * Multi-function modes |
@@ -5383,7 +5559,6 @@ struct protocol_common_spe { | |||
5383 | union protocol_common_specific_data data; | 5559 | union protocol_common_specific_data data; |
5384 | }; | 5560 | }; |
5385 | 5561 | ||
5386 | |||
5387 | /* | 5562 | /* |
5388 | * The send queue element | 5563 | * The send queue element |
5389 | */ | 5564 | */ |