Lines Matching refs:vid
720 u16 vid = interface->vid; in fm10k_uc_vlan_unsync() local
721 bool set = !!(vid / VLAN_N_VID); in fm10k_uc_vlan_unsync()
725 vid &= VLAN_N_VID - 1; in fm10k_uc_vlan_unsync()
727 err = hw->mac.ops.update_uc_addr(hw, glort, uc_addr, vid, set, 0); in fm10k_uc_vlan_unsync()
741 u16 vid = interface->vid; in fm10k_mc_vlan_unsync() local
742 bool set = !!(vid / VLAN_N_VID); in fm10k_mc_vlan_unsync()
746 vid &= VLAN_N_VID - 1; in fm10k_mc_vlan_unsync()
748 err = hw->mac.ops.update_mc_addr(hw, glort, mc_addr, vid, set); in fm10k_mc_vlan_unsync()
756 static int fm10k_update_vid(struct net_device *netdev, u16 vid, bool set) in fm10k_update_vid() argument
763 if (!vid) in fm10k_update_vid()
766 if (vid >= VLAN_N_VID) in fm10k_update_vid()
774 set_bit(vid, interface->active_vlans); in fm10k_update_vid()
776 clear_bit(vid, interface->active_vlans); in fm10k_update_vid()
779 if (vid == hw->mac.default_vid) in fm10k_update_vid()
786 err = hw->mac.ops.update_vlan(hw, vid, 0, set); in fm10k_update_vid()
793 vid, set, 0); in fm10k_update_vid()
798 interface->vid = vid + (set ? VLAN_N_VID : 0); in fm10k_update_vid()
811 __always_unused __be16 proto, u16 vid) in fm10k_vlan_rx_add_vid() argument
814 return fm10k_update_vid(netdev, vid, true); in fm10k_vlan_rx_add_vid()
818 __always_unused __be16 proto, u16 vid) in fm10k_vlan_rx_kill_vid() argument
821 return fm10k_update_vid(netdev, vid, false); in fm10k_vlan_rx_kill_vid()
824 static u16 fm10k_find_next_vlan(struct fm10k_intfc *interface, u16 vid) in fm10k_find_next_vlan() argument
828 u16 vid_limit = vid < default_vid ? default_vid : VLAN_N_VID; in fm10k_find_next_vlan()
830 vid = find_next_bit(interface->active_vlans, vid_limit, ++vid); in fm10k_find_next_vlan()
832 return vid; in fm10k_find_next_vlan()
838 u32 vid, prev_vid; in fm10k_clear_unused_vlans() local
841 for (vid = 0, prev_vid = 0; in fm10k_clear_unused_vlans()
843 prev_vid = vid + 1, vid = fm10k_find_next_vlan(interface, vid)) { in fm10k_clear_unused_vlans()
844 if (prev_vid == vid) in fm10k_clear_unused_vlans()
848 prev_vid += (vid - prev_vid - 1) << FM10K_VLAN_LENGTH_SHIFT; in fm10k_clear_unused_vlans()
858 u16 vid, glort = interface->glort; in __fm10k_uc_sync() local
865 for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0; in __fm10k_uc_sync()
866 vid < VLAN_N_VID; in __fm10k_uc_sync()
867 vid = fm10k_find_next_vlan(interface, vid)) { in __fm10k_uc_sync()
869 vid, sync, 0); in __fm10k_uc_sync()
925 u16 vid, glort = interface->glort; in __fm10k_mc_sync() local
932 for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0; in __fm10k_mc_sync()
933 vid < VLAN_N_VID; in __fm10k_mc_sync()
934 vid = fm10k_find_next_vlan(interface, vid)) { in __fm10k_mc_sync()
935 err = hw->mac.ops.update_mc_addr(hw, glort, addr, vid, sync); in __fm10k_mc_sync()
1003 u16 vid, glort; in fm10k_restore_rx_state() local
1046 for (vid = hw->mac.default_vid ? fm10k_find_next_vlan(interface, 0) : 0; in fm10k_restore_rx_state()
1047 vid < VLAN_N_VID; in fm10k_restore_rx_state()
1048 vid = fm10k_find_next_vlan(interface, vid)) { in fm10k_restore_rx_state()
1049 hw->mac.ops.update_vlan(hw, vid, 0, true); in fm10k_restore_rx_state()
1051 vid, true, 0); in fm10k_restore_rx_state()