Lines Matching full:vid

10 static int sparx5_vlant_set_mask(struct sparx5 *sparx5, u16 vid)  in sparx5_vlant_set_mask()  argument
15 bitmap_to_arr32(mask, sparx5->vlan_mask[vid], SPX5_PORTS); in sparx5_vlant_set_mask()
18 spx5_wr(mask[0], sparx5, ANA_L3_VLAN_MASK_CFG(vid)); in sparx5_vlant_set_mask()
20 spx5_wr(mask[1], sparx5, ANA_L3_VLAN_MASK_CFG1(vid)); in sparx5_vlant_set_mask()
21 spx5_wr(mask[2], sparx5, ANA_L3_VLAN_MASK_CFG2(vid)); in sparx5_vlant_set_mask()
29 u16 vid; in sparx5_vlan_init() local
37 for (vid = NULL_VID; vid < VLAN_N_VID; vid++) in sparx5_vlan_init()
38 spx5_rmw(ANA_L3_VLAN_CFG_VLAN_FID_SET(vid), in sparx5_vlan_init()
41 ANA_L3_VLAN_CFG(vid)); in sparx5_vlan_init()
57 int sparx5_vlan_vid_add(struct sparx5_port *port, u16 vid, bool pvid, in sparx5_vlan_vid_add() argument
64 if (untagged && port->vid != vid) { in sparx5_vlan_vid_add()
65 if (port->vid) { in sparx5_vlan_vid_add()
68 port->vid); in sparx5_vlan_vid_add()
71 port->vid = vid; in sparx5_vlan_vid_add()
75 set_bit(port->portno, sparx5->vlan_mask[vid]); in sparx5_vlan_vid_add()
76 ret = sparx5_vlant_set_mask(sparx5, vid); in sparx5_vlan_vid_add()
82 port->pvid = vid; in sparx5_vlan_vid_add()
89 int sparx5_vlan_vid_del(struct sparx5_port *port, u16 vid) in sparx5_vlan_vid_del() argument
94 /* 8021q removes VID 0 on module unload for all interfaces in sparx5_vlan_vid_del()
98 if (vid == 0) in sparx5_vlan_vid_del()
102 clear_bit(port->portno, sparx5->vlan_mask[vid]); in sparx5_vlan_vid_del()
103 ret = sparx5_vlant_set_mask(sparx5, vid); in sparx5_vlan_vid_del()
108 if (port->pvid == vid) in sparx5_vlan_vid_del()
112 if (port->vid == vid) in sparx5_vlan_vid_del()
113 port->vid = 0; in sparx5_vlan_vid_del()
240 if (port->vid) in sparx5_vlan_port_apply()
241 /* Tag all frames except when VID == DEFAULT_VLAN */ in sparx5_vlan_port_apply()
248 /* Egress VID */ in sparx5_vlan_port_apply()
249 spx5_rmw(REW_PORT_VLAN_CFG_PORT_VID_SET(port->vid), in sparx5_vlan_port_apply()