Lines Matching refs:vg
1189 e6000sw_setvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg) argument
1198 ret = e6000sw_setvgroup(dev, vg);
1205 e6000sw_getvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg) argument
1214 ret = e6000sw_getvgroup(dev, vg);
1221 e6000sw_set_port_vlan(e6000sw_softc_t *sc, etherswitch_vlangroup_t *vg) argument
1225 port = vg->es_vlangroup;
1229 if (vg->es_member_ports != vg->es_untagged_ports) {
1234 e6000sw_port_vlan_assign(sc, port, 0, vg->es_untagged_ports);
1235 vg->es_vid = port | ETHERSWITCH_VID_VALID;
1241 e6000sw_set_dot1q_vlan(e6000sw_softc_t *sc, etherswitch_vlangroup_t *vg) argument
1245 vlan = vg->es_vid & ETHERSWITCH_VID_MASK;
1250 sc->vlans[vg->es_vlangroup], 0, 0, 0);
1251 sc->vlans[vg->es_vlangroup] = 0;
1257 if (i != vg->es_vlangroup && vlan == sc->vlans[i])
1260 sc->vlans[vg->es_vlangroup] = vlan;
1261 e6000sw_vtu_update(sc, 0, vlan, vg->es_vlangroup + 1,
1262 vg->es_member_ports & sc->ports_mask,
1263 vg->es_untagged_ports & sc->ports_mask);
1269 e6000sw_setvgroup(device_t dev, etherswitch_vlangroup_t *vg) argument
1277 return (e6000sw_set_port_vlan(sc, vg));
1279 return (e6000sw_set_dot1q_vlan(sc, vg));
1285 e6000sw_get_port_vlan(e6000sw_softc_t *sc, etherswitch_vlangroup_t *vg) argument
1289 port = vg->es_vlangroup;
1294 vg->es_vid = port;
1299 vg->es_untagged_ports = vg->es_member_ports = reg & PORT_MASK(sc);
1300 vg->es_vid = port | ETHERSWITCH_VID_VALID;
1301 vg->es_fid = (reg & PORT_VLAN_MAP_FID_MASK) >> PORT_VLAN_MAP_FID;
1303 vg->es_fid |= (reg & PORT_CONTROL1_FID_MASK) << 4;
1309 e6000sw_get_dot1q_vlan(e6000sw_softc_t *sc, etherswitch_vlangroup_t *vg) argument
1314 vg->es_fid = 0;
1315 vg->es_vid = sc->vlans[vg->es_vlangroup];
1316 vg->es_untagged_ports = vg->es_member_ports = 0;
1317 if (vg->es_vid == 0)
1325 e6000sw_writereg(sc, REG_GLOBAL, VTU_VID, vg->es_vid - 1);
1339 if ((reg & VTU_VID_MASK) != vg->es_vid)
1342 vg->es_vid |= ETHERSWITCH_VID_VALID;
1349 vg->es_untagged_ports |= (1 << i);
1350 vg->es_member_ports |= (1 << i);
1352 vg->es_member_ports |= (1 << i);
1359 e6000sw_getvgroup(device_t dev, etherswitch_vlangroup_t *vg) argument
1367 return (e6000sw_get_port_vlan(sc, vg));
1369 return (e6000sw_get_dot1q_vlan(sc, vg));