Home
last modified time | relevance | path

Searched refs:spx5 (Results 1 – 4 of 4) sorted by relevance

/linux-6.15/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_pgid.c4 void sparx5_pgid_init(struct sparx5 *spx5) in sparx5_pgid_init() argument
8 for (i = 0; i < spx5->data->consts->n_pgids; i++) in sparx5_pgid_init()
9 spx5->pgid_map[i] = SPX5_PGID_FREE; in sparx5_pgid_init()
15 spx5->pgid_map[i] = SPX5_PGID_RESERVED; in sparx5_pgid_init()
26 i < spx5->data->consts->n_pgids; i++) { in sparx5_pgid_alloc_mcast()
27 if (spx5->pgid_map[i] == SPX5_PGID_FREE) { in sparx5_pgid_alloc_mcast()
28 spx5->pgid_map[i] = SPX5_PGID_MULTICAST; in sparx5_pgid_alloc_mcast()
39 if (idx <= sparx5_get_pgid(spx5, PGID_CPU) || in sparx5_pgid_free()
40 idx >= spx5->data->consts->n_pgids) in sparx5_pgid_free()
43 if (spx5->pgid_map[idx] == SPX5_PGID_FREE) in sparx5_pgid_free()
[all …]
H A Dsparx5_switchdev.c375 struct sparx5 *spx5; in sparx5_switchdev_event() local
395 switchdev_work->sparx5 = spx5; in sparx5_switchdev_event()
531 struct sparx5 *spx5 = port->sparx5; in sparx5_handle_port_mdb_add() local
545 if (!br_vlan_enabled(spx5->hw_bridge_dev)) in sparx5_handle_port_mdb_add()
559 mutex_lock(&spx5->mdb_lock); in sparx5_handle_port_mdb_add()
564 if (spx5->ports[i] && spx5->ports[i]->is_mrouter) in sparx5_handle_port_mdb_add()
565 sparx5_pgid_update_mask(spx5->ports[i], in sparx5_handle_port_mdb_add()
576 mutex_unlock(&spx5->mdb_lock); in sparx5_handle_port_mdb_add()
588 struct sparx5 *spx5 = port->sparx5; in sparx5_handle_port_mdb_del() local
607 mutex_lock(&spx5->mdb_lock); in sparx5_handle_port_mdb_del()
[all …]
H A Dsparx5_vlan.c143 void sparx5_pgid_clear(struct sparx5 *spx5, int pgid) in sparx5_pgid_clear() argument
145 spx5_wr(0, spx5, ANA_AC_PGID_CFG(pgid)); in sparx5_pgid_clear()
146 if (is_sparx5(spx5)) { in sparx5_pgid_clear()
147 spx5_wr(0, spx5, ANA_AC_PGID_CFG1(pgid)); in sparx5_pgid_clear()
148 spx5_wr(0, spx5, ANA_AC_PGID_CFG2(pgid)); in sparx5_pgid_clear()
152 void sparx5_pgid_read_mask(struct sparx5 *spx5, int pgid, u32 portmask[3]) in sparx5_pgid_read_mask() argument
154 portmask[0] = spx5_rd(spx5, ANA_AC_PGID_CFG(pgid)); in sparx5_pgid_read_mask()
155 if (is_sparx5(spx5)) { in sparx5_pgid_read_mask()
156 portmask[1] = spx5_rd(spx5, ANA_AC_PGID_CFG1(pgid)); in sparx5_pgid_read_mask()
157 portmask[2] = spx5_rd(spx5, ANA_AC_PGID_CFG2(pgid)); in sparx5_pgid_read_mask()
H A Dsparx5_main.h496 void sparx5_pgid_clear(struct sparx5 *spx5, int pgid);
575 void sparx5_pgid_init(struct sparx5 *spx5);
576 int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx);
577 int sparx5_pgid_free(struct sparx5 *spx5, u16 idx);