Lines Matching full:sgi

2085 				    struct felix_stream_gate *sgi)  in vsc9959_psfp_parse_gate()  argument
2087 sgi->index = entry->hw_index; in vsc9959_psfp_parse_gate()
2088 sgi->ipv_valid = (entry->gate.prio < 0) ? 0 : 1; in vsc9959_psfp_parse_gate()
2089 sgi->init_ipv = (sgi->ipv_valid) ? entry->gate.prio : 0; in vsc9959_psfp_parse_gate()
2090 sgi->basetime = entry->gate.basetime; in vsc9959_psfp_parse_gate()
2091 sgi->cycletime = entry->gate.cycletime; in vsc9959_psfp_parse_gate()
2092 sgi->num_entries = entry->gate.num_entries; in vsc9959_psfp_parse_gate()
2093 sgi->enable = 1; in vsc9959_psfp_parse_gate()
2095 memcpy(sgi->entries, entry->gate.entries, in vsc9959_psfp_parse_gate()
2105 struct felix_stream_gate *sgi) in vsc9959_psfp_sgi_set() argument
2113 if (sgi->index > VSC9959_PSFP_GATE_ID_MAX) in vsc9959_psfp_sgi_set()
2116 ocelot_write(ocelot, ANA_SG_ACCESS_CTRL_SGID(sgi->index), in vsc9959_psfp_sgi_set()
2119 if (!sgi->enable) { in vsc9959_psfp_sgi_set()
2128 if (sgi->cycletime < VSC9959_PSFP_GATE_CYCLETIME_MIN || in vsc9959_psfp_sgi_set()
2129 sgi->cycletime > NSEC_PER_SEC) in vsc9959_psfp_sgi_set()
2132 if (sgi->num_entries > VSC9959_PSFP_GATE_LIST_NUM) in vsc9959_psfp_sgi_set()
2135 vsc9959_new_base_time(ocelot, sgi->basetime, sgi->cycletime, &base_ts); in vsc9959_psfp_sgi_set()
2142 (sgi->ipv_valid ? ANA_SG_CONFIG_REG_3_IPV_VALID : 0) | in vsc9959_psfp_sgi_set()
2143 ANA_SG_CONFIG_REG_3_INIT_IPV(sgi->init_ipv) | in vsc9959_psfp_sgi_set()
2145 ANA_SG_CONFIG_REG_3_LIST_LENGTH(sgi->num_entries) | in vsc9959_psfp_sgi_set()
2150 ocelot_write(ocelot, sgi->cycletime, ANA_SG_CONFIG_REG_4); in vsc9959_psfp_sgi_set()
2152 e = sgi->entries; in vsc9959_psfp_sgi_set()
2153 for (i = 0; i < sgi->num_entries; i++) { in vsc9959_psfp_sgi_set()
2175 struct felix_stream_gate *sgi) in vsc9959_psfp_sgi_table_add() argument
2184 if (tmp->index == sgi->index) { in vsc9959_psfp_sgi_table_add()
2193 ret = vsc9959_psfp_sgi_set(ocelot, sgi); in vsc9959_psfp_sgi_table_add()
2199 tmp->index = sgi->index; in vsc9959_psfp_sgi_table_add()
2210 struct felix_stream_gate sgi = {0}; in vsc9959_psfp_sgi_table_del() local
2220 sgi.index = index; in vsc9959_psfp_sgi_table_del()
2221 sgi.enable = 0; in vsc9959_psfp_sgi_table_del()
2222 vsc9959_psfp_sgi_set(ocelot, &sgi); in vsc9959_psfp_sgi_table_del()
2239 struct felix_stream_gate *sgi; in vsc9959_psfp_filter_add() local
2259 size = struct_size(sgi, entries, a->gate.num_entries); in vsc9959_psfp_filter_add()
2260 sgi = kzalloc(size, GFP_KERNEL); in vsc9959_psfp_filter_add()
2261 if (!sgi) { in vsc9959_psfp_filter_add()
2265 vsc9959_psfp_parse_gate(a, sgi); in vsc9959_psfp_filter_add()
2266 ret = vsc9959_psfp_sgi_table_add(ocelot, sgi); in vsc9959_psfp_filter_add()
2268 kfree(sgi); in vsc9959_psfp_filter_add()
2272 sfi.sgid = sgi->index; in vsc9959_psfp_filter_add()
2273 kfree(sgi); in vsc9959_psfp_filter_add()