Lines Matching refs:vsi
176 struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); in i40e_vc_isvalid_vsi_id() local
178 return (vsi && (vsi->vf_id == vf->vf_id)); in i40e_vc_isvalid_vsi_id()
193 struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); in i40e_vc_isvalid_queue_id() local
195 return (vsi && (qid < vsi->alloc_queue_pairs)); in i40e_vc_isvalid_queue_id()
226 struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); in i40e_vc_get_pf_queue_id() local
229 if (!vsi) in i40e_vc_get_pf_queue_id()
232 if (le16_to_cpu(vsi->info.mapping_flags) & in i40e_vc_get_pf_queue_id()
235 le16_to_cpu(vsi->info.queue_mapping[vsi_queue_id]); in i40e_vc_get_pf_queue_id()
237 pf_queue_id = le16_to_cpu(vsi->info.queue_mapping[0]) + in i40e_vc_get_pf_queue_id()
550 struct i40e_vsi *vsi; in i40e_config_vsi_tx_queue() local
560 vsi = i40e_find_vsi_from_id(pf, vsi_id); in i40e_config_vsi_tx_queue()
561 if (!vsi) { in i40e_config_vsi_tx_queue()
572 tx_ctx.rdylist = le16_to_cpu(vsi->info.qs_handle[0]); in i40e_config_vsi_tx_queue()
713 struct i40e_vsi *vsi; in i40e_alloc_vsi_res() local
717 vsi = i40e_vsi_setup(pf, I40E_VSI_SRIOV, pf->vsi[pf->lan_vsi]->seid, in i40e_alloc_vsi_res()
720 if (!vsi) { in i40e_alloc_vsi_res()
732 vf->lan_vsi_idx = vsi->idx; in i40e_alloc_vsi_res()
733 vf->lan_vsi_id = vsi->id; in i40e_alloc_vsi_res()
741 i40e_vsi_add_pvid(vsi, vf->port_vlan_id); in i40e_alloc_vsi_res()
743 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_alloc_vsi_res()
745 f = i40e_add_mac_filter(vsi, in i40e_alloc_vsi_res()
753 f = i40e_add_mac_filter(vsi, broadcast); in i40e_alloc_vsi_res()
757 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_alloc_vsi_res()
761 ret = i40e_sync_vsi_filters(vsi); in i40e_alloc_vsi_res()
768 vf->ch[idx].vsi_idx = vsi->idx; in i40e_alloc_vsi_res()
769 vf->ch[idx].vsi_id = vsi->id; in i40e_alloc_vsi_res()
781 ret = i40e_aq_config_vsi_bw_limit(&pf->hw, vsi->seid, in i40e_alloc_vsi_res()
815 qps = pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; in i40e_map_pf_queues_to_vsi()
863 qps = pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; in i40e_map_pf_to_vf_queues()
955 i40e_vsi_release(pf->vsi[vf->lan_vsi_idx]); in i40e_free_vf_res()
969 i40e_vsi_release(pf->vsi[vf->ch[j].vsi_idx]); in i40e_free_vf_res()
1031 total_queue_pairs += pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; in i40e_alloc_vf_res()
1110 static inline int i40e_getnum_vf_vsi_vlan_filters(struct i40e_vsi *vsi);
1131 struct i40e_vsi *vsi; in i40e_config_vf_promiscuous_mode() local
1134 vsi = i40e_find_vsi_from_id(pf, vsi_id); in i40e_config_vf_promiscuous_mode()
1135 if (!i40e_vc_isvalid_vsi_id(vf, vsi_id) || !vsi) in i40e_config_vf_promiscuous_mode()
1139 aq_ret = i40e_aq_set_vsi_mc_promisc_on_vlan(hw, vsi->seid, in i40e_config_vf_promiscuous_mode()
1154 aq_ret = i40e_aq_set_vsi_uc_promisc_on_vlan(hw, vsi->seid, in i40e_config_vf_promiscuous_mode()
1168 } else if (i40e_getnum_vf_vsi_vlan_filters(vsi)) { in i40e_config_vf_promiscuous_mode()
1169 hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { in i40e_config_vf_promiscuous_mode()
1173 vsi->seid, in i40e_config_vf_promiscuous_mode()
1188 vsi->seid, in i40e_config_vf_promiscuous_mode()
1204 aq_ret = i40e_aq_set_vsi_multicast_promiscuous(hw, vsi->seid, allmulti, in i40e_config_vf_promiscuous_mode()
1217 aq_ret = i40e_aq_set_vsi_unicast_promiscuous(hw, vsi->seid, alluni, in i40e_config_vf_promiscuous_mode()
1383 i40e_vsi_stop_rings(pf->vsi[vf->lan_vsi_idx]); in i40e_reset_vf()
1468 i40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[v].lan_vsi_idx]); in i40e_reset_all_vfs()
1479 i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[v].lan_vsi_idx]); in i40e_reset_all_vfs()
1521 i40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[i].lan_vsi_idx]); in i40e_free_vfs()
1528 i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[i].lan_vsi_idx]); in i40e_free_vfs()
1833 i40e_vsi_release(pf->vsi[vf->ch[i].vsi_idx]); in i40e_del_qch()
1852 struct i40e_vsi *vsi; in i40e_vc_get_vf_resources_msg() local
1877 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_get_vf_resources_msg()
1878 if (!vsi->info.pvid) in i40e_vc_get_vf_resources_msg()
1944 vfres->vsi_res[0].num_queue_pairs = vsi->alloc_queue_pairs; in i40e_vc_get_vf_resources_msg()
1947 = le16_to_cpu(vsi->info.qs_handle[0]); in i40e_vc_get_vf_resources_msg()
1982 static inline int i40e_getnum_vf_vsi_vlan_filters(struct i40e_vsi *vsi) in i40e_getnum_vf_vsi_vlan_filters() argument
1987 hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { in i40e_getnum_vf_vsi_vlan_filters()
2183 pf->vsi[vf->lan_vsi_idx]->num_queue_pairs = in i40e_vc_config_queues_msg()
2187 pf->vsi[vf->ch[i].vsi_idx]->num_queue_pairs = in i40e_vc_config_queues_msg()
2286 static int i40e_ctrl_vf_tx_rings(struct i40e_vsi *vsi, unsigned long q_map, in i40e_ctrl_vf_tx_rings() argument
2289 struct i40e_pf *pf = vsi->back; in i40e_ctrl_vf_tx_rings()
2294 ret = i40e_control_wait_tx_q(vsi->seid, pf, in i40e_ctrl_vf_tx_rings()
2295 vsi->base_queue + q_id, in i40e_ctrl_vf_tx_rings()
2309 static int i40e_ctrl_vf_rx_rings(struct i40e_vsi *vsi, unsigned long q_map, in i40e_ctrl_vf_rx_rings() argument
2312 struct i40e_pf *pf = vsi->back; in i40e_ctrl_vf_rx_rings()
2317 ret = i40e_control_wait_rx_q(pf, vsi->base_queue + q_id, in i40e_ctrl_vf_rx_rings()
2356 if (i40e_ctrl_vf_rx_rings(pf->vsi[vf->lan_vsi_idx], vqs->rx_queues, in i40e_vc_enable_queues_msg()
2361 if (i40e_ctrl_vf_tx_rings(pf->vsi[vf->lan_vsi_idx], vqs->tx_queues, in i40e_vc_enable_queues_msg()
2371 if (i40e_vsi_start_rings(pf->vsi[vf->ch[i].vsi_idx])) in i40e_vc_enable_queues_msg()
2420 if (i40e_ctrl_vf_tx_rings(pf->vsi[vf->lan_vsi_idx], vqs->tx_queues, in i40e_vc_disable_queues_msg()
2425 if (i40e_ctrl_vf_rx_rings(pf->vsi[vf->lan_vsi_idx], vqs->rx_queues, in i40e_vc_disable_queues_msg()
2496 struct i40e_vsi *vsi; in i40e_vc_get_stats_msg() local
2510 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_get_stats_msg()
2511 if (!vsi) { in i40e_vc_get_stats_msg()
2515 i40e_update_eth_stats(vsi); in i40e_vc_get_stats_msg()
2516 stats = vsi->eth_stats; in i40e_vc_get_stats_msg()
2605 struct i40e_vsi *vsi = NULL; in i40e_vc_add_mac_addr_msg() local
2615 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_add_mac_addr_msg()
2620 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_add_mac_addr_msg()
2624 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_add_mac_addr_msg()
2632 f = i40e_find_mac(vsi, al->list[i].addr); in i40e_vc_add_mac_addr_msg()
2634 f = i40e_add_mac_filter(vsi, al->list[i].addr); in i40e_vc_add_mac_addr_msg()
2641 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_add_mac_addr_msg()
2648 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_add_mac_addr_msg()
2651 ret = i40e_sync_vsi_filters(vsi); in i40e_vc_add_mac_addr_msg()
2674 struct i40e_vsi *vsi = NULL; in i40e_vc_del_mac_addr_msg() local
2703 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_del_mac_addr_msg()
2705 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_del_mac_addr_msg()
2708 if (i40e_del_mac_filter(vsi, al->list[i].addr)) { in i40e_vc_del_mac_addr_msg()
2710 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_del_mac_addr_msg()
2716 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vc_del_mac_addr_msg()
2719 ret = i40e_sync_vsi_filters(vsi); in i40e_vc_del_mac_addr_msg()
2742 struct i40e_vsi *vsi = NULL; in i40e_vc_add_vlan_msg() local
2766 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_add_vlan_msg()
2767 if (vsi->info.pvid) { in i40e_vc_add_vlan_msg()
2772 i40e_vlan_stripping_enable(vsi); in i40e_vc_add_vlan_msg()
2775 int ret = i40e_vsi_add_vlan(vsi, vfl->vlan_id[i]); in i40e_vc_add_vlan_msg()
2780 i40e_aq_set_vsi_uc_promisc_on_vlan(&pf->hw, vsi->seid, in i40e_vc_add_vlan_msg()
2785 i40e_aq_set_vsi_mc_promisc_on_vlan(&pf->hw, vsi->seid, in i40e_vc_add_vlan_msg()
2813 struct i40e_vsi *vsi = NULL; in i40e_vc_remove_vlan_msg() local
2830 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_remove_vlan_msg()
2831 if (vsi->info.pvid) { in i40e_vc_remove_vlan_msg()
2838 i40e_vsi_kill_vlan(vsi, vfl->vlan_id[i]); in i40e_vc_remove_vlan_msg()
2842 i40e_aq_set_vsi_uc_promisc_on_vlan(&pf->hw, vsi->seid, in i40e_vc_remove_vlan_msg()
2847 i40e_aq_set_vsi_mc_promisc_on_vlan(&pf->hw, vsi->seid, in i40e_vc_remove_vlan_msg()
2878 i40e_notify_client_of_vf_msg(pf->vsi[pf->lan_vsi], abs_vf_id, in i40e_vc_iwarp_msg()
2934 struct i40e_vsi *vsi = NULL; in i40e_vc_config_rss_key() local
2944 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_config_rss_key()
2945 aq_ret = i40e_config_rss(vsi, vrk->key, NULL, 0); in i40e_vc_config_rss_key()
2964 struct i40e_vsi *vsi = NULL; in i40e_vc_config_rss_lut() local
2981 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_vc_config_rss_lut()
2982 aq_ret = i40e_config_rss(vsi, NULL, vrl->lut, I40E_VF_HLUT_ARRAY_SIZE); in i40e_vc_config_rss_lut()
3062 struct i40e_vsi *vsi; in i40e_vc_enable_vlan_stripping() local
3069 vsi = vf->pf->vsi[vf->lan_vsi_idx]; in i40e_vc_enable_vlan_stripping()
3070 i40e_vlan_stripping_enable(vsi); in i40e_vc_enable_vlan_stripping()
3088 struct i40e_vsi *vsi; in i40e_vc_disable_vlan_stripping() local
3095 vsi = vf->pf->vsi[vf->lan_vsi_idx]; in i40e_vc_disable_vlan_stripping()
3096 i40e_vlan_stripping_disable(vsi); in i40e_vc_disable_vlan_stripping()
3117 struct i40e_vsi *vsi = NULL; in i40e_validate_cloud_filter() local
3148 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_validate_cloud_filter()
3149 f = i40e_find_mac(vsi, data.dst_mac); in i40e_validate_cloud_filter()
3159 hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, in i40e_validate_cloud_filter()
3245 struct i40e_vsi *vsi = NULL; in i40e_find_vsi_from_seid() local
3249 vsi = i40e_find_vsi_from_id(pf, vf->ch[i].vsi_id); in i40e_find_vsi_from_seid()
3250 if (vsi && vsi->seid == seid) in i40e_find_vsi_from_seid()
3251 return vsi; in i40e_find_vsi_from_seid()
3266 struct i40e_vsi *vsi = NULL; in i40e_del_all_cloud_filters() local
3272 vsi = i40e_find_vsi_from_seid(vf, cfilter->seid); in i40e_del_all_cloud_filters()
3274 if (!vsi) { in i40e_del_all_cloud_filters()
3281 ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, in i40e_del_all_cloud_filters()
3284 ret = i40e_add_del_cloud_filter(vsi, cfilter, false); in i40e_del_all_cloud_filters()
3312 struct i40e_vsi *vsi = NULL; in i40e_vc_del_cloud_filter() local
3379 vsi = pf->vsi[vf->ch[vcf->action_meta].vsi_idx]; in i40e_vc_del_cloud_filter()
3380 cfilter.seid = vsi->seid; in i40e_vc_del_cloud_filter()
3385 ret = i40e_add_del_cloud_filter_big_buf(vsi, &cfilter, false); in i40e_vc_del_cloud_filter()
3387 ret = i40e_add_del_cloud_filter(vsi, &cfilter, false); in i40e_vc_del_cloud_filter()
3444 struct i40e_vsi *vsi = NULL; in i40e_vc_add_cloud_filter() local
3513 vsi = pf->vsi[vf->ch[vcf->action_meta].vsi_idx]; in i40e_vc_add_cloud_filter()
3514 cfilter->seid = vsi->seid; in i40e_vc_add_cloud_filter()
3519 ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, true); in i40e_vc_add_cloud_filter()
3521 ret = i40e_add_del_cloud_filter(vsi, cfilter, true); in i40e_vc_add_cloud_filter()
3916 struct i40e_vsi *vsi; in i40e_validate_vf() local
3927 vsi = i40e_find_vsi_from_id(pf, vf->lan_vsi_id); in i40e_validate_vf()
3928 if (!vsi) in i40e_validate_vf()
3945 struct i40e_vsi *vsi = np->vsi; in i40e_ndo_set_vf_mac() local
3946 struct i40e_pf *pf = vsi->back; in i40e_ndo_set_vf_mac()
3965 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_set_vf_mac()
3976 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_set_vf_mac()
3998 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_mac()
4002 i40e_del_mac_filter(vsi, vf->default_lan_addr.addr); in i40e_ndo_set_vf_mac()
4007 hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) in i40e_ndo_set_vf_mac()
4008 __i40e_del_filter(vsi, f); in i40e_ndo_set_vf_mac()
4010 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_mac()
4013 if (i40e_sync_vsi_filters(vsi)) { in i40e_ndo_set_vf_mac()
4048 static bool i40e_vsi_has_vlans(struct i40e_vsi *vsi) in i40e_vsi_has_vlans() argument
4055 if (vsi->info.pvid) in i40e_vsi_has_vlans()
4061 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_vsi_has_vlans()
4062 have_vlans = i40e_is_vsi_in_vlan(vsi); in i40e_vsi_has_vlans()
4063 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_vsi_has_vlans()
4084 struct i40e_pf *pf = np->vsi->back; in i40e_ndo_set_vf_port_vlan()
4085 struct i40e_vsi *vsi; in i40e_ndo_set_vf_port_vlan() local
4112 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_set_vf_port_vlan()
4120 if (le16_to_cpu(vsi->info.pvid) == vlanprio) in i40e_ndo_set_vf_port_vlan()
4124 if (i40e_vsi_has_vlans(vsi)) { in i40e_ndo_set_vf_port_vlan()
4134 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_set_vf_port_vlan()
4138 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4149 vlanprio != le16_to_cpu(vsi->info.pvid)) && in i40e_ndo_set_vf_port_vlan()
4150 vsi->info.pvid) { in i40e_ndo_set_vf_port_vlan()
4151 ret = i40e_add_vlan_all_mac(vsi, I40E_VLAN_ANY); in i40e_ndo_set_vf_port_vlan()
4153 dev_info(&vsi->back->pdev->dev, in i40e_ndo_set_vf_port_vlan()
4155 vsi->back->hw.aq.asq_last_status); in i40e_ndo_set_vf_port_vlan()
4156 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4161 if (vsi->info.pvid) { in i40e_ndo_set_vf_port_vlan()
4163 i40e_rm_vlan_all_mac(vsi, (le16_to_cpu(vsi->info.pvid) & in i40e_ndo_set_vf_port_vlan()
4167 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4178 ret = i40e_vsi_add_pvid(vsi, vlanprio); in i40e_ndo_set_vf_port_vlan()
4180 i40e_vsi_remove_pvid(vsi); in i40e_ndo_set_vf_port_vlan()
4181 spin_lock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4188 ret = i40e_add_vlan_all_mac(vsi, vlan_id); in i40e_ndo_set_vf_port_vlan()
4190 dev_info(&vsi->back->pdev->dev, in i40e_ndo_set_vf_port_vlan()
4192 vsi->back->hw.aq.asq_last_status); in i40e_ndo_set_vf_port_vlan()
4193 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4198 i40e_rm_vlan_all_mac(vsi, I40E_VLAN_ANY); in i40e_ndo_set_vf_port_vlan()
4201 spin_unlock_bh(&vsi->mac_filter_hash_lock); in i40e_ndo_set_vf_port_vlan()
4210 i40e_service_event_schedule(vsi->back); in i40e_ndo_set_vf_port_vlan()
4220 vf->port_vlan_id = le16_to_cpu(vsi->info.pvid); in i40e_ndo_set_vf_port_vlan()
4222 ret = i40e_config_vf_promiscuous_mode(vf, vsi->id, allmulti, alluni); in i40e_ndo_set_vf_port_vlan()
4248 struct i40e_pf *pf = np->vsi->back; in i40e_ndo_set_vf_bw()
4249 struct i40e_vsi *vsi; in i40e_ndo_set_vf_bw() local
4271 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_set_vf_bw()
4279 ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); in i40e_ndo_set_vf_bw()
4301 struct i40e_vsi *vsi = np->vsi; in i40e_ndo_get_vf_config() local
4302 struct i40e_pf *pf = vsi->back; in i40e_ndo_get_vf_config()
4318 vsi = pf->vsi[vf->lan_vsi_idx]; in i40e_ndo_get_vf_config()
4319 if (!vsi) { in i40e_ndo_get_vf_config()
4330 ivi->vlan = le16_to_cpu(vsi->info.pvid) & I40E_VLAN_MASK; in i40e_ndo_get_vf_config()
4331 ivi->qos = (le16_to_cpu(vsi->info.pvid) & I40E_PRIORITY_MASK) >> in i40e_ndo_get_vf_config()
4359 struct i40e_pf *pf = np->vsi->back; in i40e_ndo_set_vf_link_state()
4429 struct i40e_vsi *vsi = np->vsi; in i40e_ndo_set_vf_spoofchk() local
4430 struct i40e_pf *pf = vsi->back; in i40e_ndo_set_vf_spoofchk()
4461 ctxt.seid = pf->vsi[vf->lan_vsi_idx]->seid; in i40e_ndo_set_vf_spoofchk()
4489 struct i40e_pf *pf = np->vsi->back; in i40e_ndo_set_vf_trust()