Lines Matching refs:vf

181 	struct ice_vf *vf;  in ice_vc_vf_broadcast()  local
185 ice_for_each_vf(pf, bkt, vf) { in ice_vc_vf_broadcast()
187 if (!test_bit(ICE_VF_STATE_INIT, vf->vf_states) && in ice_vc_vf_broadcast()
188 !test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) in ice_vc_vf_broadcast()
194 ice_aq_send_msg_to_vf(hw, vf->vf_id, v_opcode, v_retval, msg, in ice_vc_vf_broadcast()
208 ice_set_pfe_link(struct ice_vf *vf, struct virtchnl_pf_event *pfe, in ice_set_pfe_link() argument
211 if (vf->driver_caps & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) { in ice_set_pfe_link()
231 void ice_vc_notify_vf_link_state(struct ice_vf *vf) in ice_vc_notify_vf_link_state() argument
234 struct ice_hw *hw = &vf->pf->hw; in ice_vc_notify_vf_link_state()
239 if (ice_is_vf_link_up(vf)) in ice_vc_notify_vf_link_state()
240 ice_set_pfe_link(vf, &pfe, in ice_vc_notify_vf_link_state()
243 ice_set_pfe_link(vf, &pfe, ICE_AQ_LINK_SPEED_UNKNOWN, false); in ice_vc_notify_vf_link_state()
245 ice_aq_send_msg_to_vf(hw, vf->vf_id, VIRTCHNL_OP_EVENT, in ice_vc_notify_vf_link_state()
256 struct ice_vf *vf; in ice_vc_notify_link_state() local
260 ice_for_each_vf(pf, bkt, vf) in ice_vc_notify_link_state()
261 ice_vc_notify_vf_link_state(vf); in ice_vc_notify_link_state()
295 ice_vc_send_msg_to_vf(struct ice_vf *vf, u32 v_opcode, in ice_vc_send_msg_to_vf() argument
302 pf = vf->pf; in ice_vc_send_msg_to_vf()
305 aq_ret = ice_aq_send_msg_to_vf(&pf->hw, vf->vf_id, v_opcode, v_retval, in ice_vc_send_msg_to_vf()
309 vf->vf_id, aq_ret, in ice_vc_send_msg_to_vf()
324 static int ice_vc_get_ver_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_ver_msg() argument
330 vf->vf_ver = *(struct virtchnl_version_info *)msg; in ice_vc_get_ver_msg()
332 if (VF_IS_V10(&vf->vf_ver)) in ice_vc_get_ver_msg()
335 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_VERSION, in ice_vc_get_ver_msg()
349 static u16 ice_vc_get_max_frame_size(struct ice_vf *vf) in ice_vc_get_max_frame_size() argument
351 struct ice_port_info *pi = ice_vf_get_port_info(vf); in ice_vc_get_max_frame_size()
356 if (ice_vf_is_port_vlan_ena(vf)) in ice_vc_get_max_frame_size()
372 ice_vc_get_vlan_caps(struct ice_hw *hw, struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_get_vlan_caps() argument
375 if (ice_is_eswitch_mode_switchdev(vf->pf)) in ice_vc_get_vlan_caps()
389 if (ice_is_dvm_ena(hw) && ice_vf_is_port_vlan_ena(vf)) { in ice_vc_get_vlan_caps()
392 !ice_vf_is_port_vlan_ena(vf)) { in ice_vc_get_vlan_caps()
417 static int ice_vc_get_vf_res_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_vf_res_msg() argument
421 struct ice_hw *hw = &vf->pf->hw; in ice_vc_get_vf_res_msg()
426 if (ice_check_vf_init(vf)) { in ice_vc_get_vf_res_msg()
439 if (VF_IS_V11(&vf->vf_ver)) in ice_vc_get_vf_res_msg()
440 vf->driver_caps = *(u32 *)msg; in ice_vc_get_vf_res_msg()
442 vf->driver_caps = VIRTCHNL_VF_OFFLOAD_L2 | in ice_vc_get_vf_res_msg()
447 vsi = ice_get_vf_vsi(vf); in ice_vc_get_vf_res_msg()
453 vfres->vf_cap_flags |= ice_vc_get_vlan_caps(hw, vf, vsi, in ice_vc_get_vf_res_msg()
454 vf->driver_caps); in ice_vc_get_vf_res_msg()
456 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_PF) { in ice_vc_get_vf_res_msg()
459 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_AQ) in ice_vc_get_vf_res_msg()
465 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC) in ice_vc_get_vf_res_msg()
468 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_FDIR_PF) in ice_vc_get_vf_res_msg()
471 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2) in ice_vc_get_vf_res_msg()
474 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ENCAP) in ice_vc_get_vf_res_msg()
477 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM) in ice_vc_get_vf_res_msg()
480 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RX_POLLING) in ice_vc_get_vf_res_msg()
483 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) in ice_vc_get_vf_res_msg()
486 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_REQ_QUEUES) in ice_vc_get_vf_res_msg()
489 if (vf->driver_caps & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) in ice_vc_get_vf_res_msg()
492 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ADV_RSS_PF) in ice_vc_get_vf_res_msg()
495 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_USO) in ice_vc_get_vf_res_msg()
501 vfres->max_vectors = vf->pf->vfs.num_msix_per; in ice_vc_get_vf_res_msg()
504 vfres->max_mtu = ice_vc_get_max_frame_size(vf); in ice_vc_get_vf_res_msg()
506 vfres->vsi_res[0].vsi_id = vf->lan_vsi_num; in ice_vc_get_vf_res_msg()
510 vf->hw_lan_addr); in ice_vc_get_vf_res_msg()
513 vf->driver_caps = vfres->vf_cap_flags; in ice_vc_get_vf_res_msg()
515 ice_vc_set_caps_allowlist(vf); in ice_vc_get_vf_res_msg()
516 ice_vc_set_working_allowlist(vf); in ice_vc_get_vf_res_msg()
518 set_bit(ICE_VF_STATE_ACTIVE, vf->vf_states); in ice_vc_get_vf_res_msg()
522 ret = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_VF_RESOURCES, v_ret, in ice_vc_get_vf_res_msg()
537 static void ice_vc_reset_vf_msg(struct ice_vf *vf) in ice_vc_reset_vf_msg() argument
539 if (test_bit(ICE_VF_STATE_INIT, vf->vf_states)) in ice_vc_reset_vf_msg()
540 ice_reset_vf(vf, 0); in ice_vc_reset_vf_msg()
550 bool ice_vc_isvalid_vsi_id(struct ice_vf *vf, u16 vsi_id) in ice_vc_isvalid_vsi_id() argument
552 struct ice_pf *pf = vf->pf; in ice_vc_isvalid_vsi_id()
557 return (vsi && (vsi->vf == vf)); in ice_vc_isvalid_vsi_id()
568 static bool ice_vc_isvalid_q_id(struct ice_vf *vf, u16 vsi_id, u8 qid) in ice_vc_isvalid_q_id() argument
570 struct ice_vsi *vsi = ice_find_vsi(vf->pf, vsi_id); in ice_vc_isvalid_q_id()
600 ice_vc_validate_pattern(struct ice_vf *vf, struct virtchnl_proto_hdrs *proto) in ice_vc_validate_pattern() argument
681 return ice_hw_ptype_ena(&vf->pf->hw, ptype); in ice_vc_validate_pattern()
769 static int ice_vc_handle_rss_cfg(struct ice_vf *vf, u8 *msg, bool add) in ice_vc_handle_rss_cfg() argument
774 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_handle_rss_cfg()
775 struct ice_hw *hw = &vf->pf->hw; in ice_vc_handle_rss_cfg()
778 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_handle_rss_cfg()
780 vf->vf_id); in ice_vc_handle_rss_cfg()
785 if (!ice_vf_adv_rss_offload_ena(vf->driver_caps)) { in ice_vc_handle_rss_cfg()
787 vf->vf_id); in ice_vc_handle_rss_cfg()
792 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_handle_rss_cfg()
801 vf->vf_id); in ice_vc_handle_rss_cfg()
806 vsi = ice_get_vf_vsi(vf); in ice_vc_handle_rss_cfg()
812 if (!ice_vc_validate_pattern(vf, &rss_cfg->proto_hdrs)) { in ice_vc_handle_rss_cfg()
886 vf->vf_id, status); in ice_vc_handle_rss_cfg()
892 return ice_vc_send_msg_to_vf(vf, v_opcode, v_ret, NULL, 0); in ice_vc_handle_rss_cfg()
902 static int ice_vc_config_rss_key(struct ice_vf *vf, u8 *msg) in ice_vc_config_rss_key() argument
909 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_config_rss_key()
914 if (!ice_vc_isvalid_vsi_id(vf, vrk->vsi_id)) { in ice_vc_config_rss_key()
924 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_config_rss_key()
929 vsi = ice_get_vf_vsi(vf); in ice_vc_config_rss_key()
938 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_RSS_KEY, v_ret, in ice_vc_config_rss_key()
949 static int ice_vc_config_rss_lut(struct ice_vf *vf, u8 *msg) in ice_vc_config_rss_lut() argument
955 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_config_rss_lut()
960 if (!ice_vc_isvalid_vsi_id(vf, vrl->vsi_id)) { in ice_vc_config_rss_lut()
970 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_config_rss_lut()
975 vsi = ice_get_vf_vsi(vf); in ice_vc_config_rss_lut()
984 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_RSS_LUT, v_ret, in ice_vc_config_rss_lut()
995 static int ice_vc_cfg_promiscuous_mode_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_promiscuous_mode_msg() argument
1003 struct ice_pf *pf = vf->pf; in ice_vc_cfg_promiscuous_mode_msg()
1009 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_cfg_promiscuous_mode_msg()
1014 if (!ice_vc_isvalid_vsi_id(vf, info->vsi_id)) { in ice_vc_cfg_promiscuous_mode_msg()
1019 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_promiscuous_mode_msg()
1026 if (!ice_is_vf_trusted(vf)) { in ice_vc_cfg_promiscuous_mode_msg()
1028 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1052 ice_vf_get_promisc_masks(vf, vsi, &ucast_m, &mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1068 mcast_err = ice_vf_set_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1070 mcast_err = ice_vf_clear_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1074 vf->vf_id, ret); in ice_vc_cfg_promiscuous_mode_msg()
1080 ucast_err = ice_vf_set_vsi_promisc(vf, vsi, ucast_m); in ice_vc_cfg_promiscuous_mode_msg()
1082 ucast_err = ice_vf_clear_vsi_promisc(vf, vsi, ucast_m); in ice_vc_cfg_promiscuous_mode_msg()
1085 mcast_err = ice_vf_set_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1087 mcast_err = ice_vf_clear_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1095 !test_and_set_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1097 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1100 vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1102 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1105 vf->vf_id, mcast_err); in ice_vc_cfg_promiscuous_mode_msg()
1110 !test_and_set_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1112 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1115 vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1117 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1120 vf->vf_id, ucast_err); in ice_vc_cfg_promiscuous_mode_msg()
1124 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE, in ice_vc_cfg_promiscuous_mode_msg()
1135 static int ice_vc_get_stats_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_stats_msg() argument
1143 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_get_stats_msg()
1148 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_get_stats_msg()
1153 vsi = ice_get_vf_vsi(vf); in ice_vc_get_stats_msg()
1165 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_STATS, v_ret, in ice_vc_get_stats_msg()
1238 static int ice_vc_ena_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_qs_msg() argument
1247 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_qs_msg()
1252 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_ena_qs_msg()
1262 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_qs_msg()
1274 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_ena_qs_msg()
1280 if (test_bit(vf_q_id, vf->rxq_ena)) in ice_vc_ena_qs_msg()
1291 set_bit(vf_q_id, vf->rxq_ena); in ice_vc_ena_qs_msg()
1296 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_ena_qs_msg()
1302 if (test_bit(vf_q_id, vf->txq_ena)) in ice_vc_ena_qs_msg()
1306 set_bit(vf_q_id, vf->txq_ena); in ice_vc_ena_qs_msg()
1311 set_bit(ICE_VF_STATE_QS_ENA, vf->vf_states); in ice_vc_ena_qs_msg()
1315 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_QUEUES, v_ret, in ice_vc_ena_qs_msg()
1330 ice_vf_vsi_dis_single_txq(struct ice_vf *vf, struct ice_vsi *vsi, u16 q_id) in ice_vf_vsi_dis_single_txq() argument
1336 if (!test_bit(q_id, vf->txq_ena)) in ice_vf_vsi_dis_single_txq()
1346 err = ice_vsi_stop_tx_ring(vsi, ICE_NO_RESET, vf->vf_id, ring, &txq_meta); in ice_vf_vsi_dis_single_txq()
1354 clear_bit(q_id, vf->txq_ena); in ice_vf_vsi_dis_single_txq()
1366 static int ice_vc_dis_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_qs_msg() argument
1375 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) && in ice_vc_dis_qs_msg()
1376 !test_bit(ICE_VF_STATE_QS_ENA, vf->vf_states)) { in ice_vc_dis_qs_msg()
1381 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_dis_qs_msg()
1391 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_qs_msg()
1401 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_dis_qs_msg()
1406 if (ice_vf_vsi_dis_single_txq(vf, vsi, vf_q_id)) { in ice_vc_dis_qs_msg()
1416 bitmap_equal(&q_map, vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF)) { in ice_vc_dis_qs_msg()
1424 bitmap_zero(vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF); in ice_vc_dis_qs_msg()
1427 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_dis_qs_msg()
1433 if (!test_bit(vf_q_id, vf->rxq_ena)) in ice_vc_dis_qs_msg()
1445 clear_bit(vf_q_id, vf->rxq_ena); in ice_vc_dis_qs_msg()
1450 if (v_ret == VIRTCHNL_STATUS_SUCCESS && ice_vf_has_no_qs_ena(vf)) in ice_vc_dis_qs_msg()
1451 clear_bit(ICE_VF_STATE_QS_ENA, vf->vf_states); in ice_vc_dis_qs_msg()
1455 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_QUEUES, v_ret, in ice_vc_dis_qs_msg()
1469 ice_cfg_interrupt(struct ice_vf *vf, struct ice_vsi *vsi, u16 vector_id, in ice_cfg_interrupt() argument
1483 if (!ice_vc_isvalid_q_id(vf, vsi->vsi_num, vsi_q_id)) in ice_cfg_interrupt()
1497 if (!ice_vc_isvalid_q_id(vf, vsi->vsi_num, vsi_q_id)) in ice_cfg_interrupt()
1517 static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_irq_map_msg() argument
1523 struct ice_pf *pf = vf->pf; in ice_vc_cfg_irq_map_msg()
1534 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_cfg_irq_map_msg()
1541 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_irq_map_msg()
1558 !ice_vc_isvalid_vsi_id(vf, vsi_id) || in ice_vc_cfg_irq_map_msg()
1579 ice_cfg_interrupt(vf, vsi, vector_id, map, q_vector); in ice_vc_cfg_irq_map_msg()
1586 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_IRQ_MAP, v_ret, in ice_vc_cfg_irq_map_msg()
1597 static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_qs_msg() argument
1602 struct ice_pf *pf = vf->pf; in ice_vc_cfg_qs_msg()
1606 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) in ice_vc_cfg_qs_msg()
1609 if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) in ice_vc_cfg_qs_msg()
1612 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_qs_msg()
1619 vf->vf_id, min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)); in ice_vc_cfg_qs_msg()
1631 !ice_vc_isvalid_q_id(vf, qci->vsi_id, qpi->txq.queue_id)) { in ice_vc_cfg_qs_msg()
1650 if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx)) in ice_vc_cfg_qs_msg()
1656 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1663 u16 max_frame_size = ice_vc_get_max_frame_size(vf); in ice_vc_cfg_qs_msg()
1684 if (ice_vf_is_port_vlan_ena(vf)) in ice_vc_cfg_qs_msg()
1689 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1698 if (vf->driver_caps & in ice_vc_cfg_qs_msg()
1714 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, in ice_vc_cfg_qs_msg()
1721 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1722 if (ice_vf_vsi_dis_single_txq(vf, vsi, i)) in ice_vc_cfg_qs_msg()
1724 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1728 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, in ice_vc_cfg_qs_msg()
1738 static bool ice_can_vf_change_mac(struct ice_vf *vf) in ice_can_vf_change_mac() argument
1744 if (vf->pf_set_mac && !ice_is_vf_trusted(vf)) in ice_can_vf_change_mac()
1793 ice_vfhw_mac_add(struct ice_vf *vf, struct virtchnl_ether_addr *vc_ether_addr) in ice_vfhw_mac_add() argument
1805 is_zero_ether_addr(vf->hw_lan_addr)) || in ice_vfhw_mac_add()
1807 ether_addr_copy(vf->dev_lan_addr, mac_addr); in ice_vfhw_mac_add()
1808 ether_addr_copy(vf->hw_lan_addr, mac_addr); in ice_vfhw_mac_add()
1818 ether_addr_copy(vf->legacy_last_added_umac.addr, in ice_vfhw_mac_add()
1820 vf->legacy_last_added_umac.time_modified = jiffies; in ice_vfhw_mac_add()
1831 ice_vc_add_mac_addr(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_add_mac_addr() argument
1834 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_add_mac_addr()
1839 if (ether_addr_equal(mac_addr, vf->dev_lan_addr)) in ice_vc_add_mac_addr()
1842 if (is_unicast_ether_addr(mac_addr) && !ice_can_vf_change_mac(vf)) { in ice_vc_add_mac_addr()
1850 vf->vf_id); in ice_vc_add_mac_addr()
1856 mac_addr, vf->vf_id, ret); in ice_vc_add_mac_addr()
1859 vf->num_mac++; in ice_vc_add_mac_addr()
1862 ice_vfhw_mac_add(vf, vc_ether_addr); in ice_vc_add_mac_addr()
1887 ice_update_legacy_cached_mac(struct ice_vf *vf, in ice_update_legacy_cached_mac() argument
1891 ice_is_legacy_umac_expired(&vf->legacy_last_added_umac)) in ice_update_legacy_cached_mac()
1894 ether_addr_copy(vf->dev_lan_addr, vf->legacy_last_added_umac.addr); in ice_update_legacy_cached_mac()
1895 ether_addr_copy(vf->hw_lan_addr, vf->legacy_last_added_umac.addr); in ice_update_legacy_cached_mac()
1904 ice_vfhw_mac_del(struct ice_vf *vf, struct virtchnl_ether_addr *vc_ether_addr) in ice_vfhw_mac_del() argument
1909 !ether_addr_equal(vf->dev_lan_addr, mac_addr)) in ice_vfhw_mac_del()
1917 eth_zero_addr(vf->dev_lan_addr); in ice_vfhw_mac_del()
1919 ice_update_legacy_cached_mac(vf, vc_ether_addr); in ice_vfhw_mac_del()
1929 ice_vc_del_mac_addr(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_del_mac_addr() argument
1932 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_del_mac_addr()
1936 if (!ice_can_vf_change_mac(vf) && in ice_vc_del_mac_addr()
1937 ether_addr_equal(vf->dev_lan_addr, mac_addr)) in ice_vc_del_mac_addr()
1943 vf->vf_id); in ice_vc_del_mac_addr()
1947 mac_addr, vf->vf_id, status); in ice_vc_del_mac_addr()
1951 ice_vfhw_mac_del(vf, vc_ether_addr); in ice_vc_del_mac_addr()
1953 vf->num_mac--; in ice_vc_del_mac_addr()
1967 ice_vc_handle_mac_addr_msg(struct ice_vf *vf, u8 *msg, bool set) in ice_vc_handle_mac_addr_msg() argument
1970 (struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_handle_mac_addr_msg()
1975 struct ice_pf *pf = vf->pf; in ice_vc_handle_mac_addr_msg()
1988 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_handle_mac_addr_msg()
1989 !ice_vc_isvalid_vsi_id(vf, al->vsi_id)) { in ice_vc_handle_mac_addr_msg()
1998 if (set && !ice_is_vf_trusted(vf) && in ice_vc_handle_mac_addr_msg()
1999 (vf->num_mac + al->num_elements) > ICE_MAX_MACADDR_PER_VF) { in ice_vc_handle_mac_addr_msg()
2001 vf->vf_id); in ice_vc_handle_mac_addr_msg()
2006 vsi = ice_get_vf_vsi(vf); in ice_vc_handle_mac_addr_msg()
2020 result = ice_vc_cfg_mac(vf, vsi, &al->list[i]); in ice_vc_handle_mac_addr_msg()
2031 return ice_vc_send_msg_to_vf(vf, vc_op, v_ret, NULL, 0); in ice_vc_handle_mac_addr_msg()
2041 static int ice_vc_add_mac_addr_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_mac_addr_msg() argument
2043 return ice_vc_handle_mac_addr_msg(vf, msg, true); in ice_vc_add_mac_addr_msg()
2053 static int ice_vc_del_mac_addr_msg(struct ice_vf *vf, u8 *msg) in ice_vc_del_mac_addr_msg() argument
2055 return ice_vc_handle_mac_addr_msg(vf, msg, false); in ice_vc_del_mac_addr_msg()
2068 static int ice_vc_request_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_request_qs_msg() argument
2074 struct ice_pf *pf = vf->pf; in ice_vc_request_qs_msg()
2081 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_request_qs_msg()
2086 cur_queues = vf->num_vf_qs; in ice_vc_request_qs_msg()
2092 vf->vf_id); in ice_vc_request_qs_msg()
2095 vf->vf_id, ICE_MAX_RSS_QS_PER_VF); in ice_vc_request_qs_msg()
2100 vf->vf_id, req_queues - cur_queues, tx_rx_queue_left); in ice_vc_request_qs_msg()
2105 vf->num_req_qs = req_queues; in ice_vc_request_qs_msg()
2106 ice_reset_vf(vf, ICE_VF_RESET_NOTIFY); in ice_vc_request_qs_msg()
2108 vf->vf_id, req_queues); in ice_vc_request_qs_msg()
2114 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_REQUEST_QUEUES, in ice_vc_request_qs_msg()
2133 static bool ice_is_vlan_promisc_allowed(struct ice_vf *vf) in ice_is_vlan_promisc_allowed() argument
2135 if ((test_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states) || in ice_is_vlan_promisc_allowed()
2136 test_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states)) && in ice_is_vlan_promisc_allowed()
2137 test_bit(ICE_FLAG_VF_TRUE_PROMISC_ENA, vf->pf->flags)) in ice_is_vlan_promisc_allowed()
2196 static bool ice_vf_has_max_vlans(struct ice_vf *vf, struct ice_vsi *vsi) in ice_vf_has_max_vlans() argument
2198 if (ice_is_vf_trusted(vf)) in ice_vf_has_max_vlans()
2214 static int ice_vc_process_vlan_msg(struct ice_vf *vf, u8 *msg, bool add_v) in ice_vc_process_vlan_msg() argument
2219 struct ice_pf *pf = vf->pf; in ice_vc_process_vlan_msg()
2227 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_process_vlan_msg()
2232 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_process_vlan_msg()
2237 if (!ice_vc_isvalid_vsi_id(vf, vfl->vsi_id)) { in ice_vc_process_vlan_msg()
2251 vsi = ice_get_vf_vsi(vf); in ice_vc_process_vlan_msg()
2257 if (add_v && ice_vf_has_max_vlans(vf, vsi)) { in ice_vc_process_vlan_msg()
2259 vf->vf_id); in ice_vc_process_vlan_msg()
2269 if (ice_vf_is_port_vlan_ena(vf) && !ice_is_dvm_ena(&pf->hw)) { in ice_vc_process_vlan_msg()
2278 vlan_promisc = ice_is_vlan_promisc_allowed(vf) && in ice_vc_process_vlan_msg()
2280 !ice_vf_is_port_vlan_ena(vf); in ice_vc_process_vlan_msg()
2287 if (ice_vf_has_max_vlans(vf, vsi)) { in ice_vc_process_vlan_msg()
2289 vf->vf_id); in ice_vc_process_vlan_msg()
2313 if (vf->spoofchk) { in ice_vc_process_vlan_msg()
2380 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_VLAN, v_ret, in ice_vc_process_vlan_msg()
2383 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_VLAN, v_ret, in ice_vc_process_vlan_msg()
2394 static int ice_vc_add_vlan_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_vlan_msg() argument
2396 return ice_vc_process_vlan_msg(vf, msg, true); in ice_vc_add_vlan_msg()
2406 static int ice_vc_remove_vlan_msg(struct ice_vf *vf, u8 *msg) in ice_vc_remove_vlan_msg() argument
2408 return ice_vc_process_vlan_msg(vf, msg, false); in ice_vc_remove_vlan_msg()
2417 static int ice_vc_ena_vlan_stripping(struct ice_vf *vf) in ice_vc_ena_vlan_stripping() argument
2422 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_stripping()
2427 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_ena_vlan_stripping()
2432 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_stripping()
2442 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING, in ice_vc_ena_vlan_stripping()
2452 static int ice_vc_dis_vlan_stripping(struct ice_vf *vf) in ice_vc_dis_vlan_stripping() argument
2457 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_stripping()
2462 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_dis_vlan_stripping()
2467 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_stripping()
2477 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING, in ice_vc_dis_vlan_stripping()
2485 static int ice_vc_get_rss_hena(struct ice_vf *vf) in ice_vc_get_rss_hena() argument
2491 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_get_rss_hena()
2496 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_get_rss_hena()
2497 dev_err(ice_pf_to_dev(vf->pf), "RSS not supported by PF\n"); in ice_vc_get_rss_hena()
2513 ret = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_RSS_HENA_CAPS, v_ret, in ice_vc_get_rss_hena()
2524 static int ice_vc_set_rss_hena(struct ice_vf *vf, u8 *msg) in ice_vc_set_rss_hena() argument
2528 struct ice_pf *pf = vf->pf; in ice_vc_set_rss_hena()
2535 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_set_rss_hena()
2546 vsi = ice_get_vf_vsi(vf); in ice_vc_set_rss_hena()
2569 vf->vf_id); in ice_vc_set_rss_hena()
2579 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_SET_RSS_HENA, v_ret, in ice_vc_set_rss_hena()
2590 static int ice_vc_query_rxdid(struct ice_vf *vf) in ice_vc_query_rxdid() argument
2594 struct ice_hw *hw = &vf->pf->hw; in ice_vc_query_rxdid()
2595 struct ice_pf *pf = vf->pf; in ice_vc_query_rxdid()
2600 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_query_rxdid()
2605 if (!(vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC)) { in ice_vc_query_rxdid()
2633 ret = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_SUPPORTED_RXDIDS, in ice_vc_query_rxdid()
2646 static int ice_vf_init_vlan_stripping(struct ice_vf *vf) in ice_vf_init_vlan_stripping() argument
2648 struct ice_vsi *vsi = ice_get_vf_vsi(vf); in ice_vf_init_vlan_stripping()
2656 if (ice_vf_is_port_vlan_ena(vf) && !ice_is_dvm_ena(&vsi->back->hw)) in ice_vf_init_vlan_stripping()
2659 if (ice_vf_vlan_offload_ena(vf->driver_caps)) in ice_vf_init_vlan_stripping()
2665 static u16 ice_vc_get_max_vlan_fltrs(struct ice_vf *vf) in ice_vc_get_max_vlan_fltrs() argument
2667 if (vf->trusted) in ice_vc_get_max_vlan_fltrs()
2680 static bool ice_vf_outer_vlan_not_allowed(struct ice_vf *vf) in ice_vf_outer_vlan_not_allowed() argument
2682 if (ice_vf_is_port_vlan_ena(vf)) in ice_vf_outer_vlan_not_allowed()
2699 ice_vc_set_dvm_caps(struct ice_vf *vf, struct virtchnl_vlan_caps *caps) in ice_vc_set_dvm_caps() argument
2703 if (ice_vf_outer_vlan_not_allowed(vf)) { in ice_vc_set_dvm_caps()
2765 caps->filtering.max_filters = ice_vc_get_max_vlan_fltrs(vf); in ice_vc_set_dvm_caps()
2780 ice_vc_set_svm_caps(struct ice_vf *vf, struct virtchnl_vlan_caps *caps) in ice_vc_set_svm_caps() argument
2784 if (ice_vf_is_port_vlan_ena(vf)) { in ice_vc_set_svm_caps()
2821 caps->filtering.max_filters = ice_vc_get_max_vlan_fltrs(vf); in ice_vc_set_svm_caps()
2835 static int ice_vc_get_offload_vlan_v2_caps(struct ice_vf *vf) in ice_vc_get_offload_vlan_v2_caps() argument
2841 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_get_offload_vlan_v2_caps()
2853 if (ice_is_dvm_ena(&vf->pf->hw)) in ice_vc_get_offload_vlan_v2_caps()
2854 ice_vc_set_dvm_caps(vf, caps); in ice_vc_get_offload_vlan_v2_caps()
2856 ice_vc_set_svm_caps(vf, caps); in ice_vc_get_offload_vlan_v2_caps()
2859 memcpy(&vf->vlan_v2_caps, caps, sizeof(*caps)); in ice_vc_get_offload_vlan_v2_caps()
2862 err = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS, in ice_vc_get_offload_vlan_v2_caps()
3009 ice_vc_del_vlans(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_del_vlans() argument
3012 bool vlan_promisc = ice_is_vlan_promisc_allowed(vf); in ice_vc_del_vlans()
3076 static int ice_vc_remove_vlan_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_remove_vlan_v2_msg() argument
3083 if (!ice_vc_validate_vlan_filter_list(&vf->vlan_v2_caps.filtering, in ice_vc_remove_vlan_v2_msg()
3089 if (!ice_vc_isvalid_vsi_id(vf, vfl->vport_id)) { in ice_vc_remove_vlan_v2_msg()
3094 vsi = ice_get_vf_vsi(vf); in ice_vc_remove_vlan_v2_msg()
3100 if (ice_vc_del_vlans(vf, vsi, vfl)) in ice_vc_remove_vlan_v2_msg()
3104 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_VLAN_V2, v_ret, NULL, in ice_vc_remove_vlan_v2_msg()
3115 ice_vc_add_vlans(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_add_vlans() argument
3118 bool vlan_promisc = ice_is_vlan_promisc_allowed(vf); in ice_vc_add_vlans()
3143 if (vf->spoofchk && vlan.vid && ice_is_dvm_ena(&vsi->back->hw)) { in ice_vc_add_vlans()
3171 if (vf->spoofchk && vlan.vid) { in ice_vc_add_vlans()
3212 static int ice_vc_add_vlan_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_vlan_v2_msg() argument
3219 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_add_vlan_v2_msg()
3224 if (!ice_vc_isvalid_vsi_id(vf, vfl->vport_id)) { in ice_vc_add_vlan_v2_msg()
3229 vsi = ice_get_vf_vsi(vf); in ice_vc_add_vlan_v2_msg()
3236 &vf->vlan_v2_caps.filtering, in ice_vc_add_vlan_v2_msg()
3242 if (ice_vc_add_vlans(vf, vsi, vfl)) in ice_vc_add_vlan_v2_msg()
3246 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_VLAN_V2, v_ret, NULL, in ice_vc_add_vlan_v2_msg()
3405 static int ice_vc_ena_vlan_stripping_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_vlan_stripping_v2_msg() argument
3414 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_stripping_v2_msg()
3419 if (!ice_vc_isvalid_vsi_id(vf, strip_msg->vport_id)) { in ice_vc_ena_vlan_stripping_v2_msg()
3424 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_stripping_v2_msg()
3430 stripping_support = &vf->vlan_v2_caps.offloads.stripping_support; in ice_vc_ena_vlan_stripping_v2_msg()
3468 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING_V2, in ice_vc_ena_vlan_stripping_v2_msg()
3479 static int ice_vc_dis_vlan_stripping_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_vlan_stripping_v2_msg() argument
3488 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_stripping_v2_msg()
3493 if (!ice_vc_isvalid_vsi_id(vf, strip_msg->vport_id)) { in ice_vc_dis_vlan_stripping_v2_msg()
3498 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_stripping_v2_msg()
3504 stripping_support = &vf->vlan_v2_caps.offloads.stripping_support; in ice_vc_dis_vlan_stripping_v2_msg()
3538 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING_V2, in ice_vc_dis_vlan_stripping_v2_msg()
3549 static int ice_vc_ena_vlan_insertion_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_vlan_insertion_v2_msg() argument
3558 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_insertion_v2_msg()
3563 if (!ice_vc_isvalid_vsi_id(vf, insertion_msg->vport_id)) { in ice_vc_ena_vlan_insertion_v2_msg()
3568 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_insertion_v2_msg()
3574 insertion_support = &vf->vlan_v2_caps.offloads.insertion_support; in ice_vc_ena_vlan_insertion_v2_msg()
3597 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_INSERTION_V2, in ice_vc_ena_vlan_insertion_v2_msg()
3608 static int ice_vc_dis_vlan_insertion_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_vlan_insertion_v2_msg() argument
3617 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_insertion_v2_msg()
3622 if (!ice_vc_isvalid_vsi_id(vf, insertion_msg->vport_id)) { in ice_vc_dis_vlan_insertion_v2_msg()
3627 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_insertion_v2_msg()
3633 insertion_support = &vf->vlan_v2_caps.offloads.insertion_support; in ice_vc_dis_vlan_insertion_v2_msg()
3652 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_INSERTION_V2, in ice_vc_dis_vlan_insertion_v2_msg()
3694 void ice_virtchnl_set_dflt_ops(struct ice_vf *vf) in ice_virtchnl_set_dflt_ops() argument
3696 vf->virtchnl_ops = &ice_virtchnl_dflt_ops; in ice_virtchnl_set_dflt_ops()
3708 static int ice_vc_repr_add_mac(struct ice_vf *vf, u8 *msg) in ice_vc_repr_add_mac() argument
3717 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_repr_add_mac()
3718 !ice_vc_isvalid_vsi_id(vf, al->vsi_id)) { in ice_vc_repr_add_mac()
3723 pf = vf->pf; in ice_vc_repr_add_mac()
3725 vsi = ice_get_vf_vsi(vf); in ice_vc_repr_add_mac()
3736 ether_addr_equal(mac_addr, vf->hw_lan_addr)) in ice_vc_repr_add_mac()
3739 if (vf->pf_set_mac) { in ice_vc_repr_add_mac()
3745 result = ice_eswitch_add_vf_mac_rule(pf, vf, mac_addr); in ice_vc_repr_add_mac()
3748 mac_addr, vf->vf_id, result); in ice_vc_repr_add_mac()
3752 ice_vfhw_mac_add(vf, &al->list[i]); in ice_vc_repr_add_mac()
3753 vf->num_mac++; in ice_vc_repr_add_mac()
3758 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_ETH_ADDR, in ice_vc_repr_add_mac()
3771 ice_vc_repr_del_mac(struct ice_vf __always_unused *vf, u8 __always_unused *msg) in ice_vc_repr_del_mac() argument
3776 ice_update_legacy_cached_mac(vf, &al->list[0]); in ice_vc_repr_del_mac()
3778 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_ETH_ADDR, in ice_vc_repr_del_mac()
3783 ice_vc_repr_cfg_promiscuous_mode(struct ice_vf *vf, u8 __always_unused *msg) in ice_vc_repr_cfg_promiscuous_mode() argument
3785 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_cfg_promiscuous_mode()
3787 vf->vf_id); in ice_vc_repr_cfg_promiscuous_mode()
3788 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE, in ice_vc_repr_cfg_promiscuous_mode()
3831 void ice_virtchnl_set_repr_ops(struct ice_vf *vf) in ice_virtchnl_set_repr_ops() argument
3833 vf->virtchnl_ops = &ice_virtchnl_repr_ops; in ice_virtchnl_set_repr_ops()
3851 struct ice_vf *vf = NULL; in ice_vc_process_vf_msg() local
3857 vf = ice_get_vf_by_id(pf, vf_id); in ice_vc_process_vf_msg()
3858 if (!vf) { in ice_vc_process_vf_msg()
3864 mutex_lock(&vf->cfg_lock); in ice_vc_process_vf_msg()
3867 if (test_bit(ICE_VF_STATE_DIS, vf->vf_states)) { in ice_vc_process_vf_msg()
3872 ops = vf->virtchnl_ops; in ice_vc_process_vf_msg()
3875 err = virtchnl_vc_validate_vf_msg(&vf->vf_ver, v_opcode, msg, msglen); in ice_vc_process_vf_msg()
3885 ice_vc_send_msg_to_vf(vf, v_opcode, VIRTCHNL_STATUS_ERR_PARAM, in ice_vc_process_vf_msg()
3892 if (!ice_vc_is_opcode_allowed(vf, v_opcode)) { in ice_vc_process_vf_msg()
3893 ice_vc_send_msg_to_vf(vf, v_opcode, in ice_vc_process_vf_msg()
3901 err = ops->get_ver_msg(vf, msg); in ice_vc_process_vf_msg()
3904 err = ops->get_vf_res_msg(vf, msg); in ice_vc_process_vf_msg()
3905 if (ice_vf_init_vlan_stripping(vf)) in ice_vc_process_vf_msg()
3907 vf->vf_id); in ice_vc_process_vf_msg()
3908 ice_vc_notify_vf_link_state(vf); in ice_vc_process_vf_msg()
3911 ops->reset_vf(vf); in ice_vc_process_vf_msg()
3914 err = ops->add_mac_addr_msg(vf, msg); in ice_vc_process_vf_msg()
3917 err = ops->del_mac_addr_msg(vf, msg); in ice_vc_process_vf_msg()
3920 err = ops->cfg_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3923 err = ops->ena_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3924 ice_vc_notify_vf_link_state(vf); in ice_vc_process_vf_msg()
3927 err = ops->dis_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3930 err = ops->request_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3933 err = ops->cfg_irq_map_msg(vf, msg); in ice_vc_process_vf_msg()
3936 err = ops->config_rss_key(vf, msg); in ice_vc_process_vf_msg()
3939 err = ops->config_rss_lut(vf, msg); in ice_vc_process_vf_msg()
3942 err = ops->get_stats_msg(vf, msg); in ice_vc_process_vf_msg()
3945 err = ops->cfg_promiscuous_mode_msg(vf, msg); in ice_vc_process_vf_msg()
3948 err = ops->add_vlan_msg(vf, msg); in ice_vc_process_vf_msg()
3951 err = ops->remove_vlan_msg(vf, msg); in ice_vc_process_vf_msg()
3954 err = ops->query_rxdid(vf); in ice_vc_process_vf_msg()
3957 err = ops->get_rss_hena(vf); in ice_vc_process_vf_msg()
3960 err = ops->set_rss_hena_msg(vf, msg); in ice_vc_process_vf_msg()
3963 err = ops->ena_vlan_stripping(vf); in ice_vc_process_vf_msg()
3966 err = ops->dis_vlan_stripping(vf); in ice_vc_process_vf_msg()
3969 err = ops->add_fdir_fltr_msg(vf, msg); in ice_vc_process_vf_msg()
3972 err = ops->del_fdir_fltr_msg(vf, msg); in ice_vc_process_vf_msg()
3975 err = ops->handle_rss_cfg_msg(vf, msg, true); in ice_vc_process_vf_msg()
3978 err = ops->handle_rss_cfg_msg(vf, msg, false); in ice_vc_process_vf_msg()
3981 err = ops->get_offload_vlan_v2_caps(vf); in ice_vc_process_vf_msg()
3984 err = ops->add_vlan_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3987 err = ops->remove_vlan_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3990 err = ops->ena_vlan_stripping_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3993 err = ops->dis_vlan_stripping_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3996 err = ops->ena_vlan_insertion_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3999 err = ops->dis_vlan_insertion_v2_msg(vf, msg); in ice_vc_process_vf_msg()
4005 err = ice_vc_send_msg_to_vf(vf, v_opcode, in ice_vc_process_vf_msg()
4019 mutex_unlock(&vf->cfg_lock); in ice_vc_process_vf_msg()
4020 ice_put_vf(vf); in ice_vc_process_vf_msg()