Lines Matching full:vif
52 struct wilc_vif *vif = netdev_priv(dev); in init_irq() local
53 struct wilc *wl = vif->wilc; in init_irq()
71 struct wilc_vif *vif = netdev_priv(dev); in deinit_irq() local
72 struct wilc *wilc = vif->wilc; in deinit_irq()
95 struct wilc_vif *vif; in get_if_handler() local
98 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in get_if_handler()
99 if (vif->mode == WILC_STATION_MODE) in get_if_handler()
100 if (ether_addr_equal_unaligned(h->addr2, vif->bssid)) { in get_if_handler()
101 ndev = vif->ndev; in get_if_handler()
104 if (vif->mode == WILC_AP_MODE) in get_if_handler()
105 if (ether_addr_equal_unaligned(h->addr1, vif->bssid)) { in get_if_handler()
106 ndev = vif->ndev; in get_if_handler()
116 struct wilc_vif *vif = netdev_priv(wilc_netdev); in wilc_wlan_set_bssid() local
119 ether_addr_copy(vif->bssid, bssid); in wilc_wlan_set_bssid()
121 eth_zero_addr(vif->bssid); in wilc_wlan_set_bssid()
123 vif->mode = mode; in wilc_wlan_set_bssid()
130 struct wilc_vif *vif; in wilc_wlan_get_num_conn_ifcs() local
133 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_wlan_get_num_conn_ifcs()
134 if (!is_zero_ether_addr(vif->bssid)) in wilc_wlan_get_num_conn_ifcs()
179 struct wilc_vif *vif = netdev_priv(dev); in wilc_wlan_get_firmware() local
180 struct wilc *wilc = vif->wilc; in wilc_wlan_get_firmware()
204 struct wilc_vif *vif = netdev_priv(dev); in wilc_start_firmware() local
205 struct wilc *wilc = vif->wilc; in wilc_start_firmware()
221 struct wilc_vif *vif = netdev_priv(dev); in wilc1000_firmware_download() local
222 struct wilc *wilc = vif->wilc; in wilc1000_firmware_download()
243 static int wilc_init_fw_config(struct net_device *dev, struct wilc_vif *vif) in wilc_init_fw_config() argument
245 struct wilc_priv *priv = &vif->priv; in wilc_init_fw_config()
255 w = vif->iftype; in wilc_init_fw_config()
257 if (!wilc_wlan_cfg_set(vif, 1, WID_SET_OPERATION_MODE, (u8 *)&w, 4, in wilc_init_fw_config()
262 if (!wilc_wlan_cfg_set(vif, 0, WID_BSS_TYPE, &b, 1, 0, 0)) in wilc_init_fw_config()
266 if (!wilc_wlan_cfg_set(vif, 0, WID_CURRENT_TX_RATE, &b, 1, 0, 0)) in wilc_init_fw_config()
270 if (!wilc_wlan_cfg_set(vif, 0, WID_11G_OPERATING_MODE, &b, 1, 0, 0)) in wilc_init_fw_config()
274 if (!wilc_wlan_cfg_set(vif, 0, WID_PREAMBLE, &b, 1, 0, 0)) in wilc_init_fw_config()
278 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_PROT_MECH, &b, 1, 0, 0)) in wilc_init_fw_config()
282 if (!wilc_wlan_cfg_set(vif, 0, WID_SCAN_TYPE, &b, 1, 0, 0)) in wilc_init_fw_config()
286 if (!wilc_wlan_cfg_set(vif, 0, WID_SITE_SURVEY, &b, 1, 0, 0)) in wilc_init_fw_config()
291 if (!wilc_wlan_cfg_set(vif, 0, WID_RTS_THRESHOLD, (u8 *)&hw, 2, 0, 0)) in wilc_init_fw_config()
296 if (!wilc_wlan_cfg_set(vif, 0, WID_FRAG_THRESHOLD, (u8 *)&hw, 2, 0, 0)) in wilc_init_fw_config()
300 if (!wilc_wlan_cfg_set(vif, 0, WID_BCAST_SSID, &b, 1, 0, 0)) in wilc_init_fw_config()
304 if (!wilc_wlan_cfg_set(vif, 0, WID_QOS_ENABLE, &b, 1, 0, 0)) in wilc_init_fw_config()
308 if (!wilc_wlan_cfg_set(vif, 0, WID_POWER_MANAGEMENT, &b, 1, 0, 0)) in wilc_init_fw_config()
312 if (!wilc_wlan_cfg_set(vif, 0, WID_11I_MODE, &b, 1, 0, 0)) in wilc_init_fw_config()
316 if (!wilc_wlan_cfg_set(vif, 0, WID_AUTH_TYPE, &b, 1, 0, 0)) in wilc_init_fw_config()
320 if (!wilc_wlan_cfg_set(vif, 0, WID_LISTEN_INTERVAL, &b, 1, 0, 0)) in wilc_init_fw_config()
324 if (!wilc_wlan_cfg_set(vif, 0, WID_DTIM_PERIOD, &b, 1, 0, 0)) in wilc_init_fw_config()
328 if (!wilc_wlan_cfg_set(vif, 0, WID_ACK_POLICY, &b, 1, 0, 0)) in wilc_init_fw_config()
332 if (!wilc_wlan_cfg_set(vif, 0, WID_USER_CONTROL_ON_TX_POWER, &b, 1, in wilc_init_fw_config()
337 if (!wilc_wlan_cfg_set(vif, 0, WID_TX_POWER_LEVEL_11A, &b, 1, 0, 0)) in wilc_init_fw_config()
341 if (!wilc_wlan_cfg_set(vif, 0, WID_TX_POWER_LEVEL_11B, &b, 1, 0, 0)) in wilc_init_fw_config()
346 if (!wilc_wlan_cfg_set(vif, 0, WID_BEACON_INTERVAL, (u8 *)&hw, 2, 0, 0)) in wilc_init_fw_config()
350 if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_POLICY, &b, 1, 0, 0)) in wilc_init_fw_config()
355 if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_PERIOD, (u8 *)&w, 4, 0, 0)) in wilc_init_fw_config()
360 if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_PACKET_COUNT, (u8 *)&w, 4, 0, in wilc_init_fw_config()
365 if (!wilc_wlan_cfg_set(vif, 0, WID_SHORT_SLOT_ALLOWED, &b, 1, 0, in wilc_init_fw_config()
370 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_ERP_PROT_TYPE, &b, 1, 0, 0)) in wilc_init_fw_config()
374 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_ENABLE, &b, 1, 0, 0)) in wilc_init_fw_config()
378 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_OPERATING_MODE, &b, 1, 0, 0)) in wilc_init_fw_config()
382 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_TXOP_PROT_DISABLE, &b, 1, 0, 0)) in wilc_init_fw_config()
386 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_OBSS_NONHT_DETECTION, &b, 1, in wilc_init_fw_config()
391 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_HT_PROT_TYPE, &b, 1, 0, 0)) in wilc_init_fw_config()
395 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_RIFS_PROT_ENABLE, &b, 1, 0, in wilc_init_fw_config()
400 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_CURRENT_TX_MCS, &b, 1, 0, 0)) in wilc_init_fw_config()
404 if (!wilc_wlan_cfg_set(vif, 0, WID_11N_IMMEDIATE_BA_ENABLED, &b, 1, in wilc_init_fw_config()
416 struct wilc_vif *vif = netdev_priv(dev); in wlan_deinitialize_threads() local
417 struct wilc *wl = vif->wilc; in wlan_deinitialize_threads()
431 struct wilc_vif *vif = netdev_priv(dev); in wilc_wlan_deinitialize() local
432 struct wilc *wl = vif->wilc; in wilc_wlan_deinitialize()
453 wilc_wlan_stop(wl, vif); in wilc_wlan_deinitialize()
466 struct wilc_vif *vif = netdev_priv(dev); in wlan_initialize_threads() local
467 struct wilc *wilc = vif->wilc; in wlan_initialize_threads()
481 static int wilc_wlan_initialize(struct net_device *dev, struct wilc_vif *vif) in wilc_wlan_initialize() argument
484 struct wilc *wl = vif->wilc; in wilc_wlan_initialize()
522 if (wilc_wlan_cfg_get(vif, 1, WID_FIRMWARE_VERSION, 1, 0)) { in wilc_wlan_initialize()
533 ret = wilc_init_fw_config(dev, vif); in wilc_wlan_initialize()
542 wilc_wlan_stop(wl, vif); in wilc_wlan_initialize()
572 struct wilc_vif *vif = netdev_priv(ndev); in wilc_mac_open() local
573 struct wilc *wl = vif->wilc; in wilc_mac_open()
588 ret = wilc_wlan_initialize(ndev, vif); in wilc_mac_open()
594 wilc_set_operation_mode(vif, wilc_get_vif_idx(vif), vif->iftype, in wilc_mac_open()
595 vif->idx); in wilc_mac_open()
598 wilc_set_mac_address(vif, ndev->dev_addr); in wilc_mac_open()
600 wilc_get_mac_address(vif, ndev->dev_addr); in wilc_mac_open()
610 mgmt_regs.interface_stypes = vif->mgmt_reg_stypes; in wilc_mac_open()
612 vif->mgmt_reg_stypes = 0; in wilc_mac_open()
613 wilc_update_mgmt_frame_registrations(vif->ndev->ieee80211_ptr->wiphy, in wilc_mac_open()
614 vif->ndev->ieee80211_ptr, in wilc_mac_open()
618 vif->mac_opened = 1; in wilc_mac_open()
624 struct wilc_vif *vif = netdev_priv(dev); in mac_stats() local
626 return &vif->netstats; in mac_stats()
632 struct wilc_vif *vif = netdev_priv(dev); in wilc_set_mac_addr() local
633 struct wilc *wilc = vif->wilc; in wilc_set_mac_addr()
642 if (!vif->mac_opened) { in wilc_set_mac_addr()
653 if (vif != tmp_vif) { in wilc_set_mac_addr()
663 result = wilc_set_mac_address(vif, (u8 *)addr->sa_data); in wilc_set_mac_addr()
674 struct wilc_vif *vif = netdev_priv(dev); in wilc_set_multicast_list() local
684 wilc_setup_multicast_filter(vif, 0, 0, NULL); in wilc_set_multicast_list()
689 wilc_setup_multicast_filter(vif, 1, 0, NULL); in wilc_set_multicast_list()
706 if (wilc_setup_multicast_filter(vif, 1, dev->mc.count, mc_list)) in wilc_set_multicast_list()
720 struct wilc_vif *vif = netdev_priv(ndev); in wilc_mac_xmit() local
721 struct wilc *wilc = vif->wilc; in wilc_mac_xmit()
741 vif->netstats.tx_packets++; in wilc_mac_xmit()
742 vif->netstats.tx_bytes += tx_data->size; in wilc_mac_xmit()
749 struct wilc_vif *vif; in wilc_mac_xmit() local
752 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_mac_xmit()
753 if (vif->mac_opened) in wilc_mac_xmit()
754 netif_stop_queue(vif->ndev); in wilc_mac_xmit()
764 struct wilc_vif *vif = netdev_priv(ndev); in wilc_mac_close() local
765 struct wilc *wl = vif->wilc; in wilc_mac_close()
774 if (vif->ndev) { in wilc_mac_close()
775 netif_stop_queue(vif->ndev); in wilc_mac_close()
777 wilc_deinit_host_int(vif->ndev); in wilc_mac_close()
786 vif->mac_opened = 0; in wilc_mac_close()
799 struct wilc_vif *vif; in wilc_frmw_to_host() local
809 vif = netdev_priv(wilc_netdev); in wilc_frmw_to_host()
824 vif->netstats.rx_packets++; in wilc_frmw_to_host()
825 vif->netstats.rx_bytes += frame_len; in wilc_frmw_to_host()
835 struct wilc_vif *vif; in wilc_wfi_mgmt_rx() local
838 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_wfi_mgmt_rx()
842 if (vif->priv.p2p_listen_state && in wilc_wfi_mgmt_rx()
843 vif->mgmt_reg_stypes & type_bit) in wilc_wfi_mgmt_rx()
844 wilc_wfi_p2p_rx(vif, buff, size); in wilc_wfi_mgmt_rx()
846 if (vif->monitor_flag) in wilc_wfi_mgmt_rx()
864 struct wilc_vif *vif; in wilc_netdev_cleanup() local
876 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_netdev_cleanup()
877 if (vif->ndev) in wilc_netdev_cleanup()
878 unregister_netdev(vif->ndev); in wilc_netdev_cleanup()
892 vif = wilc_get_wl_to_vif(wilc); in wilc_netdev_cleanup()
893 if (!IS_ERR(vif)) in wilc_netdev_cleanup()
894 list_del_rcu(&vif->list); in wilc_netdev_cleanup()
913 struct wilc_vif *vif; in wilc_get_available_idx() local
917 list_for_each_entry_rcu(vif, &wl->vif_list, list) { in wilc_get_available_idx()
918 if (vif->idx == 0) in wilc_get_available_idx()
932 struct wilc_vif *vif; in wilc_netdev_ifc_init() local
935 ndev = alloc_etherdev(sizeof(*vif)); in wilc_netdev_ifc_init()
939 vif = netdev_priv(ndev); in wilc_netdev_ifc_init()
940 ndev->ieee80211_ptr = &vif->priv.wdev; in wilc_netdev_ifc_init()
942 vif->wilc = wl; in wilc_netdev_ifc_init()
943 vif->ndev = ndev; in wilc_netdev_ifc_init()
944 ndev->ml_priv = vif; in wilc_netdev_ifc_init()
950 vif->priv.wdev.wiphy = wl->wiphy; in wilc_netdev_ifc_init()
951 vif->priv.wdev.netdev = ndev; in wilc_netdev_ifc_init()
952 vif->priv.wdev.iftype = type; in wilc_netdev_ifc_init()
953 vif->priv.dev = ndev; in wilc_netdev_ifc_init()
966 vif->iftype = vif_type; in wilc_netdev_ifc_init()
967 vif->idx = wilc_get_available_idx(wl); in wilc_netdev_ifc_init()
968 vif->mac_opened = 0; in wilc_netdev_ifc_init()
970 list_add_tail_rcu(&vif->list, &wl->vif_list); in wilc_netdev_ifc_init()
975 return vif; in wilc_netdev_ifc_init()