Lines Matching refs:sgi
675 struct enetc_psfp_gate *sgi, in enetc_streamgate_hw_set() argument
689 cbd.index = cpu_to_le16(sgi->index); in enetc_streamgate_hw_set()
698 if (!sgi->num_entries) in enetc_streamgate_hw_set()
701 if (sgi->num_entries > priv->psfp_cap.max_psfp_gatelist || in enetc_streamgate_hw_set()
702 !sgi->cycletime) in enetc_streamgate_hw_set()
711 sgi_config->oipv = (sgi->init_ipv < 0) ? in enetc_streamgate_hw_set()
712 0x0 : ((sgi->init_ipv & 0x7) | 0x8); in enetc_streamgate_hw_set()
723 cbd.index = cpu_to_le16(sgi->index); in enetc_streamgate_hw_set()
730 sgcl_config->acl_len = (sgi->num_entries - 1) & 0x3; in enetc_streamgate_hw_set()
732 data_size = struct_size(sgcl_data, sgcl, sgi->num_entries); in enetc_streamgate_hw_set()
742 sgcl_data->ct = sgi->cycletime; in enetc_streamgate_hw_set()
743 sgcl_data->cte = sgi->cycletimext; in enetc_streamgate_hw_set()
745 if (sgi->init_ipv >= 0) in enetc_streamgate_hw_set()
746 sgcl_config->aipv = (sgi->init_ipv & 0x7) | 0x8; in enetc_streamgate_hw_set()
748 for (i = 0; i < sgi->num_entries; i++) { in enetc_streamgate_hw_set()
749 struct action_gate_entry *from = &sgi->entries[i]; in enetc_streamgate_hw_set()
771 if (sgi->basetime < now) { in enetc_streamgate_hw_set()
774 err = get_start_ns(now, sgi->cycletime, &start); in enetc_streamgate_hw_set()
782 hi = upper_32_bits(sgi->basetime); in enetc_streamgate_hw_set()
783 lo = lower_32_bits(sgi->basetime); in enetc_streamgate_hw_set()
926 struct enetc_psfp_gate *sgi; in stream_gate_unref() local
929 sgi = enetc_get_gate_by_index(index); in stream_gate_unref()
930 WARN_ON(!sgi); in stream_gate_unref()
931 z = refcount_dec_and_test(&sgi->refcount); in stream_gate_unref()
933 enetc_streamgate_hw_set(priv, sgi, false); in stream_gate_unref()
934 hlist_del(&sgi->node); in stream_gate_unref()
935 kfree(sgi); in stream_gate_unref()
970 struct enetc_psfp_gate *sgi, in enetc_psfp_hw_set() argument
985 err = enetc_streamgate_hw_set(priv, sgi, true); in enetc_psfp_hw_set()
998 enetc_streamgate_hw_set(priv, sgi, false); in enetc_psfp_hw_set()
1069 struct enetc_psfp_gate *sgi, *old_sgi; in enetc_psfp_parse_clsflower() local
1180 entries_size = struct_size(sgi, entries, entryg->gate.num_entries); in enetc_psfp_parse_clsflower()
1181 sgi = kzalloc(entries_size, GFP_KERNEL); in enetc_psfp_parse_clsflower()
1182 if (!sgi) { in enetc_psfp_parse_clsflower()
1187 refcount_set(&sgi->refcount, 1); in enetc_psfp_parse_clsflower()
1188 sgi->index = entryg->hw_index; in enetc_psfp_parse_clsflower()
1189 sgi->init_ipv = entryg->gate.prio; in enetc_psfp_parse_clsflower()
1190 sgi->basetime = entryg->gate.basetime; in enetc_psfp_parse_clsflower()
1191 sgi->cycletime = entryg->gate.cycletime; in enetc_psfp_parse_clsflower()
1192 sgi->num_entries = entryg->gate.num_entries; in enetc_psfp_parse_clsflower()
1194 e = sgi->entries; in enetc_psfp_parse_clsflower()
1202 filter->sgi_index = sgi->index; in enetc_psfp_parse_clsflower()
1211 sfi->gate_id = sgi->index; in enetc_psfp_parse_clsflower()
1269 sfi_overwrite ? NULL : sfi, sgi, fmi); in enetc_psfp_parse_clsflower()
1289 refcount_set(&sgi->refcount, in enetc_psfp_parse_clsflower()
1295 hlist_add_head(&sgi->node, &epsfp.psfp_gate_list); in enetc_psfp_parse_clsflower()
1321 kfree(sgi); in enetc_psfp_parse_clsflower()
1479 struct enetc_psfp_gate *sgi; in clean_sgi_list() local
1482 hlist_for_each_entry_safe(sgi, tmp, &epsfp.psfp_gate_list, node) { in clean_sgi_list()
1483 hlist_del(&sgi->node); in clean_sgi_list()
1484 kfree(sgi); in clean_sgi_list()