diff options
author | Michal Kalderon <michals@broadcom.com> | 2014-02-12 11:19:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-12 19:15:41 -0500 |
commit | 14a94ebd48c12f1aee7495c1a1518c33efd3647c (patch) | |
tree | a4d58048d32c0f771b4ead463adf24e55144653c /drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h | |
parent | ba72f32cb8ad1963ba55b30860971f4e2b0ec5e8 (diff) |
bnx2x: Add support in PF driver for RSC
This provides PF-side support for VFs assigned to a VM running windows
2012 with the RSC feature enabled.
Signed-off-by: Michal Kalderon <michals@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h index 208568bc7a71..c922b81170e5 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h | |||
@@ -162,6 +162,7 @@ struct pfvf_acquire_resp_tlv { | |||
162 | #define PFVF_CAP_RSS 0x00000001 | 162 | #define PFVF_CAP_RSS 0x00000001 |
163 | #define PFVF_CAP_DHC 0x00000002 | 163 | #define PFVF_CAP_DHC 0x00000002 |
164 | #define PFVF_CAP_TPA 0x00000004 | 164 | #define PFVF_CAP_TPA 0x00000004 |
165 | #define PFVF_CAP_TPA_UPDATE 0x00000008 | ||
165 | char fw_ver[32]; | 166 | char fw_ver[32]; |
166 | u16 db_size; | 167 | u16 db_size; |
167 | u8 indices_per_sb; | 168 | u8 indices_per_sb; |
@@ -303,6 +304,25 @@ struct vfpf_set_q_filters_tlv { | |||
303 | u32 rx_mask; /* see mask constants at the top of the file */ | 304 | u32 rx_mask; /* see mask constants at the top of the file */ |
304 | }; | 305 | }; |
305 | 306 | ||
307 | struct vfpf_tpa_tlv { | ||
308 | struct vfpf_first_tlv first_tlv; | ||
309 | |||
310 | struct vf_pf_tpa_client_info { | ||
311 | aligned_u64 sge_addr[PFVF_MAX_QUEUES_PER_VF]; | ||
312 | u8 update_ipv4; | ||
313 | u8 update_ipv6; | ||
314 | u8 max_tpa_queues; | ||
315 | u8 max_sges_for_packet; | ||
316 | u8 complete_on_both_clients; | ||
317 | u8 dont_verify_thr; | ||
318 | u8 tpa_mode; | ||
319 | u16 sge_buff_size; | ||
320 | u16 max_agg_size; | ||
321 | u16 sge_pause_thr_low; | ||
322 | u16 sge_pause_thr_high; | ||
323 | } tpa_client_info; | ||
324 | }; | ||
325 | |||
306 | /* close VF (disable VF) */ | 326 | /* close VF (disable VF) */ |
307 | struct vfpf_close_tlv { | 327 | struct vfpf_close_tlv { |
308 | struct vfpf_first_tlv first_tlv; | 328 | struct vfpf_first_tlv first_tlv; |
@@ -331,6 +351,7 @@ union vfpf_tlvs { | |||
331 | struct vfpf_set_q_filters_tlv set_q_filters; | 351 | struct vfpf_set_q_filters_tlv set_q_filters; |
332 | struct vfpf_release_tlv release; | 352 | struct vfpf_release_tlv release; |
333 | struct vfpf_rss_tlv update_rss; | 353 | struct vfpf_rss_tlv update_rss; |
354 | struct vfpf_tpa_tlv update_tpa; | ||
334 | struct channel_list_end_tlv list_end; | 355 | struct channel_list_end_tlv list_end; |
335 | struct tlv_buffer_size tlv_buf_size; | 356 | struct tlv_buffer_size tlv_buf_size; |
336 | }; | 357 | }; |
@@ -405,6 +426,7 @@ enum channel_tlvs { | |||
405 | CHANNEL_TLV_PF_SET_VLAN, | 426 | CHANNEL_TLV_PF_SET_VLAN, |
406 | CHANNEL_TLV_UPDATE_RSS, | 427 | CHANNEL_TLV_UPDATE_RSS, |
407 | CHANNEL_TLV_PHYS_PORT_ID, | 428 | CHANNEL_TLV_PHYS_PORT_ID, |
429 | CHANNEL_TLV_UPDATE_TPA, | ||
408 | CHANNEL_TLV_MAX | 430 | CHANNEL_TLV_MAX |
409 | }; | 431 | }; |
410 | 432 | ||