Lines Matching refs:spx5

362 	struct sparx5 *spx5;  in sparx5_switchdev_event()  local
365 spx5 = container_of(nb, struct sparx5, switchdev_nb); in sparx5_switchdev_event()
382 switchdev_work->sparx5 = spx5; in sparx5_switchdev_event()
506 static void sparx5_cpu_copy_ena(struct sparx5 *spx5, u16 pgid, bool enable) in sparx5_cpu_copy_ena() argument
509 ANA_AC_PGID_MISC_CFG_PGID_CPU_COPY_ENA, spx5, in sparx5_cpu_copy_ena()
518 struct sparx5 *spx5 = port->sparx5; in sparx5_handle_port_mdb_add() local
532 if (!br_vlan_enabled(spx5->hw_bridge_dev)) in sparx5_handle_port_mdb_add()
538 entry = sparx5_mdb_get_entry(spx5, v->addr, vid); in sparx5_handle_port_mdb_add()
540 err = sparx5_alloc_mdb_entry(spx5, v->addr, vid, &entry); in sparx5_handle_port_mdb_add()
546 mutex_lock(&spx5->mdb_lock); in sparx5_handle_port_mdb_add()
551 if (spx5->ports[i] && spx5->ports[i]->is_mrouter) in sparx5_handle_port_mdb_add()
552 sparx5_pgid_update_mask(spx5->ports[i], in sparx5_handle_port_mdb_add()
557 sparx5_cpu_copy_ena(spx5, entry->pgid_idx, true); in sparx5_handle_port_mdb_add()
563 mutex_unlock(&spx5->mdb_lock); in sparx5_handle_port_mdb_add()
565 sparx5_mact_learn(spx5, entry->pgid_idx, entry->addr, entry->vid); in sparx5_handle_port_mdb_add()
575 struct sparx5 *spx5 = port->sparx5; in sparx5_handle_port_mdb_del() local
585 if (!br_vlan_enabled(spx5->hw_bridge_dev)) in sparx5_handle_port_mdb_del()
590 entry = sparx5_mdb_get_entry(spx5, v->addr, vid); in sparx5_handle_port_mdb_del()
594 mutex_lock(&spx5->mdb_lock); in sparx5_handle_port_mdb_del()
596 sparx5_cpu_copy_ena(spx5, entry->pgid_idx, false); in sparx5_handle_port_mdb_del()
605 mutex_unlock(&spx5->mdb_lock); in sparx5_handle_port_mdb_del()
611 sparx5_pgid_clear(spx5, entry->pgid_idx); in sparx5_handle_port_mdb_del()
612 sparx5_mact_forget(spx5, entry->addr, entry->vid); in sparx5_handle_port_mdb_del()
613 sparx5_free_mdb_entry(spx5, entry->addr, entry->vid); in sparx5_handle_port_mdb_del()