Commit 8ede0178 authored by Anirudh Venkataramanan's avatar Anirudh Venkataramanan Committed by Jeff Kirsher

ice: Update VSI and queue management code to handle VF VSI

Until now, all the VSI and queue management code supported only the PF
VSI type (ICE_VSI_PF). Update these flows to handle the VF VSI type
(ICE_VSI_VF) type as well.
Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent ddf30f7f
...@@ -202,6 +202,8 @@ struct ice_vsi { ...@@ -202,6 +202,8 @@ struct ice_vsi {
/* Interrupt thresholds */ /* Interrupt thresholds */
u16 work_lmt; u16 work_lmt;
s16 vf_id; /* VF ID for SR-IOV VSIs */
/* RSS config */ /* RSS config */
u16 rss_table_size; /* HW RSS table size */ u16 rss_table_size; /* HW RSS table size */
u16 rss_size; /* Allocated RSS queues */ u16 rss_size; /* Allocated RSS queues */
......
...@@ -312,6 +312,7 @@ ...@@ -312,6 +312,7 @@
#define GLV_UPTCH(_i) (0x0030A004 + ((_i) * 8)) #define GLV_UPTCH(_i) (0x0030A004 + ((_i) * 8))
#define GLV_UPTCL(_i) (0x0030A000 + ((_i) * 8)) #define GLV_UPTCL(_i) (0x0030A000 + ((_i) * 8))
#define VSIQF_HKEY_MAX_INDEX 12 #define VSIQF_HKEY_MAX_INDEX 12
#define VSIQF_HLUT_MAX_INDEX 15
#define VFINT_DYN_CTLN(_i) (0x00003800 + ((_i) * 4)) #define VFINT_DYN_CTLN(_i) (0x00003800 + ((_i) * 4))
#define VFINT_DYN_CTLN_CLEARPBA_M BIT(1) #define VFINT_DYN_CTLN_CLEARPBA_M BIT(1)
......
...@@ -418,6 +418,7 @@ struct ice_tlan_ctx { ...@@ -418,6 +418,7 @@ struct ice_tlan_ctx {
u8 pf_num; u8 pf_num;
u16 vmvf_num; u16 vmvf_num;
u8 vmvf_type; u8 vmvf_type;
#define ICE_TLAN_CTX_VMVF_TYPE_VF 0
#define ICE_TLAN_CTX_VMVF_TYPE_VMQ 1 #define ICE_TLAN_CTX_VMVF_TYPE_VMQ 1
#define ICE_TLAN_CTX_VMVF_TYPE_PF 2 #define ICE_TLAN_CTX_VMVF_TYPE_PF 2
u16 src_vsi; u16 src_vsi;
......
This diff is collapsed.
...@@ -19,6 +19,7 @@ struct ice_vsi_ctx { ...@@ -19,6 +19,7 @@ struct ice_vsi_ctx {
struct ice_aqc_vsi_props info; struct ice_aqc_vsi_props info;
struct ice_sched_vsi_info sched; struct ice_sched_vsi_info sched;
u8 alloc_from_pool; u8 alloc_from_pool;
u8 vf_num;
}; };
enum ice_sw_fwd_act_type { enum ice_sw_fwd_act_type {
......
...@@ -443,4 +443,7 @@ struct ice_hw_port_stats { ...@@ -443,4 +443,7 @@ struct ice_hw_port_stats {
#define ICE_SR_SECTOR_SIZE_IN_WORDS 0x800 #define ICE_SR_SECTOR_SIZE_IN_WORDS 0x800
#define ICE_SR_WORDS_IN_1KB 512 #define ICE_SR_WORDS_IN_1KB 512
/* Hash redirection LUT for VSI - maximum array size */
#define ICE_VSIQF_HLUT_ARRAY_SIZE ((VSIQF_HLUT_MAX_INDEX + 1) * 4)
#endif /* _ICE_TYPE_H_ */ #endif /* _ICE_TYPE_H_ */
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