Lines Matching refs:prof
396 struct ice_flow_prof *prof; member
449 struct ice_flow_prof *prof; in ice_flow_proc_seg_hdrs() local
455 prof = params->prof; in ice_flow_proc_seg_hdrs()
457 for (i = 0; i < params->prof->segs_cnt; i++) { in ice_flow_proc_seg_hdrs()
461 hdrs = prof->segs[i].hdrs; in ice_flow_proc_seg_hdrs()
571 flds = params->prof->segs[seg].fields; in ice_flow_xtract_fld()
644 prot_id = (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV4) ? in ice_flow_xtract_fld()
724 for (i = 0; i < params->prof->segs_cnt; i++) { in ice_flow_create_xtrct_seq()
728 ice_cp_bitmap(match, params->prof->segs[i].match, in ice_flow_create_xtrct_seq()
789 struct ice_flow_prof *p, *prof = NULL; in ice_flow_find_prof_conds() local
817 prof = p; in ice_flow_find_prof_conds()
823 return prof; in ice_flow_find_prof_conds()
907 struct ice_flow_prof **prof) in ice_flow_add_prof_sync() argument
913 if (!prof || (acts_cnt && !acts)) in ice_flow_add_prof_sync()
920 params->prof = (struct ice_flow_prof *) in ice_flow_add_prof_sync()
921 ice_malloc(hw, sizeof(*params->prof)); in ice_flow_add_prof_sync()
922 if (!params->prof) { in ice_flow_add_prof_sync()
934 params->prof->id = prof_id; in ice_flow_add_prof_sync()
935 params->prof->dir = dir; in ice_flow_add_prof_sync()
936 params->prof->segs_cnt = segs_cnt; in ice_flow_add_prof_sync()
942 ice_memcpy(¶ms->prof->segs[i], &segs[i], sizeof(*segs), in ice_flow_add_prof_sync()
958 *prof = params->prof; in ice_flow_add_prof_sync()
962 ice_free(hw, params->prof); in ice_flow_add_prof_sync()
980 struct ice_flow_prof *prof) in ice_flow_rem_prof_sync() argument
985 status = ice_rem_prof(hw, blk, prof->id); in ice_flow_rem_prof_sync()
987 LIST_DEL(&prof->l_entry); in ice_flow_rem_prof_sync()
988 ice_free(hw, prof); in ice_flow_rem_prof_sync()
1034 struct ice_flow_prof *prof, u16 vsi_handle) in ice_flow_assoc_prof() argument
1038 if (!ice_is_bit_set(prof->vsis, vsi_handle)) { in ice_flow_assoc_prof()
1042 prof->id); in ice_flow_assoc_prof()
1044 ice_set_bit(vsi_handle, prof->vsis); in ice_flow_assoc_prof()
1065 struct ice_flow_prof *prof, u16 vsi_handle) in ice_flow_disassoc_prof() argument
1069 if (ice_is_bit_set(prof->vsis, vsi_handle)) { in ice_flow_disassoc_prof()
1073 prof->id); in ice_flow_disassoc_prof()
1075 ice_clear_bit(vsi_handle, prof->vsis); in ice_flow_disassoc_prof()
1100 struct ice_flow_prof **prof) in ice_flow_add_prof() argument
1120 acts, acts_cnt, prof); in ice_flow_add_prof()
1122 LIST_ADD(&(*prof)->l_entry, &hw->fl_profs[blk]); in ice_flow_add_prof()
1138 struct ice_flow_prof *prof; in ice_flow_rem_prof() local
1143 prof = ice_flow_find_prof_id(hw, blk, prof_id); in ice_flow_rem_prof()
1144 if (!prof) { in ice_flow_rem_prof()
1150 status = ice_flow_rem_prof_sync(hw, blk, prof); in ice_flow_rem_prof()
1409 ice_get_rss_hdr_type(struct ice_flow_prof *prof) in ice_get_rss_hdr_type() argument
1413 if (prof->segs_cnt == ICE_FLOW_SEG_SINGLE) { in ice_get_rss_hdr_type()
1415 } else if (prof->segs_cnt == ICE_FLOW_SEG_MAX) { in ice_get_rss_hdr_type()
1418 s = &prof->segs[ICE_RSS_OUTER_HEADERS]; in ice_get_rss_hdr_type()
1439 ice_rem_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof) in ice_rem_rss_list() argument
1447 ice_for_each_set_bit(i, prof->segs[prof->segs_cnt - 1].match, in ice_rem_rss_list()
1456 hdr_type = ice_get_rss_hdr_type(prof); in ice_rem_rss_list()
1460 r->hash.addl_hdrs == prof->segs[prof->segs_cnt - 1].hdrs && in ice_rem_rss_list()
1480 ice_add_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof) in ice_add_rss_list() argument
1487 ice_for_each_set_bit(i, prof->segs[prof->segs_cnt - 1].match, in ice_add_rss_list()
1492 hdr_type = ice_get_rss_hdr_type(prof); in ice_add_rss_list()
1496 r->hash.addl_hdrs == prof->segs[prof->segs_cnt - 1].hdrs && in ice_add_rss_list()
1507 rss_cfg->hash.addl_hdrs = prof->segs[prof->segs_cnt - 1].hdrs; in ice_add_rss_list()
1509 rss_cfg->hash.symm = prof->cfg.symm; in ice_add_rss_list()
1552 struct ice_flow_prof *prof = NULL; in ice_add_rss_cfg_sync() local
1578 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
1582 if (prof) in ice_add_rss_cfg_sync()
1590 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
1592 if (prof) { in ice_add_rss_cfg_sync()
1593 status = ice_flow_disassoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
1595 ice_rem_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
1600 if (!ice_is_any_bit_set(prof->vsis, ICE_MAX_VSI)) { in ice_add_rss_cfg_sync()
1601 status = ice_flow_rem_prof(hw, blk, prof->id); in ice_add_rss_cfg_sync()
1610 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
1613 if (prof) { in ice_add_rss_cfg_sync()
1614 status = ice_flow_assoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
1616 status = ice_add_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
1627 segs, segs_cnt, NULL, 0, &prof); in ice_add_rss_cfg_sync()
1631 status = ice_flow_assoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
1636 ice_flow_rem_prof(hw, blk, prof->id); in ice_add_rss_cfg_sync()
1640 status = ice_add_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
1642 prof->cfg.symm = cfg->symm; in ice_add_rss_cfg_sync()
1703 struct ice_flow_prof *prof; in ice_rem_rss_cfg_sync() local
1720 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_rem_rss_cfg_sync()
1723 if (!prof) { in ice_rem_rss_cfg_sync()
1728 status = ice_flow_disassoc_prof(hw, blk, prof, vsi_handle); in ice_rem_rss_cfg_sync()
1735 ice_rem_rss_list(hw, vsi_handle, prof); in ice_rem_rss_cfg_sync()
1737 if (!ice_is_any_bit_set(prof->vsis, ICE_MAX_VSI)) in ice_rem_rss_cfg_sync()
1738 status = ice_flow_rem_prof(hw, blk, prof->id); in ice_rem_rss_cfg_sync()