mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
ice: add a function to initialize vf entry
Some of the initialization code for Single Root IOV VFs will need to be reused when we introduce Scalable IOV. Pull this code out into a new ice_initialize_vf_entry helper function. Co-developed-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Marek Szlosek <marek.szlosek@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
aeead3d04f
commit
b5dcff1fd5
3 changed files with 29 additions and 14 deletions
|
@ -867,21 +867,9 @@ static int ice_create_vf_entries(struct ice_pf *pf, u16 num_vfs)
|
|||
/* set sriov vf ops for VFs created during SRIOV flow */
|
||||
vf->vf_ops = &ice_sriov_vf_ops;
|
||||
|
||||
ice_initialize_vf_entry(vf);
|
||||
|
||||
vf->vf_sw_id = pf->first_sw;
|
||||
/* assign default capabilities */
|
||||
vf->spoofchk = true;
|
||||
vf->num_vf_qs = pf->vfs.num_qps_per;
|
||||
ice_vc_set_default_allowlist(vf);
|
||||
|
||||
/* ctrl_vsi_idx will be set to a valid value only when VF
|
||||
* creates its first fdir rule.
|
||||
*/
|
||||
ice_vf_ctrl_invalidate_vsi(vf);
|
||||
ice_vf_fdir_init(vf);
|
||||
|
||||
ice_virtchnl_set_dflt_ops(vf);
|
||||
|
||||
mutex_init(&vf->cfg_lock);
|
||||
|
||||
hash_add_rcu(vfs->table, &vf->entry, vf_id);
|
||||
}
|
||||
|
|
|
@ -698,6 +698,32 @@ void ice_set_vf_state_qs_dis(struct ice_vf *vf)
|
|||
|
||||
/* Private functions only accessed from other virtualization files */
|
||||
|
||||
/**
|
||||
* ice_initialize_vf_entry - Initialize a VF entry
|
||||
* @vf: pointer to the VF structure
|
||||
*/
|
||||
void ice_initialize_vf_entry(struct ice_vf *vf)
|
||||
{
|
||||
struct ice_pf *pf = vf->pf;
|
||||
struct ice_vfs *vfs;
|
||||
|
||||
vfs = &pf->vfs;
|
||||
|
||||
/* assign default capabilities */
|
||||
vf->spoofchk = true;
|
||||
vf->num_vf_qs = vfs->num_qps_per;
|
||||
ice_vc_set_default_allowlist(vf);
|
||||
ice_virtchnl_set_dflt_ops(vf);
|
||||
|
||||
/* ctrl_vsi_idx will be set to a valid value only when iAVF
|
||||
* creates its first fdir rule.
|
||||
*/
|
||||
ice_vf_ctrl_invalidate_vsi(vf);
|
||||
ice_vf_fdir_init(vf);
|
||||
|
||||
mutex_init(&vf->cfg_lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_dis_vf_qs - Disable the VF queues
|
||||
* @vf: pointer to the VF structure
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#warning "Only include ice_vf_lib_private.h in CONFIG_PCI_IOV virtualization files"
|
||||
#endif
|
||||
|
||||
void ice_initialize_vf_entry(struct ice_vf *vf);
|
||||
void ice_dis_vf_qs(struct ice_vf *vf);
|
||||
int ice_check_vf_init(struct ice_vf *vf);
|
||||
enum virtchnl_status_code ice_err_to_virt_err(int err);
|
||||
|
|
Loading…
Add table
Reference in a new issue