Lines Matching refs:prof
275 ice_fdir_remap_entries(struct ice_fd_hw_prof *prof, int tun, int idx) in ice_fdir_remap_entries() argument
277 if (idx != prof->cnt && tun < ICE_FD_HW_SEG_MAX) { in ice_fdir_remap_entries()
280 for (i = idx; i < (prof->cnt - 1); i++) { in ice_fdir_remap_entries()
283 old_entry_h = prof->entry_h[i + 1][tun]; in ice_fdir_remap_entries()
284 prof->entry_h[i][tun] = old_entry_h; in ice_fdir_remap_entries()
285 prof->vsi_h[i] = prof->vsi_h[i + 1]; in ice_fdir_remap_entries()
288 prof->entry_h[i][tun] = 0; in ice_fdir_remap_entries()
289 prof->vsi_h[i] = 0; in ice_fdir_remap_entries()
306 struct ice_fd_hw_prof *prof = hw->fdir_prof[flow]; in ice_fdir_rem_adq_chnl() local
309 if (!prof || !prof->cnt) in ice_fdir_rem_adq_chnl()
313 u64 prof_id = prof->prof_id[tun]; in ice_fdir_rem_adq_chnl()
315 for (i = 0; i < prof->cnt; i++) { in ice_fdir_rem_adq_chnl()
316 if (prof->vsi_h[i] != vsi_idx) in ice_fdir_rem_adq_chnl()
319 prof->entry_h[i][tun] = 0; in ice_fdir_rem_adq_chnl()
320 prof->vsi_h[i] = 0; in ice_fdir_rem_adq_chnl()
325 ice_fdir_remap_entries(prof, tun, i); in ice_fdir_rem_adq_chnl()
336 prof->cnt--; in ice_fdir_rem_adq_chnl()
364 struct ice_fd_hw_prof *prof = ice_fdir_get_hw_prof(hw, blk, flow); in ice_fdir_erase_flow_from_hw() local
367 if (!prof) in ice_fdir_erase_flow_from_hw()
371 u64 prof_id = prof->prof_id[tun]; in ice_fdir_erase_flow_from_hw()
374 for (j = 0; j < prof->cnt; j++) { in ice_fdir_erase_flow_from_hw()
377 if (!prof->entry_h[j][tun] || !prof->vsi_h[j]) in ice_fdir_erase_flow_from_hw()
379 vsi_num = ice_get_hw_vsi_num(hw, prof->vsi_h[j]); in ice_fdir_erase_flow_from_hw()
381 ice_flow_rem_entry(hw, blk, prof->entry_h[j][tun]); in ice_fdir_erase_flow_from_hw()
382 prof->entry_h[j][tun] = 0; in ice_fdir_erase_flow_from_hw()
399 struct ice_fd_hw_prof *prof; in ice_fdir_rem_flow() local
402 prof = ice_fdir_get_hw_prof(hw, blk, flow); in ice_fdir_rem_flow()
403 if (!prof) in ice_fdir_rem_flow()
407 for (i = 0; i < prof->cnt; i++) in ice_fdir_rem_flow()
408 prof->vsi_h[i] = 0; in ice_fdir_rem_flow()
410 if (!prof->fdir_seg[tun]) in ice_fdir_rem_flow()
412 devm_kfree(ice_hw_to_dev(hw), prof->fdir_seg[tun]); in ice_fdir_rem_flow()
413 prof->fdir_seg[tun] = NULL; in ice_fdir_rem_flow()
415 prof->cnt = 0; in ice_fdir_rem_flow()
446 struct ice_fd_hw_prof *prof; in ice_fdir_replay_flows() local
449 prof = hw->fdir_prof[flow]; in ice_fdir_replay_flows()
451 prof->fdir_seg[tun], TNL_SEG_CNT(tun), in ice_fdir_replay_flows()
453 for (j = 0; j < prof->cnt; j++) { in ice_fdir_replay_flows()
461 prof->vsi_h[0], in ice_fdir_replay_flows()
462 prof->vsi_h[j], in ice_fdir_replay_flows()
463 prio, prof->fdir_seg, in ice_fdir_replay_flows()
470 prof->prof_id[tun] = hw_prof->id; in ice_fdir_replay_flows()
471 prof->entry_h[j][tun] = entry_h; in ice_fdir_replay_flows()
611 ice_fdir_prof_vsi_idx(struct ice_fd_hw_prof *prof, int vsi_idx) in ice_fdir_prof_vsi_idx() argument
615 for (idx = 0; idx < prof->cnt; idx++) in ice_fdir_prof_vsi_idx()
616 if (prof->vsi_h[idx] == vsi_idx) in ice_fdir_prof_vsi_idx()
619 if (idx == prof->cnt) in ice_fdir_prof_vsi_idx()
620 prof->vsi_h[prof->cnt++] = vsi_idx; in ice_fdir_prof_vsi_idx()
638 struct ice_flow_prof *prof = NULL; in ice_fdir_set_hw_fltr_rule() local
692 TNL_SEG_CNT(tun), false, &prof); in ice_fdir_set_hw_fltr_rule()
695 err = ice_flow_add_entry(hw, ICE_BLK_FD, prof->id, main_vsi->idx, in ice_fdir_set_hw_fltr_rule()
700 err = ice_flow_add_entry(hw, ICE_BLK_FD, prof->id, main_vsi->idx, in ice_fdir_set_hw_fltr_rule()
707 hw_prof->prof_id[tun] = prof->id; in ice_fdir_set_hw_fltr_rule()
724 err = ice_flow_add_entry(hw, ICE_BLK_FD, prof->id, in ice_fdir_set_hw_fltr_rule()
761 ice_rem_prof_id_flow(hw, ICE_BLK_FD, vsi_num, prof->id); in ice_fdir_set_hw_fltr_rule()
771 ice_get_hw_vsi_num(hw, main_vsi->idx), prof->id); in ice_fdir_set_hw_fltr_rule()
774 ice_flow_rem_prof(hw, ICE_BLK_FD, prof->id); in ice_fdir_set_hw_fltr_rule()