mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +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
|
* i40e_config_bridge_mode - Configure the HW bridge mode
|
||||||
* @veb: pointer to the bridge instance
|
* @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);
|
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
|
* i40e_free_vfs
|
||||||
* @pf: pointer to the pf structure
|
* @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_link_state(struct i40e_pf *pf);
|
||||||
void i40e_vc_notify_reset(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_ */
|
#endif /* _I40E_VIRTCHNL_PF_H_ */
|
||||||
|
|
Loading…
Reference in a new issue