Lines Matching full:lan966x
13 struct lan966x *lan966x = port->lan966x; in lan966x_port_set_mcast_ip_flood() local
16 flood_mask_ip = lan_rd(lan966x, ANA_PGID(pgid_ip)); in lan966x_port_set_mcast_ip_flood()
25 flood_mask = lan_rd(lan966x, ANA_PGID(PGID_MC)); in lan966x_port_set_mcast_ip_flood()
38 lan966x, ANA_PGID(pgid_ip)); in lan966x_port_set_mcast_ip_flood()
44 u32 val = lan_rd(port->lan966x, ANA_PGID(PGID_MC)); in lan966x_port_set_mcast_flood()
54 port->lan966x, ANA_PGID(PGID_MC)); in lan966x_port_set_mcast_flood()
65 u32 val = lan_rd(port->lan966x, ANA_PGID(PGID_UC)); in lan966x_port_set_ucast_flood()
75 port->lan966x, ANA_PGID(PGID_UC)); in lan966x_port_set_ucast_flood()
81 u32 val = lan_rd(port->lan966x, ANA_PGID(PGID_BC)); in lan966x_port_set_bcast_flood()
91 port->lan966x, ANA_PGID(PGID_BC)); in lan966x_port_set_bcast_flood()
98 port->lan966x, ANA_PORT_CFG(port->chip_port)); in lan966x_port_set_learning()
133 void lan966x_update_fwd_mask(struct lan966x *lan966x) in lan966x_update_fwd_mask() argument
137 for (i = 0; i < lan966x->num_phys_ports; i++) { in lan966x_update_fwd_mask()
138 struct lan966x_port *port = lan966x->ports[i]; in lan966x_update_fwd_mask()
141 if (port && lan966x->bridge_fwd_mask & BIT(i)) { in lan966x_update_fwd_mask()
142 mask = lan966x->bridge_fwd_mask & ~BIT(i); in lan966x_update_fwd_mask()
145 mask &= ~lan966x_lag_get_mask(lan966x, in lan966x_update_fwd_mask()
152 lan966x, ANA_PGID(PGID_SRC + i)); in lan966x_update_fwd_mask()
158 struct lan966x *lan966x = port->lan966x; in lan966x_port_stp_state_set() local
166 lan966x->bridge_fwd_mask |= BIT(port->chip_port); in lan966x_port_stp_state_set()
168 lan966x->bridge_fwd_mask &= ~BIT(port->chip_port); in lan966x_port_stp_state_set()
172 lan966x, ANA_PORT_CFG(port->chip_port)); in lan966x_port_stp_state_set()
174 lan966x_update_fwd_mask(lan966x); in lan966x_port_stp_state_set()
183 lan966x_mac_set_ageing(port->lan966x, ageing_time); in lan966x_port_ageing_set()
188 struct lan966x *lan966x = port->lan966x; in lan966x_port_mc_set() local
192 lan966x_mdb_restore_entries(lan966x); in lan966x_port_mc_set()
194 lan966x_mdb_clear_entries(lan966x); in lan966x_port_mc_set()
202 lan966x, ANA_CPU_FWD_CFG(port->chip_port)); in lan966x_port_mc_set()
252 struct lan966x *lan966x = port->lan966x; in lan966x_port_bridge_join() local
256 if (!lan966x->bridge_mask) { in lan966x_port_bridge_join()
257 lan966x->bridge = bridge; in lan966x_port_bridge_join()
259 if (lan966x->bridge != bridge) { in lan966x_port_bridge_join()
272 lan966x->bridge_mask |= BIT(port->chip_port); in lan966x_port_bridge_join()
285 struct lan966x *lan966x = port->lan966x; in lan966x_port_bridge_leave() local
291 lan966x->bridge_mask &= ~BIT(port->chip_port); in lan966x_port_bridge_leave()
293 if (!lan966x->bridge_mask) in lan966x_port_bridge_leave()
294 lan966x->bridge = NULL; in lan966x_port_bridge_leave()
342 lan966x_fdb_flush_workqueue(port->lan966x); in lan966x_port_prechangeupper()
351 lan966x_fdb_flush_workqueue(port->lan966x); in lan966x_port_prechangeupper()
362 struct lan966x *lan966x = NULL; in lan966x_foreign_bridging_check() local
374 if (lan966x) { in lan966x_foreign_bridging_check()
376 * lan966x switch inside it, check that it's in lan966x_foreign_bridging_check()
379 if (port->lan966x != lan966x) { in lan966x_foreign_bridging_check()
381 "Bridging between multiple lan966x switches disallowed"); in lan966x_foreign_bridging_check()
385 /* This is the first lan966x port inside this in lan966x_foreign_bridging_check()
388 lan966x = port->lan966x; in lan966x_foreign_bridging_check()
392 /* Allow to have bond interfaces that have only lan966x in lan966x_foreign_bridging_check()
405 "Bridging lan966x ports with foreign interfaces disallowed"); in lan966x_foreign_bridging_check()
491 struct lan966x *lan966x = port->lan966x; in lan966x_foreign_dev_check() local
495 if (lan966x->bridge == foreign_dev) in lan966x_foreign_dev_check()
499 for (i = 0; i < lan966x->num_phys_ports; ++i) in lan966x_foreign_dev_check()
500 if (lan966x->ports[i] && in lan966x_foreign_dev_check()
501 lan966x->ports[i]->bond == foreign_dev) in lan966x_foreign_dev_check()
535 struct lan966x *lan966x = port->lan966x; in lan966x_handle_port_vlan_add() local
542 lan966x_vlan_cpu_add_vlan(lan966x, v->vid); in lan966x_handle_port_vlan_add()
577 struct lan966x *lan966x = port->lan966x; in lan966x_handle_port_vlan_del() local
582 lan966x_vlan_cpu_del_vlan(lan966x, v->vid); in lan966x_handle_port_vlan_del()