Lines Matching refs:vid

26 	u16 vid;  member
51 unsigned int vid) in ocelot_mact_select() argument
58 mach |= vid << 16; in ocelot_mact_select()
73 unsigned int vid, enum macaccess_entry_type type) in __ocelot_mact_learn() argument
93 ocelot_mact_select(ocelot, mac, vid); in __ocelot_mact_learn()
105 unsigned int vid, enum macaccess_entry_type type) in ocelot_mact_learn() argument
110 ret = __ocelot_mact_learn(ocelot, port, mac, vid, type); in ocelot_mact_learn()
118 const unsigned char mac[ETH_ALEN], unsigned int vid) in ocelot_mact_forget() argument
124 ocelot_mact_select(ocelot, mac, vid); in ocelot_mact_forget()
141 unsigned int vid, enum macaccess_entry_type *type) in ocelot_mact_lookup() argument
147 ocelot_mact_select(ocelot, mac, vid); in ocelot_mact_lookup()
176 unsigned int vid, in ocelot_mact_learn_streamdata() argument
191 ret = __ocelot_mact_learn(ocelot, dst_idx, mac, vid, type); in ocelot_mact_learn_streamdata()
307 static int ocelot_vlant_set_mask(struct ocelot *ocelot, u16 vid, u32 mask) in ocelot_vlant_set_mask() argument
310 ocelot_write(ocelot, ANA_TABLES_VLANTIDX_V_INDEX(vid), in ocelot_vlant_set_mask()
333 if (vlan->vid >= OCELOT_RSV_VLAN_RANGE_START) in ocelot_port_num_untagged_vlans()
417 REW_PORT_VLAN_CFG_PORT_VID(native_vlan->vid), in ocelot_port_manage_port_tag()
467 pvid = pvid_vlan->vid; in ocelot_port_set_pvid()
490 u16 vid) in ocelot_bridge_vlan_find() argument
495 if (vlan->vid == vid) in ocelot_bridge_vlan_find()
501 static int ocelot_vlan_member_add(struct ocelot *ocelot, int port, u16 vid, in ocelot_vlan_member_add() argument
504 struct ocelot_bridge_vlan *vlan = ocelot_bridge_vlan_find(ocelot, vid); in ocelot_vlan_member_add()
511 err = ocelot_vlant_set_mask(ocelot, vid, portmask); in ocelot_vlan_member_add()
534 err = ocelot_vlant_set_mask(ocelot, vid, portmask); in ocelot_vlan_member_add()
540 vlan->vid = vid; in ocelot_vlan_member_add()
550 static int ocelot_vlan_member_del(struct ocelot *ocelot, int port, u16 vid) in ocelot_vlan_member_del() argument
552 struct ocelot_bridge_vlan *vlan = ocelot_bridge_vlan_find(ocelot, vid); in ocelot_vlan_member_del()
561 err = ocelot_vlant_set_mask(ocelot, vid, portmask); in ocelot_vlan_member_del()
578 u16 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_add_vlan_unaware_pvid() local
580 return ocelot_vlan_member_add(ocelot, port, vid, true); in ocelot_add_vlan_unaware_pvid()
586 u16 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_del_vlan_unaware_pvid() local
588 return ocelot_vlan_member_del(ocelot, port, vid); in ocelot_del_vlan_unaware_pvid()
641 int ocelot_vlan_prepare(struct ocelot *ocelot, int port, u16 vid, bool pvid, in ocelot_vlan_prepare() argument
660 if (vid > OCELOT_RSV_VLAN_RANGE_START) { in ocelot_vlan_prepare()
670 int ocelot_vlan_add(struct ocelot *ocelot, int port, u16 vid, bool pvid, in ocelot_vlan_add() argument
679 if (!vid) in ocelot_vlan_add()
682 err = ocelot_vlan_member_add(ocelot, port, vid, untagged); in ocelot_vlan_add()
689 ocelot_bridge_vlan_find(ocelot, vid)); in ocelot_vlan_add()
698 int ocelot_vlan_del(struct ocelot *ocelot, int port, u16 vid) in ocelot_vlan_del() argument
704 if (!vid) in ocelot_vlan_del()
707 if (ocelot_port->pvid_vlan && ocelot_port->pvid_vlan->vid == vid) in ocelot_vlan_del()
710 err = ocelot_vlan_member_del(ocelot, port, vid); in ocelot_vlan_del()
728 u16 port, vid; in ocelot_vlan_init() local
736 for (vid = 1; vid < VLAN_N_VID; vid++) in ocelot_vlan_init()
737 ocelot_vlant_set_mask(ocelot, vid, 0); in ocelot_vlan_init()
1331 u16 vid, const struct net_device *bridge) in ocelot_fdb_add() argument
1333 if (!vid) in ocelot_fdb_add()
1334 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_fdb_add()
1336 return ocelot_mact_learn(ocelot, port, addr, vid, ENTRYTYPE_LOCKED); in ocelot_fdb_add()
1341 u16 vid, const struct net_device *bridge) in ocelot_fdb_del() argument
1343 if (!vid) in ocelot_fdb_del()
1344 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_fdb_del()
1346 return ocelot_mact_forget(ocelot, addr, vid); in ocelot_fdb_del()
1392 entry->vid = (mach >> 16) & 0xfff; in ocelot_mact_read()
1466 if (entry.vid > OCELOT_RSV_VLAN_RANGE_START) in ocelot_fdb_dump()
1467 entry.vid = 0; in ocelot_fdb_dump()
1469 err = cb(entry.mac, entry.vid, is_static, data); in ocelot_fdb_dump()
1755 u16 vid; in ocelot_port_setup_dsa_8021q_cpu() local
1761 for (vid = OCELOT_RSV_VLAN_RANGE_START; vid < VLAN_N_VID; vid++) in ocelot_port_setup_dsa_8021q_cpu()
1762 ocelot_vlan_member_add(ocelot, cpu, vid, true); in ocelot_port_setup_dsa_8021q_cpu()
1773 u16 vid; in ocelot_port_teardown_dsa_8021q_cpu() local
1779 for (vid = OCELOT_RSV_VLAN_RANGE_START; vid < VLAN_N_VID; vid++) in ocelot_port_teardown_dsa_8021q_cpu()
1780 ocelot_vlan_member_del(ocelot, cpu_port->index, vid); in ocelot_port_teardown_dsa_8021q_cpu()
1851 u16 vid) in ocelot_multicast_get() argument
1856 if (ether_addr_equal(mc->addr, addr) && mc->vid == vid) in ocelot_multicast_get()
1963 u16 vid = mdb->vid; in ocelot_port_mdb_add() local
1965 if (!vid) in ocelot_port_mdb_add()
1966 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_port_mdb_add()
1968 mc = ocelot_multicast_get(ocelot, mdb->addr, vid); in ocelot_port_mdb_add()
1977 mc->vid = vid; in ocelot_port_mdb_add()
1986 ocelot_mact_forget(ocelot, addr, vid); in ocelot_port_mdb_add()
1995 mc->addr, mc->vid); in ocelot_port_mdb_add()
2008 return ocelot_mact_learn(ocelot, pgid->index, addr, vid, in ocelot_port_mdb_add()
2020 u16 vid = mdb->vid; in ocelot_port_mdb_del() local
2022 if (!vid) in ocelot_port_mdb_del()
2023 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_port_mdb_del()
2025 mc = ocelot_multicast_get(ocelot, mdb->addr, vid); in ocelot_port_mdb_del()
2030 ocelot_mact_forget(ocelot, addr, vid); in ocelot_port_mdb_del()
2053 return ocelot_mact_learn(ocelot, pgid->index, addr, vid, in ocelot_port_mdb_del()
2225 u16 vid = mc->vid; in ocelot_migrate_mc() local
2229 mc->addr, mc->vid, from_mask, to_mask); in ocelot_migrate_mc()
2236 ocelot_mact_forget(ocelot, addr, vid); in ocelot_migrate_mc()
2245 mc->addr, mc->vid); in ocelot_migrate_mc()
2258 return ocelot_mact_learn(ocelot, pgid->index, addr, vid, in ocelot_migrate_mc()
2304 err = ocelot_mact_forget(ocelot, fdb->addr, fdb->vid); in ocelot_migrate_lag_fdbs()
2308 bond->name, fdb->addr, fdb->vid, ERR_PTR(err)); in ocelot_migrate_lag_fdbs()
2311 err = ocelot_mact_learn(ocelot, lag, fdb->addr, fdb->vid, in ocelot_migrate_lag_fdbs()
2316 bond->name, fdb->addr, fdb->vid, ERR_PTR(err)); in ocelot_migrate_lag_fdbs()
2386 const unsigned char *addr, u16 vid, in ocelot_lag_fdb_add() argument
2398 if (!vid) in ocelot_lag_fdb_add()
2399 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_lag_fdb_add()
2402 fdb->vid = vid; in ocelot_lag_fdb_add()
2407 err = ocelot_mact_learn(ocelot, lag, addr, vid, ENTRYTYPE_LOCKED); in ocelot_lag_fdb_add()
2422 const unsigned char *addr, u16 vid, in ocelot_lag_fdb_del() argument
2429 if (!vid) in ocelot_lag_fdb_del()
2430 vid = ocelot_vlan_unaware_pvid(ocelot, bridge); in ocelot_lag_fdb_del()
2433 if (!ether_addr_equal(fdb->addr, addr) || fdb->vid != vid || in ocelot_lag_fdb_del()
2437 ocelot_mact_forget(ocelot, addr, vid); in ocelot_lag_fdb_del()