mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
i40e: Move code to enable/disable Loopback to the main file
Since changes made to enable or disable loopback for all VSIs, not only SR-IOV or PCIOV, then it became necessary to move the associated functions to main file - so that other non-SRIOV supported driver can take advantage of the changes. Change-ID: I59a49fd23a6136acda5e16f8d1e5ac7fd9c5fc05 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
1e200e4a57
commit
386a0afa70
3 changed files with 68 additions and 70 deletions
|
@ -5912,6 +5912,74 @@ static void i40e_verify_eeprom(struct i40e_pf *pf)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_enable_pf_switch_lb
|
||||
* @pf: pointer to the pf structure
|
||||
*
|
||||
* enable switch loop back or die - no point in a return value
|
||||
**/
|
||||
static void i40e_enable_pf_switch_lb(struct i40e_pf *pf)
|
||||
{
|
||||
struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
|
||||
struct i40e_vsi_context ctxt;
|
||||
int aq_ret;
|
||||
|
||||
ctxt.seid = pf->main_vsi_seid;
|
||||
ctxt.pf_num = pf->hw.pf_id;
|
||||
ctxt.vf_num = 0;
|
||||
aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s couldn't get pf vsi config, err %d, aq_err %d\n",
|
||||
__func__, aq_ret, pf->hw.aq.asq_last_status);
|
||||
return;
|
||||
}
|
||||
ctxt.flags = I40E_AQ_VSI_TYPE_PF;
|
||||
ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
|
||||
ctxt.info.switch_id |= cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
|
||||
|
||||
aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s: update vsi switch failed, aq_err=%d\n",
|
||||
__func__, vsi->back->hw.aq.asq_last_status);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_disable_pf_switch_lb
|
||||
* @pf: pointer to the pf structure
|
||||
*
|
||||
* disable switch loop back or die - no point in a return value
|
||||
**/
|
||||
static void i40e_disable_pf_switch_lb(struct i40e_pf *pf)
|
||||
{
|
||||
struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
|
||||
struct i40e_vsi_context ctxt;
|
||||
int aq_ret;
|
||||
|
||||
ctxt.seid = pf->main_vsi_seid;
|
||||
ctxt.pf_num = pf->hw.pf_id;
|
||||
ctxt.vf_num = 0;
|
||||
aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s couldn't get pf vsi config, err %d, aq_err %d\n",
|
||||
__func__, aq_ret, pf->hw.aq.asq_last_status);
|
||||
return;
|
||||
}
|
||||
ctxt.flags = I40E_AQ_VSI_TYPE_PF;
|
||||
ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
|
||||
ctxt.info.switch_id &= ~cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
|
||||
|
||||
aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s: update vsi switch failed, aq_err=%d\n",
|
||||
__func__, vsi->back->hw.aq.asq_last_status);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_config_bridge_mode - Configure the HW bridge mode
|
||||
* @veb: pointer to the bridge instance
|
||||
|
|
|
@ -709,74 +709,6 @@ void i40e_reset_vf(struct i40e_vf *vf, bool flr)
|
|||
clear_bit(__I40E_VF_DISABLE, &pf->state);
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_enable_pf_switch_lb
|
||||
* @pf: pointer to the pf structure
|
||||
*
|
||||
* enable switch loop back or die - no point in a return value
|
||||
**/
|
||||
void i40e_enable_pf_switch_lb(struct i40e_pf *pf)
|
||||
{
|
||||
struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
|
||||
struct i40e_vsi_context ctxt;
|
||||
int aq_ret;
|
||||
|
||||
ctxt.seid = pf->main_vsi_seid;
|
||||
ctxt.pf_num = pf->hw.pf_id;
|
||||
ctxt.vf_num = 0;
|
||||
aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s couldn't get pf vsi config, err %d, aq_err %d\n",
|
||||
__func__, aq_ret, pf->hw.aq.asq_last_status);
|
||||
return;
|
||||
}
|
||||
ctxt.flags = I40E_AQ_VSI_TYPE_PF;
|
||||
ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
|
||||
ctxt.info.switch_id |= cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
|
||||
|
||||
aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s: update vsi switch failed, aq_err=%d\n",
|
||||
__func__, vsi->back->hw.aq.asq_last_status);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_disable_pf_switch_lb
|
||||
* @pf: pointer to the pf structure
|
||||
*
|
||||
* disable switch loop back or die - no point in a return value
|
||||
**/
|
||||
void i40e_disable_pf_switch_lb(struct i40e_pf *pf)
|
||||
{
|
||||
struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
|
||||
struct i40e_vsi_context ctxt;
|
||||
int aq_ret;
|
||||
|
||||
ctxt.seid = pf->main_vsi_seid;
|
||||
ctxt.pf_num = pf->hw.pf_id;
|
||||
ctxt.vf_num = 0;
|
||||
aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s couldn't get pf vsi config, err %d, aq_err %d\n",
|
||||
__func__, aq_ret, pf->hw.aq.asq_last_status);
|
||||
return;
|
||||
}
|
||||
ctxt.flags = I40E_AQ_VSI_TYPE_PF;
|
||||
ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
|
||||
ctxt.info.switch_id &= ~cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
|
||||
|
||||
aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
||||
if (aq_ret) {
|
||||
dev_info(&pf->pdev->dev,
|
||||
"%s: update vsi switch failed, aq_err=%d\n",
|
||||
__func__, vsi->back->hw.aq.asq_last_status);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_free_vfs
|
||||
* @pf: pointer to the pf structure
|
||||
|
|
|
@ -126,7 +126,5 @@ int i40e_ndo_set_vf_spoofchk(struct net_device *netdev, int vf_id, bool enable);
|
|||
|
||||
void i40e_vc_notify_link_state(struct i40e_pf *pf);
|
||||
void i40e_vc_notify_reset(struct i40e_pf *pf);
|
||||
void i40e_enable_pf_switch_lb(struct i40e_pf *pf);
|
||||
void i40e_disable_pf_switch_lb(struct i40e_pf *pf);
|
||||
|
||||
#endif /* _I40E_VIRTCHNL_PF_H_ */
|
||||
|
|
Loading…
Reference in a new issue