Lines Matching refs:sfi

604 				     struct enetc_psfp_filter *sfi,
615 cbd.index = cpu_to_le16(sfi->index);
626 if (sfi->handle >= 0) {
628 cpu_to_le32(sfi->handle);
632 sfi_config->sg_inst_table_index = cpu_to_le16(sfi->gate_id);
638 if (sfi->prio >= 0)
639 sfi_config->multi |= (sfi->prio & 0x7) | 0x8;
645 if (sfi->maxsdu) {
647 cpu_to_le16(sfi->maxsdu);
651 if (sfi->meter_id >= 0) {
652 sfi_config->fm_inst_table_index = cpu_to_le16(sfi->meter_id);
946 *enetc_psfp_check_sfi(struct enetc_psfp_filter *sfi)
951 if (s->gate_id == sfi->gate_id &&
952 s->prio == sfi->prio &&
953 s->maxsdu == sfi->maxsdu &&
954 s->meter_id == sfi->meter_id)
974 struct enetc_psfp_filter *sfi;
977 sfi = enetc_get_filter_by_index(index);
978 WARN_ON(!sfi);
979 z = refcount_dec_and_test(&sfi->refcount);
982 enetc_streamfilter_hw_set(priv, sfi, false);
983 hlist_del(&sfi->node);
984 kfree(sfi);
1034 struct enetc_psfp_filter *sfi,
1044 if (sfi) {
1045 err = enetc_streamfilter_hw_set(priv, sfi, true);
1065 if (sfi)
1066 enetc_streamfilter_hw_set(priv, sfi, false);
1133 struct enetc_psfp_filter *sfi, *old_sfi;
1269 sfi = kzalloc(sizeof(*sfi), GFP_KERNEL);
1270 if (!sfi) {
1275 refcount_set(&sfi->refcount, 1);
1276 sfi->gate_id = sgi->index;
1277 sfi->meter_id = ENETC_PSFP_WILDCARD;
1297 sfi->meter_id = fmi->index;
1301 sfi->maxsdu = entryp->police.mtu;
1306 sfi->prio = f->common.prio - 1;
1308 sfi->prio = ENETC_PSFP_WILDCARD;
1310 old_sfi = enetc_psfp_check_sfi(sfi);
1321 sfi->index = index;
1322 sfi->handle = index + HANDLE_OFFSET;
1324 filter->sid.handle = sfi->handle;
1325 filter->sfi_index = sfi->index;
1334 sfi_overwrite ? NULL : sfi, sgi, fmi);
1363 hlist_add_head(&sfi->node, &epsfp.psfp_filter_list);
1364 set_bit(sfi->index, epsfp.psfp_sfi_bitmap);
1366 kfree(sfi);
1384 kfree(sfi);
1533 struct enetc_psfp_filter *sfi;
1536 hlist_for_each_entry_safe(sfi, tmp, &epsfp.psfp_filter_list, node) {
1537 hlist_del(&sfi->node);
1538 kfree(sfi);