Lines Matching refs:vlan
1414 struct mv88e6xxx_vtu_stu_entry vlan = { in _mv88e6xxx_vlan_init() local
1423 vlan.data[i] = dsa_is_cpu_port(ds, i) || dsa_is_dsa_port(ds, i) in _mv88e6xxx_vlan_init()
1436 vlan.sid = 0; in _mv88e6xxx_vlan_init()
1441 if (vstp.sid != vlan.sid || !vstp.valid) { in _mv88e6xxx_vlan_init()
1444 vstp.sid = vlan.sid; in _mv88e6xxx_vlan_init()
1452 err = _mv88e6xxx_atu_flush(ds, vlan.fid, true); in _mv88e6xxx_vlan_init()
1457 *entry = vlan; in _mv88e6xxx_vlan_init()
1462 const struct switchdev_obj_port_vlan *vlan, in mv88e6xxx_port_vlan_prepare() argument
1466 if (vlan->vid_end >= 4000) in mv88e6xxx_port_vlan_prepare()
1478 struct mv88e6xxx_vtu_stu_entry vlan; in _mv88e6xxx_port_vlan_add() local
1485 err = _mv88e6xxx_vtu_getnext(ds, &vlan); 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()
1495 vlan.data[port] = untagged ? in _mv88e6xxx_port_vlan_add()
1499 return _mv88e6xxx_vtu_loadpurge(ds, &vlan); in _mv88e6xxx_port_vlan_add()
1503 const struct switchdev_obj_port_vlan *vlan, in mv88e6xxx_port_vlan_add() argument
1507 bool untagged = vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED; in mv88e6xxx_port_vlan_add()
1508 bool pvid = vlan->flags & BRIDGE_VLAN_INFO_PVID; in mv88e6xxx_port_vlan_add()
1514 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { in mv88e6xxx_port_vlan_add()
1522 err = _mv88e6xxx_port_pvid_set(ds, port, vlan->vid_end); in mv88e6xxx_port_vlan_add()
1532 struct mv88e6xxx_vtu_stu_entry vlan; in _mv88e6xxx_port_vlan_del() local
1539 err = _mv88e6xxx_vtu_getnext(ds, &vlan); in _mv88e6xxx_port_vlan_del()
1543 if (vlan.vid != vid || !vlan.valid || in _mv88e6xxx_port_vlan_del()
1544 vlan.data[port] == GLOBAL_VTU_DATA_MEMBER_TAG_NON_MEMBER) in _mv88e6xxx_port_vlan_del()
1547 vlan.data[port] = GLOBAL_VTU_DATA_MEMBER_TAG_NON_MEMBER; in _mv88e6xxx_port_vlan_del()
1550 vlan.valid = false; in _mv88e6xxx_port_vlan_del()
1555 if (vlan.data[i] != GLOBAL_VTU_DATA_MEMBER_TAG_NON_MEMBER) { in _mv88e6xxx_port_vlan_del()
1556 vlan.valid = true; in _mv88e6xxx_port_vlan_del()
1561 err = _mv88e6xxx_vtu_loadpurge(ds, &vlan); in _mv88e6xxx_port_vlan_del()
1565 return _mv88e6xxx_atu_remove(ds, vlan.fid, port, false); in _mv88e6xxx_port_vlan_del()
1569 const struct switchdev_obj_port_vlan *vlan) in mv88e6xxx_port_vlan_del() argument
1581 for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { in mv88e6xxx_port_vlan_del()
1817 struct mv88e6xxx_vtu_stu_entry vlan = { in mv88e6xxx_port_fdb_dump() local
1824 err = _mv88e6xxx_vtu_vid_write(ds, vlan.vid); in mv88e6xxx_port_fdb_dump()
1833 err = _mv88e6xxx_vtu_getnext(ds, &vlan); in mv88e6xxx_port_fdb_dump()
1837 if (!vlan.valid) in mv88e6xxx_port_fdb_dump()
1845 err = _mv88e6xxx_atu_getnext(ds, vlan.fid, &addr); 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()