• Home
  • Raw
  • Download

Lines Matching refs:prof

591 	struct ice_flow_prof *prof;  member
669 sz = (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_VLAN) ? in ice_flow_calc_seg_sz()
673 if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV4) in ice_flow_calc_seg_sz()
675 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV6) in ice_flow_calc_seg_sz()
677 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_ARP) in ice_flow_calc_seg_sz()
679 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDRS_L4_MASK) in ice_flow_calc_seg_sz()
684 if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_ICMP) in ice_flow_calc_seg_sz()
686 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_TCP) in ice_flow_calc_seg_sz()
688 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_UDP) in ice_flow_calc_seg_sz()
690 else if (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_SCTP) in ice_flow_calc_seg_sz()
706 struct ice_flow_prof *prof; in ice_flow_proc_seg_hdrs() local
711 prof = params->prof; in ice_flow_proc_seg_hdrs()
713 for (i = 0; i < params->prof->segs_cnt; i++) { in ice_flow_proc_seg_hdrs()
717 hdrs = prof->segs[i].hdrs; in ice_flow_proc_seg_hdrs()
914 flds = params->prof->segs[seg].fields; in ice_flow_xtract_fld()
1028 prot_id = (params->prof->segs[seg].hdrs & ICE_FLOW_SEG_HDR_IPV4) ? in ice_flow_xtract_fld()
1110 if (!params->prof->segs[seg].raws_cnt) in ice_flow_xtract_raws()
1113 if (params->prof->segs[seg].raws_cnt > in ice_flow_xtract_raws()
1114 ARRAY_SIZE(params->prof->segs[seg].raws)) in ice_flow_xtract_raws()
1124 for (i = 0; i < params->prof->segs[seg].raws_cnt; i++) { in ice_flow_xtract_raws()
1128 raw = &params->prof->segs[seg].raws[i]; in ice_flow_xtract_raws()
1183 struct ice_flow_prof *prof = params->prof; in ice_flow_create_xtrct_seq() local
1187 for (i = 0; i < prof->segs_cnt; i++) { in ice_flow_create_xtrct_seq()
1188 u64 match = params->prof->segs[i].match; in ice_flow_create_xtrct_seq()
1257 struct ice_flow_prof *p, *prof = NULL; in ice_flow_find_prof_conds() local
1282 prof = p; in ice_flow_find_prof_conds()
1288 return prof; in ice_flow_find_prof_conds()
1362 struct ice_flow_prof **prof) in ice_flow_add_prof_sync() argument
1368 if (!prof) in ice_flow_add_prof_sync()
1375 params->prof = devm_kzalloc(ice_hw_to_dev(hw), sizeof(*params->prof), in ice_flow_add_prof_sync()
1377 if (!params->prof) { in ice_flow_add_prof_sync()
1389 params->prof->id = prof_id; in ice_flow_add_prof_sync()
1390 params->prof->dir = dir; in ice_flow_add_prof_sync()
1391 params->prof->segs_cnt = segs_cnt; in ice_flow_add_prof_sync()
1397 memcpy(&params->prof->segs[i], &segs[i], sizeof(*segs)); in ice_flow_add_prof_sync()
1414 INIT_LIST_HEAD(&params->prof->entries); in ice_flow_add_prof_sync()
1415 mutex_init(&params->prof->entries_lock); in ice_flow_add_prof_sync()
1416 *prof = params->prof; in ice_flow_add_prof_sync()
1420 devm_kfree(ice_hw_to_dev(hw), params->prof); in ice_flow_add_prof_sync()
1437 struct ice_flow_prof *prof) in ice_flow_rem_prof_sync() argument
1442 if (!list_empty(&prof->entries)) { in ice_flow_rem_prof_sync()
1445 mutex_lock(&prof->entries_lock); in ice_flow_rem_prof_sync()
1447 list_for_each_entry_safe(e, t, &prof->entries, l_entry) { in ice_flow_rem_prof_sync()
1453 mutex_unlock(&prof->entries_lock); in ice_flow_rem_prof_sync()
1457 status = ice_rem_prof(hw, blk, prof->id); in ice_flow_rem_prof_sync()
1459 list_del(&prof->l_entry); in ice_flow_rem_prof_sync()
1460 mutex_destroy(&prof->entries_lock); in ice_flow_rem_prof_sync()
1461 devm_kfree(ice_hw_to_dev(hw), prof); in ice_flow_rem_prof_sync()
1479 struct ice_flow_prof *prof, u16 vsi_handle) in ice_flow_assoc_prof() argument
1483 if (!test_bit(vsi_handle, prof->vsis)) { in ice_flow_assoc_prof()
1487 prof->id); in ice_flow_assoc_prof()
1489 set_bit(vsi_handle, prof->vsis); in ice_flow_assoc_prof()
1510 struct ice_flow_prof *prof, u16 vsi_handle) in ice_flow_disassoc_prof() argument
1514 if (test_bit(vsi_handle, prof->vsis)) { in ice_flow_disassoc_prof()
1518 prof->id); in ice_flow_disassoc_prof()
1520 clear_bit(vsi_handle, prof->vsis); in ice_flow_disassoc_prof()
1542 struct ice_flow_prof **prof) in ice_flow_add_prof() argument
1562 prof); in ice_flow_add_prof()
1564 list_add(&(*prof)->l_entry, &hw->fl_profs[blk]); in ice_flow_add_prof()
1580 struct ice_flow_prof *prof; in ice_flow_rem_prof() local
1585 prof = ice_flow_find_prof_id(hw, blk, prof_id); in ice_flow_rem_prof()
1586 if (!prof) { in ice_flow_rem_prof()
1592 status = ice_flow_rem_prof_sync(hw, blk, prof); in ice_flow_rem_prof()
1617 struct ice_flow_prof *prof; in ice_flow_add_entry() local
1629 prof = ice_flow_find_prof_id(hw, blk, prof_id); in ice_flow_add_entry()
1630 if (!prof) { in ice_flow_add_entry()
1640 status = ice_flow_assoc_prof(hw, blk, prof, vsi_handle); in ice_flow_add_entry()
1649 e->prof = prof; in ice_flow_add_entry()
1661 mutex_lock(&prof->entries_lock); in ice_flow_add_entry()
1662 list_add(&e->l_entry, &prof->entries); in ice_flow_add_entry()
1663 mutex_unlock(&prof->entries_lock); in ice_flow_add_entry()
1687 struct ice_flow_prof *prof; in ice_flow_rem_entry() local
1696 prof = entry->prof; in ice_flow_rem_entry()
1698 if (prof) { in ice_flow_rem_entry()
1699 mutex_lock(&prof->entries_lock); in ice_flow_rem_entry()
1701 mutex_unlock(&prof->entries_lock); in ice_flow_rem_entry()
1941 ice_rem_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof) in ice_rem_rss_list() argument
1950 if (r->hashed_flds == prof->segs[prof->segs_cnt - 1].match && in ice_rem_rss_list()
1951 r->packet_hdr == prof->segs[prof->segs_cnt - 1].hdrs) { in ice_rem_rss_list()
1970 ice_add_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof) in ice_add_rss_list() argument
1975 if (r->hashed_flds == prof->segs[prof->segs_cnt - 1].match && in ice_add_rss_list()
1976 r->packet_hdr == prof->segs[prof->segs_cnt - 1].hdrs) { in ice_add_rss_list()
1986 rss_cfg->hashed_flds = prof->segs[prof->segs_cnt - 1].match; in ice_add_rss_list()
1987 rss_cfg->packet_hdr = prof->segs[prof->segs_cnt - 1].hdrs; in ice_add_rss_list()
2030 struct ice_flow_prof *prof = NULL; in ice_add_rss_cfg_sync() local
2051 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
2055 if (prof) in ice_add_rss_cfg_sync()
2063 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
2065 if (prof) { in ice_add_rss_cfg_sync()
2066 status = ice_flow_disassoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
2068 ice_rem_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
2073 if (bitmap_empty(prof->vsis, ICE_MAX_VSI)) { in ice_add_rss_cfg_sync()
2074 status = ice_flow_rem_prof(hw, blk, prof->id); in ice_add_rss_cfg_sync()
2083 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_add_rss_cfg_sync()
2086 if (prof) { in ice_add_rss_cfg_sync()
2087 status = ice_flow_assoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
2089 status = ice_add_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
2100 segs, segs_cnt, &prof); in ice_add_rss_cfg_sync()
2104 status = ice_flow_assoc_prof(hw, blk, prof, vsi_handle); in ice_add_rss_cfg_sync()
2109 ice_flow_rem_prof(hw, blk, prof->id); in ice_add_rss_cfg_sync()
2113 status = ice_add_rss_list(hw, vsi_handle, prof); in ice_add_rss_cfg_sync()
2168 struct ice_flow_prof *prof; in ice_rem_rss_cfg_sync() local
2181 prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, in ice_rem_rss_cfg_sync()
2184 if (!prof) { in ice_rem_rss_cfg_sync()
2189 status = ice_flow_disassoc_prof(hw, blk, prof, vsi_handle); in ice_rem_rss_cfg_sync()
2196 ice_rem_rss_list(hw, vsi_handle, prof); in ice_rem_rss_cfg_sync()
2198 if (bitmap_empty(prof->vsis, ICE_MAX_VSI)) in ice_rem_rss_cfg_sync()
2199 status = ice_flow_rem_prof(hw, blk, prof->id); in ice_rem_rss_cfg_sync()