Lines Matching refs:vid
758 u32 vid, u8 vsi, bool set) in fm10k_queue_vlan_request() argument
771 request->vlan.vid = vid; in fm10k_queue_vlan_request()
797 const unsigned char *addr, u16 vid, bool set) in fm10k_queue_mac_request() argument
816 request->mac.vid = vid; in fm10k_queue_mac_request()
872 u16 vid = interface->vid; in fm10k_uc_vlan_unsync() local
873 bool set = !!(vid / VLAN_N_VID); in fm10k_uc_vlan_unsync()
877 vid &= VLAN_N_VID - 1; in fm10k_uc_vlan_unsync()
879 err = fm10k_queue_mac_request(interface, glort, uc_addr, vid, set); in fm10k_uc_vlan_unsync()
892 u16 vid = interface->vid; in fm10k_mc_vlan_unsync() local
893 bool set = !!(vid / VLAN_N_VID); in fm10k_mc_vlan_unsync()
897 vid &= VLAN_N_VID - 1; in fm10k_mc_vlan_unsync()
899 err = fm10k_queue_mac_request(interface, glort, mc_addr, vid, set); in fm10k_mc_vlan_unsync()
907 static int fm10k_update_vid(struct net_device *netdev, u16 vid, bool set) in fm10k_update_vid() argument
917 if (!vid) in fm10k_update_vid()
920 if (vid >= VLAN_N_VID) in fm10k_update_vid()
932 set_bit(vid, interface->active_vlans); in fm10k_update_vid()
934 clear_bit(vid, interface->active_vlans); in fm10k_update_vid()
939 u16 rx_vid = rx_ring->vid & (VLAN_N_VID - 1); in fm10k_update_vid()
942 rx_ring->vid |= FM10K_VLAN_CLEAR; in fm10k_update_vid()
944 rx_ring->vid &= ~FM10K_VLAN_CLEAR; in fm10k_update_vid()
956 if (!set && vid == hw->mac.default_vid) in fm10k_update_vid()
969 err = fm10k_queue_vlan_request(interface, vid, 0, set); in fm10k_update_vid()
976 hw->mac.addr, vid, set); in fm10k_update_vid()
992 vid, set); in fm10k_update_vid()
997 interface->vid = vid + (set ? VLAN_N_VID : 0); in fm10k_update_vid()
1010 __always_unused __be16 proto, u16 vid) in fm10k_vlan_rx_add_vid() argument
1013 return fm10k_update_vid(netdev, vid, true); in fm10k_vlan_rx_add_vid()
1017 __always_unused __be16 proto, u16 vid) in fm10k_vlan_rx_kill_vid() argument
1020 return fm10k_update_vid(netdev, vid, false); in fm10k_vlan_rx_kill_vid()
1023 static u16 fm10k_find_next_vlan(struct fm10k_intfc *interface, u16 vid) in fm10k_find_next_vlan() argument
1027 u16 vid_limit = vid < default_vid ? default_vid : VLAN_N_VID; in fm10k_find_next_vlan()
1029 vid = find_next_bit(interface->active_vlans, vid_limit, ++vid); in fm10k_find_next_vlan()
1031 return vid; in fm10k_find_next_vlan()
1036 u32 vid, prev_vid; in fm10k_clear_unused_vlans() local
1039 for (vid = 0, prev_vid = 0; in fm10k_clear_unused_vlans()
1041 prev_vid = vid + 1, vid = fm10k_find_next_vlan(interface, vid)) { in fm10k_clear_unused_vlans()
1042 if (prev_vid == vid) in fm10k_clear_unused_vlans()
1046 prev_vid += (vid - prev_vid - 1) << FM10K_VLAN_LENGTH_SHIFT; in fm10k_clear_unused_vlans()
1055 u16 vid, glort = interface->glort; in __fm10k_uc_sync() local
1061 for (vid = fm10k_find_next_vlan(interface, 0); in __fm10k_uc_sync()
1062 vid < VLAN_N_VID; in __fm10k_uc_sync()
1063 vid = fm10k_find_next_vlan(interface, vid)) { in __fm10k_uc_sync()
1065 addr, vid, sync); in __fm10k_uc_sync()
1120 u16 vid, glort = interface->glort; in __fm10k_mc_sync() local
1126 for (vid = fm10k_find_next_vlan(interface, 0); in __fm10k_mc_sync()
1127 vid < VLAN_N_VID; in __fm10k_mc_sync()
1128 vid = fm10k_find_next_vlan(interface, vid)) { in __fm10k_mc_sync()
1130 addr, vid, sync); in __fm10k_mc_sync()
1201 u16 vid, glort; in fm10k_restore_rx_state() local
1228 for (vid = fm10k_find_next_vlan(interface, 0); in fm10k_restore_rx_state()
1229 vid < VLAN_N_VID; in fm10k_restore_rx_state()
1230 vid = fm10k_find_next_vlan(interface, vid)) { in fm10k_restore_rx_state()
1231 fm10k_queue_vlan_request(interface, vid, 0, true); in fm10k_restore_rx_state()
1234 hw->mac.addr, vid, true); in fm10k_restore_rx_state()
1248 vid, true); in fm10k_restore_rx_state()
1467 u16 vid, glort; in fm10k_dfwd_add_station() local
1547 for (vid = fm10k_find_next_vlan(interface, 0); in fm10k_dfwd_add_station()
1548 vid < VLAN_N_VID; in fm10k_dfwd_add_station()
1549 vid = fm10k_find_next_vlan(interface, vid)) in fm10k_dfwd_add_station()
1551 vid, true); in fm10k_dfwd_add_station()
1565 u16 vid, glort; in fm10k_dfwd_del_station() local
1593 for (vid = fm10k_find_next_vlan(interface, 0); in fm10k_dfwd_del_station()
1594 vid < VLAN_N_VID; in fm10k_dfwd_del_station()
1595 vid = fm10k_find_next_vlan(interface, vid)) in fm10k_dfwd_del_station()
1597 vid, false); in fm10k_dfwd_del_station()