Lines Matching refs:vid
1242 static int _mv88e6xxx_vtu_vid_write(struct dsa_switch *ds, u16 vid) in _mv88e6xxx_vtu_vid_write() argument
1245 vid & GLOBAL_VTU_VID_MASK); in _mv88e6xxx_vtu_vid_write()
1266 next.vid = ret & GLOBAL_VTU_VID_MASK; in _mv88e6xxx_vtu_getnext()
1329 reg |= entry->vid & GLOBAL_VTU_VID_MASK; in _mv88e6xxx_vtu_loadpurge()
1410 static int _mv88e6xxx_vlan_init(struct dsa_switch *ds, u16 vid, in _mv88e6xxx_vlan_init() argument
1416 .vid = vid, in _mv88e6xxx_vlan_init()
1417 .fid = vid, /* We use one FID per VLAN */ in _mv88e6xxx_vlan_init()
1475 static int _mv88e6xxx_port_vlan_add(struct dsa_switch *ds, int port, u16 vid, in _mv88e6xxx_port_vlan_add() argument
1481 err = _mv88e6xxx_vtu_vid_write(ds, vid - 1); in _mv88e6xxx_port_vlan_add()
1489 if (vlan.vid != vid || !vlan.valid) { in _mv88e6xxx_port_vlan_add()
1490 err = _mv88e6xxx_vlan_init(ds, vid, &vlan); in _mv88e6xxx_port_vlan_add()
1509 u16 vid; in mv88e6xxx_port_vlan_add() local
1514 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { in mv88e6xxx_port_vlan_add()
1515 err = _mv88e6xxx_port_vlan_add(ds, port, vid, untagged); in mv88e6xxx_port_vlan_add()
1529 static int _mv88e6xxx_port_vlan_del(struct dsa_switch *ds, int port, u16 vid) in _mv88e6xxx_port_vlan_del() argument
1535 err = _mv88e6xxx_vtu_vid_write(ds, vid - 1); in _mv88e6xxx_port_vlan_del()
1543 if (vlan.vid != vid || !vlan.valid || in _mv88e6xxx_port_vlan_del()
1572 u16 pvid, vid; in mv88e6xxx_port_vlan_del() local
1581 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { in mv88e6xxx_port_vlan_del()
1582 err = _mv88e6xxx_port_vlan_del(ds, port, vid); in mv88e6xxx_port_vlan_del()
1586 if (vid == pvid) { in mv88e6xxx_port_vlan_del()
1599 int mv88e6xxx_vlan_getnext(struct dsa_switch *ds, u16 *vid, in mv88e6xxx_vlan_getnext() argument
1607 if (*vid == 4095) in mv88e6xxx_vlan_getnext()
1611 err = _mv88e6xxx_vtu_vid_write(ds, *vid); in mv88e6xxx_vlan_getnext()
1625 *vid = next.vid; in mv88e6xxx_vlan_getnext()
1702 const unsigned char *addr, u16 vid, in _mv88e6xxx_port_fdb_load() argument
1707 entry.fid = vid; /* We use one FID per VLAN */ in _mv88e6xxx_port_fdb_load()
1723 if (fdb->vid == 0) in mv88e6xxx_port_fdb_prepare()
1743 ret = _mv88e6xxx_port_fdb_load(ds, port, fdb->addr, fdb->vid, state); in mv88e6xxx_port_fdb_add()
1756 ret = _mv88e6xxx_port_fdb_load(ds, port, fdb->addr, fdb->vid, in mv88e6xxx_port_fdb_del()
1818 .vid = GLOBAL_VTU_VID_MASK, /* all ones */ in mv88e6xxx_port_fdb_dump()
1824 err = _mv88e6xxx_vtu_vid_write(ds, vlan.vid); in mv88e6xxx_port_fdb_dump()
1858 fdb->vid = vlan.vid; in mv88e6xxx_port_fdb_dump()
1869 } while (vlan.vid < GLOBAL_VTU_VID_MASK); in mv88e6xxx_port_fdb_dump()