ice: refactor ice_vf_lib to make functions static
As following methods are not used outside ice_vf_lib, they can be made static: ice_vf_rebuild_host_vlan_cfg ice_vf_rebuild_host_tx_rate_cfg ice_vf_set_host_trust_cfg ice_vf_rebuild_host_mac_cfg ice_vf_rebuild_aggregator_node_cfg ice_vf_rebuild_host_cfg ice_set_vf_state_qs_dis ice_vf_set_initialized In order to achieve that, the order in which these were defined was reorganized. Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
45f5478c03
commit
cc9c60c9ed
@ -322,6 +322,240 @@ static int ice_vf_rebuild_vsi(struct ice_vf *vf)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_vlan_cfg - add VLAN 0 filter or rebuild the Port VLAN
|
||||
* @vf: VF to add MAC filters for
|
||||
* @vsi: Pointer to VSI
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuilt during reset. The PF driver
|
||||
* always re-adds either a VLAN 0 or port VLAN based filter after reset.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_vlan_cfg(struct ice_vf *vf, struct ice_vsi *vsi)
|
||||
{
|
||||
struct ice_vsi_vlan_ops *vlan_ops = ice_get_compat_vsi_vlan_ops(vsi);
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
int err;
|
||||
|
||||
if (ice_vf_is_port_vlan_ena(vf)) {
|
||||
err = vlan_ops->set_port_vlan(vsi, &vf->port_vlan_info);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to configure port VLAN via VSI parameters for VF %u, error %d\n",
|
||||
vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = vlan_ops->add_vlan(vsi, &vf->port_vlan_info);
|
||||
} else {
|
||||
err = ice_vsi_add_vlan_zero(vsi);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
dev_err(dev, "failed to add VLAN %u filter for VF %u during VF rebuild, error %d\n",
|
||||
ice_vf_is_port_vlan_ena(vf) ?
|
||||
ice_vf_get_port_vlan_id(vf) : 0, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = vlan_ops->ena_rx_filtering(vsi);
|
||||
if (err)
|
||||
dev_warn(dev, "failed to enable Rx VLAN filtering for VF %d VSI %d during VF rebuild, error %d\n",
|
||||
vf->vf_id, vsi->idx, err);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_tx_rate_cfg - re-apply the Tx rate limiting configuration
|
||||
* @vf: VF to re-apply the configuration for
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuild during reset. The PF driver
|
||||
* needs to re-apply the host configured Tx rate limiting configuration.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_tx_rate_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
int err;
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return -EINVAL;
|
||||
|
||||
if (vf->min_tx_rate) {
|
||||
err = ice_set_min_bw_limit(vsi, (u64)vf->min_tx_rate * 1000);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to set min Tx rate to %d Mbps for VF %u, error %d\n",
|
||||
vf->min_tx_rate, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if (vf->max_tx_rate) {
|
||||
err = ice_set_max_bw_limit(vsi, (u64)vf->max_tx_rate * 1000);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to set max Tx rate to %d Mbps for VF %u, error %d\n",
|
||||
vf->max_tx_rate, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_set_host_trust_cfg - set trust setting based on pre-reset value
|
||||
* @vf: VF to configure trust setting for
|
||||
*/
|
||||
static void ice_vf_set_host_trust_cfg(struct ice_vf *vf)
|
||||
{
|
||||
if (vf->trusted)
|
||||
set_bit(ICE_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);
|
||||
else
|
||||
clear_bit(ICE_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_mac_cfg - add broadcast and the VF's perm_addr/LAA
|
||||
* @vf: VF to add MAC filters for
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuilt during reset. The PF driver
|
||||
* always re-adds a broadcast filter and the VF's perm_addr/LAA after reset.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_mac_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
u8 broadcast[ETH_ALEN];
|
||||
int status;
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return -EINVAL;
|
||||
|
||||
if (ice_is_eswitch_mode_switchdev(vf->pf))
|
||||
return 0;
|
||||
|
||||
eth_broadcast_addr(broadcast);
|
||||
status = ice_fltr_add_mac(vsi, broadcast, ICE_FWD_TO_VSI);
|
||||
if (status) {
|
||||
dev_err(dev, "failed to add broadcast MAC filter for VF %u, error %d\n",
|
||||
vf->vf_id, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
vf->num_mac++;
|
||||
|
||||
if (is_valid_ether_addr(vf->hw_lan_addr)) {
|
||||
status = ice_fltr_add_mac(vsi, vf->hw_lan_addr,
|
||||
ICE_FWD_TO_VSI);
|
||||
if (status) {
|
||||
dev_err(dev, "failed to add default unicast MAC filter %pM for VF %u, error %d\n",
|
||||
&vf->hw_lan_addr[0], vf->vf_id,
|
||||
status);
|
||||
return status;
|
||||
}
|
||||
vf->num_mac++;
|
||||
|
||||
ether_addr_copy(vf->dev_lan_addr, vf->hw_lan_addr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_aggregator_node_cfg - rebuild aggregator node config
|
||||
* @vsi: Pointer to VSI
|
||||
*
|
||||
* This function moves VSI into corresponding scheduler aggregator node
|
||||
* based on cached value of "aggregator node info" per VSI
|
||||
*/
|
||||
static void ice_vf_rebuild_aggregator_node_cfg(struct ice_vsi *vsi)
|
||||
{
|
||||
struct ice_pf *pf = vsi->back;
|
||||
struct device *dev;
|
||||
int status;
|
||||
|
||||
if (!vsi->agg_node)
|
||||
return;
|
||||
|
||||
dev = ice_pf_to_dev(pf);
|
||||
if (vsi->agg_node->num_vsis == ICE_MAX_VSIS_IN_AGG_NODE) {
|
||||
dev_dbg(dev,
|
||||
"agg_id %u already has reached max_num_vsis %u\n",
|
||||
vsi->agg_node->agg_id, vsi->agg_node->num_vsis);
|
||||
return;
|
||||
}
|
||||
|
||||
status = ice_move_vsi_to_agg(pf->hw.port_info, vsi->agg_node->agg_id,
|
||||
vsi->idx, vsi->tc_cfg.ena_tc);
|
||||
if (status)
|
||||
dev_dbg(dev, "unable to move VSI idx %u into aggregator %u node",
|
||||
vsi->idx, vsi->agg_node->agg_id);
|
||||
else
|
||||
vsi->agg_node->num_vsis++;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_cfg - host admin configuration is persistent across reset
|
||||
* @vf: VF to rebuild host configuration on
|
||||
*/
|
||||
static void ice_vf_rebuild_host_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return;
|
||||
|
||||
ice_vf_set_host_trust_cfg(vf);
|
||||
|
||||
if (ice_vf_rebuild_host_mac_cfg(vf))
|
||||
dev_err(dev, "failed to rebuild default MAC configuration for VF %d\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vf_rebuild_host_vlan_cfg(vf, vsi))
|
||||
dev_err(dev, "failed to rebuild VLAN configuration for VF %u\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vf_rebuild_host_tx_rate_cfg(vf))
|
||||
dev_err(dev, "failed to rebuild Tx rate limiting configuration for VF %u\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vsi_apply_spoofchk(vsi, vf->spoofchk))
|
||||
dev_err(dev, "failed to rebuild spoofchk configuration for VF %d\n",
|
||||
vf->vf_id);
|
||||
|
||||
/* rebuild aggregator node config for main VF VSI */
|
||||
ice_vf_rebuild_aggregator_node_cfg(vsi);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_set_vf_state_qs_dis - Set VF queues state to disabled
|
||||
* @vf: pointer to the VF structure
|
||||
*/
|
||||
static void ice_set_vf_state_qs_dis(struct ice_vf *vf)
|
||||
{
|
||||
/* Clear Rx/Tx enabled queues flag */
|
||||
bitmap_zero(vf->txq_ena, ICE_MAX_RSS_QS_PER_VF);
|
||||
bitmap_zero(vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF);
|
||||
clear_bit(ICE_VF_STATE_QS_ENA, vf->vf_states);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_set_initialized - VF is ready for VIRTCHNL communication
|
||||
* @vf: VF to set in initialized state
|
||||
*
|
||||
* After this function the VF will be ready to receive/handle the
|
||||
* VIRTCHNL_OP_GET_VF_RESOURCES message
|
||||
*/
|
||||
static void ice_vf_set_initialized(struct ice_vf *vf)
|
||||
{
|
||||
ice_set_vf_state_qs_dis(vf);
|
||||
clear_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states);
|
||||
clear_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states);
|
||||
clear_bit(ICE_VF_STATE_DIS, vf->vf_states);
|
||||
set_bit(ICE_VF_STATE_INIT, vf->vf_states);
|
||||
memset(&vf->vlan_v2_caps, 0, sizeof(vf->vlan_v2_caps));
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_post_vsi_rebuild - Reset tasks that occur after VSI rebuild
|
||||
* @vf: the VF being reset
|
||||
@ -725,18 +959,6 @@ out_unlock:
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_set_vf_state_qs_dis - Set VF queues state to disabled
|
||||
* @vf: pointer to the VF structure
|
||||
*/
|
||||
static void ice_set_vf_state_qs_dis(struct ice_vf *vf)
|
||||
{
|
||||
/* Clear Rx/Tx enabled queues flag */
|
||||
bitmap_zero(vf->txq_ena, ICE_MAX_RSS_QS_PER_VF);
|
||||
bitmap_zero(vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF);
|
||||
clear_bit(ICE_VF_STATE_QS_ENA, vf->vf_states);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_set_vf_state_dis - Set VF state to disabled
|
||||
* @vf: pointer to the VF structure
|
||||
@ -977,211 +1199,6 @@ bool ice_is_vf_link_up(struct ice_vf *vf)
|
||||
ICE_AQ_LINK_UP;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_set_host_trust_cfg - set trust setting based on pre-reset value
|
||||
* @vf: VF to configure trust setting for
|
||||
*/
|
||||
static void ice_vf_set_host_trust_cfg(struct ice_vf *vf)
|
||||
{
|
||||
if (vf->trusted)
|
||||
set_bit(ICE_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);
|
||||
else
|
||||
clear_bit(ICE_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_mac_cfg - add broadcast and the VF's perm_addr/LAA
|
||||
* @vf: VF to add MAC filters for
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuilt during reset. The PF driver
|
||||
* always re-adds a broadcast filter and the VF's perm_addr/LAA after reset.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_mac_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
u8 broadcast[ETH_ALEN];
|
||||
int status;
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return -EINVAL;
|
||||
|
||||
if (ice_is_eswitch_mode_switchdev(vf->pf))
|
||||
return 0;
|
||||
|
||||
eth_broadcast_addr(broadcast);
|
||||
status = ice_fltr_add_mac(vsi, broadcast, ICE_FWD_TO_VSI);
|
||||
if (status) {
|
||||
dev_err(dev, "failed to add broadcast MAC filter for VF %u, error %d\n",
|
||||
vf->vf_id, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
vf->num_mac++;
|
||||
|
||||
if (is_valid_ether_addr(vf->hw_lan_addr)) {
|
||||
status = ice_fltr_add_mac(vsi, vf->hw_lan_addr,
|
||||
ICE_FWD_TO_VSI);
|
||||
if (status) {
|
||||
dev_err(dev, "failed to add default unicast MAC filter %pM for VF %u, error %d\n",
|
||||
&vf->hw_lan_addr[0], vf->vf_id,
|
||||
status);
|
||||
return status;
|
||||
}
|
||||
vf->num_mac++;
|
||||
|
||||
ether_addr_copy(vf->dev_lan_addr, vf->hw_lan_addr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_vlan_cfg - add VLAN 0 filter or rebuild the Port VLAN
|
||||
* @vf: VF to add MAC filters for
|
||||
* @vsi: Pointer to VSI
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuilt during reset. The PF driver
|
||||
* always re-adds either a VLAN 0 or port VLAN based filter after reset.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_vlan_cfg(struct ice_vf *vf, struct ice_vsi *vsi)
|
||||
{
|
||||
struct ice_vsi_vlan_ops *vlan_ops = ice_get_compat_vsi_vlan_ops(vsi);
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
int err;
|
||||
|
||||
if (ice_vf_is_port_vlan_ena(vf)) {
|
||||
err = vlan_ops->set_port_vlan(vsi, &vf->port_vlan_info);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to configure port VLAN via VSI parameters for VF %u, error %d\n",
|
||||
vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = vlan_ops->add_vlan(vsi, &vf->port_vlan_info);
|
||||
} else {
|
||||
err = ice_vsi_add_vlan_zero(vsi);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
dev_err(dev, "failed to add VLAN %u filter for VF %u during VF rebuild, error %d\n",
|
||||
ice_vf_is_port_vlan_ena(vf) ?
|
||||
ice_vf_get_port_vlan_id(vf) : 0, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
err = vlan_ops->ena_rx_filtering(vsi);
|
||||
if (err)
|
||||
dev_warn(dev, "failed to enable Rx VLAN filtering for VF %d VSI %d during VF rebuild, error %d\n",
|
||||
vf->vf_id, vsi->idx, err);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_tx_rate_cfg - re-apply the Tx rate limiting configuration
|
||||
* @vf: VF to re-apply the configuration for
|
||||
*
|
||||
* Called after a VF VSI has been re-added/rebuild during reset. The PF driver
|
||||
* needs to re-apply the host configured Tx rate limiting configuration.
|
||||
*/
|
||||
static int ice_vf_rebuild_host_tx_rate_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
int err;
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return -EINVAL;
|
||||
|
||||
if (vf->min_tx_rate) {
|
||||
err = ice_set_min_bw_limit(vsi, (u64)vf->min_tx_rate * 1000);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to set min Tx rate to %d Mbps for VF %u, error %d\n",
|
||||
vf->min_tx_rate, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if (vf->max_tx_rate) {
|
||||
err = ice_set_max_bw_limit(vsi, (u64)vf->max_tx_rate * 1000);
|
||||
if (err) {
|
||||
dev_err(dev, "failed to set max Tx rate to %d Mbps for VF %u, error %d\n",
|
||||
vf->max_tx_rate, vf->vf_id, err);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_aggregator_node_cfg - rebuild aggregator node config
|
||||
* @vsi: Pointer to VSI
|
||||
*
|
||||
* This function moves VSI into corresponding scheduler aggregator node
|
||||
* based on cached value of "aggregator node info" per VSI
|
||||
*/
|
||||
static void ice_vf_rebuild_aggregator_node_cfg(struct ice_vsi *vsi)
|
||||
{
|
||||
struct ice_pf *pf = vsi->back;
|
||||
struct device *dev;
|
||||
int status;
|
||||
|
||||
if (!vsi->agg_node)
|
||||
return;
|
||||
|
||||
dev = ice_pf_to_dev(pf);
|
||||
if (vsi->agg_node->num_vsis == ICE_MAX_VSIS_IN_AGG_NODE) {
|
||||
dev_dbg(dev,
|
||||
"agg_id %u already has reached max_num_vsis %u\n",
|
||||
vsi->agg_node->agg_id, vsi->agg_node->num_vsis);
|
||||
return;
|
||||
}
|
||||
|
||||
status = ice_move_vsi_to_agg(pf->hw.port_info, vsi->agg_node->agg_id,
|
||||
vsi->idx, vsi->tc_cfg.ena_tc);
|
||||
if (status)
|
||||
dev_dbg(dev, "unable to move VSI idx %u into aggregator %u node",
|
||||
vsi->idx, vsi->agg_node->agg_id);
|
||||
else
|
||||
vsi->agg_node->num_vsis++;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_rebuild_host_cfg - host admin configuration is persistent across reset
|
||||
* @vf: VF to rebuild host configuration on
|
||||
*/
|
||||
void ice_vf_rebuild_host_cfg(struct ice_vf *vf)
|
||||
{
|
||||
struct device *dev = ice_pf_to_dev(vf->pf);
|
||||
struct ice_vsi *vsi = ice_get_vf_vsi(vf);
|
||||
|
||||
if (WARN_ON(!vsi))
|
||||
return;
|
||||
|
||||
ice_vf_set_host_trust_cfg(vf);
|
||||
|
||||
if (ice_vf_rebuild_host_mac_cfg(vf))
|
||||
dev_err(dev, "failed to rebuild default MAC configuration for VF %d\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vf_rebuild_host_vlan_cfg(vf, vsi))
|
||||
dev_err(dev, "failed to rebuild VLAN configuration for VF %u\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vf_rebuild_host_tx_rate_cfg(vf))
|
||||
dev_err(dev, "failed to rebuild Tx rate limiting configuration for VF %u\n",
|
||||
vf->vf_id);
|
||||
|
||||
if (ice_vsi_apply_spoofchk(vsi, vf->spoofchk))
|
||||
dev_err(dev, "failed to rebuild spoofchk configuration for VF %d\n",
|
||||
vf->vf_id);
|
||||
|
||||
/* rebuild aggregator node config for main VF VSI */
|
||||
ice_vf_rebuild_aggregator_node_cfg(vsi);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_ctrl_invalidate_vsi - invalidate ctrl_vsi_idx to remove VSI access
|
||||
* @vf: VF that control VSI is being invalidated on
|
||||
@ -1310,23 +1327,6 @@ void ice_vf_vsi_release(struct ice_vf *vf)
|
||||
ice_vf_invalidate_vsi(vf);
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_vf_set_initialized - VF is ready for VIRTCHNL communication
|
||||
* @vf: VF to set in initialized state
|
||||
*
|
||||
* After this function the VF will be ready to receive/handle the
|
||||
* VIRTCHNL_OP_GET_VF_RESOURCES message
|
||||
*/
|
||||
void ice_vf_set_initialized(struct ice_vf *vf)
|
||||
{
|
||||
ice_set_vf_state_qs_dis(vf);
|
||||
clear_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states);
|
||||
clear_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states);
|
||||
clear_bit(ICE_VF_STATE_DIS, vf->vf_states);
|
||||
set_bit(ICE_VF_STATE_INIT, vf->vf_states);
|
||||
memset(&vf->vlan_v2_caps, 0, sizeof(vf->vlan_v2_caps));
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_get_vf_ctrl_vsi - Get first VF control VSI pointer
|
||||
* @pf: the PF private structure
|
||||
|
@ -32,13 +32,11 @@ int ice_vsi_apply_spoofchk(struct ice_vsi *vsi, bool enable);
|
||||
bool ice_is_vf_trusted(struct ice_vf *vf);
|
||||
bool ice_vf_has_no_qs_ena(struct ice_vf *vf);
|
||||
bool ice_is_vf_link_up(struct ice_vf *vf);
|
||||
void ice_vf_rebuild_host_cfg(struct ice_vf *vf);
|
||||
void ice_vf_ctrl_invalidate_vsi(struct ice_vf *vf);
|
||||
void ice_vf_ctrl_vsi_release(struct ice_vf *vf);
|
||||
struct ice_vsi *ice_vf_ctrl_vsi_setup(struct ice_vf *vf);
|
||||
int ice_vf_init_host_cfg(struct ice_vf *vf, struct ice_vsi *vsi);
|
||||
void ice_vf_invalidate_vsi(struct ice_vf *vf);
|
||||
void ice_vf_vsi_release(struct ice_vf *vf);
|
||||
void ice_vf_set_initialized(struct ice_vf *vf);
|
||||
|
||||
#endif /* _ICE_VF_LIB_PRIVATE_H_ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user