Lines Matching defs:prof

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