Lines Matching refs:pf
70 struct ice_pf *pf = vsi->back; in ice_vsi_alloc_arrays() local
73 dev = ice_pf_to_dev(pf); in ice_vsi_alloc_arrays()
167 struct ice_pf *pf = vsi->back; in ice_vsi_set_num_qs() local
181 vsi->alloc_txq = min3(pf->num_lan_msix, in ice_vsi_set_num_qs()
182 ice_get_avail_txq_count(pf), in ice_vsi_set_num_qs()
186 pf->num_lan_tx = vsi->alloc_txq; in ice_vsi_set_num_qs()
189 if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { in ice_vsi_set_num_qs()
196 vsi->alloc_rxq = min3(pf->num_lan_msix, in ice_vsi_set_num_qs()
197 ice_get_avail_rxq_count(pf), in ice_vsi_set_num_qs()
202 pf->num_lan_rx = vsi->alloc_rxq; in ice_vsi_set_num_qs()
204 vsi->num_q_vectors = min_t(int, pf->num_lan_msix, in ice_vsi_set_num_qs()
209 vf = &pf->vf[vsi->vf_id]; in ice_vsi_set_num_qs()
219 vsi->num_q_vectors = pf->num_msix_per_vf - ICE_NONQ_VECS_VF; in ice_vsi_set_num_qs()
231 dev_warn(ice_pf_to_dev(pf), "Unknown VSI type %d\n", vsi->type); in ice_vsi_set_num_qs()
273 struct ice_pf *pf = vsi->back; in ice_vsi_delete() local
287 status = ice_free_vsi(&pf->hw, vsi->idx, ctxt, false, NULL); in ice_vsi_delete()
289 dev_err(ice_pf_to_dev(pf), "Failed to delete VSI %i in FW - error: %s\n", in ice_vsi_delete()
301 struct ice_pf *pf = vsi->back; in ice_vsi_free_arrays() local
304 dev = ice_pf_to_dev(pf); in ice_vsi_free_arrays()
344 struct ice_pf *pf = NULL; in ice_vsi_clear() local
353 pf = vsi->back; in ice_vsi_clear()
354 dev = ice_pf_to_dev(pf); in ice_vsi_clear()
356 if (!pf->vsi[vsi->idx] || pf->vsi[vsi->idx] != vsi) { in ice_vsi_clear()
361 mutex_lock(&pf->sw_mutex); in ice_vsi_clear()
364 pf->vsi[vsi->idx] = NULL; in ice_vsi_clear()
365 if (vsi->idx < pf->next_vsi && vsi->type != ICE_VSI_CTRL) in ice_vsi_clear()
366 pf->next_vsi = vsi->idx; in ice_vsi_clear()
367 if (vsi->idx < pf->next_vsi && vsi->type == ICE_VSI_CTRL && in ice_vsi_clear()
369 pf->next_vsi = vsi->idx; in ice_vsi_clear()
372 mutex_unlock(&pf->sw_mutex); in ice_vsi_clear()
425 ice_vsi_alloc(struct ice_pf *pf, enum ice_vsi_type vsi_type, u16 vf_id) in ice_vsi_alloc() argument
427 struct device *dev = ice_pf_to_dev(pf); in ice_vsi_alloc()
431 mutex_lock(&pf->sw_mutex); in ice_vsi_alloc()
437 if (pf->next_vsi == ICE_NO_VSI) { in ice_vsi_alloc()
447 vsi->back = pf; in ice_vsi_alloc()
485 vsi->idx = pf->num_alloc_vsi - 1; in ice_vsi_alloc()
486 pf->ctrl_vsi_idx = vsi->idx; in ice_vsi_alloc()
487 pf->vsi[vsi->idx] = vsi; in ice_vsi_alloc()
490 vsi->idx = pf->next_vsi; in ice_vsi_alloc()
491 pf->vsi[pf->next_vsi] = vsi; in ice_vsi_alloc()
494 pf->next_vsi = ice_get_free_slot(pf->vsi, pf->num_alloc_vsi, in ice_vsi_alloc()
495 pf->next_vsi); in ice_vsi_alloc()
499 pf->vf[vf_id].ctrl_vsi_idx = vsi->idx; in ice_vsi_alloc()
506 mutex_unlock(&pf->sw_mutex); in ice_vsi_alloc()
520 struct ice_pf *pf = vsi->back; in ice_alloc_fd_res() local
529 g_val = pf->hw.func_caps.fd_fltr_guar; in ice_alloc_fd_res()
534 b_val = pf->hw.func_caps.fd_fltr_best_effort; in ice_alloc_fd_res()
541 if (!test_bit(ICE_FLAG_FD_ENA, pf->flags)) in ice_alloc_fd_res()
544 vsi->num_gfltr = g_val / pf->num_alloc_vsi; in ice_alloc_fd_res()
567 struct ice_pf *pf = vsi->back; in ice_vsi_get_qs() local
569 .qs_mutex = &pf->avail_q_mutex, in ice_vsi_get_qs()
570 .pf_map = pf->avail_txqs, in ice_vsi_get_qs()
571 .pf_map_size = pf->max_pf_txqs, in ice_vsi_get_qs()
579 .qs_mutex = &pf->avail_q_mutex, in ice_vsi_get_qs()
580 .pf_map = pf->avail_rxqs, in ice_vsi_get_qs()
581 .pf_map_size = pf->max_pf_rxqs, in ice_vsi_get_qs()
609 struct ice_pf *pf = vsi->back; in ice_vsi_put_qs() local
612 mutex_lock(&pf->avail_q_mutex); in ice_vsi_put_qs()
615 clear_bit(vsi->txq_map[i], pf->avail_txqs); in ice_vsi_put_qs()
620 clear_bit(vsi->rxq_map[i], pf->avail_rxqs); in ice_vsi_put_qs()
624 mutex_unlock(&pf->avail_q_mutex); in ice_vsi_put_qs()
633 bool ice_is_safe_mode(struct ice_pf *pf) in ice_is_safe_mode() argument
635 return !test_bit(ICE_FLAG_ADV_FEATURES, pf->flags); in ice_is_safe_mode()
644 bool ice_is_aux_ena(struct ice_pf *pf) in ice_is_aux_ena() argument
646 return test_bit(ICE_FLAG_AUX_ENA, pf->flags); in ice_is_aux_ena()
658 struct ice_pf *pf = vsi->back; in ice_vsi_clean_rss_flow_fld() local
661 if (ice_is_safe_mode(pf)) in ice_vsi_clean_rss_flow_fld()
664 status = ice_rem_vsi_rss_cfg(&pf->hw, vsi->idx); in ice_vsi_clean_rss_flow_fld()
666 dev_dbg(ice_pf_to_dev(pf), "ice_rem_vsi_rss_cfg failed for vsi = %d, error = %s\n", in ice_vsi_clean_rss_flow_fld()
676 struct ice_pf *pf = vsi->back; in ice_rss_clean() local
679 dev = ice_pf_to_dev(pf); in ice_rss_clean()
688 if (!ice_is_safe_mode(pf)) in ice_rss_clean()
689 ice_rem_vsi_rss_list(&pf->hw, vsi->idx); in ice_rss_clean()
699 struct ice_pf *pf = vsi->back; in ice_vsi_set_rss_params() local
701 if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { in ice_vsi_set_rss_params()
706 cap = &pf->hw.func_caps.common_cap; in ice_vsi_set_rss_params()
726 dev_dbg(ice_pf_to_dev(pf), "Unsupported VSI type %s\n", in ice_vsi_set_rss_params()
933 struct ice_pf *pf; in ice_set_rss_vsi_ctx() local
935 pf = vsi->back; in ice_set_rss_vsi_ctx()
936 dev = ice_pf_to_dev(pf); in ice_set_rss_vsi_ctx()
970 struct ice_pf *pf = vsi->back; in ice_vsi_init() local
971 struct ice_hw *hw = &pf->hw; in ice_vsi_init()
976 dev = ice_pf_to_dev(pf); in ice_vsi_init()
998 if (test_bit(ICE_FLAG_FD_ENA, pf->flags)) in ice_vsi_init()
1005 if (test_bit(ICE_FLAG_RSS_ENA, pf->flags) && in ice_vsi_init()
1031 if (pf->vf[vsi->vf_id].spoofchk) { in ice_vsi_init()
1167 ice_get_res(struct ice_pf *pf, struct ice_res_tracker *res, u16 needed, u16 id) in ice_get_res() argument
1169 if (!res || !pf) in ice_get_res()
1173 dev_err(ice_pf_to_dev(pf), "param err: needed=%d, num_entries = %d id=0x%04x\n", in ice_get_res()
1193 struct ice_pf *pf = vsi->back; in ice_vsi_setup_vector_base() local
1198 dev = ice_pf_to_dev(pf); in ice_vsi_setup_vector_base()
1214 ice_for_each_vf(pf, i) { in ice_vsi_setup_vector_base()
1215 struct ice_vf *vf = &pf->vf[i]; in ice_vsi_setup_vector_base()
1218 base = pf->vsi[vf->ctrl_vsi_idx]->base_vector; in ice_vsi_setup_vector_base()
1222 if (i == pf->num_alloc_vfs) in ice_vsi_setup_vector_base()
1223 base = ice_get_res(pf, pf->irq_tracker, num_q_vectors, in ice_vsi_setup_vector_base()
1226 base = ice_get_res(pf, pf->irq_tracker, num_q_vectors, in ice_vsi_setup_vector_base()
1232 ice_get_free_res_count(pf->irq_tracker), in ice_vsi_setup_vector_base()
1237 pf->num_avail_sw_msix -= num_q_vectors; in ice_vsi_setup_vector_base()
1286 struct ice_pf *pf = vsi->back; in ice_vsi_alloc_rings() local
1290 dev = ice_pf_to_dev(pf); in ice_vsi_alloc_rings()
1305 ring->tx_tstamps = &pf->ptp.port.tx; in ice_vsi_alloc_rings()
1373 struct ice_pf *pf = vsi->back; in ice_vsi_cfg_rss_lut_key() local
1378 dev = ice_pf_to_dev(pf); in ice_vsi_cfg_rss_lut_key()
1427 struct ice_pf *pf = vsi->back; in ice_vsi_set_vf_rss_flow_fld() local
1431 dev = ice_pf_to_dev(pf); in ice_vsi_set_vf_rss_flow_fld()
1432 if (ice_is_safe_mode(pf)) { in ice_vsi_set_vf_rss_flow_fld()
1438 status = ice_add_avf_rss_cfg(&pf->hw, vsi->idx, ICE_DEFAULT_RSS_HENA); in ice_vsi_set_vf_rss_flow_fld()
1458 struct ice_pf *pf = vsi->back; in ice_vsi_set_rss_flow_fld() local
1459 struct ice_hw *hw = &pf->hw; in ice_vsi_set_rss_flow_fld()
1463 dev = ice_pf_to_dev(pf); in ice_vsi_set_rss_flow_fld()
1464 if (ice_is_safe_mode(pf)) { in ice_vsi_set_rss_flow_fld()
1542 bool ice_pf_state_is_nominal(struct ice_pf *pf) in ice_pf_state_is_nominal() argument
1546 if (!pf) in ice_pf_state_is_nominal()
1550 if (bitmap_intersects(pf->state, check_bits, ICE_STATE_NBITS)) in ice_pf_state_is_nominal()
1611 struct ice_pf *pf = vsi->back; in ice_vsi_add_vlan() local
1615 dev = ice_pf_to_dev(pf); in ice_vsi_add_vlan()
1637 struct ice_pf *pf = vsi->back; in ice_vsi_kill_vlan() local
1642 dev = ice_pf_to_dev(pf); in ice_vsi_kill_vlan()
1908 struct ice_pf *pf = vsi->back; in ice_vsi_cfg_msix() local
1909 struct ice_hw *hw = &pf->hw; in ice_vsi_cfg_msix()
2143 struct ice_pf *pf; in ice_cfg_vlan_pruning() local
2156 pf = vsi->back; in ice_cfg_vlan_pruning()
2172 status = ice_update_vsi(&pf->hw, vsi->idx, ctxt, NULL); in ice_cfg_vlan_pruning()
2177 ice_aq_str(pf->hw.adminq.sq_last_status)); in ice_cfg_vlan_pruning()
2253 struct ice_pf *pf = vsi->back; in ice_cfg_sw_lldp() local
2257 dev = ice_pf_to_dev(pf); in ice_cfg_sw_lldp()
2264 if (ice_fw_supports_lldp_fltr_ctrl(&pf->hw)) { in ice_cfg_sw_lldp()
2265 status = ice_lldp_fltr_add_remove(&pf->hw, vsi->vsi_num, in ice_cfg_sw_lldp()
2294 struct ice_pf *pf = vsi->back; in ice_set_agg_vsi() local
2303 port_info = pf->hw.port_info; in ice_set_agg_vsi()
2313 agg_node_iter = &pf->pf_agg_node[0]; in ice_set_agg_vsi()
2324 agg_node_iter = &pf->vf_agg_node[0]; in ice_set_agg_vsi()
2414 ice_vsi_setup(struct ice_pf *pf, struct ice_port_info *pi, in ice_vsi_setup() argument
2418 struct device *dev = ice_pf_to_dev(pf); in ice_vsi_setup()
2424 vsi = ice_vsi_alloc(pf, vsi_type, vf_id); in ice_vsi_setup()
2426 vsi = ice_vsi_alloc(pf, vsi_type, ICE_INVAL_VFID); in ice_vsi_setup()
2434 vsi->vsw = pf->first_sw; in ice_vsi_setup()
2498 if (test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { in ice_vsi_setup()
2526 if (test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { in ice_vsi_setup()
2562 if (!ice_is_safe_mode(pf)) in ice_vsi_setup()
2577 ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); in ice_vsi_setup()
2578 pf->num_avail_sw_msix += vsi->num_q_vectors; in ice_vsi_setup()
2587 ice_enable_lag(pf->lag); in ice_vsi_setup()
2599 struct ice_pf *pf = vsi->back; in ice_vsi_release_msix() local
2600 struct ice_hw *hw = &pf->hw; in ice_vsi_release_msix()
2636 struct ice_pf *pf = vsi->back; in ice_vsi_free_irq() local
2652 irq_num = pf->msix_entries[vector].vector; in ice_vsi_free_irq()
2666 devm_free_irq(ice_pf_to_dev(pf), irq_num, vsi->q_vectors[i]); in ice_vsi_free_irq()
2783 struct ice_pf *pf = vsi->back; in ice_vsi_dis_irq() local
2784 struct ice_hw *hw = &pf->hw; in ice_vsi_dis_irq()
2829 synchronize_irq(pf->msix_entries[i + base].vector); in ice_vsi_dis_irq()
2856 struct ice_pf *pf; in ice_vsi_release() local
2860 pf = vsi->back; in ice_vsi_release()
2868 if (vsi->netdev && !ice_is_reset_in_progress(pf->state) && in ice_vsi_release()
2875 ice_devlink_destroy_pf_port(pf); in ice_vsi_release()
2877 if (test_bit(ICE_FLAG_RSS_ENA, pf->flags)) in ice_vsi_release()
2893 ice_for_each_vf(pf, i) { in ice_vsi_release()
2894 struct ice_vf *vf = &pf->vf[i]; in ice_vsi_release()
2899 if (i == pf->num_alloc_vfs) { in ice_vsi_release()
2903 ice_free_res(pf->irq_tracker, vsi->base_vector, in ice_vsi_release()
2905 pf->num_avail_sw_msix += vsi->num_q_vectors; in ice_vsi_release()
2909 ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); in ice_vsi_release()
2910 pf->num_avail_sw_msix += vsi->num_q_vectors; in ice_vsi_release()
2913 if (!ice_is_safe_mode(pf)) { in ice_vsi_release()
2921 if (!test_bit(ICE_FLAG_FW_LLDP_AGENT, pf->flags)) in ice_vsi_release()
2926 if (ice_is_vsi_dflt_vsi(pf->first_sw, vsi)) in ice_vsi_release()
2927 ice_clear_dflt_vsi(pf->first_sw); in ice_vsi_release()
2960 if (!ice_is_reset_in_progress(pf->state)) in ice_vsi_release()
3095 struct ice_pf *pf; in ice_vsi_rebuild() local
3101 pf = vsi->back; in ice_vsi_rebuild()
3104 vf = &pf->vf[vsi->vf_id]; in ice_vsi_rebuild()
3127 ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); in ice_vsi_rebuild()
3128 pf->num_avail_sw_msix += vsi->num_q_vectors; in ice_vsi_rebuild()
3191 if (test_bit(ICE_FLAG_RSS_ENA, pf->flags)) in ice_vsi_rebuild()
3223 dev_err(ice_pf_to_dev(pf), "VSI %d failed lan queue config, error %s\n", in ice_vsi_rebuild()
3229 return ice_schedule_reset(pf, ICE_RESET_PFR); in ice_vsi_rebuild()
3248 set_bit(ICE_RESET_FAILED, pf->state); in ice_vsi_rebuild()
3278 int ice_wait_for_reset(struct ice_pf *pf, unsigned long timeout) in ice_wait_for_reset() argument
3282 ret = wait_event_interruptible_timeout(pf->reset_wait_queue, in ice_wait_for_reset()
3283 !ice_is_reset_in_progress(pf->state), in ice_wait_for_reset()
3318 struct ice_pf *pf = vsi->back; in ice_vsi_cfg_tc() local
3325 dev = ice_pf_to_dev(pf); in ice_vsi_cfg_tc()
3349 status = ice_update_vsi(&pf->hw, vsi->idx, ctx, NULL); in ice_vsi_cfg_tc()
3541 dev = ice_pf_to_dev(sw->pf); in ice_clear_dflt_vsi()