/linux-4.4.14/drivers/net/wireless/ath/ath6kl/ |
H A D | cfg80211.c | 146 static bool __ath6kl_cfg80211_sscan_stop(struct ath6kl_vif *vif) __ath6kl_cfg80211_sscan_stop() argument 148 struct ath6kl *ar = vif->ar; __ath6kl_cfg80211_sscan_stop() 150 if (!test_and_clear_bit(SCHED_SCANNING, &vif->flags)) __ath6kl_cfg80211_sscan_stop() 153 del_timer_sync(&vif->sched_scan_timer); __ath6kl_cfg80211_sscan_stop() 158 ath6kl_wmi_enable_sched_scan_cmd(ar->wmi, vif->fw_vif_idx, false); __ath6kl_cfg80211_sscan_stop() 163 static void ath6kl_cfg80211_sscan_disable(struct ath6kl_vif *vif) ath6kl_cfg80211_sscan_disable() argument 165 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_sscan_disable() 168 stopped = __ath6kl_cfg80211_sscan_stop(vif); ath6kl_cfg80211_sscan_disable() 176 static int ath6kl_set_wpa_version(struct ath6kl_vif *vif, ath6kl_set_wpa_version() argument 182 vif->auth_mode = NONE_AUTH; ath6kl_set_wpa_version() 184 vif->auth_mode = WPA2_AUTH; ath6kl_set_wpa_version() 186 vif->auth_mode = WPA_AUTH; ath6kl_set_wpa_version() 195 static int ath6kl_set_auth_type(struct ath6kl_vif *vif, ath6kl_set_auth_type() argument 202 vif->dot11_auth_mode = OPEN_AUTH; ath6kl_set_auth_type() 205 vif->dot11_auth_mode = SHARED_AUTH; ath6kl_set_auth_type() 208 vif->dot11_auth_mode = LEAP_AUTH; ath6kl_set_auth_type() 212 vif->dot11_auth_mode = OPEN_AUTH | SHARED_AUTH; ath6kl_set_auth_type() 223 static int ath6kl_set_cipher(struct ath6kl_vif *vif, u32 cipher, bool ucast) ath6kl_set_cipher() argument 225 u8 *ar_cipher = ucast ? &vif->prwise_crypto : &vif->grp_crypto; ath6kl_set_cipher() 226 u8 *ar_cipher_len = ucast ? &vif->prwise_crypto_len : ath6kl_set_cipher() 227 &vif->grp_crypto_len; ath6kl_set_cipher() 266 static void ath6kl_set_key_mgmt(struct ath6kl_vif *vif, u32 key_mgmt) ath6kl_set_key_mgmt() argument 271 if (vif->auth_mode == WPA_AUTH) ath6kl_set_key_mgmt() 272 vif->auth_mode = WPA_PSK_AUTH; ath6kl_set_key_mgmt() 273 else if (vif->auth_mode == WPA2_AUTH) ath6kl_set_key_mgmt() 274 vif->auth_mode = WPA2_PSK_AUTH; ath6kl_set_key_mgmt() 276 if (vif->auth_mode == WPA_AUTH) ath6kl_set_key_mgmt() 277 vif->auth_mode = WPA_AUTH_CCKM; ath6kl_set_key_mgmt() 278 else if (vif->auth_mode == WPA2_AUTH) ath6kl_set_key_mgmt() 279 vif->auth_mode = WPA2_AUTH_CCKM; ath6kl_set_key_mgmt() 281 vif->auth_mode = NONE_AUTH; ath6kl_set_key_mgmt() 285 static bool ath6kl_cfg80211_ready(struct ath6kl_vif *vif) ath6kl_cfg80211_ready() argument 287 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_ready() 294 if (!test_bit(WLAN_ENABLED, &vif->flags)) { ath6kl_cfg80211_ready() 322 static int ath6kl_set_assoc_req_ies(struct ath6kl_vif *vif, const u8 *ies, ath6kl_set_assoc_req_ies() argument 325 struct ath6kl *ar = vif->ar; ath6kl_set_assoc_req_ies() 362 ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_set_assoc_req_ies() 430 static void ath6kl_cfg80211_sta_bmiss_enhance(struct ath6kl_vif *vif, ath6kl_cfg80211_sta_bmiss_enhance() argument 435 if (WARN_ON(!test_bit(WMI_READY, &vif->ar->flag))) ath6kl_cfg80211_sta_bmiss_enhance() 438 if (vif->nw_type != INFRA_NETWORK) ath6kl_cfg80211_sta_bmiss_enhance() 442 vif->ar->fw_capabilities)) ath6kl_cfg80211_sta_bmiss_enhance() 448 err = ath6kl_wmi_sta_bmiss_enhance_cmd(vif->ar->wmi, ath6kl_cfg80211_sta_bmiss_enhance() 449 vif->fw_vif_idx, enable); ath6kl_cfg80211_sta_bmiss_enhance() 459 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_connect() local 464 ath6kl_cfg80211_sscan_disable(vif); ath6kl_cfg80211_connect() 466 vif->sme_state = SME_CONNECTING; ath6kl_cfg80211_connect() 468 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_connect() 508 status = ath6kl_set_assoc_req_ies(vif, sme->ie, sme->ie_len); ath6kl_cfg80211_connect() 517 if (test_bit(CONNECTED, &vif->flags) && ath6kl_cfg80211_connect() 518 vif->ssid_len == sme->ssid_len && ath6kl_cfg80211_connect() 519 !memcmp(vif->ssid, sme->ssid, vif->ssid_len)) { ath6kl_cfg80211_connect() 520 vif->reconnect_flag = true; ath6kl_cfg80211_connect() 521 status = ath6kl_wmi_reconnect_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_connect() 522 vif->req_bssid, ath6kl_cfg80211_connect() 523 vif->ch_hint); ath6kl_cfg80211_connect() 531 } else if (vif->ssid_len == sme->ssid_len && ath6kl_cfg80211_connect() 532 !memcmp(vif->ssid, sme->ssid, vif->ssid_len)) { ath6kl_cfg80211_connect() 533 ath6kl_disconnect(vif); ath6kl_cfg80211_connect() 536 memset(vif->ssid, 0, sizeof(vif->ssid)); ath6kl_cfg80211_connect() 537 vif->ssid_len = sme->ssid_len; ath6kl_cfg80211_connect() 538 memcpy(vif->ssid, sme->ssid, sme->ssid_len); ath6kl_cfg80211_connect() 541 vif->ch_hint = sme->channel->center_freq; ath6kl_cfg80211_connect() 543 memset(vif->req_bssid, 0, sizeof(vif->req_bssid)); ath6kl_cfg80211_connect() 545 memcpy(vif->req_bssid, sme->bssid, sizeof(vif->req_bssid)); ath6kl_cfg80211_connect() 547 ath6kl_set_wpa_version(vif, sme->crypto.wpa_versions); ath6kl_cfg80211_connect() 549 status = ath6kl_set_auth_type(vif, sme->auth_type); ath6kl_cfg80211_connect() 556 ath6kl_set_cipher(vif, sme->crypto.ciphers_pairwise[0], true); ath6kl_cfg80211_connect() 558 ath6kl_set_cipher(vif, 0, true); ath6kl_cfg80211_connect() 560 ath6kl_set_cipher(vif, sme->crypto.cipher_group, false); ath6kl_cfg80211_connect() 563 ath6kl_set_key_mgmt(vif, sme->crypto.akm_suites[0]); ath6kl_cfg80211_connect() 566 (vif->auth_mode == NONE_AUTH) && ath6kl_cfg80211_connect() 567 (vif->prwise_crypto == WEP_CRYPT)) { ath6kl_cfg80211_connect() 577 key = &vif->keys[sme->key_idx]; ath6kl_cfg80211_connect() 580 key->cipher = vif->prwise_crypto; ath6kl_cfg80211_connect() 581 vif->def_txkey_index = sme->key_idx; ath6kl_cfg80211_connect() 583 ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx, sme->key_idx, ath6kl_cfg80211_connect() 584 vif->prwise_crypto, ath6kl_cfg80211_connect() 593 clear_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags); ath6kl_cfg80211_connect() 594 if (ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_connect() 602 vif->nw_type = vif->next_mode; ath6kl_cfg80211_connect() 605 ath6kl_cfg80211_sta_bmiss_enhance(vif, true); ath6kl_cfg80211_connect() 607 if (vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) ath6kl_cfg80211_connect() 615 vif->auth_mode, vif->dot11_auth_mode, vif->prwise_crypto, ath6kl_cfg80211_connect() 616 vif->prwise_crypto_len, vif->grp_crypto, ath6kl_cfg80211_connect() 617 vif->grp_crypto_len, vif->ch_hint); ath6kl_cfg80211_connect() 619 vif->reconnect_flag = 0; ath6kl_cfg80211_connect() 621 if (vif->nw_type == INFRA_NETWORK) { ath6kl_cfg80211_connect() 622 interval = max_t(u16, vif->listen_intvl_t, ath6kl_cfg80211_connect() 624 status = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_connect() 634 status = ath6kl_wmi_connect_cmd(ar->wmi, vif->fw_vif_idx, vif->nw_type, ath6kl_cfg80211_connect() 635 vif->dot11_auth_mode, vif->auth_mode, ath6kl_cfg80211_connect() 636 vif->prwise_crypto, ath6kl_cfg80211_connect() 637 vif->prwise_crypto_len, ath6kl_cfg80211_connect() 638 vif->grp_crypto, vif->grp_crypto_len, ath6kl_cfg80211_connect() 639 vif->ssid_len, vif->ssid, ath6kl_cfg80211_connect() 640 vif->req_bssid, vif->ch_hint, ath6kl_cfg80211_connect() 651 ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, 0, 0, ath6kl_cfg80211_connect() 657 memset(vif->ssid, 0, sizeof(vif->ssid)); ath6kl_cfg80211_connect() 658 vif->ssid_len = 0; ath6kl_cfg80211_connect() 667 ((vif->auth_mode == WPA_PSK_AUTH) || ath6kl_cfg80211_connect() 668 (vif->auth_mode == WPA2_PSK_AUTH))) { ath6kl_cfg80211_connect() 669 mod_timer(&vif->disconnect_timer, ath6kl_cfg80211_connect() 674 set_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_connect() 680 ath6kl_add_bss_if_needed(struct ath6kl_vif *vif, ath6kl_add_bss_if_needed() argument 687 struct ath6kl *ar = vif->ar; ath6kl_add_bss_if_needed() 702 vif->ssid, vif->ssid_len, ath6kl_add_bss_if_needed() 713 ie = kmalloc(2 + vif->ssid_len + beacon_ie_len, GFP_KERNEL); ath6kl_add_bss_if_needed() 717 ie[1] = vif->ssid_len; ath6kl_add_bss_if_needed() 718 memcpy(ie + 2, vif->ssid, vif->ssid_len); ath6kl_add_bss_if_needed() 719 memcpy(ie + 2 + vif->ssid_len, beacon_ie, beacon_ie_len); ath6kl_add_bss_if_needed() 723 ie, 2 + vif->ssid_len + beacon_ie_len, ath6kl_add_bss_if_needed() 736 void ath6kl_cfg80211_connect_event(struct ath6kl_vif *vif, u16 channel, ath6kl_cfg80211_connect_event() argument 744 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_connect_event() 764 vif->assoc_bss_beacon_int = beacon_intvl; ath6kl_cfg80211_connect_event() 765 clear_bit(DTIM_PERIOD_AVAIL, &vif->flags); ath6kl_cfg80211_connect_event() 768 if (vif->wdev.iftype != NL80211_IFTYPE_ADHOC) { ath6kl_cfg80211_connect_event() 776 if (vif->wdev.iftype != NL80211_IFTYPE_STATION && ath6kl_cfg80211_connect_event() 777 vif->wdev.iftype != NL80211_IFTYPE_P2P_CLIENT) { ath6kl_cfg80211_connect_event() 786 bss = ath6kl_add_bss_if_needed(vif, nw_type, bssid, chan, ath6kl_cfg80211_connect_event() 796 cfg80211_ibss_joined(vif->ndev, bssid, chan, GFP_KERNEL); ath6kl_cfg80211_connect_event() 801 if (vif->sme_state == SME_CONNECTING) { ath6kl_cfg80211_connect_event() 803 vif->sme_state = SME_CONNECTED; ath6kl_cfg80211_connect_event() 804 cfg80211_connect_result(vif->ndev, bssid, ath6kl_cfg80211_connect_event() 809 } else if (vif->sme_state == SME_CONNECTED) { ath6kl_cfg80211_connect_event() 811 cfg80211_roamed_bss(vif->ndev, bss, assoc_req_ie, assoc_req_len, ath6kl_cfg80211_connect_event() 820 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_disconnect() local 825 ath6kl_cfg80211_sscan_disable(vif); ath6kl_cfg80211_disconnect() 827 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_disconnect() 840 vif->reconnect_flag = 0; ath6kl_cfg80211_disconnect() 841 ath6kl_disconnect(vif); ath6kl_cfg80211_disconnect() 842 memset(vif->ssid, 0, sizeof(vif->ssid)); ath6kl_cfg80211_disconnect() 843 vif->ssid_len = 0; ath6kl_cfg80211_disconnect() 846 memset(vif->req_bssid, 0, sizeof(vif->req_bssid)); ath6kl_cfg80211_disconnect() 850 vif->sme_state = SME_DISCONNECTED; ath6kl_cfg80211_disconnect() 855 void ath6kl_cfg80211_disconnect_event(struct ath6kl_vif *vif, u8 reason, ath6kl_cfg80211_disconnect_event() argument 859 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_disconnect_event() 861 if (vif->scan_req) { ath6kl_cfg80211_disconnect_event() 862 cfg80211_scan_done(vif->scan_req, true); ath6kl_cfg80211_disconnect_event() 863 vif->scan_req = NULL; ath6kl_cfg80211_disconnect_event() 866 if (vif->nw_type & ADHOC_NETWORK) { ath6kl_cfg80211_disconnect_event() 867 if (vif->wdev.iftype != NL80211_IFTYPE_ADHOC) ath6kl_cfg80211_disconnect_event() 873 if (vif->nw_type & INFRA_NETWORK) { ath6kl_cfg80211_disconnect_event() 874 if (vif->wdev.iftype != NL80211_IFTYPE_STATION && ath6kl_cfg80211_disconnect_event() 875 vif->wdev.iftype != NL80211_IFTYPE_P2P_CLIENT) { ath6kl_cfg80211_disconnect_event() 882 clear_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_disconnect_event() 884 if (vif->sme_state == SME_CONNECTING) { ath6kl_cfg80211_disconnect_event() 885 cfg80211_connect_result(vif->ndev, ath6kl_cfg80211_disconnect_event() 890 } else if (vif->sme_state == SME_CONNECTED) { ath6kl_cfg80211_disconnect_event() 891 cfg80211_disconnected(vif->ndev, proto_reason, ath6kl_cfg80211_disconnect_event() 895 vif->sme_state = SME_DISCONNECTED; ath6kl_cfg80211_disconnect_event() 906 ath6kl_wmi_disconnect_cmd(ar->wmi, vif->fw_vif_idx); ath6kl_cfg80211_disconnect_event() 910 struct ath6kl_vif *vif, ath6kl_set_probed_ssids() 972 ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, i, ath6kl_set_probed_ssids() 980 ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, i, ath6kl_set_probed_ssids() 990 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(request->wdev); ath6kl_cfg80211_scan() local 991 struct ath6kl *ar = ath6kl_priv(vif->ndev); ath6kl_cfg80211_scan() 997 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_scan() 1000 ath6kl_cfg80211_sscan_disable(vif); ath6kl_cfg80211_scan() 1003 clear_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags); ath6kl_cfg80211_scan() 1004 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_scan() 1012 ret = ath6kl_set_probed_ssids(ar, vif, request->ssids, ath6kl_cfg80211_scan() 1018 ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_scan() 1047 if (test_bit(CONNECTED, &vif->flags)) ath6kl_cfg80211_scan() 1050 vif->scan_req = request; ath6kl_cfg80211_scan() 1052 ret = ath6kl_wmi_beginscan_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_scan() 1061 vif->scan_req = NULL; ath6kl_cfg80211_scan() 1069 void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted) ath6kl_cfg80211_scan_complete_event() argument 1071 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_scan_complete_event() 1077 if (!vif->scan_req) ath6kl_cfg80211_scan_complete_event() 1083 if (vif->scan_req->n_ssids && vif->scan_req->ssids[0].ssid_len) { ath6kl_cfg80211_scan_complete_event() 1084 for (i = 0; i < vif->scan_req->n_ssids; i++) { ath6kl_cfg80211_scan_complete_event() 1085 ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_scan_complete_event() 1092 cfg80211_scan_done(vif->scan_req, aborted); ath6kl_cfg80211_scan_complete_event() 1093 vif->scan_req = NULL; ath6kl_cfg80211_scan_complete_event() 1096 void ath6kl_cfg80211_ch_switch_notify(struct ath6kl_vif *vif, int freq, ath6kl_cfg80211_ch_switch_notify() argument 1103 vif->nw_type, freq, mode); ath6kl_cfg80211_ch_switch_notify() 1106 ieee80211_get_channel(vif->ar->wiphy, freq), ath6kl_cfg80211_ch_switch_notify() 1110 mutex_lock(&vif->wdev.mtx); ath6kl_cfg80211_ch_switch_notify() 1111 cfg80211_ch_switch_notify(vif->ndev, &chandef); ath6kl_cfg80211_ch_switch_notify() 1112 mutex_unlock(&vif->wdev.mtx); ath6kl_cfg80211_ch_switch_notify() 1121 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_cfg80211_add_key() local 1127 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_add_key() 1133 return ath6kl_wmi_add_krk_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_add_key() 1144 key = &vif->keys[key_index]; ath6kl_cfg80211_add_key() 1189 if (((vif->auth_mode == WPA_PSK_AUTH) || ath6kl_cfg80211_add_key() 1190 (vif->auth_mode == WPA2_PSK_AUTH)) && ath6kl_cfg80211_add_key() 1192 del_timer(&vif->disconnect_timer); ath6kl_cfg80211_add_key() 1199 if (vif->nw_type == AP_NETWORK && !pairwise && ath6kl_cfg80211_add_key() 1207 if (!test_bit(CONNECTED, &vif->flags)) { ath6kl_cfg80211_add_key() 1218 if (vif->next_mode == AP_NETWORK && key_type == WEP_CRYPT && ath6kl_cfg80211_add_key() 1219 !test_bit(CONNECTED, &vif->flags)) { ath6kl_cfg80211_add_key() 1227 vif->wep_key_list[key_index].key_len = key->key_len; ath6kl_cfg80211_add_key() 1228 memcpy(vif->wep_key_list[key_index].key, key->key, ath6kl_cfg80211_add_key() 1233 return ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx, key_index, ath6kl_cfg80211_add_key() 1245 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_cfg80211_del_key() local 1249 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_del_key() 1259 if (!vif->keys[key_index].key_len) { ath6kl_cfg80211_del_key() 1265 vif->keys[key_index].key_len = 0; ath6kl_cfg80211_del_key() 1267 return ath6kl_wmi_deletekey_cmd(ar->wmi, vif->fw_vif_idx, key_index); ath6kl_cfg80211_del_key() 1276 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_cfg80211_get_key() local 1282 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_get_key() 1292 key = &vif->keys[key_index]; ath6kl_cfg80211_get_key() 1311 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_cfg80211_set_default_key() local 1318 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_set_default_key() 1328 if (!vif->keys[key_index].key_len) { ath6kl_cfg80211_set_default_key() 1334 vif->def_txkey_index = key_index; ath6kl_cfg80211_set_default_key() 1335 key = &vif->keys[vif->def_txkey_index]; ath6kl_cfg80211_set_default_key() 1337 if (vif->prwise_crypto == WEP_CRYPT) ath6kl_cfg80211_set_default_key() 1340 key_type = vif->prwise_crypto; ath6kl_cfg80211_set_default_key() 1342 key_type = vif->grp_crypto; ath6kl_cfg80211_set_default_key() 1344 if (vif->next_mode == AP_NETWORK && !test_bit(CONNECTED, &vif->flags)) ath6kl_cfg80211_set_default_key() 1347 return ath6kl_wmi_addkey_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_default_key() 1348 vif->def_txkey_index, ath6kl_cfg80211_set_default_key() 1356 void ath6kl_cfg80211_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, ath6kl_cfg80211_tkip_micerr_event() argument 1362 cfg80211_michael_mic_failure(vif->ndev, vif->bssid, ath6kl_cfg80211_tkip_micerr_event() 1371 struct ath6kl_vif *vif; ath6kl_cfg80211_set_wiphy_params() local 1377 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_set_wiphy_params() 1378 if (!vif) ath6kl_cfg80211_set_wiphy_params() 1381 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_set_wiphy_params() 1401 struct ath6kl_vif *vif; ath6kl_cfg80211_set_txpower() local 1407 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_set_txpower() 1408 if (!vif) ath6kl_cfg80211_set_txpower() 1411 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_set_txpower() 1426 ath6kl_wmi_set_tx_pwr_cmd(ar->wmi, vif->fw_vif_idx, dbm); ath6kl_cfg80211_set_txpower() 1436 struct ath6kl_vif *vif; ath6kl_cfg80211_get_txpower() local 1438 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_get_txpower() 1439 if (!vif) ath6kl_cfg80211_get_txpower() 1442 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_get_txpower() 1445 if (test_bit(CONNECTED, &vif->flags)) { ath6kl_cfg80211_get_txpower() 1448 if (ath6kl_wmi_get_tx_pwr_cmd(ar->wmi, vif->fw_vif_idx) != 0) { ath6kl_cfg80211_get_txpower() 1472 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_set_power_mgmt() local 1477 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_set_power_mgmt() 1488 if (ath6kl_wmi_powermode_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_power_mgmt() 1509 ath6kl_err("Reached maximum number of supported vif\n"); ath6kl_cfg80211_add_iface() 1531 struct ath6kl_vif *vif = netdev_priv(wdev->netdev); ath6kl_cfg80211_del_iface() local 1534 list_del(&vif->list); ath6kl_cfg80211_del_iface() 1537 ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag)); ath6kl_cfg80211_del_iface() 1540 ath6kl_cfg80211_vif_cleanup(vif); ath6kl_cfg80211_del_iface() 1551 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_cfg80211_change_iface() local 1562 vif->ar->fw_capabilities) && ath6kl_cfg80211_change_iface() 1565 if (vif->ar->vif_max == 1) { ath6kl_cfg80211_change_iface() 1566 if (vif->fw_vif_idx != 0) ath6kl_cfg80211_change_iface() 1572 for (i = vif->ar->max_norm_iface; i < vif->ar->vif_max; i++) { ath6kl_cfg80211_change_iface() 1573 if (i == vif->fw_vif_idx) ath6kl_cfg80211_change_iface() 1577 if (i == vif->ar->vif_max) { ath6kl_cfg80211_change_iface() 1584 ath6kl_cfg80211_sta_bmiss_enhance(vif, false); ath6kl_cfg80211_change_iface() 1590 vif->next_mode = INFRA_NETWORK; ath6kl_cfg80211_change_iface() 1593 vif->next_mode = ADHOC_NETWORK; ath6kl_cfg80211_change_iface() 1597 vif->next_mode = AP_NETWORK; ath6kl_cfg80211_change_iface() 1604 vif->wdev.iftype = type; ath6kl_cfg80211_change_iface() 1614 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_join_ibss() local 1617 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_join_ibss() 1620 vif->ssid_len = ibss_param->ssid_len; ath6kl_cfg80211_join_ibss() 1621 memcpy(vif->ssid, ibss_param->ssid, vif->ssid_len); ath6kl_cfg80211_join_ibss() 1624 vif->ch_hint = ibss_param->chandef.chan->center_freq; ath6kl_cfg80211_join_ibss() 1636 memset(vif->req_bssid, 0, sizeof(vif->req_bssid)); ath6kl_cfg80211_join_ibss() 1638 memcpy(vif->req_bssid, ibss_param->bssid, ath6kl_cfg80211_join_ibss() 1639 sizeof(vif->req_bssid)); ath6kl_cfg80211_join_ibss() 1641 ath6kl_set_wpa_version(vif, 0); ath6kl_cfg80211_join_ibss() 1643 status = ath6kl_set_auth_type(vif, NL80211_AUTHTYPE_OPEN_SYSTEM); ath6kl_cfg80211_join_ibss() 1648 ath6kl_set_cipher(vif, WLAN_CIPHER_SUITE_WEP40, true); ath6kl_cfg80211_join_ibss() 1649 ath6kl_set_cipher(vif, WLAN_CIPHER_SUITE_WEP40, false); ath6kl_cfg80211_join_ibss() 1651 ath6kl_set_cipher(vif, 0, true); ath6kl_cfg80211_join_ibss() 1652 ath6kl_set_cipher(vif, 0, false); ath6kl_cfg80211_join_ibss() 1655 vif->nw_type = vif->next_mode; ath6kl_cfg80211_join_ibss() 1662 vif->auth_mode, vif->dot11_auth_mode, vif->prwise_crypto, ath6kl_cfg80211_join_ibss() 1663 vif->prwise_crypto_len, vif->grp_crypto, ath6kl_cfg80211_join_ibss() 1664 vif->grp_crypto_len, vif->ch_hint); ath6kl_cfg80211_join_ibss() 1666 status = ath6kl_wmi_connect_cmd(ar->wmi, vif->fw_vif_idx, vif->nw_type, ath6kl_cfg80211_join_ibss() 1667 vif->dot11_auth_mode, vif->auth_mode, ath6kl_cfg80211_join_ibss() 1668 vif->prwise_crypto, ath6kl_cfg80211_join_ibss() 1669 vif->prwise_crypto_len, ath6kl_cfg80211_join_ibss() 1670 vif->grp_crypto, vif->grp_crypto_len, ath6kl_cfg80211_join_ibss() 1671 vif->ssid_len, vif->ssid, ath6kl_cfg80211_join_ibss() 1672 vif->req_bssid, vif->ch_hint, ath6kl_cfg80211_join_ibss() 1674 set_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_join_ibss() 1682 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_leave_ibss() local 1684 if (!ath6kl_cfg80211_ready(vif)) ath6kl_cfg80211_leave_ibss() 1687 ath6kl_disconnect(vif); ath6kl_cfg80211_leave_ibss() 1688 memset(vif->ssid, 0, sizeof(vif->ssid)); ath6kl_cfg80211_leave_ibss() 1689 vif->ssid_len = 0; ath6kl_cfg80211_leave_ibss() 1768 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_get_station() local 1775 if (memcmp(mac, vif->bssid, ETH_ALEN) != 0) ath6kl_get_station() 1781 set_bit(STATS_UPDATE_PEND, &vif->flags); ath6kl_get_station() 1783 ret = ath6kl_wmi_get_stats_cmd(ar->wmi, vif->fw_vif_idx); ath6kl_get_station() 1792 &vif->flags), ath6kl_get_station() 1802 if (vif->target_stats.rx_byte) { ath6kl_get_station() 1803 sinfo->rx_bytes = vif->target_stats.rx_byte; ath6kl_get_station() 1805 sinfo->rx_packets = vif->target_stats.rx_pkt; ath6kl_get_station() 1809 if (vif->target_stats.tx_byte) { ath6kl_get_station() 1810 sinfo->tx_bytes = vif->target_stats.tx_byte; ath6kl_get_station() 1812 sinfo->tx_packets = vif->target_stats.tx_pkt; ath6kl_get_station() 1816 sinfo->signal = vif->target_stats.cs_rssi; ath6kl_get_station() 1819 rate = vif->target_stats.tx_ucast_rate; ath6kl_get_station() 1852 if (test_bit(CONNECTED, &vif->flags) && ath6kl_get_station() 1853 test_bit(DTIM_PERIOD_AVAIL, &vif->flags) && ath6kl_get_station() 1854 vif->nw_type == INFRA_NETWORK) { ath6kl_get_station() 1857 sinfo->bss_param.dtim_period = vif->assoc_bss_dtim_period; ath6kl_get_station() 1858 sinfo->bss_param.beacon_interval = vif->assoc_bss_beacon_int; ath6kl_get_station() 1868 struct ath6kl_vif *vif = netdev_priv(netdev); ath6kl_set_pmksa() local 1870 return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx, pmksa->bssid, ath6kl_set_pmksa() 1878 struct ath6kl_vif *vif = netdev_priv(netdev); ath6kl_del_pmksa() local 1880 return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx, pmksa->bssid, ath6kl_del_pmksa() 1887 struct ath6kl_vif *vif = netdev_priv(netdev); ath6kl_flush_pmksa() local 1889 if (test_bit(CONNECTED, &vif->flags)) ath6kl_flush_pmksa() 1890 return ath6kl_wmi_setpmkid_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_flush_pmksa() 1891 vif->bssid, NULL, false); ath6kl_flush_pmksa() 1895 static int ath6kl_wow_usr(struct ath6kl *ar, struct ath6kl_vif *vif, ath6kl_wow_usr() argument 1924 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_usr() 1950 static int ath6kl_wow_ap(struct ath6kl *ar, struct ath6kl_vif *vif) ath6kl_wow_ap() argument 1984 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_ap() 1994 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_ap() 2007 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_ap() 2017 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_ap() 2028 static int ath6kl_wow_sta(struct ath6kl *ar, struct ath6kl_vif *vif) ath6kl_wow_sta() argument 2030 struct net_device *ndev = vif->ndev; ath6kl_wow_sta() 2040 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_sta() 2055 vif->fw_vif_idx, WOW_LIST_ID, ath6kl_wow_sta() 2067 static int is_hsleep_mode_procsed(struct ath6kl_vif *vif) is_hsleep_mode_procsed() argument 2069 return test_bit(HOST_SLEEP_MODE_CMD_PROCESSED, &vif->flags); is_hsleep_mode_procsed() 2077 static int ath6kl_cfg80211_host_sleep(struct ath6kl *ar, struct ath6kl_vif *vif) ath6kl_cfg80211_host_sleep() argument 2081 clear_bit(HOST_SLEEP_MODE_CMD_PROCESSED, &vif->flags); ath6kl_cfg80211_host_sleep() 2083 ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_host_sleep() 2089 is_hsleep_mode_procsed(vif), ath6kl_cfg80211_host_sleep() 2116 static int ath6kl_wow_suspend_vif(struct ath6kl_vif *vif, ath6kl_wow_suspend_vif() argument 2119 struct ath6kl *ar = vif->ar; ath6kl_wow_suspend_vif() 2127 if (!test_bit(NETDEV_MCAST_ALL_ON, &vif->flags) && ath6kl_wow_suspend_vif() 2130 ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi, ath6kl_wow_suspend_vif() 2131 vif->fw_vif_idx, false); ath6kl_wow_suspend_vif() 2138 ath6kl_wmi_del_wow_pattern_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_suspend_vif() 2147 ret = ath6kl_wow_usr(ar, vif, wow, filter); ath6kl_wow_suspend_vif() 2148 else if (vif->nw_type == AP_NETWORK) ath6kl_wow_suspend_vif() 2149 ret = ath6kl_wow_ap(ar, vif); ath6kl_wow_suspend_vif() 2151 ret = ath6kl_wow_sta(ar, vif); ath6kl_wow_suspend_vif() 2156 netif_stop_queue(vif->ndev); ath6kl_wow_suspend_vif() 2158 if (vif->nw_type != AP_NETWORK) { ath6kl_wow_suspend_vif() 2159 ret = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_suspend_vif() 2170 ret = ath6kl_wmi_bmisstime_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_suspend_vif() 2175 ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_suspend_vif() 2183 in_dev = __in_dev_get_rtnl(vif->ndev); ath6kl_wow_suspend_vif() 2202 ret = ath6kl_wmi_set_ip_cmd(ar->wmi, vif->fw_vif_idx, ips[0], ips[1]); ath6kl_wow_suspend_vif() 2213 struct ath6kl_vif *first_vif, *vif; ath6kl_wow_suspend() local 2218 /* enter / leave wow suspend on first vif always */ ath6kl_wow_suspend() 2227 /* install filters for each connected vif */ ath6kl_wow_suspend() 2229 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_wow_suspend() 2230 if (!test_bit(CONNECTED, &vif->flags) || ath6kl_wow_suspend() 2231 !ath6kl_cfg80211_ready(vif)) ath6kl_wow_suspend() 2235 ret = ath6kl_wow_suspend_vif(vif, wow, &filter); ath6kl_wow_suspend() 2258 static int ath6kl_wow_resume_vif(struct ath6kl_vif *vif) ath6kl_wow_resume_vif() argument 2260 struct ath6kl *ar = vif->ar; ath6kl_wow_resume_vif() 2263 if (vif->nw_type != AP_NETWORK) { ath6kl_wow_resume_vif() 2264 ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_resume_vif() 2269 ret = ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_resume_vif() 2270 vif->listen_intvl_t, 0); ath6kl_wow_resume_vif() 2274 ret = ath6kl_wmi_bmisstime_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_resume_vif() 2275 vif->bmiss_time_t, 0); ath6kl_wow_resume_vif() 2280 if (!test_bit(NETDEV_MCAST_ALL_OFF, &vif->flags) && ath6kl_wow_resume_vif() 2283 ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi, ath6kl_wow_resume_vif() 2284 vif->fw_vif_idx, true); ath6kl_wow_resume_vif() 2289 netif_wake_queue(vif->ndev); ath6kl_wow_resume_vif() 2296 struct ath6kl_vif *vif; ath6kl_wow_resume() local 2299 vif = ath6kl_vif_first(ar); ath6kl_wow_resume() 2300 if (WARN_ON(!vif) || ath6kl_wow_resume() 2301 !ath6kl_cfg80211_ready(vif)) ath6kl_wow_resume() 2306 ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wow_resume() 2315 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_wow_resume() 2316 if (!test_bit(CONNECTED, &vif->flags) || ath6kl_wow_resume() 2317 !ath6kl_cfg80211_ready(vif)) ath6kl_wow_resume() 2319 ret = ath6kl_wow_resume_vif(vif); ath6kl_wow_resume() 2338 struct ath6kl_vif *vif; ath6kl_cfg80211_deepsleep_suspend() local 2341 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_deepsleep_suspend() 2342 if (!vif) ath6kl_cfg80211_deepsleep_suspend() 2360 ret = ath6kl_wmi_set_wow_mode_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_deepsleep_suspend() 2369 ret = ath6kl_cfg80211_host_sleep(ar, vif); ath6kl_cfg80211_deepsleep_suspend() 2378 struct ath6kl_vif *vif; ath6kl_cfg80211_deepsleep_resume() local 2381 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_deepsleep_resume() 2383 if (!vif) ath6kl_cfg80211_deepsleep_resume() 2393 ret = ath6kl_wmi_set_host_sleep_mode_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_deepsleep_resume() 2401 ret = ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_deepsleep_resume() 2413 struct ath6kl_vif *vif; ath6kl_cfg80211_suspend() local 2476 list_for_each_entry(vif, &ar->vif_list, list) ath6kl_cfg80211_suspend() 2477 ath6kl_cfg80211_scan_complete_event(vif, true); ath6kl_cfg80211_suspend() 2586 static int ath6kl_set_htcap(struct ath6kl_vif *vif, enum ieee80211_band band, ath6kl_set_htcap() argument 2589 struct ath6kl_htcap *htcap = &vif->htcap[band]; ath6kl_set_htcap() 2603 return ath6kl_wmi_set_htcap_cmd(vif->ar->wmi, vif->fw_vif_idx, ath6kl_set_htcap() 2607 static int ath6kl_restore_htcap(struct ath6kl_vif *vif) ath6kl_restore_htcap() argument 2609 struct wiphy *wiphy = vif->ar->wiphy; ath6kl_restore_htcap() 2616 ret = ath6kl_set_htcap(vif, band, ath6kl_restore_htcap() 2632 static int ath6kl_set_ap_probe_resp_ies(struct ath6kl_vif *vif, ath6kl_set_ap_probe_resp_ies() argument 2635 struct ath6kl *ar = vif->ar; ath6kl_set_ap_probe_resp_ies() 2662 ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_set_ap_probe_resp_ies() 2668 static int ath6kl_set_ies(struct ath6kl_vif *vif, ath6kl_set_ies() argument 2671 struct ath6kl *ar = vif->ar; ath6kl_set_ies() 2675 res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_set_ies() 2683 res = ath6kl_set_ap_probe_resp_ies(vif, info->proberesp_ies, ath6kl_set_ies() 2689 res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_set_ies() 2755 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_start_ap() local 2768 if (!ath6kl_cfg80211_ready(vif)) ath6kl_start_ap() 2771 if (vif->next_mode != AP_NETWORK) ath6kl_start_ap() 2774 res = ath6kl_set_ies(vif, &info->beacon); ath6kl_start_ap() 2778 ret = ath6kl_wmi_ap_set_beacon_intvl_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_start_ap() 2784 ret = ath6kl_wmi_ap_set_dtim_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_start_ap() 2801 memcpy(vif->ssid, info->ssid, info->ssid_len); ath6kl_start_ap() 2802 vif->ssid_len = info->ssid_len; ath6kl_start_ap() 2806 res = ath6kl_wmi_ap_hidden_ssid(ar->wmi, vif->fw_vif_idx, hidden); ath6kl_start_ap() 2810 ret = ath6kl_set_auth_type(vif, info->auth_type); ath6kl_start_ap() 2834 vif->auth_mode = p.auth_mode; ath6kl_start_ap() 2855 ath6kl_set_cipher(vif, 0, true); ath6kl_start_ap() 2857 ath6kl_set_cipher(vif, info->crypto.ciphers_pairwise[0], true); ath6kl_start_ap() 2878 ath6kl_set_cipher(vif, info->crypto.cipher_group, false); ath6kl_start_ap() 2881 vif->nw_type = vif->next_mode; ath6kl_start_ap() 2883 p.ssid_len = vif->ssid_len; ath6kl_start_ap() 2884 memcpy(p.ssid, vif->ssid, vif->ssid_len); ath6kl_start_ap() 2885 p.dot11_auth_mode = vif->dot11_auth_mode; ath6kl_start_ap() 2889 res = ath6kl_wmi_ap_set_apsd(ar->wmi, vif->fw_vif_idx, true); ath6kl_start_ap() 2893 if (vif->wdev.iftype == NL80211_IFTYPE_P2P_GO) { ath6kl_start_ap() 2911 res = ath6kl_wmi_set_inact_period(ar->wmi, vif->fw_vif_idx, ath6kl_start_ap() 2917 if (ath6kl_set_htcap(vif, info->chandef.chan->band, ath6kl_start_ap() 2931 res = ath6kl_wmi_set_ie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_start_ap() 2935 vif->rsn_capab = rsn_capab; ath6kl_start_ap() 2940 memcpy(&vif->profile, &p, sizeof(p)); ath6kl_start_ap() 2941 res = ath6kl_wmi_ap_profile_commit(ar->wmi, vif->fw_vif_idx, &p); ath6kl_start_ap() 2951 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_change_beacon() local 2953 if (!ath6kl_cfg80211_ready(vif)) ath6kl_change_beacon() 2956 if (vif->next_mode != AP_NETWORK) ath6kl_change_beacon() 2959 return ath6kl_set_ies(vif, beacon); ath6kl_change_beacon() 2965 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_stop_ap() local 2967 if (vif->nw_type != AP_NETWORK) ath6kl_stop_ap() 2969 if (!test_bit(CONNECTED, &vif->flags)) ath6kl_stop_ap() 2972 ath6kl_wmi_disconnect_cmd(ar->wmi, vif->fw_vif_idx); ath6kl_stop_ap() 2973 clear_bit(CONNECTED, &vif->flags); ath6kl_stop_ap() 2976 return ath6kl_restore_htcap(vif); ath6kl_stop_ap() 2985 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_del_station() local 2988 return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx, WMI_AP_DEAUTH, ath6kl_del_station() 2997 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_change_station() local 3000 if (vif->nw_type != AP_NETWORK) ath6kl_change_station() 3009 return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx, ath6kl_change_station() 3011 return ath6kl_wmi_ap_set_mlme(ar->wmi, vif->fw_vif_idx, ath6kl_change_station() 3021 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(wdev); ath6kl_remain_on_channel() local 3022 struct ath6kl *ar = ath6kl_priv(vif->ndev); ath6kl_remain_on_channel() 3027 id = ++vif->last_roc_id; ath6kl_remain_on_channel() 3030 id = ++vif->last_roc_id; ath6kl_remain_on_channel() 3034 return ath6kl_wmi_remain_on_chnl_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_remain_on_channel() 3042 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(wdev); ath6kl_cancel_remain_on_channel() local 3043 struct ath6kl *ar = ath6kl_priv(vif->ndev); ath6kl_cancel_remain_on_channel() 3045 if (cookie != vif->last_roc_id) ath6kl_cancel_remain_on_channel() 3047 vif->last_cancel_roc_id = cookie; ath6kl_cancel_remain_on_channel() 3049 return ath6kl_wmi_cancel_remain_on_chnl_cmd(ar->wmi, vif->fw_vif_idx); ath6kl_cancel_remain_on_channel() 3052 static int ath6kl_send_go_probe_resp(struct ath6kl_vif *vif, ath6kl_send_go_probe_resp() argument 3056 struct ath6kl *ar = vif->ar; ath6kl_send_go_probe_resp() 3083 ret = ath6kl_wmi_send_probe_response_cmd(ar->wmi, vif->fw_vif_idx, freq, ath6kl_send_go_probe_resp() 3089 static bool ath6kl_mgmt_powersave_ap(struct ath6kl_vif *vif, ath6kl_mgmt_powersave_ap() argument 3103 struct ath6kl *ar = vif->ar; ath6kl_mgmt_powersave_ap() 3109 conn = ath6kl_find_sta(vif, mgmt->da); ath6kl_mgmt_powersave_ap() 3141 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_mgmt_powersave_ap() 3177 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(wdev); ath6kl_mgmt_tx() local 3178 struct ath6kl *ar = ath6kl_priv(vif->ndev); ath6kl_mgmt_tx() 3191 freq = vif->ch_hint; ath6kl_mgmt_tx() 3200 if (vif->nw_type == AP_NETWORK && test_bit(CONNECTED, &vif->flags) && ath6kl_mgmt_tx() 3208 return ath6kl_send_go_probe_resp(vif, buf, len, freq); ath6kl_mgmt_tx() 3211 id = vif->send_action_id++; ath6kl_mgmt_tx() 3217 id = vif->send_action_id++; ath6kl_mgmt_tx() 3223 if (vif->nw_type == AP_NETWORK) { ath6kl_mgmt_tx() 3224 queued = ath6kl_mgmt_powersave_ap(vif, id, freq, wait, buf, len, ath6kl_mgmt_tx() 3230 return ath6kl_wmi_send_mgmt_cmd(ar->wmi, vif->fw_vif_idx, id, freq, ath6kl_mgmt_tx() 3247 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(wdev); ath6kl_mgmt_frame_register() local 3257 vif->probe_req_report = reg; ath6kl_mgmt_frame_register() 3266 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_sscan_start() local 3282 if (vif->sme_state != SME_DISCONNECTED) ath6kl_cfg80211_sscan_start() 3285 ath6kl_cfg80211_scan_complete_event(vif, true); ath6kl_cfg80211_sscan_start() 3287 ret = ath6kl_set_probed_ssids(ar, vif, request->ssids, ath6kl_cfg80211_sscan_start() 3295 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3300 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3315 ret = ath6kl_wmi_set_rssi_filter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3326 ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3328 vif->bg_scan_period, 0, 0, 0, 3, 0, 0, 0); ath6kl_cfg80211_sscan_start() 3331 ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3340 ret = ath6kl_wmi_enable_sched_scan_cmd(ar->wmi, vif->fw_vif_idx, true); ath6kl_cfg80211_sscan_start() 3344 set_bit(SCHED_SCANNING, &vif->flags); ath6kl_cfg80211_sscan_start() 3352 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_sscan_stop() local 3355 stopped = __ath6kl_cfg80211_sscan_stop(vif); ath6kl_cfg80211_sscan_stop() 3369 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_set_bitrate() local 3371 return ath6kl_wmi_set_bitrate_mask(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_bitrate() 3380 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_set_txe_config() local 3382 if (vif->nw_type != INFRA_NETWORK || ath6kl_cfg80211_set_txe_config() 3386 if (vif->sme_state != SME_CONNECTED) ath6kl_cfg80211_set_txe_config() 3390 vif->txe_intvl = intvl; ath6kl_cfg80211_set_txe_config() 3392 return ath6kl_wmi_set_txe_notify(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_txe_config() 3466 void ath6kl_cfg80211_stop(struct ath6kl_vif *vif) ath6kl_cfg80211_stop() argument 3468 ath6kl_cfg80211_sscan_disable(vif); ath6kl_cfg80211_stop() 3470 switch (vif->sme_state) { ath6kl_cfg80211_stop() 3474 cfg80211_connect_result(vif->ndev, vif->bssid, NULL, 0, ath6kl_cfg80211_stop() 3480 cfg80211_disconnected(vif->ndev, 0, NULL, 0, true, GFP_KERNEL); ath6kl_cfg80211_stop() 3484 if (vif->ar->state != ATH6KL_STATE_RECOVERY && ath6kl_cfg80211_stop() 3485 (test_bit(CONNECTED, &vif->flags) || ath6kl_cfg80211_stop() 3486 test_bit(CONNECT_PEND, &vif->flags))) ath6kl_cfg80211_stop() 3487 ath6kl_wmi_disconnect_cmd(vif->ar->wmi, vif->fw_vif_idx); ath6kl_cfg80211_stop() 3489 vif->sme_state = SME_DISCONNECTED; ath6kl_cfg80211_stop() 3490 clear_bit(CONNECTED, &vif->flags); ath6kl_cfg80211_stop() 3491 clear_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_stop() 3494 netif_stop_queue(vif->ndev); ath6kl_cfg80211_stop() 3495 netif_carrier_off(vif->ndev); ath6kl_cfg80211_stop() 3498 if (vif->ar->state != ATH6KL_STATE_RECOVERY && ath6kl_cfg80211_stop() 3499 ath6kl_wmi_scanparams_cmd(vif->ar->wmi, vif->fw_vif_idx, 0xFFFF, ath6kl_cfg80211_stop() 3503 ath6kl_cfg80211_scan_complete_event(vif, true); ath6kl_cfg80211_stop() 3508 struct ath6kl_vif *vif; ath6kl_cfg80211_stop_all() local 3510 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_stop_all() 3511 if (!vif && ar->state != ATH6KL_STATE_RECOVERY) { ath6kl_cfg80211_stop_all() 3525 list_for_each_entry(vif, &ar->vif_list, list) ath6kl_cfg80211_stop_all() 3526 ath6kl_cfg80211_stop(vif); ath6kl_cfg80211_stop_all() 3573 static int ath6kl_cfg80211_vif_init(struct ath6kl_vif *vif) ath6kl_cfg80211_vif_init() argument 3575 vif->aggr_cntxt = aggr_init(vif); ath6kl_cfg80211_vif_init() 3576 if (!vif->aggr_cntxt) { ath6kl_cfg80211_vif_init() 3581 setup_timer(&vif->disconnect_timer, disconnect_timer_handler, ath6kl_cfg80211_vif_init() 3582 (unsigned long) vif->ndev); ath6kl_cfg80211_vif_init() 3583 setup_timer(&vif->sched_scan_timer, ath6kl_wmi_sscan_timer, ath6kl_cfg80211_vif_init() 3584 (unsigned long) vif); ath6kl_cfg80211_vif_init() 3586 set_bit(WMM_ENABLED, &vif->flags); ath6kl_cfg80211_vif_init() 3587 spin_lock_init(&vif->if_lock); ath6kl_cfg80211_vif_init() 3589 INIT_LIST_HEAD(&vif->mc_filter); ath6kl_cfg80211_vif_init() 3594 void ath6kl_cfg80211_vif_stop(struct ath6kl_vif *vif, bool wmi_ready) ath6kl_cfg80211_vif_stop() argument 3599 netif_stop_queue(vif->ndev); ath6kl_cfg80211_vif_stop() 3601 clear_bit(WLAN_ENABLED, &vif->flags); ath6kl_cfg80211_vif_stop() 3604 discon_issued = test_bit(CONNECTED, &vif->flags) || ath6kl_cfg80211_vif_stop() 3605 test_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_vif_stop() 3606 ath6kl_disconnect(vif); ath6kl_cfg80211_vif_stop() 3607 del_timer(&vif->disconnect_timer); ath6kl_cfg80211_vif_stop() 3610 ath6kl_disconnect_event(vif, DISCONNECT_CMD, ath6kl_cfg80211_vif_stop() 3611 (vif->nw_type & AP_NETWORK) ? ath6kl_cfg80211_vif_stop() 3612 bcast_mac : vif->bssid, ath6kl_cfg80211_vif_stop() 3616 if (vif->scan_req) { ath6kl_cfg80211_vif_stop() 3617 cfg80211_scan_done(vif->scan_req, true); ath6kl_cfg80211_vif_stop() 3618 vif->scan_req = NULL; ath6kl_cfg80211_vif_stop() 3622 ath6kl_cfg80211_sta_bmiss_enhance(vif, false); ath6kl_cfg80211_vif_stop() 3625 void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif) ath6kl_cfg80211_vif_cleanup() argument 3627 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_vif_cleanup() 3630 aggr_module_destroy(vif->aggr_cntxt); ath6kl_cfg80211_vif_cleanup() 3632 ar->avail_idx_map |= BIT(vif->fw_vif_idx); ath6kl_cfg80211_vif_cleanup() 3634 if (vif->nw_type == ADHOC_NETWORK) ath6kl_cfg80211_vif_cleanup() 3637 list_for_each_entry_safe(mc_filter, tmp, &vif->mc_filter, list) { ath6kl_cfg80211_vif_cleanup() 3642 unregister_netdevice(vif->ndev); ath6kl_cfg80211_vif_cleanup() 3690 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_get_stats() local 3691 struct ath6kl *ar = vif->ar; ath6kl_get_stats() 3697 ath6kl_read_tgt_stats(ar, vif); ath6kl_get_stats() 3699 tgt_stats = &vif->target_stats; ath6kl_get_stats() 3774 struct ath6kl_vif *vif; ath6kl_interface_add() local 3776 ndev = alloc_netdev(sizeof(*vif), name, name_assign_type, ether_setup); ath6kl_interface_add() 3780 vif = netdev_priv(ndev); ath6kl_interface_add() 3781 ndev->ieee80211_ptr = &vif->wdev; ath6kl_interface_add() 3782 vif->wdev.wiphy = ar->wiphy; ath6kl_interface_add() 3783 vif->ar = ar; ath6kl_interface_add() 3784 vif->ndev = ndev; ath6kl_interface_add() 3785 SET_NETDEV_DEV(ndev, wiphy_dev(vif->wdev.wiphy)); ath6kl_interface_add() 3786 vif->wdev.netdev = ndev; ath6kl_interface_add() 3787 vif->wdev.iftype = type; ath6kl_interface_add() 3788 vif->fw_vif_idx = fw_vif_idx; ath6kl_interface_add() 3789 vif->nw_type = nw_type; ath6kl_interface_add() 3790 vif->next_mode = nw_type; ath6kl_interface_add() 3791 vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL; ath6kl_interface_add() 3792 vif->bmiss_time_t = ATH6KL_DEFAULT_BMISS_TIME; ath6kl_interface_add() 3793 vif->bg_scan_period = 0; ath6kl_interface_add() 3794 vif->htcap[IEEE80211_BAND_2GHZ].ht_enable = true; ath6kl_interface_add() 3795 vif->htcap[IEEE80211_BAND_5GHZ].ht_enable = true; ath6kl_interface_add() 3808 ath6kl_init_control_info(vif); ath6kl_interface_add() 3810 if (ath6kl_cfg80211_vif_init(vif)) ath6kl_interface_add() 3819 vif->sme_state = SME_DISCONNECTED; ath6kl_interface_add() 3820 set_bit(WLAN_ENABLED, &vif->flags); ath6kl_interface_add() 3827 list_add_tail(&vif->list, &ar->vif_list); ath6kl_interface_add() 3830 return &vif->wdev; ath6kl_interface_add() 3833 aggr_module_destroy(vif->aggr_cntxt); ath6kl_interface_add() 909 ath6kl_set_probed_ssids(struct ath6kl *ar, struct ath6kl_vif *vif, struct cfg80211_ssid *ssids, int n_ssids, struct cfg80211_match_set *match_set, int n_match_ssid) ath6kl_set_probed_ssids() argument
|
H A D | main.c | 26 struct ath6kl_sta *ath6kl_find_sta(struct ath6kl_vif *vif, u8 *node_addr) ath6kl_find_sta() argument 28 struct ath6kl *ar = vif->ar; ath6kl_find_sta() 35 max_conn = (vif->nw_type == AP_NETWORK) ? AP_MAX_NUM_STA : 0; ath6kl_find_sta() 61 static void ath6kl_add_new_sta(struct ath6kl_vif *vif, u8 *mac, u16 aid, ath6kl_add_new_sta() argument 65 struct ath6kl *ar = vif->ar; ath6kl_add_new_sta() 83 aggr_conn_init(vif, vif->aggr_cntxt, sta->aggr_conn); ath6kl_add_new_sta() 351 static void ath6kl_install_static_wep_keys(struct ath6kl_vif *vif) ath6kl_install_static_wep_keys() argument 357 if (vif->wep_key_list[index].key_len) { ath6kl_install_static_wep_keys() 359 if (index == vif->def_txkey_index) ath6kl_install_static_wep_keys() 362 ath6kl_wmi_addkey_cmd(vif->ar->wmi, vif->fw_vif_idx, ath6kl_install_static_wep_keys() 366 vif->wep_key_list[index].key_len, ath6kl_install_static_wep_keys() 368 vif->wep_key_list[index].key, ath6kl_install_static_wep_keys() 375 void ath6kl_connect_ap_mode_bss(struct ath6kl_vif *vif, u16 channel) ath6kl_connect_ap_mode_bss() argument 377 struct ath6kl *ar = vif->ar; ath6kl_connect_ap_mode_bss() 386 switch (vif->auth_mode) { ath6kl_connect_ap_mode_bss() 388 if (vif->prwise_crypto == WEP_CRYPT) ath6kl_connect_ap_mode_bss() 389 ath6kl_install_static_wep_keys(vif); ath6kl_connect_ap_mode_bss() 403 ar->wmi, vif->fw_vif_idx, ik->key_index, ik->key_type, ath6kl_connect_ap_mode_bss() 416 ath6kl_cfg80211_ch_switch_notify(vif, channel, WMI_11G_HT20); ath6kl_connect_ap_mode_bss() 418 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, NONE_BSS_FILTER, 0); ath6kl_connect_ap_mode_bss() 419 set_bit(CONNECTED, &vif->flags); ath6kl_connect_ap_mode_bss() 420 netif_carrier_on(vif->ndev); ath6kl_connect_ap_mode_bss() 423 void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr, ath6kl_connect_ap_mode_sta() argument 480 ath6kl_add_new_sta(vif, mac_addr, aid, wpa_ie, ath6kl_connect_ap_mode_sta() 492 cfg80211_new_sta(vif->ndev, mac_addr, &sinfo, GFP_KERNEL); ath6kl_connect_ap_mode_sta() 494 netif_wake_queue(vif->ndev); ath6kl_connect_ap_mode_sta() 500 struct ath6kl_vif *vif = netdev_priv(dev); disconnect_timer_handler() local 502 ath6kl_init_profile_info(vif); disconnect_timer_handler() 503 ath6kl_disconnect(vif); disconnect_timer_handler() 506 void ath6kl_disconnect(struct ath6kl_vif *vif) ath6kl_disconnect() argument 508 if (test_bit(CONNECTED, &vif->flags) || ath6kl_disconnect() 509 test_bit(CONNECT_PEND, &vif->flags)) { ath6kl_disconnect() 510 ath6kl_wmi_disconnect_cmd(vif->ar->wmi, vif->fw_vif_idx); ath6kl_disconnect() 516 clear_bit(CONNECT_PEND, &vif->flags); ath6kl_disconnect() 552 void ath6kl_scan_complete_evt(struct ath6kl_vif *vif, int status) ath6kl_scan_complete_evt() argument 554 struct ath6kl *ar = vif->ar; ath6kl_scan_complete_evt() 560 ath6kl_cfg80211_scan_complete_event(vif, aborted); ath6kl_scan_complete_evt() 563 clear_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags); ath6kl_scan_complete_evt() 564 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_scan_complete_evt() 571 static int ath6kl_commit_ch_switch(struct ath6kl_vif *vif, u16 channel) ath6kl_commit_ch_switch() argument 573 struct ath6kl *ar = vif->ar; ath6kl_commit_ch_switch() 575 vif->profile.ch = cpu_to_le16(channel); ath6kl_commit_ch_switch() 577 switch (vif->nw_type) { ath6kl_commit_ch_switch() 583 if (vif->rsn_capab && ath6kl_commit_ch_switch() 586 ath6kl_wmi_set_ie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_commit_ch_switch() 588 (const u8 *) &vif->rsn_capab, ath6kl_commit_ch_switch() 589 sizeof(vif->rsn_capab)); ath6kl_commit_ch_switch() 591 return ath6kl_wmi_ap_profile_commit(ar->wmi, vif->fw_vif_idx, ath6kl_commit_ch_switch() 592 &vif->profile); ath6kl_commit_ch_switch() 594 ath6kl_err("won't switch channels nw_type=%d\n", vif->nw_type); ath6kl_commit_ch_switch() 601 struct ath6kl_vif *vif; ath6kl_check_ch_switch() local 608 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_check_ch_switch() 609 if (ar->want_ch_switch & (1 << vif->fw_vif_idx)) ath6kl_check_ch_switch() 610 res = ath6kl_commit_ch_switch(vif, channel); ath6kl_check_ch_switch() 613 ar->want_ch_switch &= ~(1 << vif->fw_vif_idx); ath6kl_check_ch_switch() 617 vif->nw_type, res); ath6kl_check_ch_switch() 622 void ath6kl_connect_event(struct ath6kl_vif *vif, u16 channel, u8 *bssid, ath6kl_connect_event() argument 628 struct ath6kl *ar = vif->ar; ath6kl_connect_event() 630 ath6kl_cfg80211_connect_event(vif, channel, bssid, ath6kl_connect_event() 636 memcpy(vif->bssid, bssid, sizeof(vif->bssid)); ath6kl_connect_event() 637 vif->bss_ch = channel; ath6kl_connect_event() 639 if ((vif->nw_type == INFRA_NETWORK)) { ath6kl_connect_event() 640 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_connect_event() 641 vif->listen_intvl_t, 0); ath6kl_connect_event() 645 netif_wake_queue(vif->ndev); ath6kl_connect_event() 648 spin_lock_bh(&vif->if_lock); ath6kl_connect_event() 649 set_bit(CONNECTED, &vif->flags); ath6kl_connect_event() 650 clear_bit(CONNECT_PEND, &vif->flags); ath6kl_connect_event() 651 netif_carrier_on(vif->ndev); ath6kl_connect_event() 652 spin_unlock_bh(&vif->if_lock); ath6kl_connect_event() 654 aggr_reset_state(vif->aggr_cntxt->aggr_conn); ath6kl_connect_event() 655 vif->reconnect_flag = 0; ath6kl_connect_event() 657 if ((vif->nw_type == ADHOC_NETWORK) && ar->ibss_ps_enable) { ath6kl_connect_event() 664 set_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags); ath6kl_connect_event() 665 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_connect_event() 670 void ath6kl_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, bool ismcast) ath6kl_tkip_micerr_event() argument 673 struct ath6kl *ar = vif->ar; ath6kl_tkip_micerr_event() 680 if (vif->nw_type == AP_NETWORK) { ath6kl_tkip_micerr_event() 689 cfg80211_michael_mic_failure(vif->ndev, sta->mac, ath6kl_tkip_micerr_event() 693 ath6kl_cfg80211_tkip_micerr_event(vif, keyid, ismcast); ath6kl_tkip_micerr_event() 697 static void ath6kl_update_target_stats(struct ath6kl_vif *vif, u8 *ptr, u32 len) ath6kl_update_target_stats() argument 701 struct ath6kl *ar = vif->ar; ath6kl_update_target_stats() 702 struct target_stats *stats = &vif->target_stats; ath6kl_update_target_stats() 805 if (test_bit(STATS_UPDATE_PEND, &vif->flags)) { ath6kl_update_target_stats() 806 clear_bit(STATS_UPDATE_PEND, &vif->flags); ath6kl_update_target_stats() 816 void ath6kl_tgt_stats_event(struct ath6kl_vif *vif, u8 *ptr, u32 len) ath6kl_tgt_stats_event() argument 819 struct ath6kl *ar = vif->ar; ath6kl_tgt_stats_event() 824 if (vif->nw_type == AP_NETWORK) { ath6kl_tgt_stats_event() 843 ath6kl_update_target_stats(vif, ptr, len); ath6kl_tgt_stats_event() 862 void ath6kl_pspoll_event(struct ath6kl_vif *vif, u8 aid) ath6kl_pspoll_event() argument 867 struct ath6kl *ar = vif->ar; ath6kl_pspoll_event() 895 ath6kl_wmi_send_mgmt_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_pspoll_event() 906 ath6kl_data_tx(skb, vif->ndev); ath6kl_pspoll_event() 915 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, conn->aid, 0); ath6kl_pspoll_event() 918 void ath6kl_dtimexpiry_event(struct ath6kl_vif *vif) ath6kl_dtimexpiry_event() argument 922 struct ath6kl *ar = vif->ar; ath6kl_dtimexpiry_event() 944 set_bit(DTIM_EXPIRED, &vif->flags); ath6kl_dtimexpiry_event() 950 ath6kl_data_tx(skb, vif->ndev); ath6kl_dtimexpiry_event() 956 clear_bit(DTIM_EXPIRED, &vif->flags); ath6kl_dtimexpiry_event() 959 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, MCAST_AID, 0); ath6kl_dtimexpiry_event() 962 void ath6kl_disconnect_event(struct ath6kl_vif *vif, u8 reason, u8 *bssid, ath6kl_disconnect_event() argument 966 struct ath6kl *ar = vif->ar; ath6kl_disconnect_event() 968 if (vif->nw_type == AP_NETWORK) { ath6kl_disconnect_event() 969 /* disconnect due to other STA vif switching channels */ ath6kl_disconnect_event() 972 ar->want_ch_switch |= 1 << vif->fw_vif_idx; ath6kl_disconnect_event() 973 /* bail back to this channel if STA vif fails connect */ ath6kl_disconnect_event() 974 ar->last_ch = le16_to_cpu(vif->profile.ch); ath6kl_disconnect_event() 979 cfg80211_conn_failed(vif->ndev, bssid, ath6kl_disconnect_event() 986 cfg80211_conn_failed(vif->ndev, bssid, ath6kl_disconnect_event() 1002 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_disconnect_event() 1008 cfg80211_del_sta(vif->ndev, bssid, GFP_KERNEL); ath6kl_disconnect_event() 1011 if (memcmp(vif->ndev->dev_addr, bssid, ETH_ALEN) == 0) { ath6kl_disconnect_event() 1012 memset(vif->wep_key_list, 0, sizeof(vif->wep_key_list)); ath6kl_disconnect_event() 1013 clear_bit(CONNECTED, &vif->flags); ath6kl_disconnect_event() 1018 ath6kl_cfg80211_disconnect_event(vif, reason, bssid, ath6kl_disconnect_event() 1022 aggr_reset_state(vif->aggr_cntxt->aggr_conn); ath6kl_disconnect_event() 1024 del_timer(&vif->disconnect_timer); ath6kl_disconnect_event() 1035 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_disconnect_event() 1038 set_bit(CONNECT_PEND, &vif->flags); ath6kl_disconnect_event() 1042 (vif->reconnect_flag == 1))) { ath6kl_disconnect_event() 1043 set_bit(CONNECTED, &vif->flags); ath6kl_disconnect_event() 1052 spin_lock_bh(&vif->if_lock); ath6kl_disconnect_event() 1053 clear_bit(CONNECTED, &vif->flags); ath6kl_disconnect_event() 1054 netif_carrier_off(vif->ndev); ath6kl_disconnect_event() 1055 spin_unlock_bh(&vif->if_lock); ath6kl_disconnect_event() 1057 if ((reason != CSERV_DISCONNECT) || (vif->reconnect_flag != 1)) ath6kl_disconnect_event() 1058 vif->reconnect_flag = 0; ath6kl_disconnect_event() 1063 netif_stop_queue(vif->ndev); ath6kl_disconnect_event() 1064 memset(vif->bssid, 0, sizeof(vif->bssid)); ath6kl_disconnect_event() 1065 vif->bss_ch = 0; ath6kl_disconnect_event() 1072 struct ath6kl_vif *vif; ath6kl_vif_first() local 1080 vif = list_first_entry(&ar->vif_list, struct ath6kl_vif, list); ath6kl_vif_first() 1084 return vif; ath6kl_vif_first() 1089 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_open() local 1091 set_bit(WLAN_ENABLED, &vif->flags); ath6kl_open() 1093 if (test_bit(CONNECTED, &vif->flags)) { ath6kl_open() 1105 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_close() local 1109 ath6kl_cfg80211_stop(vif); ath6kl_close() 1111 clear_bit(WLAN_ENABLED, &vif->flags); ath6kl_close() 1118 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_get_stats() local 1120 return &vif->net_stats; ath6kl_get_stats() 1126 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_set_features() local 1127 struct ath6kl *ar = vif->ar; ath6kl_set_features() 1134 vif->fw_vif_idx, ath6kl_set_features() 1144 vif->fw_vif_idx, ath6kl_set_features() 1157 struct ath6kl_vif *vif = netdev_priv(ndev); ath6kl_set_multicast_list() local 1166 if (!test_bit(WMI_READY, &vif->ar->flag) || ath6kl_set_multicast_list() 1167 !test_bit(WLAN_ENABLED, &vif->flags)) ath6kl_set_multicast_list() 1176 set_bit(NETDEV_MCAST_ALL_ON, &vif->flags); ath6kl_set_multicast_list() 1178 clear_bit(NETDEV_MCAST_ALL_ON, &vif->flags); ath6kl_set_multicast_list() 1181 vif->ar->fw_capabilities)) { ath6kl_set_multicast_list() 1182 mc_all_on = mc_all_on || (vif->ar->state == ATH6KL_STATE_ON); ath6kl_set_multicast_list() 1187 set_bit(NETDEV_MCAST_ALL_OFF, &vif->flags); ath6kl_set_multicast_list() 1189 clear_bit(NETDEV_MCAST_ALL_OFF, &vif->flags); ath6kl_set_multicast_list() 1196 ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi, vif->fw_vif_idx, ath6kl_set_multicast_list() 1204 if (test_bit(NETDEV_MCAST_ALL_ON, &vif->flags)) ath6kl_set_multicast_list() 1208 list_for_each_entry_safe(mc_filter, tmp, &vif->mc_filter, list) { ath6kl_set_multicast_list() 1226 ret = ath6kl_wmi_add_del_mcast_filter_cmd(vif->ar->wmi, 1227 vif->fw_vif_idx, mc_filter->hw_addr, 1244 list_for_each_entry(mc_filter, &vif->mc_filter, list) { netdev_for_each_mc_addr() 1266 ret = ath6kl_wmi_add_del_mcast_filter_cmd(vif->ar->wmi, netdev_for_each_mc_addr() 1267 vif->fw_vif_idx, mc_filter->hw_addr, netdev_for_each_mc_addr() 1281 list_splice_tail(&mc_filter_new, &vif->mc_filter);
|
H A D | cfg80211.h | 31 void ath6kl_cfg80211_ch_switch_notify(struct ath6kl_vif *vif, int freq, 33 void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted); 35 void ath6kl_cfg80211_connect_event(struct ath6kl_vif *vif, u16 channel, 42 void ath6kl_cfg80211_disconnect_event(struct ath6kl_vif *vif, u8 reason, 46 void ath6kl_cfg80211_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, 55 void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif); 57 void ath6kl_cfg80211_stop(struct ath6kl_vif *vif);
|
H A D | txrx.c | 103 struct ath6kl_vif *vif, ath6kl_process_uapsdq() 107 struct ath6kl *ar = vif->ar; ath6kl_process_uapsdq() 132 if (test_bit(WMM_ENABLED, &vif->flags)) { ath6kl_process_uapsdq() 167 vif->fw_vif_idx, ath6kl_process_uapsdq() 176 struct ath6kl_vif *vif, ath6kl_process_psq() 181 struct ath6kl *ar = vif->ar; ath6kl_process_psq() 204 vif->fw_vif_idx, ath6kl_process_psq() 209 static bool ath6kl_powersave_ap(struct ath6kl_vif *vif, struct sk_buff *skb, ath6kl_powersave_ap() argument 215 struct ath6kl *ar = vif->ar; ath6kl_powersave_ap() 233 if (!test_bit(DTIM_EXPIRED, &vif->flags)) { ath6kl_powersave_ap() 249 vif->fw_vif_idx, ath6kl_powersave_ap() 265 conn = ath6kl_find_sta(vif, datap->h_dest); ath6kl_powersave_ap() 275 vif, skb, flags); ath6kl_powersave_ap() 278 vif, skb, flags); ath6kl_powersave_ap() 361 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_data_tx() local 378 if (!test_bit(CONNECTED, &vif->flags)) ath6kl_data_tx() 388 if (vif->nw_type == AP_NETWORK) { ath6kl_data_tx() 389 if (ath6kl_powersave_ap(vif, skb, &flags)) ath6kl_data_tx() 408 vif->net_stats.tx_dropped++; ath6kl_data_tx() 435 meta, vif->fw_vif_idx); ath6kl_data_tx() 443 if ((vif->nw_type == ADHOC_NETWORK) && ath6kl_data_tx() 444 ar->ibss_ps_enable && test_bit(CONNECTED, &vif->flags)) ath6kl_data_tx() 449 vif->fw_vif_idx, skb, ath6kl_data_tx() 450 0, test_bit(WMM_ENABLED, &vif->flags), &ac); ath6kl_data_tx() 523 vif->net_stats.tx_dropped++; ath6kl_data_tx() 524 vif->net_stats.tx_aborted_errors++; ath6kl_data_tx() 595 struct ath6kl_vif *vif; ath6kl_tx_queue_full() local 631 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_tx_queue_full() 632 if (vif->nw_type == ADHOC_NETWORK || ath6kl_tx_queue_full() 636 set_bit(NETQ_STOPPED, &vif->flags); ath6kl_tx_queue_full() 637 netif_stop_queue(vif->ndev); ath6kl_tx_queue_full() 648 static void ath6kl_tx_clear_node_map(struct ath6kl_vif *vif, ath6kl_tx_clear_node_map() argument 651 struct ath6kl *ar = vif->ar; ath6kl_tx_clear_node_map() 654 if (vif->nw_type != ADHOC_NETWORK) ath6kl_tx_clear_node_map() 699 struct ath6kl_vif *vif; ath6kl_tx_complete() local 759 vif = ath6kl_get_vif_by_index(ar, if_idx); ath6kl_tx_complete() 760 if (!vif) { ath6kl_tx_complete() 770 vif->net_stats.tx_errors++; ath6kl_tx_complete() 786 vif->net_stats.tx_packets++; ath6kl_tx_complete() 787 vif->net_stats.tx_bytes += skb->len; ath6kl_tx_complete() 790 ath6kl_tx_clear_node_map(vif, eid, map_no); ath6kl_tx_complete() 794 if (test_bit(NETQ_STOPPED, &vif->flags)) ath6kl_tx_complete() 795 clear_bit(NETQ_STOPPED, &vif->flags); ath6kl_tx_complete() 804 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_tx_complete() 805 if (test_bit(CONNECTED, &vif->flags) && ath6kl_tx_complete() 806 !flushing[vif->fw_vif_idx]) { ath6kl_tx_complete() 808 netif_wake_queue(vif->ndev); ath6kl_tx_complete() 1237 static void ath6kl_uapsd_trigger_frame_rx(struct ath6kl_vif *vif, ath6kl_uapsd_trigger_frame_rx() argument 1240 struct ath6kl *ar = vif->ar; ath6kl_uapsd_trigger_frame_rx() 1287 ath6kl_data_tx(skb, vif->ndev); ath6kl_uapsd_trigger_frame_rx() 1299 vif->fw_vif_idx, ath6kl_uapsd_trigger_frame_rx() 1322 struct ath6kl_vif *vif; ath6kl_rx() local 1356 vif = ath6kl_get_vif_by_index(ar, if_idx); ath6kl_rx() 1357 if (!vif) { ath6kl_rx() 1366 spin_lock_bh(&vif->if_lock); ath6kl_rx() 1368 vif->net_stats.rx_packets++; ath6kl_rx() 1369 vif->net_stats.rx_bytes += packet->act_len; ath6kl_rx() 1371 spin_unlock_bh(&vif->if_lock); ath6kl_rx() 1373 skb->dev = vif->ndev; ath6kl_rx() 1378 ath6kl_deliver_frames_to_nw_stack(vif->ndev, skb); ath6kl_rx() 1394 if (vif->nw_type != AP_NETWORK && ath6kl_rx() 1398 vif->net_stats.rx_errors++; ath6kl_rx() 1399 vif->net_stats.rx_length_errors++; ath6kl_rx() 1405 if (vif->nw_type == AP_NETWORK) { ath6kl_rx() 1428 conn = ath6kl_find_sta(vif, datap->h_source); ath6kl_rx() 1453 ath6kl_uapsd_trigger_frame_rx(vif, conn); ath6kl_rx() 1471 idx = vif->fw_vif_idx; ath6kl_rx() 1488 ath6kl_data_tx(skbuff, vif->ndev); ath6kl_rx() 1495 ath6kl_data_tx(skbuff, vif->ndev); ath6kl_rx() 1503 vif->fw_vif_idx, ath6kl_rx() 1507 ath6kl_wmi_set_pvb_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_rx() 1564 if (!(vif->ndev->flags & IFF_UP)) { ath6kl_rx() 1569 if (vif->nw_type == AP_NETWORK) { ath6kl_rx() 1584 conn = ath6kl_find_sta(vif, datap->h_dest); ath6kl_rx() 1595 ath6kl_data_tx(skb1, vif->ndev); ath6kl_rx() 1606 if (vif->nw_type == AP_NETWORK) { ath6kl_rx() 1607 conn = ath6kl_find_sta(vif, datap->h_source); ath6kl_rx() 1612 aggr_conn = vif->aggr_cntxt->aggr_conn; ath6kl_rx() 1621 vif->net_stats.multicast++; ath6kl_rx() 1624 ath6kl_deliver_frames_to_nw_stack(vif->ndev, skb); ath6kl_rx() 1702 void aggr_recv_addba_req_evt(struct ath6kl_vif *vif, u8 tid_mux, u16 seq_no, aggr_recv_addba_req_evt() argument 1712 if (vif->nw_type == AP_NETWORK) { aggr_recv_addba_req_evt() 1714 sta = ath6kl_find_sta_by_aid(vif->ar, aid); aggr_recv_addba_req_evt() 1718 aggr_conn = vif->aggr_cntxt->aggr_conn; aggr_recv_addba_req_evt() 1752 void aggr_conn_init(struct ath6kl_vif *vif, struct aggr_info *aggr_info, aggr_conn_init() argument 1759 aggr_conn->dev = vif->ndev; aggr_conn_init() 1776 struct aggr_info *aggr_init(struct ath6kl_vif *vif) aggr_init() argument 1793 aggr_conn_init(vif, p_aggr, p_aggr->aggr_conn); aggr_init() 1801 void aggr_recv_delba_req_evt(struct ath6kl_vif *vif, u8 tid_mux) aggr_recv_delba_req_evt() argument 1808 if (vif->nw_type == AP_NETWORK) { aggr_recv_delba_req_evt() 1810 sta = ath6kl_find_sta_by_aid(vif->ar, aid); aggr_recv_delba_req_evt() 1814 aggr_conn = vif->aggr_cntxt->aggr_conn; aggr_recv_delba_req_evt() 102 ath6kl_process_uapsdq(struct ath6kl_sta *conn, struct ath6kl_vif *vif, struct sk_buff *skb, u32 *flags) ath6kl_process_uapsdq() argument 175 ath6kl_process_psq(struct ath6kl_sta *conn, struct ath6kl_vif *vif, struct sk_buff *skb, u32 *flags) ath6kl_process_psq() argument
|
H A D | core.h | 577 * Driver's maximum limit, note that some firmwares support only one vif 582 /* vif flags info */ 604 /* Lock to protect vif specific net_stats and flags */ 912 void ath6kl_init_profile_info(struct ath6kl_vif *vif); 919 struct aggr_info *aggr_init(struct ath6kl_vif *vif); 920 void aggr_conn_init(struct ath6kl_vif *vif, struct aggr_info *aggr_info, 931 struct ath6kl_sta *ath6kl_find_sta(struct ath6kl_vif *vif, u8 *node_addr); 938 void ath6kl_connect_event(struct ath6kl_vif *vif, u16 channel, 943 void ath6kl_connect_ap_mode_bss(struct ath6kl_vif *vif, u16 channel); 944 void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr, 947 void ath6kl_disconnect_event(struct ath6kl_vif *vif, u8 reason, 950 void ath6kl_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, bool ismcast); 952 void ath6kl_scan_complete_evt(struct ath6kl_vif *vif, int status); 953 void ath6kl_tgt_stats_event(struct ath6kl_vif *vif, u8 *ptr, u32 len); 957 void ath6kl_pspoll_event(struct ath6kl_vif *vif, u8 aid); 959 void ath6kl_dtimexpiry_event(struct ath6kl_vif *vif); 960 void ath6kl_disconnect(struct ath6kl_vif *vif); 961 void aggr_recv_delba_req_evt(struct ath6kl_vif *vif, u8 tid); 962 void aggr_recv_addba_req_evt(struct ath6kl_vif *vif, u8 tid, u16 seq_no, 966 void ath6kl_init_control_info(struct ath6kl_vif *vif); 968 void ath6kl_cfg80211_vif_stop(struct ath6kl_vif *vif, bool wmi_ready);
|
H A D | init.c | 233 void ath6kl_init_profile_info(struct ath6kl_vif *vif) ath6kl_init_profile_info() argument 235 vif->ssid_len = 0; ath6kl_init_profile_info() 236 memset(vif->ssid, 0, sizeof(vif->ssid)); ath6kl_init_profile_info() 238 vif->dot11_auth_mode = OPEN_AUTH; ath6kl_init_profile_info() 239 vif->auth_mode = NONE_AUTH; ath6kl_init_profile_info() 240 vif->prwise_crypto = NONE_CRYPT; ath6kl_init_profile_info() 241 vif->prwise_crypto_len = 0; ath6kl_init_profile_info() 242 vif->grp_crypto = NONE_CRYPT; ath6kl_init_profile_info() 243 vif->grp_crypto_len = 0; ath6kl_init_profile_info() 244 memset(vif->wep_key_list, 0, sizeof(vif->wep_key_list)); ath6kl_init_profile_info() 245 memset(vif->req_bssid, 0, sizeof(vif->req_bssid)); ath6kl_init_profile_info() 246 memset(vif->bssid, 0, sizeof(vif->bssid)); ath6kl_init_profile_info() 247 vif->bss_ch = 0; ath6kl_init_profile_info() 403 void ath6kl_init_control_info(struct ath6kl_vif *vif) ath6kl_init_control_info() argument 405 ath6kl_init_profile_info(vif); ath6kl_init_control_info() 406 vif->def_txkey_index = 0; ath6kl_init_control_info() 407 memset(vif->wep_key_list, 0, sizeof(vif->wep_key_list)); ath6kl_init_control_info() 408 vif->ch_hint = 0; ath6kl_init_control_info() 563 * vif[0] - AP/STA/IBSS ath6kl_configure_target() 564 * vif[1] - "P2P dev"/"P2P GO"/"P2P Client" ath6kl_configure_target() 565 * vif[2] - "P2P dev"/"P2P GO"/"P2P Client" ath6kl_configure_target() 1110 "found vif max ie %d\n", ar->vif_max); ath6kl_fetch_fw_apin() 1865 struct ath6kl_vif *vif, *tmp_vif; ath6kl_stop_txrx() local 1879 list_for_each_entry_safe(vif, tmp_vif, &ar->vif_list, list) { ath6kl_stop_txrx() 1880 list_del(&vif->list); ath6kl_stop_txrx() 1882 ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag)); ath6kl_stop_txrx() 1884 ath6kl_cfg80211_vif_cleanup(vif); ath6kl_stop_txrx()
|
H A D | wmi.c | 138 struct ath6kl_vif *vif, *found = NULL; ath6kl_get_vif_by_index() local 145 list_for_each_entry(vif, &ar->vif_list, list) { ath6kl_get_vif_by_index() 146 if (vif->fw_vif_idx == if_idx) { ath6kl_get_vif_by_index() 147 found = vif; ath6kl_get_vif_by_index() 504 int len, struct ath6kl_vif *vif) ath6kl_wmi_remain_on_chnl_event_rx() 528 id = vif->last_roc_id; ath6kl_wmi_remain_on_chnl_event_rx() 529 cfg80211_ready_on_channel(&vif->wdev, id, chan, ath6kl_wmi_remain_on_chnl_event_rx() 537 struct ath6kl_vif *vif) ath6kl_wmi_cancel_remain_on_chnl_event_rx() 562 if (vif->last_cancel_roc_id && ath6kl_wmi_cancel_remain_on_chnl_event_rx() 563 vif->last_cancel_roc_id + 1 == vif->last_roc_id) ath6kl_wmi_cancel_remain_on_chnl_event_rx() 564 id = vif->last_cancel_roc_id; /* event for cancel command */ ath6kl_wmi_cancel_remain_on_chnl_event_rx() 566 id = vif->last_roc_id; /* timeout on uncanceled r-o-c */ ath6kl_wmi_cancel_remain_on_chnl_event_rx() 567 vif->last_cancel_roc_id = 0; ath6kl_wmi_cancel_remain_on_chnl_event_rx() 568 cfg80211_remain_on_channel_expired(&vif->wdev, id, chan, GFP_ATOMIC); ath6kl_wmi_cancel_remain_on_chnl_event_rx() 574 struct ath6kl_vif *vif) ath6kl_wmi_tx_status_event_rx() 587 cfg80211_mgmt_tx_status(&vif->wdev, id, ath6kl_wmi_tx_status_event_rx() 600 struct ath6kl_vif *vif) ath6kl_wmi_rx_probe_req_event_rx() 619 dlen, freq, vif->probe_req_report); ath6kl_wmi_rx_probe_req_event_rx() 621 if (vif->probe_req_report || vif->nw_type == AP_NETWORK) ath6kl_wmi_rx_probe_req_event_rx() 622 cfg80211_rx_mgmt(&vif->wdev, freq, 0, ev->data, dlen, 0); ath6kl_wmi_rx_probe_req_event_rx() 643 struct ath6kl_vif *vif) ath6kl_wmi_rx_action_event_rx() 661 cfg80211_rx_mgmt(&vif->wdev, freq, 0, ev->data, dlen, 0); ath6kl_wmi_rx_action_event_rx() 857 struct ath6kl_vif *vif) ath6kl_wmi_connect_event_rx() 867 if (vif->nw_type == AP_NETWORK) { ath6kl_wmi_connect_event_rx() 869 struct net_device *dev = vif->ndev; ath6kl_wmi_connect_event_rx() 876 vif, le16_to_cpu(ev->u.ap_bss.ch)); ath6kl_wmi_connect_event_rx() 888 vif, ev->u.ap_sta.aid, ev->u.ap_sta.mac_addr, ath6kl_wmi_connect_event_rx() 934 ath6kl_connect_event(vif, le16_to_cpu(ev->u.sta.ch), ath6kl_wmi_connect_event_rx() 1023 struct ath6kl_vif *vif) ath6kl_wmi_disconnect_event_rx() 1040 ath6kl_disconnect_event(vif, ev->disconn_reason, ath6kl_wmi_disconnect_event_rx() 1067 struct ath6kl_vif *vif) ath6kl_wmi_tkip_micerr_event_rx() 1076 ath6kl_tkip_micerr_event(vif, ev->key_id, ev->is_mcast); ath6kl_wmi_tkip_micerr_event_rx() 1083 struct ath6kl_vif *vif = (struct ath6kl_vif *) ptr; ath6kl_wmi_sscan_timer() local 1085 cfg80211_sched_scan_results(vif->ar->wiphy); ath6kl_wmi_sscan_timer() 1089 struct ath6kl_vif *vif) ath6kl_wmi_bssinfo_event_rx() 1115 test_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags)) { ath6kl_wmi_bssinfo_event_rx() 1116 clear_bit(CLEAR_BSSFILTER_ON_BEACON, &vif->flags); ath6kl_wmi_bssinfo_event_rx() 1117 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_wmi_bssinfo_event_rx() 1129 test_bit(CONNECTED, &vif->flags) && ath6kl_wmi_bssinfo_event_rx() 1130 memcmp(bih->bssid, vif->bssid, ETH_ALEN) == 0) { ath6kl_wmi_bssinfo_event_rx() 1135 vif->assoc_bss_dtim_period = tim[3]; ath6kl_wmi_bssinfo_event_rx() 1136 set_bit(DTIM_PERIOD_AVAIL, &vif->flags); ath6kl_wmi_bssinfo_event_rx() 1162 if (test_bit(SCHED_SCANNING, &vif->flags) && ath6kl_wmi_bssinfo_event_rx() 1163 !timer_pending(&vif->sched_scan_timer)) { ath6kl_wmi_bssinfo_event_rx() 1164 mod_timer(&vif->sched_scan_timer, jiffies + ath6kl_wmi_bssinfo_event_rx() 1279 struct ath6kl_vif *vif) ath6kl_wmi_scan_complete_rx() 1285 ath6kl_scan_complete_evt(vif, a_sle32_to_cpu(ev->status)); ath6kl_wmi_scan_complete_rx() 1292 int len, struct ath6kl_vif *vif) ath6kl_wmi_neighbor_report_event_rx() 1311 cfg80211_pmksa_candidate_notify(vif->ndev, i, ath6kl_wmi_neighbor_report_event_rx() 1353 struct ath6kl_vif *vif) ath6kl_wmi_stats_event_rx() 1355 ath6kl_tgt_stats_event(vif, datap, len); ath6kl_wmi_stats_event_rx() 1510 struct ath6kl_vif *vif) ath6kl_wmi_cac_event_rx() 1530 ath6kl_wmi_delete_pstream_cmd(wmi, vif->fw_vif_idx, ath6kl_wmi_cac_event_rx() 1546 ath6kl_wmi_delete_pstream_cmd(wmi, vif->fw_vif_idx, ath6kl_wmi_cac_event_rx() 1579 struct ath6kl_vif *vif) ath6kl_wmi_txe_notify_event_rx() 1587 if (vif->sme_state != SME_CONNECTED) ath6kl_wmi_txe_notify_event_rx() 1595 vif->bssid, rate, pkts, vif->txe_intvl); ath6kl_wmi_txe_notify_event_rx() 1597 cfg80211_cqm_txe_notify(vif->ndev, vif->bssid, pkts, ath6kl_wmi_txe_notify_event_rx() 1598 rate, vif->txe_intvl, GFP_KERNEL); ath6kl_wmi_txe_notify_event_rx() 2087 ath6kl_dbg(ATH6KL_DBG_WMI, "%s scheduled scan on vif %d\n", ath6kl_wmi_enable_sched_scan_cmd() 2905 struct ath6kl_vif *vif) ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx() 2909 set_bit(HOST_SLEEP_MODE_CMD_PROCESSED, &vif->flags); ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx() 3357 struct ath6kl_vif *vif) ath6kl_wmi_addba_req_event_rx() 3361 aggr_recv_addba_req_evt(vif, cmd->tid, ath6kl_wmi_addba_req_event_rx() 3368 struct ath6kl_vif *vif) ath6kl_wmi_delba_req_event_rx() 3372 aggr_recv_delba_req_evt(vif, cmd->tid); ath6kl_wmi_delba_req_event_rx() 3478 struct ath6kl_vif *vif) ath6kl_wmi_pspoll_event_rx() 3487 ath6kl_pspoll_event(vif, le16_to_cpu(ev->aid)); ath6kl_wmi_pspoll_event_rx() 3493 struct ath6kl_vif *vif) ath6kl_wmi_dtimexpiry_event_rx() 3495 ath6kl_dtimexpiry_event(vif); ath6kl_wmi_dtimexpiry_event_rx() 3885 struct ath6kl_vif *vif; ath6kl_wmi_proc_events_vif() local 3887 vif = ath6kl_get_vif_by_index(wmi->parent_dev, if_idx); ath6kl_wmi_proc_events_vif() 3888 if (!vif) { ath6kl_wmi_proc_events_vif() 3890 "Wmi event for unavailable vif, vif_index:%d\n", ath6kl_wmi_proc_events_vif() 3898 return ath6kl_wmi_connect_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3901 return ath6kl_wmi_disconnect_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3904 return ath6kl_wmi_tkip_micerr_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3907 return ath6kl_wmi_bssinfo_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3911 vif); ath6kl_wmi_proc_events_vif() 3914 return ath6kl_wmi_scan_complete_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3917 return ath6kl_wmi_stats_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3920 return ath6kl_wmi_cac_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3923 return ath6kl_wmi_pspoll_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3926 return ath6kl_wmi_dtimexpiry_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3929 return ath6kl_wmi_addba_req_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3932 return ath6kl_wmi_delba_req_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3936 return ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx(wmi, vif); ath6kl_wmi_proc_events_vif() 3939 return ath6kl_wmi_remain_on_chnl_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3944 len, vif); ath6kl_wmi_proc_events_vif() 3947 return ath6kl_wmi_tx_status_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3950 return ath6kl_wmi_rx_probe_req_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3953 return ath6kl_wmi_rx_action_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 3956 return ath6kl_wmi_txe_notify_event_rx(wmi, datap, len, vif); ath6kl_wmi_proc_events_vif() 503 ath6kl_wmi_remain_on_chnl_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_remain_on_chnl_event_rx() argument 535 ath6kl_wmi_cancel_remain_on_chnl_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_cancel_remain_on_chnl_event_rx() argument 573 ath6kl_wmi_tx_status_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_tx_status_event_rx() argument 599 ath6kl_wmi_rx_probe_req_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_rx_probe_req_event_rx() argument 642 ath6kl_wmi_rx_action_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_rx_action_event_rx() argument 856 ath6kl_wmi_connect_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_connect_event_rx() argument 1022 ath6kl_wmi_disconnect_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_disconnect_event_rx() argument 1066 ath6kl_wmi_tkip_micerr_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_tkip_micerr_event_rx() argument 1088 ath6kl_wmi_bssinfo_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_bssinfo_event_rx() argument 1278 ath6kl_wmi_scan_complete_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_scan_complete_rx() argument 1291 ath6kl_wmi_neighbor_report_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_neighbor_report_event_rx() argument 1352 ath6kl_wmi_stats_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_stats_event_rx() argument 1509 ath6kl_wmi_cac_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_cac_event_rx() argument 1578 ath6kl_wmi_txe_notify_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_txe_notify_event_rx() argument 2904 ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx(struct wmi *wmi, struct ath6kl_vif *vif) ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx() argument 3356 ath6kl_wmi_addba_req_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_addba_req_event_rx() argument 3367 ath6kl_wmi_delba_req_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_delba_req_event_rx() argument 3477 ath6kl_wmi_pspoll_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_pspoll_event_rx() argument 3492 ath6kl_wmi_dtimexpiry_event_rx(struct wmi *wmi, u8 *datap, int len, struct ath6kl_vif *vif) ath6kl_wmi_dtimexpiry_event_rx() argument
|
H A D | debug.c | 101 int ath6kl_read_tgt_stats(struct ath6kl *ar, struct ath6kl_vif *vif) ath6kl_read_tgt_stats() argument 108 set_bit(STATS_UPDATE_PEND, &vif->flags); ath6kl_read_tgt_stats() 117 &vif->flags), WMI_TIMEOUT); ath6kl_read_tgt_stats() 569 struct ath6kl_vif *vif; read_file_tgt_stats() local 577 vif = ath6kl_vif_first(ar); read_file_tgt_stats() 578 if (!vif) read_file_tgt_stats() 585 rv = ath6kl_read_tgt_stats(ar, vif); read_file_tgt_stats() 591 tgt_stats = &vif->target_stats; read_file_tgt_stats() 1395 struct ath6kl_vif *vif; ath6kl_create_qos_write() local 1403 vif = ath6kl_vif_first(ar); ath6kl_create_qos_write() 1404 if (!vif) ath6kl_create_qos_write() 1556 ath6kl_wmi_create_pstream_cmd(ar->wmi, vif->fw_vif_idx, &pstream); ath6kl_create_qos_write() 1573 struct ath6kl_vif *vif; ath6kl_delete_qos_write() local 1580 vif = ath6kl_vif_first(ar); ath6kl_delete_qos_write() 1581 if (!vif) ath6kl_delete_qos_write() 1602 ath6kl_wmi_delete_pstream_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_delete_qos_write() 1620 struct ath6kl_vif *vif; ath6kl_bgscan_int_write() local 1625 vif = ath6kl_vif_first(ar); ath6kl_bgscan_int_write() 1626 if (!vif) ath6kl_bgscan_int_write() 1640 vif->bg_scan_period = bgscan_int; ath6kl_bgscan_int_write() 1660 struct ath6kl_vif *vif; ath6kl_listen_int_write() local 1665 vif = ath6kl_vif_first(ar); ath6kl_listen_int_write() 1666 if (!vif) ath6kl_listen_int_write() 1680 vif->listen_intvl_t = listen_interval; ath6kl_listen_int_write() 1681 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_listen_int_write() 1682 vif->listen_intvl_t, 0); ath6kl_listen_int_write() 1692 struct ath6kl_vif *vif; ath6kl_listen_int_read() local 1696 vif = ath6kl_vif_first(ar); ath6kl_listen_int_read() 1697 if (!vif) ath6kl_listen_int_read() 1700 len = scnprintf(buf, sizeof(buf), "%u\n", vif->listen_intvl_t); ath6kl_listen_int_read()
|
H A D | debug.h | 62 int ath6kl_read_tgt_stats(struct ath6kl *ar, struct ath6kl_vif *vif);
|
/linux-4.4.14/drivers/net/xen-netback/ |
H A D | interface.c | 72 int xenvif_schedulable(struct xenvif *vif) xenvif_schedulable() argument 74 return netif_running(vif->dev) && xenvif_schedulable() 75 test_bit(VIF_STATUS_CONNECTED, &vif->status) && xenvif_schedulable() 76 !vif->disabled; xenvif_schedulable() 95 /* This vif is rogue, we pretend we've there is nothing to do xenvif_poll() 96 * for this vif to deschedule it from NAPI. But this interface xenvif_poll() 99 if (unlikely(queue->vif->disabled)) { xenvif_poll() 133 struct net_device *dev = queue->vif->dev; xenvif_queue_stopped() 140 struct net_device *dev = queue->vif->dev; xenvif_wake_queue() 147 struct xenvif *vif = netdev_priv(dev); xenvif_start_xmit() local 149 unsigned int num_queues = vif->num_queues; xenvif_start_xmit() 163 index, vif->dev->name); xenvif_start_xmit() 166 queue = &vif->queues[index]; xenvif_start_xmit() 171 !xenvif_schedulable(vif)) xenvif_start_xmit() 174 if (vif->multicast_control && skb->pkt_type == PACKET_MULTICAST) { xenvif_start_xmit() 177 if (!xenvif_mcast_match(vif, eth->h_dest)) xenvif_start_xmit() 182 cb->expires = jiffies + vif->drain_timeout; xenvif_start_xmit() 190 vif->dev->stats.tx_dropped++; xenvif_start_xmit() 197 struct xenvif *vif = netdev_priv(dev); xenvif_get_stats() local 199 unsigned int num_queues = vif->num_queues; xenvif_get_stats() 206 if (vif->queues == NULL) xenvif_get_stats() 211 queue = &vif->queues[index]; xenvif_get_stats() 219 vif->dev->stats.rx_bytes = rx_bytes; xenvif_get_stats() 220 vif->dev->stats.rx_packets = rx_packets; xenvif_get_stats() 221 vif->dev->stats.tx_bytes = tx_bytes; xenvif_get_stats() 222 vif->dev->stats.tx_packets = tx_packets; xenvif_get_stats() 224 return &vif->dev->stats; xenvif_get_stats() 227 static void xenvif_up(struct xenvif *vif) xenvif_up() argument 230 unsigned int num_queues = vif->num_queues; xenvif_up() 234 queue = &vif->queues[queue_index]; xenvif_up() 243 static void xenvif_down(struct xenvif *vif) xenvif_down() argument 246 unsigned int num_queues = vif->num_queues; xenvif_down() 250 queue = &vif->queues[queue_index]; xenvif_down() 261 struct xenvif *vif = netdev_priv(dev); xenvif_open() local 262 if (test_bit(VIF_STATUS_CONNECTED, &vif->status)) xenvif_open() 263 xenvif_up(vif); xenvif_open() 270 struct xenvif *vif = netdev_priv(dev); xenvif_close() local 271 if (test_bit(VIF_STATUS_CONNECTED, &vif->status)) xenvif_close() 272 xenvif_down(vif); xenvif_close() 279 struct xenvif *vif = netdev_priv(dev); xenvif_change_mtu() local 280 int max = vif->can_sg ? 65535 - VLAN_ETH_HLEN : ETH_DATA_LEN; xenvif_change_mtu() 291 struct xenvif *vif = netdev_priv(dev); xenvif_fix_features() local 293 if (!vif->can_sg) xenvif_fix_features() 295 if (~(vif->gso_mask | vif->gso_prefix_mask) & GSO_BIT(TCPV4)) xenvif_fix_features() 297 if (~(vif->gso_mask | vif->gso_prefix_mask) & GSO_BIT(TCPV6)) xenvif_fix_features() 299 if (!vif->ip_csum) xenvif_fix_features() 301 if (!vif->ipv6_csum) xenvif_fix_features() 352 struct xenvif *vif = netdev_priv(dev); xenvif_get_ethtool_stats() local 353 unsigned int num_queues = vif->num_queues; xenvif_get_ethtool_stats() 360 void *vif_stats = &vif->queues[queue_index].stats; xenvif_get_ethtool_stats() 404 struct xenvif *vif; xenvif_alloc() local 407 snprintf(name, IFNAMSIZ - 1, "vif%u.%u", domid, handle); xenvif_alloc() 421 vif = netdev_priv(dev); xenvif_alloc() 423 vif->domid = domid; xenvif_alloc() 424 vif->handle = handle; xenvif_alloc() 425 vif->can_sg = 1; xenvif_alloc() 426 vif->ip_csum = 1; xenvif_alloc() 427 vif->dev = dev; xenvif_alloc() 428 vif->disabled = false; xenvif_alloc() 429 vif->drain_timeout = msecs_to_jiffies(rx_drain_timeout_msecs); xenvif_alloc() 430 vif->stall_timeout = msecs_to_jiffies(rx_stall_timeout_msecs); xenvif_alloc() 433 vif->queues = NULL; xenvif_alloc() 434 vif->num_queues = 0; xenvif_alloc() 436 spin_lock_init(&vif->lock); xenvif_alloc() 437 INIT_LIST_HEAD(&vif->fe_mcast_addr); xenvif_alloc() 470 return vif; xenvif_alloc() 503 netdev_err(queue->vif->dev, "Could not reserve mmap_pages\n"); xenvif_init_queue() 518 void xenvif_carrier_on(struct xenvif *vif) xenvif_carrier_on() argument 521 if (!vif->can_sg && vif->dev->mtu > ETH_DATA_LEN) xenvif_carrier_on() 522 dev_set_mtu(vif->dev, ETH_DATA_LEN); xenvif_carrier_on() 523 netdev_update_features(vif->dev); xenvif_carrier_on() 524 set_bit(VIF_STATUS_CONNECTED, &vif->status); xenvif_carrier_on() 525 if (netif_running(vif->dev)) xenvif_carrier_on() 526 xenvif_up(vif); xenvif_carrier_on() 549 netif_napi_add(queue->vif->dev, &queue->napi, xenvif_poll, xenvif_connect() 555 queue->vif->domid, tx_evtchn, xenvif_interrupt, 0, xenvif_connect() 566 queue->vif->domid, tx_evtchn, xenvif_tx_interrupt, 0, xenvif_connect() 576 queue->vif->domid, rx_evtchn, xenvif_rx_interrupt, 0, xenvif_connect() 623 void xenvif_carrier_off(struct xenvif *vif) xenvif_carrier_off() argument 625 struct net_device *dev = vif->dev; xenvif_carrier_off() 628 if (test_and_clear_bit(VIF_STATUS_CONNECTED, &vif->status)) { xenvif_carrier_off() 631 xenvif_down(vif); xenvif_carrier_off() 636 void xenvif_disconnect(struct xenvif *vif) xenvif_disconnect() argument 639 unsigned int num_queues = vif->num_queues; xenvif_disconnect() 642 xenvif_carrier_off(vif); xenvif_disconnect() 645 queue = &vif->queues[queue_index]; xenvif_disconnect() 673 xenvif_mcast_addr_list_free(vif); xenvif_disconnect() 685 void xenvif_free(struct xenvif *vif) xenvif_free() argument 688 unsigned int num_queues = vif->num_queues; xenvif_free() 691 unregister_netdev(vif->dev); xenvif_free() 694 queue = &vif->queues[queue_index]; xenvif_free() 698 vfree(vif->queues); xenvif_free() 699 vif->queues = NULL; xenvif_free() 700 vif->num_queues = 0; xenvif_free() 702 free_netdev(vif->dev); xenvif_free()
|
H A D | xenbus.c | 27 struct xenvif *vif; member in struct:backend_info 46 static void xen_unregister_watchers(struct xenvif *vif); 119 dev_queue = netdev_get_tx_queue(queue->vif->dev, queue->id); xenvif_read_io_ring() 188 static void xenvif_debugfs_addif(struct xenvif *vif) xenvif_debugfs_addif() argument 196 vif->xenvif_dbg_root = debugfs_create_dir(vif->dev->name, xenvif_debugfs_addif() 198 if (!IS_ERR_OR_NULL(vif->xenvif_dbg_root)) { xenvif_debugfs_addif() 199 for (i = 0; i < vif->num_queues; ++i) { xenvif_debugfs_addif() 205 vif->xenvif_dbg_root, xenvif_debugfs_addif() 206 &vif->queues[i], xenvif_debugfs_addif() 213 netdev_warn(vif->dev, xenvif_debugfs_addif() 214 "Creation of vif debugfs dir returned %ld!\n", xenvif_debugfs_addif() 215 PTR_ERR(vif->xenvif_dbg_root)); xenvif_debugfs_addif() 218 static void xenvif_debugfs_delif(struct xenvif *vif) xenvif_debugfs_delif() argument 223 if (!IS_ERR_OR_NULL(vif->xenvif_dbg_root)) xenvif_debugfs_delif() 224 debugfs_remove_recursive(vif->xenvif_dbg_root); xenvif_debugfs_delif() 225 vif->xenvif_dbg_root = NULL; xenvif_debugfs_delif() 236 if (be->vif) { netback_remove() 238 xen_unregister_watchers(be->vif); netback_remove() 240 xenvif_free(be->vif); netback_remove() 241 be->vif = NULL; netback_remove() 396 * and vif variables to the environment, for the benefit of the vif-* hotplug 410 if (!be->vif) netback_uevent() 413 return add_uevent_var(env, "vif=%s", be->vif->dev->name); netback_uevent() 422 struct xenvif *vif; backend_create_xenvif() local 424 if (be->vif != NULL) backend_create_xenvif() 433 vif = xenvif_alloc(&dev->dev, dev->otherend_id, handle); backend_create_xenvif() 434 if (IS_ERR(vif)) { backend_create_xenvif() 435 err = PTR_ERR(vif); backend_create_xenvif() 439 be->vif = vif; backend_create_xenvif() 447 if (be->vif) { backend_disconnect() 448 xen_unregister_watchers(be->vif); backend_disconnect() 450 xenvif_debugfs_delif(be->vif); backend_disconnect() 452 xenvif_disconnect(be->vif); backend_disconnect() 458 if (be->vif) backend_connect() 667 struct xenvif *vif = container_of(watch, struct xenvif, credit_watch); xen_net_rate_changed() local 668 struct xenbus_device *dev = xenvif_to_xenbus_device(vif); xen_net_rate_changed() 674 for (queue_index = 0; queue_index < vif->num_queues; queue_index++) { xen_net_rate_changed() 675 struct xenvif_queue *queue = &vif->queues[queue_index]; xen_net_rate_changed() 686 static int xen_register_watchers(struct xenbus_device *dev, struct xenvif *vif) xen_register_watchers() argument 692 if (vif->credit_watch.node) xen_register_watchers() 699 vif->credit_watch.node = node; xen_register_watchers() 700 vif->credit_watch.callback = xen_net_rate_changed; xen_register_watchers() 701 err = register_xenbus_watch(&vif->credit_watch); xen_register_watchers() 703 pr_err("Failed to set watcher %s\n", vif->credit_watch.node); xen_register_watchers() 705 vif->credit_watch.node = NULL; xen_register_watchers() 706 vif->credit_watch.callback = NULL; xen_register_watchers() 711 static void xen_unregister_watchers(struct xenvif *vif) xen_unregister_watchers() argument 713 if (vif->credit_watch.node) { xen_unregister_watchers() 714 unregister_xenbus_watch(&vif->credit_watch); xen_unregister_watchers() 715 kfree(vif->credit_watch.node); xen_unregister_watchers() 716 vif->credit_watch.node = NULL; xen_unregister_watchers() 777 err = xen_net_read_mac(dev, be->vif->fe_dev_addr); connect() 784 xen_unregister_watchers(be->vif); connect() 785 xen_register_watchers(dev, be->vif); connect() 789 be->vif->queues = vzalloc(requested_num_queues * connect() 791 if (!be->vif->queues) { connect() 797 be->vif->num_queues = requested_num_queues; connect() 798 be->vif->stalled_queues = requested_num_queues; connect() 801 queue = &be->vif->queues[queue_index]; connect() 802 queue->vif = be->vif; connect() 805 be->vif->dev->name, queue->id); connect() 815 be->vif->num_queues = queue_index; connect() 830 be->vif->num_queues = queue_index; connect() 836 xenvif_debugfs_addif(be->vif); connect() 843 netif_set_real_num_tx_queues(be->vif->dev, requested_num_queues); connect() 844 netif_set_real_num_rx_queues(be->vif->dev, requested_num_queues); connect() 847 xenvif_carrier_on(be->vif); connect() 856 netif_tx_wake_all_queues(be->vif->dev); connect() 861 if (be->vif->num_queues > 0) connect() 862 xenvif_disconnect(be->vif); /* Clean up existing queues */ connect() 863 vfree(be->vif->queues); connect() 864 be->vif->queues = NULL; connect() 865 be->vif->num_queues = 0; connect() 873 unsigned int num_queues = queue->vif->num_queues; connect_rings() 952 struct xenvif *vif = be->vif; read_xenbus_vif_flags() local 979 be->vif->drain_timeout = msecs_to_jiffies(30); read_xenbus_vif_flags() 980 be->vif->stall_timeout = 0; read_xenbus_vif_flags() 986 vif->can_sg = !!val; read_xenbus_vif_flags() 988 vif->gso_mask = 0; read_xenbus_vif_flags() 989 vif->gso_prefix_mask = 0; read_xenbus_vif_flags() 995 vif->gso_mask |= GSO_BIT(TCPV4); read_xenbus_vif_flags() 1001 vif->gso_prefix_mask |= GSO_BIT(TCPV4); read_xenbus_vif_flags() 1007 vif->gso_mask |= GSO_BIT(TCPV6); read_xenbus_vif_flags() 1013 vif->gso_prefix_mask |= GSO_BIT(TCPV6); read_xenbus_vif_flags() 1015 if (vif->gso_mask & vif->gso_prefix_mask) { read_xenbus_vif_flags() 1026 vif->ip_csum = !val; read_xenbus_vif_flags() 1031 vif->ipv6_csum = !!val; read_xenbus_vif_flags() 1036 vif->multicast_control = !!val; read_xenbus_vif_flags() 1042 { "vif" },
|
H A D | netback.c | 122 #define callback_param(vif, pending_idx) \ 123 (vif->pending_tx_info[pending_idx].callback_struct) 152 static int xenvif_rx_ring_slots_needed(struct xenvif *vif) xenvif_rx_ring_slots_needed() argument 154 if (vif->gso_mask) xenvif_rx_ring_slots_needed() 155 return DIV_ROUND_UP(vif->dev->gso_max_size, XEN_PAGE_SIZE) + 1; xenvif_rx_ring_slots_needed() 157 return DIV_ROUND_UP(vif->dev->mtu, XEN_PAGE_SIZE); xenvif_rx_ring_slots_needed() 165 needed = xenvif_rx_ring_slots_needed(queue->vif); xenvif_rx_ring_slots_available() 195 netif_tx_stop_queue(netdev_get_tx_queue(queue->vif->dev, queue->id)); xenvif_rx_queue_tail() 220 netif_tx_wake_queue(netdev_get_tx_queue(queue->vif->dev, queue->id)); xenvif_rx_queue_maybe_wake() 322 copy_gop->dest.domid = queue->vif->domid; xenvif_setup_copy_gop() 330 if (info->head && ((1 << info->gso_type) & queue->vif->gso_mask)) xenvif_setup_copy_gop() 424 struct xenvif *vif = netdev_priv(skb->dev); xenvif_gop_skb() local 445 if ((1 << gso_type) & vif->gso_prefix_mask) { xenvif_gop_skb() 457 if ((1 << gso_type) & vif->gso_mask) { xenvif_gop_skb() 500 static int xenvif_check_gop(struct xenvif *vif, int nr_meta_slots, xenvif_check_gop() argument 510 netdev_dbg(vif->dev, xenvif_check_gop() 512 copy_op->status, vif->domid); xenvif_check_gop() 590 queue->vif->gso_prefix_mask) { xenvif_rx_action() 608 status = xenvif_check_gop(queue->vif, xenvif_rx_action() 630 queue->vif->gso_mask) { xenvif_rx_action() 717 static void xenvif_fatal_tx_err(struct xenvif *vif) xenvif_fatal_tx_err() argument 719 netdev_err(vif->dev, "fatal error; disabling device\n"); xenvif_fatal_tx_err() 720 vif->disabled = true; xenvif_fatal_tx_err() 721 /* Disable the vif from queue 0's kthread */ xenvif_fatal_tx_err() 722 if (vif->queues) xenvif_fatal_tx_err() 723 xenvif_kick_thread(&vif->queues[0]); xenvif_fatal_tx_err() 743 netdev_err(queue->vif->dev, xenvif_count_requests() 746 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 754 netdev_err(queue->vif->dev, xenvif_count_requests() 757 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 770 netdev_dbg(queue->vif->dev, xenvif_count_requests() 792 netdev_dbg(queue->vif->dev, xenvif_count_requests() 802 netdev_err(queue->vif->dev, "Cross page boundary, txp->offset: %u, size: %u\n", xenvif_count_requests() 804 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 838 txp->gref, queue->vif->domid); xenvif_tx_create_map_op() 914 netdev_err(queue->vif->dev, xenvif_grant_handle_set() 927 netdev_err(queue->vif->dev, xenvif_grant_handle_reset() 959 netdev_dbg(queue->vif->dev, xenvif_tx_check_gop() 1003 netdev_dbg(queue->vif->dev, xenvif_tx_check_gop() 1107 netdev_err(queue->vif->dev, "Missing extra info\n"); xenvif_get_extras() 1108 xenvif_fatal_tx_err(queue->vif); xenvif_get_extras() 1116 netdev_err(queue->vif->dev, xenvif_get_extras() 1118 xenvif_fatal_tx_err(queue->vif); xenvif_get_extras() 1129 static int xenvif_set_skb_gso(struct xenvif *vif, xenvif_set_skb_gso() argument 1134 netdev_err(vif->dev, "GSO size must not be zero.\n"); xenvif_set_skb_gso() 1135 xenvif_fatal_tx_err(vif); xenvif_set_skb_gso() 1147 netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); xenvif_set_skb_gso() 1148 xenvif_fatal_tx_err(vif); xenvif_set_skb_gso() 1215 static int xenvif_mcast_add(struct xenvif *vif, const u8 *addr) xenvif_mcast_add() argument 1219 if (vif->fe_mcast_count == XEN_NETBK_MCAST_MAX) { xenvif_mcast_add() 1221 netdev_err(vif->dev, xenvif_mcast_add() 1231 list_add_tail_rcu(&mcast->entry, &vif->fe_mcast_addr); xenvif_mcast_add() 1232 vif->fe_mcast_count++; xenvif_mcast_add() 1237 static void xenvif_mcast_del(struct xenvif *vif, const u8 *addr) xenvif_mcast_del() argument 1241 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { xenvif_mcast_del() 1243 --vif->fe_mcast_count; xenvif_mcast_del() 1251 bool xenvif_mcast_match(struct xenvif *vif, const u8 *addr) xenvif_mcast_match() argument 1256 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { xenvif_mcast_match() 1267 void xenvif_mcast_addr_list_free(struct xenvif *vif) xenvif_mcast_addr_list_free() argument 1272 while (!list_empty(&vif->fe_mcast_addr)) { xenvif_mcast_addr_list_free() 1275 mcast = list_first_entry(&vif->fe_mcast_addr, xenvif_mcast_addr_list_free() 1278 --vif->fe_mcast_count; xenvif_mcast_addr_list_free() 1306 netdev_err(queue->vif->dev, xenvif_tx_build_gops() 1311 xenvif_fatal_tx_err(queue->vif); xenvif_tx_build_gops() 1346 ret = xenvif_mcast_add(queue->vif, extra->u.mcast.addr); xenvif_tx_build_gops() 1360 xenvif_mcast_del(queue->vif, extra->u.mcast.addr); xenvif_tx_build_gops() 1374 netdev_dbg(queue->vif->dev, xenvif_tx_build_gops() 1382 netdev_err(queue->vif->dev, xenvif_tx_build_gops() 1386 xenvif_fatal_tx_err(queue->vif); xenvif_tx_build_gops() 1399 netdev_dbg(queue->vif->dev, xenvif_tx_build_gops() 1422 netdev_err(queue->vif->dev, xenvif_tx_build_gops() 1432 if (xenvif_set_skb_gso(queue->vif, skb, gso)) { xenvif_tx_build_gops() 1444 queue->tx_copy_ops[*copy_ops].source.domid = queue->vif->domid; xenvif_tx_build_gops() 1611 netdev_err(queue->vif->dev, xenvif_tx_submit() 1619 skb->dev = queue->vif->dev; xenvif_tx_submit() 1624 netdev_dbg(queue->vif->dev, xenvif_tx_submit() 1749 netdev_err(queue->vif->dev, "Unmap fail: nr_ops %tu ret %d\n", xenvif_tx_dealloc_action() 1753 netdev_err(queue->vif->dev, xenvif_tx_dealloc_action() 1886 netdev_err(queue->vif->dev, xenvif_idx_unmap() 1913 xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(queue->vif), xenvif_unmap_frontend_rings() 1916 xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(queue->vif), xenvif_unmap_frontend_rings() 1930 err = xenbus_map_ring_valloc(xenvif_to_xenbus_device(queue->vif), xenvif_map_frontend_rings() 1938 err = xenbus_map_ring_valloc(xenvif_to_xenbus_device(queue->vif), xenvif_map_frontend_rings() 1955 struct xenvif *vif = queue->vif; xenvif_queue_carrier_off() local 1960 spin_lock(&vif->lock); xenvif_queue_carrier_off() 1961 if (vif->stalled_queues++ == 0) { xenvif_queue_carrier_off() 1962 netdev_info(vif->dev, "Guest Rx stalled"); xenvif_queue_carrier_off() 1963 netif_carrier_off(vif->dev); xenvif_queue_carrier_off() 1965 spin_unlock(&vif->lock); xenvif_queue_carrier_off() 1970 struct xenvif *vif = queue->vif; xenvif_queue_carrier_on() local 1976 spin_lock(&vif->lock); xenvif_queue_carrier_on() 1977 if (--vif->stalled_queues == 0) { xenvif_queue_carrier_on() 1978 netdev_info(vif->dev, "Guest Rx ready"); xenvif_queue_carrier_on() 1979 netif_carrier_on(vif->dev); xenvif_queue_carrier_on() 1981 spin_unlock(&vif->lock); xenvif_queue_carrier_on() 1993 queue->last_rx_time + queue->vif->stall_timeout); xenvif_rx_queue_stalled() 2010 || (queue->vif->stall_timeout && xenvif_have_rx_work() 2014 || queue->vif->disabled; xenvif_have_rx_work() 2063 struct xenvif *vif = queue->vif; xenvif_kthread_guest_rx() local 2065 if (!vif->stall_timeout) xenvif_kthread_guest_rx() 2081 if (unlikely(vif->disabled && queue->id == 0)) { xenvif_kthread_guest_rx() 2082 xenvif_carrier_off(vif); xenvif_kthread_guest_rx() 2093 if (vif->stall_timeout) { xenvif_kthread_guest_rx() 2198 MODULE_ALIAS("xen-backend:vif");
|
H A D | common.h | 138 struct xenvif *vif; /* Parent VIF */ member in struct:xenvif_queue 210 /* This bit marks that the vif is connected */ 272 static inline struct xenbus_device *xenvif_to_xenbus_device(struct xenvif *vif) xenvif_to_xenbus_device() argument 274 return to_xenbus_device(vif->dev->dev.parent); xenvif_to_xenbus_device() 289 void xenvif_disconnect(struct xenvif *vif); 290 void xenvif_free(struct xenvif *vif); 295 int xenvif_schedulable(struct xenvif *vif); 310 void xenvif_carrier_off(struct xenvif *vif); 321 void xenvif_carrier_on(struct xenvif *vif); 352 bool xenvif_mcast_match(struct xenvif *vif, const u8 *addr); 353 void xenvif_mcast_addr_list_free(struct xenvif *vif);
|
/linux-4.4.14/drivers/net/wireless/iwlwifi/mvm/ |
H A D | mac-ctxt.c | 85 struct ieee80211_vif *vif; member in struct:iwl_mvm_mac_iface_iterator_data 98 struct ieee80211_vif *vif) iwl_mvm_mac_tsf_id_iter() 101 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_tsf_id_iter() 105 if (vif == data->vif) iwl_mvm_mac_tsf_id_iter() 124 switch (data->vif->type) { iwl_mvm_mac_tsf_id_iter() 134 if (vif->type != NL80211_IFTYPE_AP || iwl_mvm_mac_tsf_id_iter() 139 min_bi = min(data->vif->bss_conf.beacon_int, iwl_mvm_mac_tsf_id_iter() 140 vif->bss_conf.beacon_int); iwl_mvm_mac_tsf_id_iter() 145 if ((data->vif->bss_conf.beacon_int - iwl_mvm_mac_tsf_id_iter() 146 vif->bss_conf.beacon_int) % min_bi == 0) { iwl_mvm_mac_tsf_id_iter() 162 if ((vif->type != NL80211_IFTYPE_AP && iwl_mvm_mac_tsf_id_iter() 163 vif->type != NL80211_IFTYPE_STATION) || iwl_mvm_mac_tsf_id_iter() 168 min_bi = min(data->vif->bss_conf.beacon_int, iwl_mvm_mac_tsf_id_iter() 169 vif->bss_conf.beacon_int); iwl_mvm_mac_tsf_id_iter() 174 if ((data->vif->bss_conf.beacon_int - iwl_mvm_mac_tsf_id_iter() 175 vif->bss_conf.beacon_int) % min_bi == 0) { iwl_mvm_mac_tsf_id_iter() 204 * Get the mask of the queues used by the vif 206 u32 iwl_mvm_mac_get_queues_mask(struct ieee80211_vif *vif) iwl_mvm_mac_get_queues_mask() argument 210 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_get_queues_mask() 214 if (vif->hw_queue[ac] != IEEE80211_INVAL_HW_QUEUE) iwl_mvm_mac_get_queues_mask() 215 qmask |= BIT(vif->hw_queue[ac]); iwl_mvm_mac_get_queues_mask() 218 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_get_queues_mask() 219 qmask |= BIT(vif->cab_queue); iwl_mvm_mac_get_queues_mask() 225 struct ieee80211_vif *vif) iwl_mvm_iface_hw_queues_iter() 229 /* exclude the given vif */ iwl_mvm_iface_hw_queues_iter() 230 if (vif == data->exclude_vif) iwl_mvm_iface_hw_queues_iter() 233 data->used_hw_queues |= iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_iface_hw_queues_iter() 281 struct ieee80211_vif *vif) iwl_mvm_mac_iface_iterator() 284 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_iface_iterator() 287 if (vif == data->vif) { iwl_mvm_mac_iface_iterator() 301 iwl_mvm_mac_tsf_id_iter(_data, mac, vif); iwl_mvm_mac_iface_iterator() 305 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_recalc_tsf_id() 307 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_recalc_tsf_id() 310 .vif = vif, iwl_mvm_mac_ctxt_recalc_tsf_id() 328 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_allocate_resources() 330 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_allocate_resources() 333 .vif = vif, iwl_mvm_mac_ctxt_allocate_resources() 360 /* Currently, MAC ID 0 should be used only for the managed/IBSS vif */ iwl_mvm_mac_ctxt_allocate_resources() 361 switch (vif->type) { iwl_mvm_mac_ctxt_allocate_resources() 365 if (!vif->p2p) iwl_mvm_mac_ctxt_allocate_resources() 376 used_hw_queues = iwl_mvm_get_used_hw_queues(mvm, vif); iwl_mvm_mac_ctxt_allocate_resources() 381 * the vif being added already. iwl_mvm_mac_ctxt_allocate_resources() 420 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_ctxt_allocate_resources() 422 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 439 vif->hw_queue[ac] = queue; iwl_mvm_mac_ctxt_allocate_resources() 443 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_mac_ctxt_allocate_resources() 453 vif->cab_queue = queue; iwl_mvm_mac_ctxt_allocate_resources() 455 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 468 memset(vif->hw_queue, IEEE80211_INVAL_HW_QUEUE, sizeof(vif->hw_queue)); iwl_mvm_mac_ctxt_allocate_resources() 469 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 473 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_init() argument 476 iwl_mvm_get_wd_timeout(mvm, vif, false, false); iwl_mvm_mac_ctxt_init() 482 ret = iwl_mvm_mac_ctxt_allocate_resources(mvm, vif); iwl_mvm_mac_ctxt_init() 486 switch (vif->type) { iwl_mvm_mac_ctxt_init() 493 iwl_mvm_enable_ac_txq(mvm, vif->cab_queue, vif->cab_queue, iwl_mvm_mac_ctxt_init() 498 iwl_mvm_enable_ac_txq(mvm, vif->hw_queue[ac], iwl_mvm_mac_ctxt_init() 499 vif->hw_queue[ac], iwl_mvm_mac_ctxt_init() 508 void iwl_mvm_mac_ctxt_release(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_release() argument 514 switch (vif->type) { iwl_mvm_mac_ctxt_release() 521 iwl_mvm_disable_txq(mvm, vif->cab_queue, vif->cab_queue, iwl_mvm_mac_ctxt_release() 526 iwl_mvm_disable_txq(mvm, vif->hw_queue[ac], iwl_mvm_mac_ctxt_release() 527 vif->hw_queue[ac], iwl_mvm_mac_ctxt_release() 533 struct ieee80211_vif *vif, iwl_mvm_ack_rates() 538 unsigned long basic = vif->bss_conf.basic_rates; iwl_mvm_ack_rates() 619 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_set_ht_flags() 623 u8 protection_mode = vif->bss_conf.ht_operation_mode & iwl_mvm_mac_ctxt_set_ht_flags() 642 if (vif->bss_conf.chandef.width > NL80211_CHAN_WIDTH_20) iwl_mvm_mac_ctxt_set_ht_flags() 653 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_common() 658 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_common() 660 bool ht_enabled = !!(vif->bss_conf.ht_operation_mode & iwl_mvm_mac_ctxt_cmd_common() 663 const u8 *bssid = bssid_override ?: vif->bss_conf.bssid; iwl_mvm_mac_ctxt_cmd_common() 670 switch (vif->type) { iwl_mvm_mac_ctxt_cmd_common() 672 if (vif->p2p) iwl_mvm_mac_ctxt_cmd_common() 695 memcpy(cmd->node_addr, vif->addr, ETH_ALEN); iwl_mvm_mac_ctxt_cmd_common() 703 chanctx = rcu_dereference(vif->chanctx_conf); iwl_mvm_mac_ctxt_cmd_common() 704 iwl_mvm_ack_rates(mvm, vif, chanctx ? chanctx->def.chan->band iwl_mvm_mac_ctxt_cmd_common() 713 cpu_to_le32(vif->bss_conf.use_short_preamble ? iwl_mvm_mac_ctxt_cmd_common() 716 cpu_to_le32(vif->bss_conf.use_short_slot ? iwl_mvm_mac_ctxt_cmd_common() 733 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_ctxt_cmd_common() 737 if (vif->bss_conf.qos) iwl_mvm_mac_ctxt_cmd_common() 740 if (vif->bss_conf.use_cts_prot) iwl_mvm_mac_ctxt_cmd_common() 744 vif->bss_conf.use_cts_prot, iwl_mvm_mac_ctxt_cmd_common() 745 vif->bss_conf.ht_operation_mode); iwl_mvm_mac_ctxt_cmd_common() 746 if (vif->bss_conf.chandef.width != NL80211_CHAN_WIDTH_20_NOHT) iwl_mvm_mac_ctxt_cmd_common() 749 iwl_mvm_mac_ctxt_set_ht_flags(mvm, vif, cmd); iwl_mvm_mac_ctxt_cmd_common() 766 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_sta() 773 WARN_ON(vif->type != NL80211_IFTYPE_STATION); iwl_mvm_mac_ctxt_cmd_sta() 776 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action); iwl_mvm_mac_ctxt_cmd_sta() 778 if (vif->p2p) { iwl_mvm_mac_ctxt_cmd_sta() 780 &vif->bss_conf.p2p_noa_attr; iwl_mvm_mac_ctxt_cmd_sta() 790 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period && iwl_mvm_mac_ctxt_cmd_sta() 809 dtim_offs = vif->bss_conf.sync_dtim_count * iwl_mvm_mac_ctxt_cmd_sta() 810 vif->bss_conf.beacon_int; iwl_mvm_mac_ctxt_cmd_sta() 815 cpu_to_le64(vif->bss_conf.sync_tsf + dtim_offs); iwl_mvm_mac_ctxt_cmd_sta() 817 cpu_to_le32(vif->bss_conf.sync_device_ts + dtim_offs); iwl_mvm_mac_ctxt_cmd_sta() 834 ctxt_sta->bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_sta() 836 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_sta() 837 ctxt_sta->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_sta() 838 vif->bss_conf.dtim_period); iwl_mvm_mac_ctxt_cmd_sta() 840 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_sta() 841 vif->bss_conf.dtim_period)); iwl_mvm_mac_ctxt_cmd_sta() 844 ctxt_sta->assoc_id = cpu_to_le32(vif->bss_conf.aid); iwl_mvm_mac_ctxt_cmd_sta() 846 if (vif->probe_req_reg && vif->bss_conf.assoc && vif->p2p) iwl_mvm_mac_ctxt_cmd_sta() 853 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_listener() 858 WARN_ON(vif->type != NL80211_IFTYPE_MONITOR); iwl_mvm_mac_ctxt_cmd_listener() 860 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_listener() 873 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_ibss() 876 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_ibss() 879 WARN_ON(vif->type != NL80211_IFTYPE_ADHOC); iwl_mvm_mac_ctxt_cmd_ibss() 881 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_ibss() 887 cmd.ibss.bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_ibss() 889 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_ibss() 901 static void iwl_mvm_go_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_go_iterator() argument 904 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_go_iterator() 906 if (vif->type == NL80211_IFTYPE_AP && vif->p2p && iwl_mvm_go_iterator() 912 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_p2p_device() 918 WARN_ON(vif->type != NL80211_IFTYPE_P2P_DEVICE); iwl_mvm_mac_ctxt_cmd_p2p_device() 920 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_p2p_device() 969 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_send_beacon() 972 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_send_beacon() 1010 if (info->band == IEEE80211_BAND_5GHZ || vif->p2p) { iwl_mvm_mac_ctxt_send_beacon() 1020 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_ctxt_send_beacon() 1038 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_beacon_changed() 1043 WARN_ON(vif->type != NL80211_IFTYPE_AP && iwl_mvm_mac_ctxt_beacon_changed() 1044 vif->type != NL80211_IFTYPE_ADHOC); iwl_mvm_mac_ctxt_beacon_changed() 1046 beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL); iwl_mvm_mac_ctxt_beacon_changed() 1050 ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon); iwl_mvm_mac_ctxt_beacon_changed() 1057 struct ieee80211_vif *vif; member in struct:iwl_mvm_mac_ap_iterator_data 1064 struct ieee80211_vif *vif) iwl_mvm_mac_ap_iterator() 1068 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc) iwl_mvm_mac_ap_iterator() 1072 if (vif->p2p && data->beacon_device_ts) iwl_mvm_mac_ap_iterator() 1075 data->beacon_device_ts = vif->bss_conf.sync_device_ts; iwl_mvm_mac_ap_iterator() 1076 data->beacon_int = vif->bss_conf.beacon_int; iwl_mvm_mac_ap_iterator() 1083 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_fill_ap() 1087 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_fill_ap() 1090 .vif = vif, iwl_mvm_mac_ctxt_cmd_fill_ap() 1094 ctxt_ap->bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_fill_ap() 1096 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_fill_ap() 1097 ctxt_ap->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_fill_ap() 1098 vif->bss_conf.dtim_period); iwl_mvm_mac_ctxt_cmd_fill_ap() 1100 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_fill_ap() 1101 vif->bss_conf.dtim_period)); iwl_mvm_mac_ctxt_cmd_fill_ap() 1103 ctxt_ap->mcast_qid = cpu_to_le32(vif->cab_queue); iwl_mvm_mac_ctxt_cmd_fill_ap() 1140 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_ap() 1143 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_ap() 1146 WARN_ON(vif->type != NL80211_IFTYPE_AP || vif->p2p); iwl_mvm_mac_ctxt_cmd_ap() 1149 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_ap() 1165 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.ap, iwl_mvm_mac_ctxt_cmd_ap() 1172 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_go() 1176 struct ieee80211_p2p_noa_attr *noa = &vif->bss_conf.p2p_noa_attr; iwl_mvm_mac_ctxt_cmd_go() 1178 WARN_ON(vif->type != NL80211_IFTYPE_AP || !vif->p2p); iwl_mvm_mac_ctxt_cmd_go() 1181 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_go() 1191 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.go.ap, iwl_mvm_mac_ctxt_cmd_go() 1203 static int iwl_mvm_mac_ctx_send(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_mac_ctx_send() argument 1207 switch (vif->type) { iwl_mvm_mac_ctx_send() 1209 return iwl_mvm_mac_ctxt_cmd_sta(mvm, vif, action, iwl_mvm_mac_ctx_send() 1214 if (!vif->p2p) iwl_mvm_mac_ctx_send() 1215 return iwl_mvm_mac_ctxt_cmd_ap(mvm, vif, action); iwl_mvm_mac_ctx_send() 1217 return iwl_mvm_mac_ctxt_cmd_go(mvm, vif, action); iwl_mvm_mac_ctx_send() 1220 return iwl_mvm_mac_ctxt_cmd_listener(mvm, vif, action); iwl_mvm_mac_ctx_send() 1222 return iwl_mvm_mac_ctxt_cmd_p2p_device(mvm, vif, action); iwl_mvm_mac_ctx_send() 1224 return iwl_mvm_mac_ctxt_cmd_ibss(mvm, vif, action); iwl_mvm_mac_ctx_send() 1232 int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_add() argument 1234 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_add() 1238 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_add() 1241 ret = iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_ADD, iwl_mvm_mac_ctxt_add() 1247 iwl_mvm_set_last_nonqos_seq(mvm, vif); iwl_mvm_mac_ctxt_add() 1253 int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_changed() argument 1256 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_changed() 1259 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_changed() 1262 return iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_MODIFY, iwl_mvm_mac_ctxt_changed() 1266 int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_remove() argument 1268 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_remove() 1273 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_remove() 1291 if (vif->type == NL80211_IFTYPE_MONITOR) iwl_mvm_mac_ctxt_remove() 1389 struct ieee80211_vif *vif) iwl_mvm_beacon_loss_iterator() 1392 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_loss_iterator() 1411 ieee80211_beacon_loss(vif); iwl_mvm_beacon_loss_iterator() 1426 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trigger)) iwl_mvm_beacon_loss_iterator() 97 iwl_mvm_mac_tsf_id_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_tsf_id_iter() argument 224 iwl_mvm_iface_hw_queues_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_iface_hw_queues_iter() argument 280 iwl_mvm_mac_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_iface_iterator() argument 304 iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_recalc_tsf_id() argument 327 iwl_mvm_mac_ctxt_allocate_resources(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_allocate_resources() argument 532 iwl_mvm_ack_rates(struct iwl_mvm *mvm, struct ieee80211_vif *vif, enum ieee80211_band band, u8 *cck_rates, u8 *ofdm_rates) iwl_mvm_ack_rates() argument 618 iwl_mvm_mac_ctxt_set_ht_flags(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_ctx_cmd *cmd) iwl_mvm_mac_ctxt_set_ht_flags() argument 652 iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_ctx_cmd *cmd, const u8 *bssid_override, u32 action) iwl_mvm_mac_ctxt_cmd_common() argument 765 iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action, bool force_assoc_off, const u8 *bssid_override) iwl_mvm_mac_ctxt_cmd_sta() argument 852 iwl_mvm_mac_ctxt_cmd_listener(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_listener() argument 872 iwl_mvm_mac_ctxt_cmd_ibss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_ibss() argument 911 iwl_mvm_mac_ctxt_cmd_p2p_device(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_p2p_device() argument 968 iwl_mvm_mac_ctxt_send_beacon(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct sk_buff *beacon) iwl_mvm_mac_ctxt_send_beacon() argument 1037 iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_beacon_changed() argument 1063 iwl_mvm_mac_ap_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_ap_iterator() argument 1082 iwl_mvm_mac_ctxt_cmd_fill_ap(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_data_ap *ctxt_ap, bool add) iwl_mvm_mac_ctxt_cmd_fill_ap() argument 1139 iwl_mvm_mac_ctxt_cmd_ap(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_ap() argument 1171 iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_go() argument 1388 iwl_mvm_beacon_loss_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_beacon_loss_iterator() argument
|
H A D | power.c | 116 struct ieee80211_vif *vif, iwl_mvm_beacon_filter_set_cqm_params() 120 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_filter_set_cqm_params() 122 if (vif->bss_conf.cqm_rssi_thold && !d0i3) { iwl_mvm_beacon_filter_set_cqm_params() 124 cpu_to_le32(vif->bss_conf.cqm_rssi_hyst); iwl_mvm_beacon_filter_set_cqm_params() 127 cpu_to_le32(-vif->bss_conf.cqm_rssi_thold); iwl_mvm_beacon_filter_set_cqm_params() 170 struct ieee80211_vif *vif, iwl_mvm_power_configure_uapsd() 173 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_configure_uapsd() 263 struct ieee80211_vif *vif) iwl_mvm_power_allow_uapsd() 265 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_allow_uapsd() 267 if (!memcmp(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, iwl_mvm_power_allow_uapsd() 271 if (vif->p2p && iwl_mvm_power_allow_uapsd() 278 if (vif->p2p && iwl_mvm_power_allow_uapsd() 279 (vif->bss_conf.p2p_noa_attr.oppps_ctwindow & iwl_mvm_power_allow_uapsd() 293 static bool iwl_mvm_power_is_radar(struct ieee80211_vif *vif) iwl_mvm_power_is_radar() argument 300 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_power_is_radar() 312 struct ieee80211_vif *vif, iwl_mvm_power_config_skip_dtim() 316 int dtimper = vif->bss_conf.dtim_period ?: 1; iwl_mvm_power_config_skip_dtim() 323 if (iwl_mvm_power_is_radar(vif)) iwl_mvm_power_config_skip_dtim() 336 int dtimper_tu = dtimper * vif->bss_conf.beacon_int; iwl_mvm_power_config_skip_dtim() 350 struct ieee80211_vif *vif, iwl_mvm_power_build_cmd() 357 iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_build_cmd() 361 dtimper = vif->bss_conf.dtim_period; iwl_mvm_power_build_cmd() 362 bi = vif->bss_conf.beacon_int; iwl_mvm_power_build_cmd() 380 if (!vif->bss_conf.ps || !mvmvif->pm_enabled) iwl_mvm_power_build_cmd() 383 if (iwl_mvm_vif_low_latency(mvmvif) && vif->p2p && iwl_mvm_power_build_cmd() 391 if (vif->bss_conf.beacon_rate && iwl_mvm_power_build_cmd() 392 (vif->bss_conf.beacon_rate->bitrate == 10 || iwl_mvm_power_build_cmd() 393 vif->bss_conf.beacon_rate->bitrate == 60)) { iwl_mvm_power_build_cmd() 398 iwl_mvm_power_config_skip_dtim(mvm, vif, cmd, host_awake); iwl_mvm_power_build_cmd() 405 } else if (iwl_mvm_vif_low_latency(mvmvif) && vif->p2p && iwl_mvm_power_build_cmd() 419 if (iwl_mvm_power_allow_uapsd(mvm, vif)) iwl_mvm_power_build_cmd() 420 iwl_mvm_power_configure_uapsd(mvm, vif, cmd); iwl_mvm_power_build_cmd() 469 struct ieee80211_vif *vif) iwl_mvm_power_send_cmd() 473 iwl_mvm_power_build_cmd(mvm, vif, &cmd, iwl_mvm_power_send_cmd() 477 memcpy(&iwl_mvm_vif_from_mac80211(vif)->mac_pwr_cmd, &cmd, sizeof(cmd)); iwl_mvm_power_send_cmd() 510 void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_vif_assoc() argument 512 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_vif_assoc() 514 if (memcmp(vif->bss_conf.bssid, mvmvif->uapsd_misbehaving_bssid, iwl_mvm_power_vif_assoc() 520 struct ieee80211_vif *vif) iwl_mvm_power_uapsd_misbehav_ap_iterator() 523 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_uapsd_misbehav_ap_iterator() 529 memcpy(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, iwl_mvm_power_uapsd_misbehav_ap_iterator() 559 struct ieee80211_vif *vif) iwl_mvm_power_disable_pm_iterator() 561 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_disable_pm_iterator() 567 struct ieee80211_vif *vif) iwl_mvm_power_ps_disabled_iterator() 569 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_ps_disabled_iterator() 578 struct ieee80211_vif *vif) iwl_mvm_power_get_vifs_iterator() 580 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_get_vifs_iterator() 583 switch (ieee80211_vif_type_p2p(vif)) { iwl_mvm_power_get_vifs_iterator() 591 power_iterator->ap_vif = vif; iwl_mvm_power_get_vifs_iterator() 600 power_iterator->monitor_vif = vif; iwl_mvm_power_get_vifs_iterator() 609 power_iterator->p2p_vif = vif; iwl_mvm_power_get_vifs_iterator() 618 power_iterator->bss_vif = vif; iwl_mvm_power_get_vifs_iterator() 625 power_iterator->bf_vif = vif; iwl_mvm_power_get_vifs_iterator() 710 struct ieee80211_vif *vif, char *buf, iwl_mvm_power_mac_dbgfs_read() 713 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_mac_dbgfs_read() 784 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, iwl_mvm_beacon_filter_debugfs_parameters() argument 787 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_filter_debugfs_parameters() 819 struct ieee80211_vif *vif, _iwl_mvm_enable_beacon_filter() 824 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); _iwl_mvm_enable_beacon_filter() 827 if (mvmvif != mvm->bf_allowed_vif || !vif->bss_conf.dtim_period || _iwl_mvm_enable_beacon_filter() 828 vif->type != NL80211_IFTYPE_STATION || vif->p2p) _iwl_mvm_enable_beacon_filter() 831 iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, cmd, d0i3); _iwl_mvm_enable_beacon_filter() 833 iwl_mvm_beacon_filter_debugfs_parameters(vif, cmd); _iwl_mvm_enable_beacon_filter() 844 struct ieee80211_vif *vif, iwl_mvm_enable_beacon_filter() 852 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, flags, false); iwl_mvm_enable_beacon_filter() 856 struct ieee80211_vif *vif, iwl_mvm_update_beacon_abort() 859 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_beacon_abort() 872 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, 0, false); iwl_mvm_update_beacon_abort() 876 struct ieee80211_vif *vif, iwl_mvm_disable_beacon_filter() 880 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_disable_beacon_filter() 883 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_disable_beacon_filter() 997 struct ieee80211_vif *vif, iwl_mvm_update_d0i3_power_mode() 1001 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_d0i3_power_mode() 1004 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_update_d0i3_power_mode() 1007 if (!vif->bss_conf.assoc) iwl_mvm_update_d0i3_power_mode() 1010 iwl_mvm_power_build_cmd(mvm, vif, &cmd, !enable); iwl_mvm_update_d0i3_power_mode() 1030 ret = _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd_bf, iwl_mvm_update_d0i3_power_mode() 1034 ret = iwl_mvm_enable_beacon_filter(mvm, vif, flags); iwl_mvm_update_d0i3_power_mode() 1036 ret = iwl_mvm_disable_beacon_filter(mvm, vif, flags); iwl_mvm_update_d0i3_power_mode() 115 iwl_mvm_beacon_filter_set_cqm_params(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_beacon_filter_cmd *cmd, bool d0i3) iwl_mvm_beacon_filter_set_cqm_params() argument 169 iwl_mvm_power_configure_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_power_cmd *cmd) iwl_mvm_power_configure_uapsd() argument 262 iwl_mvm_power_allow_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_allow_uapsd() argument 311 iwl_mvm_power_config_skip_dtim(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_power_cmd *cmd, bool host_awake) iwl_mvm_power_config_skip_dtim() argument 349 iwl_mvm_power_build_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_power_cmd *cmd, bool host_awake) iwl_mvm_power_build_cmd() argument 468 iwl_mvm_power_send_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_send_cmd() argument 519 iwl_mvm_power_uapsd_misbehav_ap_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_power_uapsd_misbehav_ap_iterator() argument 558 iwl_mvm_power_disable_pm_iterator(void *_data, u8* mac, struct ieee80211_vif *vif) iwl_mvm_power_disable_pm_iterator() argument 566 iwl_mvm_power_ps_disabled_iterator(void *_data, u8* mac, struct ieee80211_vif *vif) iwl_mvm_power_ps_disabled_iterator() argument 577 iwl_mvm_power_get_vifs_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_power_get_vifs_iterator() argument 709 iwl_mvm_power_mac_dbgfs_read(struct iwl_mvm *mvm, struct ieee80211_vif *vif, char *buf, int bufsz) iwl_mvm_power_mac_dbgfs_read() argument 818 _iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_beacon_filter_cmd *cmd, u32 cmd_flags, bool d0i3) _iwl_mvm_enable_beacon_filter() argument 843 iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 flags) iwl_mvm_enable_beacon_filter() argument 855 iwl_mvm_update_beacon_abort(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool enable) iwl_mvm_update_beacon_abort() argument 875 iwl_mvm_disable_beacon_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 flags) iwl_mvm_disable_beacon_filter() argument 996 iwl_mvm_update_d0i3_power_mode(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool enable, u32 flags) iwl_mvm_update_d0i3_power_mode() argument
|
H A D | mac80211.c | 145 * be the vif's ip address. in case there is not a single 149 * the LSB bytes of the vif's mac address 781 iwl_mvm_ampdu_check_trigger(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_ampdu_check_trigger() argument 794 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_ampdu_check_trigger() 828 struct ieee80211_vif *vif, iwl_mvm_mac_ampdu_action() 886 ret = iwl_mvm_sta_tx_agg_start(mvm, vif, sta, tid, ssn); iwl_mvm_mac_ampdu_action() 889 ret = iwl_mvm_sta_tx_agg_stop(mvm, vif, sta, tid); iwl_mvm_mac_ampdu_action() 893 ret = iwl_mvm_sta_tx_agg_flush(mvm, vif, sta, tid); iwl_mvm_mac_ampdu_action() 896 ret = iwl_mvm_sta_tx_agg_oper(mvm, vif, sta, tid, buf_size); iwl_mvm_mac_ampdu_action() 910 iwl_mvm_ampdu_check_trigger(mvm, vif, sta, tid, iwl_mvm_mac_ampdu_action() 926 struct ieee80211_vif *vif) iwl_mvm_cleanup_iterator() 929 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_cleanup_iterator() 1623 static int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_set_tx_power() argument 1629 cpu_to_le32(iwl_mvm_vif_from_mac80211(vif)->id), iwl_mvm_set_tx_power() 1644 struct ieee80211_vif *vif) iwl_mvm_mac_add_interface() 1647 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_add_interface() 1675 ret = iwl_mvm_mac_ctxt_init(mvm, vif); iwl_mvm_mac_add_interface() 1680 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_add_interface() 1694 if (vif->type == NL80211_IFTYPE_AP || iwl_mvm_mac_add_interface() 1695 vif->type == NL80211_IFTYPE_ADHOC) { iwl_mvm_mac_add_interface() 1696 ret = iwl_mvm_alloc_bcast_sta(mvm, vif); iwl_mvm_mac_add_interface() 1702 iwl_mvm_vif_dbgfs_register(mvm, vif); iwl_mvm_mac_add_interface() 1708 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_mac_add_interface() 1717 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_mvm_mac_add_interface() 1722 vif->type == NL80211_IFTYPE_STATION && !vif->p2p) { iwl_mvm_mac_add_interface() 1724 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_add_interface() 1733 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_add_interface() 1742 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_mac_add_interface() 1746 ret = iwl_mvm_add_bcast_sta(mvm, vif); iwl_mvm_mac_add_interface() 1750 /* Save a pointer to p2p device vif, so it can later be used to iwl_mvm_mac_add_interface() 1752 mvm->p2p_device_vif = vif; iwl_mvm_mac_add_interface() 1755 iwl_mvm_vif_dbgfs_register(mvm, vif); iwl_mvm_mac_add_interface() 1759 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_mac_add_interface() 1765 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_add_interface() 1770 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_mac_add_interface() 1772 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_add_interface() 1775 iwl_mvm_mac_ctxt_release(mvm, vif); iwl_mvm_mac_add_interface() 1785 struct ieee80211_vif *vif) iwl_mvm_prepare_mac_removal() 1787 u32 tfd_msk = iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_prepare_mac_removal() 1791 * mac80211 first removes all the stations of the vif and iwl_mvm_prepare_mac_removal() 1792 * then removes the vif. When it removes a station it also iwl_mvm_prepare_mac_removal() 1794 * of all the stations of this vif are closed, and the queues iwl_mvm_prepare_mac_removal() 1796 * We still need to take care of the shared queues of the vif. iwl_mvm_prepare_mac_removal() 1819 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_prepare_mac_removal() 1838 struct ieee80211_vif *vif) iwl_mvm_mac_remove_interface() 1841 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_remove_interface() 1843 iwl_mvm_prepare_mac_removal(mvm, vif); iwl_mvm_mac_remove_interface() 1849 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_remove_interface() 1853 iwl_mvm_vif_dbgfs_clean(mvm, vif); iwl_mvm_mac_remove_interface() 1859 if (vif->type == NL80211_IFTYPE_AP || iwl_mvm_mac_remove_interface() 1860 vif->type == NL80211_IFTYPE_ADHOC) { iwl_mvm_mac_remove_interface() 1862 if (vif == mvm->noa_vif) { iwl_mvm_mac_remove_interface() 1867 iwl_mvm_dealloc_bcast_sta(mvm, vif); iwl_mvm_mac_remove_interface() 1871 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_remove_interface() 1873 iwl_mvm_rm_bcast_sta(mvm, vif); iwl_mvm_mac_remove_interface() 1874 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_mac_remove_interface() 1879 if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_remove_interface() 1883 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_mac_remove_interface() 1886 iwl_mvm_mac_ctxt_release(mvm, vif); iwl_mvm_mac_remove_interface() 1901 struct ieee80211_vif *vif) iwl_mvm_mc_iface_iterator() 1912 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_mc_iface_iterator() 1913 !vif->bss_conf.assoc) iwl_mvm_mc_iface_iterator() 1917 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN); iwl_mvm_mc_iface_iterator() 2002 struct ieee80211_vif *vif, iwl_mvm_config_iface_filter() 2013 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc || iwl_mvm_config_iface_filter() 2014 !vif->p2p) iwl_mvm_config_iface_filter() 2018 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_config_iface_filter() 2030 iwl_mvm_set_bcast_filter(struct ieee80211_vif *vif, iwl_mvm_set_bcast_filter() argument 2047 if (vif->bss_conf.arp_addr_cnt != 1) { cpu_to_le16() 2052 attr->val = vif->bss_conf.arp_addr_list[0]; 2055 attr->val = *(__be32 *)&vif->addr[2]; 2066 struct ieee80211_vif *vif) iwl_mvm_bcast_filter_iterator() 2071 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bcast_filter_iterator() 2084 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p || iwl_mvm_bcast_filter_iterator() 2085 !vif->bss_conf.assoc) iwl_mvm_bcast_filter_iterator() 2104 iwl_mvm_set_bcast_filter(vif, iwl_mvm_bcast_filter_iterator() 2150 /* configure and attach these filters for each associated sta vif */ iwl_mvm_bcast_filter_build_cmd() 2158 struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() 2173 struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() 2180 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed_station() 2184 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bss_info_changed_station() 2193 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); iwl_mvm_bss_info_changed_station() 2204 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, mvmvif->bssid); iwl_mvm_bss_info_changed_station() 2206 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); iwl_mvm_bss_info_changed_station() 2242 u32 dur = (11 * vif->bss_conf.beacon_int) / 10; iwl_mvm_bss_info_changed_station() 2243 iwl_mvm_protect_session(mvm, vif, dur, dur, iwl_mvm_bss_info_changed_station() 2247 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_bss_info_changed_station() 2248 iwl_mvm_power_vif_assoc(mvm, vif); iwl_mvm_bss_info_changed_station() 2249 if (vif->p2p) { iwl_mvm_bss_info_changed_station() 2251 iwl_mvm_update_smps(mvm, vif, iwl_mvm_bss_info_changed_station() 2260 WARN_ONCE(iwl_mvm_sf_update(mvm, vif, false), iwl_mvm_bss_info_changed_station() 2264 ret = iwl_mvm_rm_sta_id(mvm, vif, mvmvif->ap_sta_id); iwl_mvm_bss_info_changed_station() 2276 if (vif->p2p) iwl_mvm_bss_info_changed_station() 2280 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_bss_info_changed_station() 2284 vif->addr); iwl_mvm_bss_info_changed_station() 2288 iwl_mvm_configure_bcast_filter(mvm, vif); iwl_mvm_bss_info_changed_station() 2294 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, iwl_mvm_bss_info_changed_station() 2306 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_bss_info_changed_station() 2307 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); iwl_mvm_bss_info_changed_station() 2319 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); iwl_mvm_bss_info_changed_station() 2327 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_mvm_bss_info_changed_station() 2336 iwl_mvm_configure_bcast_filter(mvm, vif); iwl_mvm_bss_info_changed_station() 2341 struct ieee80211_vif *vif) iwl_mvm_start_ap_ibss() 2344 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_start_ap_ibss() 2358 ret = iwl_mvm_mac_ctxt_beacon_changed(mvm, vif); iwl_mvm_start_ap_ibss() 2366 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_start_ap_ibss() 2367 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); iwl_mvm_start_ap_ibss() 2372 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_start_ap_ibss() 2377 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_start_ap_ibss() 2383 ret = iwl_mvm_send_add_bcast_sta(mvm, vif); iwl_mvm_start_ap_ibss() 2397 /* Need to update the P2P Device MAC (only GO, IBSS is single vif) */ iwl_mvm_start_ap_ibss() 2398 if (vif->p2p && mvm->p2p_device_vif) iwl_mvm_start_ap_ibss() 2414 iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_start_ap_ibss() 2416 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_start_ap_ibss() 2418 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_start_ap_ibss() 2426 struct ieee80211_vif *vif) iwl_mvm_stop_ap_ibss() 2429 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stop_ap_ibss() 2431 iwl_mvm_prepare_mac_removal(mvm, vif); iwl_mvm_stop_ap_ibss() 2436 if (rcu_access_pointer(mvm->csa_vif) == vif) { iwl_mvm_stop_ap_ibss() 2443 if (rcu_access_pointer(mvm->csa_tx_blocked_vif) == vif) { iwl_mvm_stop_ap_ibss() 2455 /* Need to update the P2P Device MAC (only GO, IBSS is single vif) */ iwl_mvm_stop_ap_ibss() 2456 if (vif->p2p && mvm->p2p_device_vif) iwl_mvm_stop_ap_ibss() 2460 iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_stop_ap_ibss() 2461 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_stop_ap_ibss() 2465 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_stop_ap_ibss() 2472 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed_ap_ibss() 2476 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bss_info_changed_ap_ibss() 2484 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL)) iwl_mvm_bss_info_changed_ap_ibss() 2485 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); iwl_mvm_bss_info_changed_ap_ibss() 2489 iwl_mvm_mac_ctxt_beacon_changed(mvm, vif)) iwl_mvm_bss_info_changed_ap_ibss() 2495 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); iwl_mvm_bss_info_changed_ap_ibss() 2501 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed() 2520 switch (vif->type) { iwl_mvm_bss_info_changed() 2522 iwl_mvm_bss_info_changed_station(mvm, vif, bss_conf, changes); iwl_mvm_bss_info_changed() 2526 iwl_mvm_bss_info_changed_ap_ibss(mvm, vif, bss_conf, changes); iwl_mvm_bss_info_changed() 2538 struct ieee80211_vif *vif, iwl_mvm_mac_hw_scan() 2549 ret = iwl_mvm_reg_scan_start(mvm, vif, &hw_req->req, &hw_req->ies); iwl_mvm_mac_hw_scan() 2556 struct ieee80211_vif *vif) iwl_mvm_mac_cancel_hw_scan() 2606 struct ieee80211_vif *vif, iwl_mvm_mac_sta_notify() 2662 struct ieee80211_vif *vif, iwl_mvm_sta_pre_rcu_remove() 2666 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_sta_pre_rcu_remove() 2682 if (mvm_sta->vif->type == NL80211_IFTYPE_AP) { iwl_mvm_sta_pre_rcu_remove() 2684 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_sta_pre_rcu_remove() 2690 static void iwl_mvm_check_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_check_uapsd() argument 2697 vif->driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD; iwl_mvm_check_uapsd() 2701 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; iwl_mvm_check_uapsd() 2705 struct ieee80211_vif *vif, iwl_mvm_mac_sta_state() 2711 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_sta_state() 2734 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_mac_sta_state() 2735 vif->bss_conf.beacon_int < 16) { iwl_mvm_mac_sta_state() 2738 sta->addr, vif->bss_conf.beacon_int); iwl_mvm_mac_sta_state() 2744 (vif->p2p || iwl_mvm_mac_sta_state() 2753 ret = iwl_mvm_add_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2755 iwl_mvm_recalc_tdls_state(mvm, vif, true); iwl_mvm_mac_sta_state() 2763 iwl_mvm_check_uapsd(mvm, vif, sta->addr); iwl_mvm_mac_sta_state() 2767 ret = iwl_mvm_update_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2780 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); iwl_mvm_mac_sta_state() 2785 WARN_ON(iwl_mvm_disable_beacon_filter(mvm, vif, 0)); iwl_mvm_mac_sta_state() 2795 ret = iwl_mvm_rm_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2797 iwl_mvm_recalc_tdls_state(mvm, vif, false); iwl_mvm_mac_sta_state() 2826 struct ieee80211_vif *vif, iwl_mvm_sta_rc_update() 2831 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_sta_rc_update() 2833 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_sta_rc_update() 2837 struct ieee80211_vif *vif, u16 ac, iwl_mvm_mac_conf_tx() 2841 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_conf_tx() 2849 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_conf_tx() 2853 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_mac_conf_tx() 2861 struct ieee80211_vif *vif) iwl_mvm_mac_mgd_prepare_tx() 2865 200 + vif->bss_conf.beacon_int); iwl_mvm_mac_mgd_prepare_tx() 2867 100 + vif->bss_conf.beacon_int); iwl_mvm_mac_mgd_prepare_tx() 2869 if (WARN_ON_ONCE(vif->bss_conf.assoc)) iwl_mvm_mac_mgd_prepare_tx() 2881 iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false); iwl_mvm_mac_mgd_prepare_tx() 2888 struct ieee80211_vif *vif, iwl_mvm_mac_sched_scan_start() 2898 if (!vif->bss_conf.idle) { iwl_mvm_mac_sched_scan_start() 2903 ret = iwl_mvm_sched_scan_start(mvm, vif, req, ies, IWL_MVM_SCAN_SCHED); iwl_mvm_mac_sched_scan_start() 2911 struct ieee80211_vif *vif) iwl_mvm_mac_sched_scan_stop() 2940 struct ieee80211_vif *vif, iwl_mvm_mac_set_key() 2973 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_mac_set_key() 2989 if ((vif->type == NL80211_IFTYPE_ADHOC || iwl_mvm_mac_set_key() 2990 vif->type == NL80211_IFTYPE_AP) && !sta) { iwl_mvm_mac_set_key() 3019 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, key_offset); iwl_mvm_mac_set_key() 3038 ret = iwl_mvm_remove_sta_key(mvm, vif, sta, key); iwl_mvm_mac_set_key() 3049 struct ieee80211_vif *vif, iwl_mvm_mac_update_tkip_key() 3059 iwl_mvm_update_tkip_key(mvm, vif, keyconf, sta, iv32, phase1key); iwl_mvm_mac_update_tkip_key() 3100 struct ieee80211_vif *vif, iwl_mvm_send_aux_roc_cmd() 3104 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_aux_roc_cmd() 3126 memcpy(aux_roc_req.node_addr, vif->addr, ETH_ALEN); iwl_mvm_send_aux_roc_cmd() 3137 te_data->vif = vif; iwl_mvm_send_aux_roc_cmd() 3182 struct ieee80211_vif *vif, iwl_mvm_roc() 3188 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_roc() 3200 switch (vif->type) { iwl_mvm_roc() 3206 vif, duration); iwl_mvm_roc() 3216 IWL_ERR(mvm, "vif isn't P2P_DEVICE: %d\n", vif->type); iwl_mvm_roc() 3231 ret = iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_roc() 3240 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_roc() 3284 ret = iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_roc() 3293 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_roc() 3302 ret = iwl_mvm_start_p2p_roc(mvm, vif, duration, type); iwl_mvm_roc() 3415 struct ieee80211_vif *vif, __iwl_mvm_assign_vif_chanctx() 3421 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_assign_vif_chanctx() 3428 switch (vif->type) { __iwl_mvm_assign_vif_chanctx() 3453 ret = iwl_mvm_binding_add_vif(mvm, vif); __iwl_mvm_assign_vif_chanctx() 3467 if (vif->type == NL80211_IFTYPE_MONITOR) { __iwl_mvm_assign_vif_chanctx() 3475 if (vif->type == NL80211_IFTYPE_AP) { __iwl_mvm_assign_vif_chanctx() 3477 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); __iwl_mvm_assign_vif_chanctx() 3480 if (switching_chanctx && vif->type == NL80211_IFTYPE_STATION) { __iwl_mvm_assign_vif_chanctx() 3481 u32 duration = 2 * vif->bss_conf.beacon_int; __iwl_mvm_assign_vif_chanctx() 3494 iwl_mvm_protect_session(mvm, vif, duration, duration, __iwl_mvm_assign_vif_chanctx() 3495 vif->bss_conf.beacon_int / 2, __iwl_mvm_assign_vif_chanctx() 3506 iwl_mvm_binding_remove_vif(mvm, vif); __iwl_mvm_assign_vif_chanctx() 3514 struct ieee80211_vif *vif, iwl_mvm_assign_vif_chanctx() 3521 ret = __iwl_mvm_assign_vif_chanctx(mvm, vif, ctx, false); iwl_mvm_assign_vif_chanctx() 3528 struct ieee80211_vif *vif, __iwl_mvm_unassign_vif_chanctx() 3532 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_unassign_vif_chanctx() 3539 switch (vif->type) { __iwl_mvm_unassign_vif_chanctx() 3557 rcu_assign_pointer(mvm->csa_tx_blocked_vif, vif); __iwl_mvm_unassign_vif_chanctx() 3565 disabled_vif = vif; __iwl_mvm_unassign_vif_chanctx() 3567 iwl_mvm_mac_ctxt_changed(mvm, vif, true, NULL); __iwl_mvm_unassign_vif_chanctx() 3574 iwl_mvm_binding_remove_vif(mvm, vif); __iwl_mvm_unassign_vif_chanctx() 3582 struct ieee80211_vif *vif, iwl_mvm_unassign_vif_chanctx() 3588 __iwl_mvm_unassign_vif_chanctx(mvm, vif, ctx, false); iwl_mvm_unassign_vif_chanctx() 3599 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); iwl_mvm_switch_vif_chanctx_swap() 3608 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, iwl_mvm_switch_vif_chanctx_swap() 3631 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, iwl_mvm_switch_vif_chanctx_swap() 3656 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); iwl_mvm_switch_vif_chanctx_reassign() 3658 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, iwl_mvm_switch_vif_chanctx_reassign() 3669 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, iwl_mvm_switch_vif_chanctx_reassign() 3695 /* we only support a single-vif right now */ iwl_mvm_switch_vif_chanctx() 3721 if (!mvm_sta || !mvm_sta->vif) { iwl_mvm_set_tim() 3722 IWL_ERR(mvm, "Station is not associated to a vif\n"); iwl_mvm_set_tim() 3726 return iwl_mvm_mac_ctxt_beacon_changed(mvm, mvm_sta->vif); iwl_mvm_set_tim() 3737 struct ieee80211_vif *vif, __iwl_mvm_mac_testmode_cmd() 3753 if (!vif || vif->type != NL80211_IFTYPE_AP || !vif->p2p || __iwl_mvm_mac_testmode_cmd() 3754 !vif->bss_conf.enable_beacon || __iwl_mvm_mac_testmode_cmd() 3759 if (noa_duration >= vif->bss_conf.beacon_int) __iwl_mvm_mac_testmode_cmd() 3763 mvm->noa_vif = vif; __iwl_mvm_mac_testmode_cmd() 3767 /* must be associated client vif - ignore authorized */ __iwl_mvm_mac_testmode_cmd() 3768 if (!vif || vif->type != NL80211_IFTYPE_STATION || __iwl_mvm_mac_testmode_cmd() 3769 !vif->bss_conf.assoc || !vif->bss_conf.dtim_period || __iwl_mvm_mac_testmode_cmd() 3774 return iwl_mvm_enable_beacon_filter(mvm, vif, 0); __iwl_mvm_mac_testmode_cmd() 3775 return iwl_mvm_disable_beacon_filter(mvm, vif, 0); __iwl_mvm_mac_testmode_cmd() 3782 struct ieee80211_vif *vif, iwl_mvm_mac_testmode_cmd() 3789 err = __iwl_mvm_mac_testmode_cmd(mvm, vif, data, len); iwl_mvm_mac_testmode_cmd() 3797 struct ieee80211_vif *vif, iwl_mvm_channel_switch() 3811 struct ieee80211_vif *vif, iwl_mvm_pre_channel_switch() 3816 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_pre_channel_switch() 3827 iwl_fw_dbg_trigger_simple_stop(mvm, vif, FW_DBG_TRIGGER_CHANNEL_SWITCH); iwl_mvm_pre_channel_switch() 3829 switch (vif->type) { iwl_mvm_pre_channel_switch() 3840 rcu_assign_pointer(mvm->csa_vif, vif); iwl_mvm_pre_channel_switch() 3855 ((vif->bss_conf.beacon_int * (chsw->count - 1) - iwl_mvm_pre_channel_switch() 3859 iwl_mvm_csa_client_absent(mvm, vif); iwl_mvm_pre_channel_switch() 3861 iwl_mvm_schedule_csa_period(mvm, vif, vif->bss_conf.beacon_int, iwl_mvm_pre_channel_switch() 3864 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_mvm_pre_channel_switch() 3890 struct ieee80211_vif *vif) iwl_mvm_post_channel_switch() 3892 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_post_channel_switch() 3904 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_post_channel_switch() 3917 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_post_channel_switch() 3919 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_mvm_post_channel_switch() 3923 iwl_mvm_stop_session_protection(mvm, vif); iwl_mvm_post_channel_switch() 3937 struct ieee80211_vif *vif, u32 queues, bool drop) iwl_mvm_mac_flush() 3946 if (!vif || vif->type != NL80211_IFTYPE_STATION) iwl_mvm_mac_flush() 3950 mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_flush() 3960 if (mvmsta->vif != vif) iwl_mvm_mac_flush() 4034 struct ieee80211_vif *vif, iwl_mvm_mac_sta_statistics() 4039 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_sta_statistics() 4047 if (!(vif->driver_flags & IEEE80211_VIF_BEACON_FILTER)) iwl_mvm_mac_sta_statistics() 4050 if (!vif->bss_conf.assoc) iwl_mvm_mac_sta_statistics() 4074 struct ieee80211_vif *vif, iwl_mvm_event_mlme_callback() 4092 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_event_mlme_callback() 4128 struct ieee80211_vif *vif, iwl_mvm_event_bar_rx_callback() 4139 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_event_bar_rx_callback() 4153 struct ieee80211_vif *vif, iwl_mvm_event_frame_timeout_callback() 4164 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_event_frame_timeout_callback() 4176 struct ieee80211_vif *vif, iwl_mvm_mac_event_callback() 4183 iwl_mvm_event_mlme_callback(mvm, vif, event); iwl_mvm_mac_event_callback() 4186 iwl_mvm_event_bar_rx_callback(mvm, vif, event); iwl_mvm_mac_event_callback() 4189 iwl_mvm_event_frame_timeout_callback(mvm, vif, event); iwl_mvm_mac_event_callback() 827 iwl_mvm_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) iwl_mvm_mac_ampdu_action() argument 925 iwl_mvm_cleanup_iterator(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_cleanup_iterator() argument 1643 iwl_mvm_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_add_interface() argument 1784 iwl_mvm_prepare_mac_removal(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_prepare_mac_removal() argument 1837 iwl_mvm_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_remove_interface() argument 1900 iwl_mvm_mc_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mc_iface_iterator() argument 2001 iwl_mvm_config_iface_filter(struct ieee80211_hw *hw, struct ieee80211_vif *vif, unsigned int filter_flags, unsigned int changed_flags) iwl_mvm_config_iface_filter() argument 2065 iwl_mvm_bcast_filter_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bcast_filter_iterator() argument 2157 iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() argument 2172 iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() argument 2179 iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) iwl_mvm_bss_info_changed_station() argument 2340 iwl_mvm_start_ap_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_start_ap_ibss() argument 2425 iwl_mvm_stop_ap_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_stop_ap_ibss() argument 2471 iwl_mvm_bss_info_changed_ap_ibss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) iwl_mvm_bss_info_changed_ap_ibss() argument 2500 iwl_mvm_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) iwl_mvm_bss_info_changed() argument 2537 iwl_mvm_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) iwl_mvm_mac_hw_scan() argument 2555 iwl_mvm_mac_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_cancel_hw_scan() argument 2605 iwl_mvm_mac_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) iwl_mvm_mac_sta_notify() argument 2661 iwl_mvm_sta_pre_rcu_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_sta_pre_rcu_remove() argument 2704 iwl_mvm_mac_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_sta_state old_state, enum ieee80211_sta_state new_state) iwl_mvm_mac_sta_state() argument 2825 iwl_mvm_sta_rc_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u32 changed) iwl_mvm_sta_rc_update() argument 2836 iwl_mvm_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 ac, const struct ieee80211_tx_queue_params *params) iwl_mvm_mac_conf_tx() argument 2860 iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_mgd_prepare_tx() argument 2887 iwl_mvm_mac_sched_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_sched_scan_request *req, struct ieee80211_scan_ies *ies) iwl_mvm_mac_sched_scan_start() argument 2910 iwl_mvm_mac_sched_scan_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_sched_scan_stop() argument 2938 iwl_mvm_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) iwl_mvm_mac_set_key() argument 3048 iwl_mvm_mac_update_tkip_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) iwl_mvm_mac_update_tkip_key() argument 3098 iwl_mvm_send_aux_roc_cmd(struct iwl_mvm *mvm, struct ieee80211_channel *channel, struct ieee80211_vif *vif, int duration) iwl_mvm_send_aux_roc_cmd() argument 3181 iwl_mvm_roc(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel *channel, int duration, enum ieee80211_roc_type type) iwl_mvm_roc() argument 3414 __iwl_mvm_assign_vif_chanctx(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx, bool switching_chanctx) __iwl_mvm_assign_vif_chanctx() argument 3513 iwl_mvm_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) iwl_mvm_assign_vif_chanctx() argument 3527 __iwl_mvm_unassign_vif_chanctx(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx, bool switching_chanctx) __iwl_mvm_unassign_vif_chanctx() argument 3581 iwl_mvm_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) iwl_mvm_unassign_vif_chanctx() argument 3736 __iwl_mvm_mac_testmode_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, void *data, int len) __iwl_mvm_mac_testmode_cmd() argument 3781 iwl_mvm_mac_testmode_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void *data, int len) iwl_mvm_mac_testmode_cmd() argument 3796 iwl_mvm_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *chsw) iwl_mvm_channel_switch() argument 3810 iwl_mvm_pre_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *chsw) iwl_mvm_pre_channel_switch() argument 3889 iwl_mvm_post_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_post_channel_switch() argument 3936 iwl_mvm_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) iwl_mvm_mac_flush() argument 4033 iwl_mvm_mac_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct station_info *sinfo) iwl_mvm_mac_sta_statistics() argument 4073 iwl_mvm_event_mlme_callback(struct iwl_mvm *mvm, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwl_mvm_event_mlme_callback() argument 4127 iwl_mvm_event_bar_rx_callback(struct iwl_mvm *mvm, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwl_mvm_event_bar_rx_callback() argument 4152 iwl_mvm_event_frame_timeout_callback(struct iwl_mvm *mvm, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwl_mvm_event_frame_timeout_callback() argument 4175 iwl_mvm_mac_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwl_mvm_mac_event_callback() argument
|
H A D | tdls.c | 88 ieee80211_tdls_oper_request(mvmsta->vif, sta->addr, iwl_mvm_teardown_tdls_peers() 95 int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_tdls_sta_count() argument 110 if (vif) { iwl_mvm_tdls_sta_count() 112 if (mvmsta->vif != vif) iwl_mvm_tdls_sta_count() 122 static void iwl_mvm_tdls_config(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_tdls_config() argument 135 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_tdls_config() 180 void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_recalc_tdls_state() argument 183 int tdls_sta_cnt = iwl_mvm_tdls_sta_count(mvm, vif); iwl_mvm_recalc_tdls_state() 190 iwl_mvm_tdls_config(mvm, vif); iwl_mvm_recalc_tdls_state() 198 struct ieee80211_vif *vif) iwl_mvm_mac_mgd_protect_tdls_discover() 201 u32 duration = 2 * vif->bss_conf.dtim_period * vif->bss_conf.beacon_int; iwl_mvm_mac_mgd_protect_tdls_discover() 212 iwl_mvm_protect_session(mvm, vif, duration, duration, 100, true); iwl_mvm_mac_mgd_protect_tdls_discover() 264 struct ieee80211_vif *vif; iwl_mvm_rx_tdls_notif() local 285 vif = mvmsta->vif; iwl_mvm_rx_tdls_notif() 291 delay = TU_TO_MS(vif->bss_conf.dtim_period * vif->bss_conf.beacon_int); iwl_mvm_rx_tdls_notif() 383 struct ieee80211_vif *vif, iwl_mvm_tdls_config_channel_switch() 417 sta = ieee80211_find_sta(vif, peer); iwl_mvm_tdls_config_channel_switch() 435 rcu_dereference(vif->chanctx_conf); iwl_mvm_tdls_config_channel_switch() 456 cpu_to_le32(TU_TO_US(vif->bss_conf.dtim_period * iwl_mvm_tdls_config_channel_switch() 457 vif->bss_conf.beacon_int) / 2); iwl_mvm_tdls_config_channel_switch() 515 struct ieee80211_vif *vif; iwl_mvm_tdls_ch_switch_work() local 537 vif = mvmsta->vif; iwl_mvm_tdls_ch_switch_work() 538 ret = iwl_mvm_tdls_config_channel_switch(mvm, vif, iwl_mvm_tdls_ch_switch_work() 551 delay = TU_TO_MS(vif->bss_conf.dtim_period * vif->bss_conf.beacon_int); iwl_mvm_tdls_ch_switch_work() 560 struct ieee80211_vif *vif, iwl_mvm_tdls_channel_switch() 584 ret = iwl_mvm_tdls_config_channel_switch(mvm, vif, iwl_mvm_tdls_channel_switch() 593 * Mark the peer as "in tdls switch" for this vif. We only allow a iwl_mvm_tdls_channel_switch() 594 * single such peer per vif. iwl_mvm_tdls_channel_switch() 613 delay = 2 * TU_TO_MS(vif->bss_conf.dtim_period * iwl_mvm_tdls_channel_switch() 614 vif->bss_conf.beacon_int); iwl_mvm_tdls_channel_switch() 624 struct ieee80211_vif *vif, iwl_mvm_tdls_cancel_channel_switch() 666 msleep(TU_TO_MS(vif->bss_conf.dtim_period * iwl_mvm_tdls_cancel_channel_switch() 667 vif->bss_conf.beacon_int)); iwl_mvm_tdls_cancel_channel_switch() 677 struct ieee80211_vif *vif, iwl_mvm_tdls_recv_channel_switch() 717 iwl_mvm_tdls_config_channel_switch(mvm, vif, type, params->sta->addr, iwl_mvm_tdls_recv_channel_switch() 727 delay = vif->bss_conf.dtim_period * vif->bss_conf.beacon_int * iwl_mvm_tdls_recv_channel_switch() 197 iwl_mvm_mac_mgd_protect_tdls_discover(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_mgd_protect_tdls_discover() argument 382 iwl_mvm_tdls_config_channel_switch(struct iwl_mvm *mvm, struct ieee80211_vif *vif, enum iwl_tdls_channel_switch_type type, const u8 *peer, bool peer_initiator, u8 oper_class, struct cfg80211_chan_def *chandef, u32 timestamp, u16 switch_time, u16 switch_timeout, struct sk_buff *skb, u32 ch_sw_tm_ie) iwl_mvm_tdls_config_channel_switch() argument 559 iwl_mvm_tdls_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u8 oper_class, struct cfg80211_chan_def *chandef, struct sk_buff *tmpl_skb, u32 ch_sw_tm_ie) iwl_mvm_tdls_channel_switch() argument 623 iwl_mvm_tdls_cancel_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_tdls_cancel_channel_switch() argument 676 iwl_mvm_tdls_recv_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_tdls_ch_sw_params *params) iwl_mvm_tdls_recv_channel_switch() argument
|
H A D | debugfs-vif.c | 70 struct ieee80211_vif *vif, iwl_dbgfs_update_pm() 73 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_update_pm() 80 int dtimper = vif->bss_conf.dtim_period ?: 1; iwl_dbgfs_update_pm() 81 int dtimper_msec = dtimper * vif->bss_conf.beacon_int; iwl_dbgfs_update_pm() 131 static ssize_t iwl_dbgfs_pm_params_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_pm_params_write() argument 134 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_pm_params_write() 187 iwl_dbgfs_update_pm(mvm, vif, param, val); iwl_dbgfs_pm_params_write() 198 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tx_pwr_lmt_read() local 204 vif->bss_conf.txpower); iwl_dbgfs_tx_pwr_lmt_read() 213 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_pm_params_read() local 214 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_pm_params_read() 220 pos = iwl_mvm_power_mac_dbgfs_read(mvm, vif, buf, bufsz); iwl_dbgfs_pm_params_read() 229 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_mac_params_read() local 230 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_mac_params_read() 243 switch (ieee80211_vif_type_p2p(vif)) { iwl_dbgfs_mac_params_read() 269 vif->bss_conf.bssid); iwl_dbgfs_mac_params_read() 280 if (vif->type == NL80211_IFTYPE_STATION && iwl_dbgfs_mac_params_read() 297 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_dbgfs_mac_params_read() 310 static void iwl_dbgfs_update_bf(struct ieee80211_vif *vif, iwl_dbgfs_update_bf() argument 313 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_update_bf() 355 static ssize_t iwl_dbgfs_bf_params_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_bf_params_write() argument 358 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_bf_params_write() 442 iwl_dbgfs_update_bf(vif, param, value); iwl_dbgfs_bf_params_write() 444 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_dbgfs_bf_params_write() 446 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_dbgfs_bf_params_write() 456 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_bf_params_read() local 457 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_bf_params_read() 469 iwl_mvm_beacon_filter_debugfs_parameters(vif, &cmd); iwl_dbgfs_bf_params_read() 508 static ssize_t iwl_dbgfs_tof_enable_write(struct ieee80211_vif *vif, iwl_dbgfs_tof_enable_write() argument 512 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_enable_write() 571 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_enable_read() local 572 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_enable_read() 597 static ssize_t iwl_dbgfs_tof_responder_params_write(struct ieee80211_vif *vif, iwl_dbgfs_tof_responder_params_write() argument 601 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_responder_params_write() 773 ret = iwl_mvm_tof_responder_cmd(mvm, vif); iwl_dbgfs_tof_responder_params_write() 788 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_responder_params_read() local 789 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_responder_params_read() 840 static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif, iwl_dbgfs_tof_range_request_write() argument 844 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_request_write() 972 ret = iwl_mvm_tof_range_request_cmd(mvm, vif); iwl_dbgfs_tof_range_request_write() 986 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_range_request_read() local 987 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_request_read() 1042 static ssize_t iwl_dbgfs_tof_range_req_ext_write(struct ieee80211_vif *vif, iwl_dbgfs_tof_range_req_ext_write() argument 1046 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_req_ext_write() 1102 ret = iwl_mvm_tof_range_request_ext_cmd(mvm, vif); iwl_dbgfs_tof_range_req_ext_write() 1116 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_range_req_ext_read() local 1117 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_req_ext_read() 1147 static ssize_t iwl_dbgfs_tof_range_abort_write(struct ieee80211_vif *vif, iwl_dbgfs_tof_range_abort_write() argument 1151 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_abort_write() 1186 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_range_abort_read() local 1187 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_abort_read() 1207 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_tof_range_response_read() local 1208 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_tof_range_response_read() 1253 static ssize_t iwl_dbgfs_low_latency_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_low_latency_write() argument 1256 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_low_latency_write() 1268 iwl_mvm_update_low_latency(mvm, vif, value); iwl_dbgfs_low_latency_write() 1278 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_low_latency_read() local 1279 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_low_latency_read() 1291 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_uapsd_misbehaving_read() local 1292 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_uapsd_misbehaving_read() 1300 static ssize_t iwl_dbgfs_uapsd_misbehaving_write(struct ieee80211_vif *vif, iwl_dbgfs_uapsd_misbehaving_write() argument 1304 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_uapsd_misbehaving_write() 1315 static ssize_t iwl_dbgfs_rx_phyinfo_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_rx_phyinfo_write() argument 1318 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_rx_phyinfo_write() 1332 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_dbgfs_rx_phyinfo_write() 1357 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_rx_phyinfo_read() local 1358 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_rx_phyinfo_read() 1371 if (!debugfs_create_file(#name, mode, parent, vif, \ 1390 void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_register() argument 1392 struct dentry *dbgfs_dir = vif->debugfs_dir; iwl_mvm_vif_dbgfs_register() 1393 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_vif_dbgfs_register() 1412 ((vif->type == NL80211_IFTYPE_STATION && !vif->p2p) || iwl_mvm_vif_dbgfs_register() 1413 (vif->type == NL80211_IFTYPE_STATION && vif->p2p && iwl_mvm_vif_dbgfs_register() 1427 if (vif->type == NL80211_IFTYPE_STATION && !vif->p2p && iwl_mvm_vif_dbgfs_register() 1433 !vif->p2p && (vif->type != NL80211_IFTYPE_P2P_DEVICE)) { iwl_mvm_vif_dbgfs_register() 1434 if (IWL_MVM_TOF_IS_RESPONDER && vif->type == NL80211_IFTYPE_AP) iwl_mvm_vif_dbgfs_register() 1474 void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_clean() argument 1476 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_vif_dbgfs_clean() 69 iwl_dbgfs_update_pm(struct iwl_mvm *mvm, struct ieee80211_vif *vif, enum iwl_dbgfs_pm_mask param, int val) iwl_dbgfs_update_pm() argument
|
H A D | sta.c | 82 /* d0i3/d3 assumes the AP's sta_id (of sta vif) is 0. reserve it. */ iwl_mvm_find_free_sta_id() 262 struct ieee80211_vif *vif, iwl_mvm_add_sta() 265 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_add_sta() 273 ieee80211_vif_type_p2p(vif)); iwl_mvm_add_sta() 280 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_add_sta() 282 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_add_sta() 290 mvm_sta->vif = vif; iwl_mvm_add_sta() 307 if (vif->hw_queue[i] != IEEE80211_INVAL_HW_QUEUE) iwl_mvm_add_sta() 308 mvm_sta->tfd_queue_msk |= BIT(vif->hw_queue[i]); iwl_mvm_add_sta() 323 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_add_sta() 342 struct ieee80211_vif *vif, iwl_mvm_update_sta() 490 struct ieee80211_vif *vif, iwl_mvm_rm_sta() 493 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_rm_sta() 499 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_rm_sta() 515 if (vif->bss_conf.assoc) iwl_mvm_rm_sta() 572 struct ieee80211_vif *vif, iwl_mvm_rm_sta_id() 682 * Send the add station command for the vif's broadcast station. 686 * @vif: the interface to which the broadcast station is added 689 int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_send_add_bcast_sta() argument 691 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_add_bcast_sta() 698 if (vif->type == NL80211_IFTYPE_ADHOC) iwl_mvm_send_add_bcast_sta() 699 baddr = vif->bss_conf.bssid; iwl_mvm_send_add_bcast_sta() 710 int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_send_rm_bcast_sta() argument 712 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_rm_bcast_sta() 723 int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_alloc_bcast_sta() argument 725 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_alloc_bcast_sta() 730 qmask = iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_alloc_bcast_sta() 737 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_alloc_bcast_sta() 738 qmask &= ~BIT(vif->cab_queue); iwl_mvm_alloc_bcast_sta() 741 ieee80211_vif_type_p2p(vif)); iwl_mvm_alloc_bcast_sta() 744 /* Allocate a new station entry for the broadcast station to the given vif, 749 * @vif: the interface to which the broadcast station is added 751 int iwl_mvm_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_add_bcast_sta() argument 753 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_add_bcast_sta() 759 ret = iwl_mvm_alloc_bcast_sta(mvm, vif); iwl_mvm_add_bcast_sta() 763 ret = iwl_mvm_send_add_bcast_sta(mvm, vif); iwl_mvm_add_bcast_sta() 771 void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_dealloc_bcast_sta() argument 773 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_dealloc_bcast_sta() 782 int iwl_mvm_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_rm_bcast_sta() argument 788 ret = iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_rm_bcast_sta() 790 iwl_mvm_dealloc_bcast_sta(mvm, vif); iwl_mvm_rm_bcast_sta() 923 int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_start() argument 976 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_start() 989 int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_oper() argument 995 iwl_mvm_get_wd_timeout(mvm, vif, sta->tdls, false); iwl_mvm_sta_tx_agg_oper() 1015 vif->hw_queue[tid_to_mac80211_ac[tid]], fifo, iwl_mvm_sta_tx_agg_oper() 1044 int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_stop() argument 1058 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1095 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1100 vif->hw_queue[tid_to_mac80211_ac[tid]], tid, iwl_mvm_sta_tx_agg_stop() 1113 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1131 int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_flush() argument 1168 vif->hw_queue[tid_to_mac80211_ac[tid]], tid, iwl_mvm_sta_tx_agg_flush() 1205 struct ieee80211_vif *vif, iwl_mvm_get_key_sta_id() 1208 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_key_sta_id() 1221 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_get_key_sta_id() 1354 struct ieee80211_vif *vif, iwl_mvm_get_mac_addr() 1357 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_mac_addr() 1362 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_get_mac_addr() 1375 struct ieee80211_vif *vif, __iwl_mvm_set_sta_key() 1389 addr = iwl_mvm_get_mac_addr(mvm, vif, sta); __iwl_mvm_set_sta_key() 1449 struct ieee80211_vif *vif, iwl_mvm_set_sta_key() 1462 sta_id = iwl_mvm_get_key_sta_id(mvm, vif, sta); iwl_mvm_set_sta_key() 1486 if (WARN_ON_ONCE(iwl_mvm_sta_from_mac80211(sta)->vif != vif)) iwl_mvm_set_sta_key() 1507 ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf, key_offset, mcast); iwl_mvm_set_sta_key() 1521 ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf, iwl_mvm_set_sta_key() 1537 struct ieee80211_vif *vif, iwl_mvm_remove_sta_key() 1548 sta_id = iwl_mvm_get_key_sta_id(mvm, vif, sta); iwl_mvm_remove_sta_key() 1587 struct ieee80211_vif *vif, iwl_mvm_update_tkip_key() 1598 sta_id = iwl_mvm_get_key_sta_id(mvm, vif, sta); iwl_mvm_update_tkip_key() 1806 void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_csa_client_absent() argument 1808 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_csa_client_absent() 261 iwl_mvm_add_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_add_sta() argument 341 iwl_mvm_update_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_update_sta() argument 489 iwl_mvm_rm_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_rm_sta() argument 571 iwl_mvm_rm_sta_id(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u8 sta_id) iwl_mvm_rm_sta_id() argument 1204 iwl_mvm_get_key_sta_id(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_get_key_sta_id() argument 1353 iwl_mvm_get_mac_addr(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_get_mac_addr() argument 1374 __iwl_mvm_set_sta_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *keyconf, u8 key_offset, bool mcast) __iwl_mvm_set_sta_key() argument 1448 iwl_mvm_set_sta_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *keyconf, u8 key_offset) iwl_mvm_set_sta_key() argument 1536 iwl_mvm_remove_sta_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *keyconf) iwl_mvm_remove_sta_key() argument 1586 iwl_mvm_update_tkip_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) iwl_mvm_update_tkip_key() argument
|
H A D | binding.c | 118 struct ieee80211_vif *vif) iwl_mvm_iface_iterator() 121 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_iface_iterator() 123 if (vif == data->ignore_vif) iwl_mvm_iface_iterator() 138 struct ieee80211_vif *vif, iwl_mvm_binding_update() 142 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_binding_update() 144 .ignore_vif = vif, iwl_mvm_binding_update() 179 int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_binding_add_vif() argument 181 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_binding_add_vif() 190 if (iwl_mvm_sf_update(mvm, vif, false)) iwl_mvm_binding_add_vif() 193 return iwl_mvm_binding_update(mvm, vif, mvmvif->phy_ctxt, true); iwl_mvm_binding_add_vif() 196 int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_binding_remove_vif() argument 198 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_binding_remove_vif() 204 ret = iwl_mvm_binding_update(mvm, vif, mvmvif->phy_ctxt, false); iwl_mvm_binding_remove_vif() 207 if (iwl_mvm_sf_update(mvm, vif, true)) iwl_mvm_binding_remove_vif() 117 iwl_mvm_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_iface_iterator() argument 137 iwl_mvm_binding_update(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mvm_phy_ctxt *phyctxt, bool add) iwl_mvm_binding_update() argument
|
H A D | tof.c | 110 struct ieee80211_vif *vif) iwl_tof_iterator() 114 /* non bss vif exists */ iwl_tof_iterator() 115 if (ieee80211_vif_type_p2p(vif) != NL80211_IFTYPE_STATION) iwl_tof_iterator() 133 IWL_DEBUG_INFO(mvm, "ToF is not supported (non bss vif)\n"); iwl_mvm_tof_config_cmd() 171 struct ieee80211_vif *vif) iwl_mvm_tof_responder_cmd() 174 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_tof_responder_cmd() 181 if (vif->p2p || vif->type != NL80211_IFTYPE_AP || iwl_mvm_tof_responder_cmd() 188 memcpy(cmd->bssid, vif->addr, ETH_ALEN); iwl_mvm_tof_responder_cmd() 196 struct ieee80211_vif *vif) iwl_mvm_tof_range_request_cmd() 210 if (ieee80211_vif_type_p2p(vif) != NL80211_IFTYPE_STATION) { iwl_mvm_tof_range_request_cmd() 230 struct ieee80211_vif *vif) iwl_mvm_tof_range_request_ext_cmd() 237 if (ieee80211_vif_type_p2p(vif) != NL80211_IFTYPE_STATION) { iwl_mvm_tof_range_request_ext_cmd() 109 iwl_tof_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_tof_iterator() argument 170 iwl_mvm_tof_responder_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_tof_responder_cmd() argument 195 iwl_mvm_tof_range_request_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_tof_range_request_cmd() argument 229 iwl_mvm_tof_range_request_ext_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_tof_range_request_ext_cmd() argument
|
H A D | d3.c | 78 struct ieee80211_vif *vif, iwl_mvm_set_rekey_data() 82 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_set_rekey_data() 100 struct ieee80211_vif *vif, iwl_mvm_ipv6_addr_change() 103 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_ipv6_addr_change() 121 struct ieee80211_vif *vif, int idx) iwl_mvm_set_default_unicast_key() 123 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_set_default_unicast_key() 144 struct ieee80211_vif *vif, iwl_mvm_wowlan_program_keys() 150 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_wowlan_program_keys() 261 ieee80211_get_tkip_rx_p1k(key, vif->bss_conf.bssid, iwl_mvm_wowlan_program_keys() 264 ieee80211_get_tkip_rx_p1k(key, vif->bss_conf.bssid, iwl_mvm_wowlan_program_keys() 314 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 0); iwl_mvm_wowlan_program_keys() 324 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 1); iwl_mvm_wowlan_program_keys() 388 static void iwl_mvm_build_tcp_packet(struct ieee80211_vif *vif, iwl_mvm_build_tcp_packet() argument 413 memcpy(pkt->eth.h_source, vif->addr, ETH_ALEN); iwl_mvm_build_tcp_packet() 426 memcpy(pkt->eth.h_dest, vif->addr, ETH_ALEN); iwl_mvm_build_tcp_packet() 507 struct ieee80211_vif *vif, iwl_mvm_send_remote_wake_cfg() 533 vif, tcp, cfg->syn_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 540 vif, tcp, cfg->synack_rx.data, cfg->synack_rx.rx_mask, iwl_mvm_send_remote_wake_cfg() 547 vif, tcp, cfg->keepalive_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 571 vif, tcp, cfg->keepalive_ack_rx.data, iwl_mvm_send_remote_wake_cfg() 579 vif, tcp, cfg->wake_rx.data, cfg->wake_rx.rx_mask, iwl_mvm_send_remote_wake_cfg() 587 vif, tcp, cfg->fin_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 598 static int iwl_mvm_d3_reprogram(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_d3_reprogram() argument 601 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_d3_reprogram() 615 ctx = rcu_dereference(vif->chanctx_conf); iwl_mvm_d3_reprogram() 633 if (WARN_ON(!vif->bss_conf.assoc)) iwl_mvm_d3_reprogram() 636 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_d3_reprogram() 672 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_d3_reprogram() 698 struct ieee80211_vif *vif) iwl_mvm_get_last_nonqos_seq() 700 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_last_nonqos_seq() 734 void iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_set_last_nonqos_seq() argument 736 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_set_last_nonqos_seq() 786 struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, iwl_mvm_get_wowlan_config() 798 ret = iwl_mvm_get_last_nonqos_seq(mvm, vif); iwl_mvm_get_wowlan_config() 849 struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, iwl_mvm_wowlan_config() 865 ret = iwl_mvm_d3_reprogram(mvm, vif, ap_sta); iwl_mvm_wowlan_config() 880 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_wowlan_config() 940 ret = iwl_mvm_send_proto_offload(mvm, vif, false, 0); iwl_mvm_wowlan_config() 944 ret = iwl_mvm_send_remote_wake_cfg(mvm, vif, wowlan->tcp); iwl_mvm_wowlan_config() 955 struct ieee80211_vif *vif) iwl_mvm_netdetect_config() 975 ret = iwl_mvm_sched_scan_start(mvm, vif, nd_config, &mvm->nd_ies, iwl_mvm_netdetect_config() 1019 struct ieee80211_vif *vif = NULL; __iwl_mvm_suspend() local 1050 vif = iwl_mvm_get_bss_vif(mvm); __iwl_mvm_suspend() 1051 if (IS_ERR_OR_NULL(vif)) { __iwl_mvm_suspend() 1056 mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_suspend() 1066 mvm, wowlan, wowlan->nd_config ?: mvm->nd_config, vif); __iwl_mvm_suspend() 1083 vif, mvmvif, ap_sta); __iwl_mvm_suspend() 1087 vif, mvmvif, ap_sta); __iwl_mvm_suspend() 1204 struct ieee80211_vif *vif, iwl_mvm_report_wakeup_reasons() 1304 if (ieee80211_data_to_8023(pkt, vif->addr, vif->type)) iwl_mvm_report_wakeup_reasons() 1329 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwl_mvm_report_wakeup_reasons() 1410 struct ieee80211_vif *vif, iwl_mvm_d3_update_gtks() 1477 struct ieee80211_vif *vif, iwl_mvm_setup_connection_keep() 1480 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_setup_connection_keep() 1488 if (!status || !vif->bss_conf.bssid) iwl_mvm_setup_connection_keep() 1496 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_setup_connection_keep() 1511 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_setup_connection_keep() 1540 key = ieee80211_gtk_rekey_add(vif, &conf.conf); iwl_mvm_setup_connection_keep() 1549 ieee80211_gtk_rekey_notify(vif, vif->bss_conf.bssid, iwl_mvm_setup_connection_keep() 1562 iwl_mvm_get_wakeup_status(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_get_wakeup_status() argument 1587 ieee80211_report_wowlan_wakeup(vif, &wakeup, iwl_mvm_get_wakeup_status() 1636 struct ieee80211_vif *vif) iwl_mvm_query_wakeup_reasons() 1645 fw_status = iwl_mvm_get_wakeup_status(mvm, vif); iwl_mvm_query_wakeup_reasons() 1678 iwl_mvm_report_wakeup_reasons(mvm, vif, &status); iwl_mvm_query_wakeup_reasons() 1680 keep = iwl_mvm_setup_connection_keep(mvm, vif, fw_status); iwl_mvm_query_wakeup_reasons() 1742 struct ieee80211_vif *vif) iwl_mvm_query_netdetect_reasons() 1755 fw_status = iwl_mvm_get_wakeup_status(mvm, vif); iwl_mvm_query_netdetect_reasons() 1828 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwl_mvm_query_netdetect_reasons() 1858 struct ieee80211_vif *vif) iwl_mvm_d3_disconnect_iter() 1861 if (data == vif) iwl_mvm_d3_disconnect_iter() 1864 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_d3_disconnect_iter() 1865 ieee80211_resume_disconnect(vif); iwl_mvm_d3_disconnect_iter() 1870 struct ieee80211_vif *vif = NULL; __iwl_mvm_resume() local 1877 /* get the BSS vif pointer again */ __iwl_mvm_resume() 1878 vif = iwl_mvm_get_bss_vif(mvm); __iwl_mvm_resume() 1879 if (IS_ERR_OR_NULL(vif)) __iwl_mvm_resume() 1901 iwl_mvm_query_netdetect_reasons(mvm, vif); __iwl_mvm_resume() 1905 keep = iwl_mvm_query_wakeup_reasons(mvm, vif); __iwl_mvm_resume() 1908 mvm->keep_vif = vif; __iwl_mvm_resume() 1922 iwl_mvm_d3_disconnect_iter, keep ? vif : NULL); __iwl_mvm_resume() 2053 struct ieee80211_vif *vif) iwl_mvm_d3_test_disconn_work_iter() 2056 if (_data == vif) iwl_mvm_d3_test_disconn_work_iter() 2059 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_d3_test_disconn_work_iter() 2060 ieee80211_connection_loss(vif); iwl_mvm_d3_test_disconn_work_iter() 77 iwl_mvm_set_rekey_data(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_gtk_rekey_data *data) iwl_mvm_set_rekey_data() argument 99 iwl_mvm_ipv6_addr_change(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct inet6_dev *idev) iwl_mvm_ipv6_addr_change() argument 120 iwl_mvm_set_default_unicast_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int idx) iwl_mvm_set_default_unicast_key() argument 143 iwl_mvm_wowlan_program_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key, void *_data) iwl_mvm_wowlan_program_keys() argument 506 iwl_mvm_send_remote_wake_cfg(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct cfg80211_wowlan_tcp *tcp) iwl_mvm_send_remote_wake_cfg() argument 697 iwl_mvm_get_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_get_last_nonqos_seq() argument 783 iwl_mvm_get_wowlan_config(struct iwl_mvm *mvm, struct cfg80211_wowlan *wowlan, struct iwl_wowlan_config_cmd *wowlan_config_cmd, struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, struct ieee80211_sta *ap_sta) iwl_mvm_get_wowlan_config() argument 846 iwl_mvm_wowlan_config(struct iwl_mvm *mvm, struct cfg80211_wowlan *wowlan, struct iwl_wowlan_config_cmd *wowlan_config_cmd, struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, struct ieee80211_sta *ap_sta) iwl_mvm_wowlan_config() argument 952 iwl_mvm_netdetect_config(struct iwl_mvm *mvm, struct cfg80211_wowlan *wowlan, struct cfg80211_sched_scan_request *nd_config, struct ieee80211_vif *vif) iwl_mvm_netdetect_config() argument 1203 iwl_mvm_report_wakeup_reasons(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_wowlan_status_data *status) iwl_mvm_report_wakeup_reasons() argument 1409 iwl_mvm_d3_update_gtks(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key, void *_data) iwl_mvm_d3_update_gtks() argument 1476 iwl_mvm_setup_connection_keep(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_wowlan_status *status) iwl_mvm_setup_connection_keep() argument 1635 iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_query_wakeup_reasons() argument 1741 iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_query_netdetect_reasons() argument 1857 iwl_mvm_d3_disconnect_iter(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_d3_disconnect_iter() argument 2052 iwl_mvm_d3_test_disconn_work_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_d3_test_disconn_work_iter() argument
|
H A D | mvm.h | 175 struct ieee80211_vif *vif; member in struct:iwl_mvm_time_event_data 361 * @features: hw features active for this vif 449 iwl_mvm_vif_from_mac80211(struct ieee80211_vif *vif) iwl_mvm_vif_from_mac80211() argument 451 return (void *)vif->drv_priv; iwl_mvm_vif_from_mac80211() 1139 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1140 void iwl_mvm_mac_ctxt_release(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1141 int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1142 int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1144 int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1145 u32 iwl_mvm_mac_get_queues_mask(struct ieee80211_vif *vif); 1147 struct ieee80211_vif *vif); 1153 struct ieee80211_vif *vif); 1157 int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1158 int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1165 int iwl_mvm_reg_scan_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1179 struct ieee80211_vif *vif, 1199 void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1200 void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1208 iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_register() argument 1212 iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_clean() argument 1229 int iwl_mvm_power_mac_dbgfs_read(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1232 void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1254 struct ieee80211_vif *vif, 1257 struct ieee80211_vif *vif, 1260 struct ieee80211_vif *vif, int idx); 1264 struct ieee80211_vif *vif); 1267 iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_set_last_nonqos_seq() argument 1274 struct ieee80211_vif *vif, 1292 void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1311 void iwl_mvm_bt_rssi_event_old(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1325 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, 1329 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, iwl_mvm_beacon_filter_debugfs_parameters() argument 1334 struct ieee80211_vif *vif, 1337 struct ieee80211_vif *vif, 1340 struct ieee80211_vif *vif, 1343 void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1349 int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1440 int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1451 int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1453 void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1456 struct ieee80211_vif *vif); 1458 struct ieee80211_vif *vif, 1463 struct ieee80211_vif *vif, 1466 struct ieee80211_vif *vif, 1488 struct ieee80211_vif *vif, 1490 void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1494 struct ieee80211_vif *vif) iwl_fw_dbg_trigger_vif_match() 1498 return trig_vif == IWL_FW_DBG_CONF_VIF_ANY || vif->type == trig_vif; iwl_fw_dbg_trigger_vif_match() 1512 struct ieee80211_vif *vif, iwl_fw_dbg_trigger_check_stop() 1515 if (vif && !iwl_fw_dbg_trigger_vif_match(trig, vif)) iwl_fw_dbg_trigger_check_stop() 1523 struct ieee80211_vif *vif, iwl_fw_dbg_trigger_simple_stop() 1532 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trigger)) iwl_fw_dbg_trigger_simple_stop() 1493 iwl_fw_dbg_trigger_vif_match(struct iwl_fw_dbg_trigger_tlv *trig, struct ieee80211_vif *vif) iwl_fw_dbg_trigger_vif_match() argument 1511 iwl_fw_dbg_trigger_check_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_fw_dbg_trigger_tlv *trig) iwl_fw_dbg_trigger_check_stop() argument 1522 iwl_fw_dbg_trigger_simple_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, enum iwl_fw_dbg_trigger trig) iwl_fw_dbg_trigger_simple_stop() argument
|
H A D | time-event.c | 89 if (!te_data->vif) iwl_mvm_te_clear_data() 96 te_data->vif = NULL; iwl_mvm_te_clear_data() 183 struct ieee80211_vif *vif, iwl_mvm_te_check_disconnect() 186 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_te_check_disconnect() 188 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period) iwl_mvm_te_check_disconnect() 193 iwl_mvm_connection_loss(mvm, vif, errmsg); iwl_mvm_te_check_disconnect() 202 struct ieee80211_vif *vif = te_data->vif; iwl_mvm_te_handle_notify_csa() local 203 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_te_handle_notify_csa() 208 switch (te_data->vif->type) { iwl_mvm_te_handle_notify_csa() 216 iwl_mvm_connection_loss(mvm, vif, iwl_mvm_te_handle_notify_csa() 220 iwl_mvm_csa_client_absent(mvm, te_data->vif); iwl_mvm_te_handle_notify_csa() 221 ieee80211_chswitch_done(te_data->vif, true); iwl_mvm_te_handle_notify_csa() 247 if (!iwl_fw_dbg_trigger_check_stop(mvm, te_data->vif, trig)) iwl_mvm_te_check_trigger() 308 if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, msg)) { iwl_mvm_te_handle_notif() 319 switch (te_data->vif->type) { iwl_mvm_te_handle_notif() 329 iwl_mvm_te_check_disconnect(mvm, te_data->vif, iwl_mvm_te_handle_notif() 341 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_te_handle_notif() 392 te_data->vif = NULL; iwl_mvm_aux_roc_te_handle_notif() 499 struct ieee80211_vif *vif, iwl_mvm_time_event_send_add() 517 te_data->vif = vif; iwl_mvm_time_event_send_add() 560 struct ieee80211_vif *vif, iwl_mvm_protect_session() 564 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_protect_session() 591 iwl_mvm_stop_session_protection(mvm, vif); iwl_mvm_protect_session() 612 iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); iwl_mvm_protect_session() 626 if (iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd)) { iwl_mvm_protect_session() 730 struct ieee80211_vif *vif) iwl_mvm_stop_session_protection() 732 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stop_session_protection() 739 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_start_p2p_roc() argument 742 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_start_p2p_roc() 791 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); iwl_mvm_start_p2p_roc() 812 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_stop_roc() 813 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); iwl_mvm_stop_roc() 826 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); iwl_mvm_stop_roc() 845 struct ieee80211_vif *vif, iwl_mvm_schedule_csa_period() 848 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_schedule_csa_period() 871 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); iwl_mvm_schedule_csa_period() 182 iwl_mvm_te_check_disconnect(struct iwl_mvm *mvm, struct ieee80211_vif *vif, const char *errmsg) iwl_mvm_te_check_disconnect() argument 498 iwl_mvm_time_event_send_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mvm_time_event_data *te_data, struct iwl_time_event_cmd *te_cmd) iwl_mvm_time_event_send_add() argument 559 iwl_mvm_protect_session(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 duration, u32 min_duration, u32 max_delay, bool wait_for_notif) iwl_mvm_protect_session() argument 729 iwl_mvm_stop_session_protection(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_stop_session_protection() argument 844 iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 duration, u32 apply_time) iwl_mvm_schedule_csa_period() argument
|
H A D | coex_legacy.c | 560 iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) iwl_get_coex_type() argument 576 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_get_coex_type() 827 struct ieee80211_vif *vif, iwl_mvm_bt_coex_enable_rssi_event() 830 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_coex_enable_rssi_event() 841 struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() 843 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_notif_iterator() 853 switch (vif->type) { iwl_mvm_bt_notif_iterator() 866 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_notif_iterator() 871 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_bt_notif_iterator() 873 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 877 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 886 smps_mode = vif->type == NL80211_IFTYPE_AP ? iwl_mvm_bt_notif_iterator() 891 if (!vif->bss_conf.assoc) iwl_mvm_bt_notif_iterator() 903 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_bt_notif_iterator() 904 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 915 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_bt_notif_iterator() 930 /* there is low latency vif - we will be secondary */ iwl_mvm_bt_notif_iterator() 937 * STA / P2P Client, try to be primary if first vif. If we are in low iwl_mvm_bt_notif_iterator() 953 if (iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT || iwl_mvm_bt_notif_iterator() 954 mvm->cfg->bt_shared_single_ant || !vif->bss_conf.assoc || iwl_mvm_bt_notif_iterator() 957 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 976 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, true, ave_rssi); iwl_mvm_bt_notif_iterator() 1088 struct ieee80211_vif *vif) iwl_mvm_bt_rssi_iterator() 1090 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_iterator() 1100 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_rssi_iterator() 1109 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_bt_rssi_iterator() 1123 void iwl_mvm_bt_rssi_event_old(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_bt_rssi_event_old() argument 1126 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_event_old() 1149 IWL_DEBUG_COEX(mvm, "RSSI for %pM is now %s\n", vif->bss_conf.bssid, iwl_mvm_bt_rssi_event_old() 1157 iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT) iwl_mvm_bt_rssi_event_old() 1190 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_coex_agg_time_limit_old() 1219 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_bt_coex_is_mimo_allowed_old() 826 iwl_mvm_bt_coex_enable_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool enable, int rssi) iwl_mvm_bt_coex_enable_rssi_event() argument 840 iwl_mvm_bt_notif_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() argument 1087 iwl_mvm_bt_rssi_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bt_rssi_iterator() argument
|
H A D | offloading.c | 87 struct ieee80211_vif *vif, iwl_mvm_send_proto_offload() 107 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_proto_offload() 154 memcpy(nsc[j].target_mac_addr, vif->addr, ETH_ALEN); iwl_mvm_send_proto_offload() 164 memcpy(cmd.v2.ndp_mac_addr, vif->addr, ETH_ALEN); iwl_mvm_send_proto_offload() 178 memcpy(cmd.v1.ndp_mac_addr, vif->addr, ETH_ALEN); iwl_mvm_send_proto_offload() 206 if (vif->bss_conf.arp_addr_cnt) { iwl_mvm_send_proto_offload() 208 common->host_ipv4_addr = vif->bss_conf.arp_addr_list[0]; iwl_mvm_send_proto_offload() 209 memcpy(common->arp_mac_addr, vif->addr, ETH_ALEN); iwl_mvm_send_proto_offload() 86 iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool disable_offloading, u32 cmd_flags) iwl_mvm_send_proto_offload() argument
|
H A D | coex.c | 361 iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) iwl_get_coex_type() argument 378 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_get_coex_type() 504 struct ieee80211_vif *vif, iwl_mvm_bt_coex_enable_rssi_event() 507 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_coex_enable_rssi_event() 518 struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() 520 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_notif_iterator() 531 switch (vif->type) { iwl_mvm_bt_notif_iterator() 542 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_notif_iterator() 547 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_bt_notif_iterator() 549 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 553 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 565 if (!vif->bss_conf.assoc) iwl_mvm_bt_notif_iterator() 577 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_bt_notif_iterator() 578 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 589 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_bt_notif_iterator() 604 /* there is low latency vif - we will be secondary */ iwl_mvm_bt_notif_iterator() 611 * STA / P2P Client, try to be primary if first vif. If we are in low iwl_mvm_bt_notif_iterator() 627 if (iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT || iwl_mvm_bt_notif_iterator() 628 mvm->cfg->bt_shared_single_ant || !vif->bss_conf.assoc || iwl_mvm_bt_notif_iterator() 631 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 650 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, true, ave_rssi); iwl_mvm_bt_notif_iterator() 755 void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_bt_rssi_event() argument 758 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_event() 763 iwl_mvm_bt_rssi_event_old(mvm, vif, rssi_event); iwl_mvm_bt_rssi_event() 784 IWL_DEBUG_COEX(mvm, "RSSI for %pM is now %s\n", vif->bss_conf.bssid, iwl_mvm_bt_rssi_event() 792 iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT) iwl_mvm_bt_rssi_event() 809 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); iwl_mvm_coex_agg_time_limit() 823 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_coex_agg_time_limit() 836 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); iwl_mvm_bt_coex_is_mimo_allowed() 857 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_bt_coex_is_mimo_allowed() 503 iwl_mvm_bt_coex_enable_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool enable, int rssi) iwl_mvm_bt_coex_enable_rssi_event() argument 517 iwl_mvm_bt_notif_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() argument
|
H A D | sta.h | 324 struct ieee80211_vif *vif; member in struct:iwl_mvm_sta 354 struct ieee80211_vif *vif, 357 struct ieee80211_vif *vif, 360 struct ieee80211_vif *vif, 363 struct ieee80211_vif *vif, 366 struct ieee80211_vif *vif, 371 struct ieee80211_vif *vif, 376 struct ieee80211_vif *vif, 387 int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 389 int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 391 int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 393 int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 399 int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 400 int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 401 int iwl_mvm_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 402 int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 403 int iwl_mvm_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 404 void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 424 void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
|
H A D | time-event.h | 124 * @vif: the virtual interface for which the session is issued 140 struct ieee80211_vif *vif, 147 * @vif: the virtual interface for which the session is issued 155 struct ieee80211_vif *vif); 166 * @vif: the virtual interface for which the roc is requested. It is assumed 167 * that the vif type is NL80211_IFTYPE_P2P_DEVICE 169 * channel that is bound to the vif. 180 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 196 * @vif: the vif to which the time event belongs 223 * @vif: the virtual interface for which the channel switch is issued 231 struct ieee80211_vif *vif,
|
H A D | sf.c | 77 * data->station_vif will point to one bound vif of type station, if exists. 80 struct ieee80211_vif *vif) iwl_mvm_bound_iface_iterator() 83 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bound_iface_iterator() 85 if (vif == data->ignore_vif || !mvmvif->phy_ctxt || iwl_mvm_bound_iface_iterator() 86 vif->type == NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_bound_iface_iterator() 91 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_bound_iface_iterator() 93 if (vif->bss_conf.assoc) iwl_mvm_bound_iface_iterator() 293 * vif is a p2p device. iwl_mvm_sf_update() 79 iwl_mvm_bound_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bound_iface_iterator() argument
|
H A D | ops.c | 1033 struct ieee80211_vif *vif, iwl_mvm_disallow_offloading() 1036 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_disallow_offloading() 1042 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION || iwl_mvm_disallow_offloading() 1085 struct ieee80211_vif *vif) iwl_mvm_enter_d0i3_iterator() 1089 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_enter_d0i3_iterator() 1092 IWL_DEBUG_RPM(mvm, "entering D0i3 - vif %pM\n", vif->addr); iwl_mvm_enter_d0i3_iterator() 1093 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_enter_d0i3_iterator() 1094 !vif->bss_conf.assoc) iwl_mvm_enter_d0i3_iterator() 1102 if (iwl_mvm_disallow_offloading(mvm, vif, data)) iwl_mvm_enter_d0i3_iterator() 1105 iwl_mvm_update_d0i3_power_mode(mvm, vif, true, flags); iwl_mvm_enter_d0i3_iterator() 1106 iwl_mvm_send_proto_offload(mvm, vif, data->disable_offloading, flags); iwl_mvm_enter_d0i3_iterator() 1217 struct ieee80211_vif *vif) iwl_mvm_exit_d0i3_iterator() 1222 IWL_DEBUG_RPM(mvm, "exiting D0i3 - vif %pM\n", vif->addr); iwl_mvm_exit_d0i3_iterator() 1223 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_exit_d0i3_iterator() 1224 !vif->bss_conf.assoc) iwl_mvm_exit_d0i3_iterator() 1227 iwl_mvm_update_d0i3_power_mode(mvm, vif, false, flags); iwl_mvm_exit_d0i3_iterator() 1236 struct ieee80211_vif *vif) iwl_mvm_d0i3_wakeup_reason_iter() 1239 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_d0i3_wakeup_reason_iter() 1241 if (vif->type == NL80211_IFTYPE_STATION && vif->bss_conf.assoc && iwl_mvm_d0i3_wakeup_reason_iter() 1245 iwl_mvm_connection_loss(data->mvm, vif, "D0i3"); iwl_mvm_d0i3_wakeup_reason_iter() 1247 ieee80211_beacon_loss(vif); iwl_mvm_d0i3_wakeup_reason_iter() 1032 iwl_mvm_disallow_offloading(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_d0i3_iter_data *iter_data) iwl_mvm_disallow_offloading() argument 1084 iwl_mvm_enter_d0i3_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_enter_d0i3_iterator() argument 1216 iwl_mvm_exit_d0i3_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_exit_d0i3_iterator() argument 1235 iwl_mvm_d0i3_wakeup_reason_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_d0i3_wakeup_reason_iter() argument
|
H A D | utils.c | 839 void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_update_smps() argument 853 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_update_smps() 858 mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_smps() 869 ieee80211_request_smps(vif, smps_mode); iwl_mvm_update_smps() 907 struct ieee80211_vif *vif) iwl_mvm_diversity_iter() 909 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_diversity_iter() 939 int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_update_low_latency() argument 942 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_low_latency() 961 static void iwl_mvm_ll_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_ll_iter() argument 965 if (iwl_mvm_vif_low_latency(iwl_mvm_vif_from_mac80211(vif))) iwl_mvm_ll_iter() 981 struct ieee80211_vif *vif; member in struct:iwl_bss_iter_data 986 struct ieee80211_vif *vif) iwl_mvm_bss_iface_iterator() 990 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_bss_iface_iterator() 993 if (data->vif) { iwl_mvm_bss_iface_iterator() 998 data->vif = vif; iwl_mvm_bss_iface_iterator() 1014 return bss_iter_data.vif; iwl_mvm_get_bss_vif() 1018 struct ieee80211_vif *vif, iwl_mvm_get_wd_timeout() 1039 if (WARN_ON(!vif)) iwl_mvm_get_wd_timeout() 1042 switch (ieee80211_vif_type_p2p(vif)) { iwl_mvm_get_wd_timeout() 1061 void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_connection_loss() argument 1072 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_connection_loss() 1082 ieee80211_connection_loss(vif); iwl_mvm_connection_loss() 906 iwl_mvm_diversity_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_diversity_iter() argument 985 iwl_mvm_bss_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bss_iface_iterator() argument 1017 iwl_mvm_get_wd_timeout(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool tdls, bool cmd_q) iwl_mvm_get_wd_timeout() argument
|
H A D | rx.c | 243 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); iwl_mvm_rx_csum() 366 iwl_fw_dbg_trigger_check_stop(mvm, mvmsta->vif, iwl_mvm_rx_rx_mpdu() 459 struct ieee80211_vif *vif) iwl_mvm_stat_iterator() 465 int thold = vif->bss_conf.cqm_rssi_thold; iwl_mvm_stat_iterator() 466 int hyst = vif->bss_conf.cqm_rssi_hyst; iwl_mvm_stat_iterator() 468 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stat_iterator() 484 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_stat_iterator() 504 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_HIGH); iwl_mvm_stat_iterator() 511 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_LOW); iwl_mvm_stat_iterator() 515 if (!(vif->driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) iwl_mvm_stat_iterator() 526 vif, iwl_mvm_stat_iterator() 535 vif, iwl_mvm_stat_iterator() 458 iwl_mvm_stat_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_stat_iterator() argument
|
H A D | tof.h | 85 struct ieee80211_vif *vif); 89 struct ieee80211_vif *vif); 92 struct ieee80211_vif *vif);
|
H A D | scan.c | 193 struct ieee80211_vif *vif) iwl_mvm_scan_condition_iterator() 195 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_scan_condition_iterator() 198 if (vif->type != NL80211_IFTYPE_P2P_DEVICE && mvmvif->phy_ctxt && iwl_mvm_scan_condition_iterator() 210 struct ieee80211_vif *vif, iwl_mvm_get_scan_type() 228 vif->type != NL80211_IFTYPE_P2P_DEVICE && iwl_mvm_get_scan_type() 645 iwl_mvm_build_scan_probe(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_build_scan_probe() argument 664 memcpy(frame->sa, vif->addr, ETH_ALEN); iwl_mvm_build_scan_probe() 740 struct ieee80211_vif *vif) iwl_mvm_scan_use_ebs() 752 vif->type != NL80211_IFTYPE_P2P_DEVICE); iwl_mvm_scan_use_ebs() 785 static int iwl_mvm_scan_lmac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_scan_lmac() argument 840 if (iwl_mvm_scan_use_ebs(mvm, vif)) { iwl_mvm_scan_lmac() 1054 static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_scan_umac() argument 1086 if (iwl_mvm_scan_use_ebs(mvm, vif)) iwl_mvm_scan_umac() 1169 int iwl_mvm_reg_scan_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_reg_scan_start() argument 1216 params.type = iwl_mvm_get_scan_type(mvm, vif, ¶ms); iwl_mvm_reg_scan_start() 1218 iwl_mvm_build_scan_probe(mvm, vif, ies, ¶ms); iwl_mvm_reg_scan_start() 1222 ret = iwl_mvm_scan_umac(mvm, vif, ¶ms, iwl_mvm_reg_scan_start() 1226 ret = iwl_mvm_scan_lmac(mvm, vif, ¶ms); iwl_mvm_reg_scan_start() 1250 struct ieee80211_vif *vif, iwl_mvm_sched_scan_start() 1302 params.type = iwl_mvm_get_scan_type(mvm, vif, ¶ms); iwl_mvm_sched_scan_start() 1321 iwl_mvm_build_scan_probe(mvm, vif, ies, ¶ms); iwl_mvm_sched_scan_start() 1325 ret = iwl_mvm_scan_umac(mvm, vif, ¶ms, IWL_MVM_SCAN_SCHED); iwl_mvm_sched_scan_start() 1328 ret = iwl_mvm_scan_lmac(mvm, vif, ¶ms); iwl_mvm_sched_scan_start() 192 iwl_mvm_scan_condition_iterator(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_scan_condition_iterator() argument 209 iwl_mvm_get_scan_type(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mvm_scan_params *params) iwl_mvm_get_scan_type() argument 739 iwl_mvm_scan_use_ebs(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_scan_use_ebs() argument 1249 iwl_mvm_sched_scan_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct cfg80211_sched_scan_request *req, struct ieee80211_scan_ies *ies, int type) iwl_mvm_sched_scan_start() argument
|
H A D | tx.c | 367 (!info->control.vif || iwl_mvm_tx_skb_non_sta() 368 info->hw_queue != info->control.vif->cab_queue))) iwl_mvm_tx_skb_non_sta() 378 info->control.vif->type == NL80211_IFTYPE_STATION) iwl_mvm_tx_skb_non_sta() 391 if (info->control.vif) { iwl_mvm_tx_skb_non_sta() 393 iwl_mvm_vif_from_mac80211(info->control.vif); iwl_mvm_tx_skb_non_sta() 395 if (info->control.vif->type == NL80211_IFTYPE_P2P_DEVICE || iwl_mvm_tx_skb_non_sta() 396 info->control.vif->type == NL80211_IFTYPE_AP) iwl_mvm_tx_skb_non_sta() 398 else if (info->control.vif->type == NL80211_IFTYPE_STATION && iwl_mvm_tx_skb_non_sta() 541 struct ieee80211_vif *vif = mvmsta->vif; iwl_mvm_check_ratid_empty() local 565 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_check_ratid_empty() 573 vif->hw_queue[tid_to_mac80211_ac[tid]], tid, iwl_mvm_check_ratid_empty() 576 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_check_ratid_empty() 830 if (mvmsta && mvmsta->vif->type == NL80211_IFTYPE_AP) { iwl_mvm_rx_tx_cmd_single() 1080 if (mvmsta->vif) iwl_mvm_rx_ba_notif() 1082 rcu_dereference(mvmsta->vif->chanctx_conf); iwl_mvm_rx_ba_notif()
|
H A D | quota.c | 82 struct ieee80211_vif *vif) iwl_mvm_quota_iterator() 85 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_quota_iterator() 89 if (vif == data->disabled_vif) iwl_mvm_quota_iterator() 104 switch (vif->type) { iwl_mvm_quota_iterator() 106 if (vif->bss_conf.assoc) iwl_mvm_quota_iterator() 81 iwl_mvm_quota_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_quota_iterator() argument
|
H A D | phy-ctxt.c | 272 struct ieee80211_vif *vif) iwl_mvm_binding_iterator() 275 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_binding_iterator() 280 if (vif->type == NL80211_IFTYPE_STATION || iwl_mvm_binding_iterator() 281 vif->type == NL80211_IFTYPE_AP) iwl_mvm_binding_iterator() 271 iwl_mvm_binding_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_binding_iterator() argument
|
H A D | tt.c | 277 struct ieee80211_vif *vif) iwl_mvm_tt_smps_iterator() 289 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_tt_smps_iterator() 292 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, smps_mode); iwl_mvm_tt_smps_iterator() 276 iwl_mvm_tt_smps_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_tt_smps_iterator() argument
|
H A D | testmode.h | 89 * @IWL_MVM_TM_CMD_SET_NOA: set NoA on GO vif for testing
|
/linux-4.4.14/drivers/net/wireless/ath/wcn36xx/ |
H A D | pmc.c | 22 struct ieee80211_vif *vif) wcn36xx_pmc_enter_bmps_state() 25 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_pmc_enter_bmps_state() 27 ret = wcn36xx_smd_enter_bmps(wcn, vif); wcn36xx_pmc_enter_bmps_state() 43 struct ieee80211_vif *vif) wcn36xx_pmc_exit_bmps_state() 45 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_pmc_exit_bmps_state() 51 wcn36xx_smd_exit_bmps(wcn, vif); wcn36xx_pmc_exit_bmps_state() 57 struct ieee80211_vif *vif) wcn36xx_enable_keep_alive_null_packet() 60 return wcn36xx_smd_keep_alive_req(wcn, vif, wcn36xx_enable_keep_alive_null_packet() 21 wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_pmc_enter_bmps_state() argument 42 wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_pmc_exit_bmps_state() argument 56 wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_enable_keep_alive_null_packet() argument
|
H A D | main.c | 173 static inline u8 get_sta_index(struct ieee80211_vif *vif, get_sta_index() argument 176 return NL80211_IFTYPE_STATION == vif->type ? get_sta_index() 339 struct ieee80211_vif *vif = NULL; wcn36xx_config() local 349 vif = container_of((void *)tmp, wcn36xx_config() 352 wcn36xx_smd_switch_channel(wcn, vif, ch); wcn36xx_config() 385 struct ieee80211_vif *vif, wcn36xx_set_key() 390 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_set_key() 443 if (NL80211_IFTYPE_STATION == vif->type) wcn36xx_set_key() 445 vif, wcn36xx_set_key() 455 get_sta_index(vif, sta_priv)); wcn36xx_set_key() 470 get_sta_index(vif, sta_priv)); wcn36xx_set_key() 486 get_sta_index(vif, sta_priv)); wcn36xx_set_key() 500 struct ieee80211_vif *vif, wcn36xx_sw_scan_start() 510 struct ieee80211_vif *vif) wcn36xx_sw_scan_complete() 585 struct ieee80211_vif *vif, wcn36xx_bss_info_changed() 593 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_bss_info_changed() 595 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss info changed vif %p changed 0x%08x\n", wcn36xx_bss_info_changed() 596 vif, changed); wcn36xx_bss_info_changed() 611 wcn36xx_pmc_enter_bmps_state(wcn, vif); wcn36xx_bss_info_changed() 613 wcn36xx_pmc_exit_bmps_state(wcn, vif); wcn36xx_bss_info_changed() 625 vif->addr, WCN36XX_HW_CHANNEL(wcn)); wcn36xx_bss_info_changed() 626 wcn36xx_smd_config_bss(wcn, vif, NULL, wcn36xx_bss_info_changed() 630 wcn36xx_smd_delete_bss(wcn, vif); wcn36xx_bss_info_changed() 653 "mac assoc bss %pM vif %pM AID=%d\n", wcn36xx_bss_info_changed() 655 vif->addr, wcn36xx_bss_info_changed() 659 sta = ieee80211_find_sta(vif, bss_conf->bssid); wcn36xx_bss_info_changed() 671 vif->addr, wcn36xx_bss_info_changed() 673 wcn36xx_smd_config_bss(wcn, vif, sta, wcn36xx_bss_info_changed() 681 wcn36xx_smd_config_sta(wcn, vif, sta); wcn36xx_bss_info_changed() 685 "disassociated bss %pM vif %pM AID=%d\n", wcn36xx_bss_info_changed() 687 vif->addr, wcn36xx_bss_info_changed() 691 vif->addr, wcn36xx_bss_info_changed() 698 skb = ieee80211_proberesp_get(hw, vif); wcn36xx_bss_info_changed() 704 wcn36xx_smd_update_proberesp_tmpl(wcn, vif, skb); wcn36xx_bss_info_changed() 717 wcn36xx_smd_config_bss(wcn, vif, NULL, wcn36xx_bss_info_changed() 718 vif->addr, false); wcn36xx_bss_info_changed() 719 skb = ieee80211_beacon_get_tim(hw, vif, &tim_off, wcn36xx_bss_info_changed() 725 wcn36xx_smd_send_beacon(wcn, vif, skb, tim_off, 0); wcn36xx_bss_info_changed() 728 if (vif->type == NL80211_IFTYPE_ADHOC || wcn36xx_bss_info_changed() 729 vif->type == NL80211_IFTYPE_MESH_POINT) wcn36xx_bss_info_changed() 734 wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr, wcn36xx_bss_info_changed() 737 wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr, wcn36xx_bss_info_changed() 739 wcn36xx_smd_delete_bss(wcn, vif); wcn36xx_bss_info_changed() 757 struct ieee80211_vif *vif) wcn36xx_remove_interface() 760 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_remove_interface() 761 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac remove interface vif %p\n", vif); wcn36xx_remove_interface() 764 wcn36xx_smd_delete_sta_self(wcn, vif->addr); wcn36xx_remove_interface() 768 struct ieee80211_vif *vif) wcn36xx_add_interface() 771 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_add_interface() 773 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac add interface vif %p type %d\n", wcn36xx_add_interface() 774 vif, vif->type); wcn36xx_add_interface() 776 if (!(NL80211_IFTYPE_STATION == vif->type || wcn36xx_add_interface() 777 NL80211_IFTYPE_AP == vif->type || wcn36xx_add_interface() 778 NL80211_IFTYPE_ADHOC == vif->type || wcn36xx_add_interface() 779 NL80211_IFTYPE_MESH_POINT == vif->type)) { wcn36xx_add_interface() 781 vif->type); wcn36xx_add_interface() 786 wcn36xx_smd_add_sta_self(wcn, vif); wcn36xx_add_interface() 791 static int wcn36xx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, wcn36xx_sta_add() argument 795 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_sta_add() 797 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta add vif %p sta %pM\n", wcn36xx_sta_add() 798 vif, sta->addr); wcn36xx_sta_add() 802 sta_priv->vif = vif_priv; wcn36xx_sta_add() 807 if (NL80211_IFTYPE_STATION != vif->type) { wcn36xx_sta_add() 810 wcn36xx_smd_config_sta(wcn, vif, sta); wcn36xx_sta_add() 816 struct ieee80211_vif *vif, wcn36xx_sta_remove() 820 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_sta_remove() 823 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta remove vif %p sta %pM index %d\n", wcn36xx_sta_remove() 824 vif, sta->addr, sta_priv->sta_index); wcn36xx_sta_remove() 828 sta_priv->vif = NULL; wcn36xx_sta_remove() 859 struct ieee80211_vif *vif, wcn36xx_ampdu_action() 876 get_sta_index(vif, sta_priv)); wcn36xx_ampdu_action() 878 wcn36xx_smd_trigger_ba(wcn, get_sta_index(vif, sta_priv)); wcn36xx_ampdu_action() 881 wcn36xx_smd_del_ba(wcn, tid, get_sta_index(vif, sta_priv)); wcn36xx_ampdu_action() 888 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); wcn36xx_ampdu_action() 896 get_sta_index(vif, sta_priv)); wcn36xx_ampdu_action() 905 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); wcn36xx_ampdu_action() 384 wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key_conf) wcn36xx_set_key() argument 499 wcn36xx_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) wcn36xx_sw_scan_start() argument 509 wcn36xx_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wcn36xx_sw_scan_complete() argument 584 wcn36xx_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wcn36xx_bss_info_changed() argument 756 wcn36xx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wcn36xx_remove_interface() argument 767 wcn36xx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wcn36xx_add_interface() argument 815 wcn36xx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) wcn36xx_sta_remove() argument 858 wcn36xx_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) wcn36xx_ampdu_action() argument
|
H A D | pmc.h | 28 struct ieee80211_vif *vif); 30 struct ieee80211_vif *vif); 32 struct ieee80211_vif *vif);
|
H A D | debug.c | 32 struct ieee80211_vif *vif = NULL; read_file_bool_bmps() local 36 vif = container_of((void *)vif_priv, read_file_bool_bmps() 39 if (NL80211_IFTYPE_STATION == vif->type) { read_file_bool_bmps() 59 struct ieee80211_vif *vif = NULL; write_file_bool_bmps() local 73 vif = container_of((void *)vif_priv, write_file_bool_bmps() 76 if (NL80211_IFTYPE_STATION == vif->type) { write_file_bool_bmps() 77 wcn36xx_enable_keep_alive_null_packet(wcn, vif); write_file_bool_bmps() 78 wcn36xx_pmc_enter_bmps_state(wcn, vif); write_file_bool_bmps() 86 vif = container_of((void *)vif_priv, write_file_bool_bmps() 89 if (NL80211_IFTYPE_STATION == vif->type) write_file_bool_bmps() 90 wcn36xx_pmc_exit_bmps_state(wcn, vif); write_file_bool_bmps()
|
H A D | smd.h | 67 int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif); 70 int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch); 74 int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif, 77 int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif); 78 int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif, 80 int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif, 84 struct ieee80211_vif *vif, int ch); 86 struct ieee80211_vif *vif, 106 int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif); 107 int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif); 110 struct ieee80211_vif *vif,
|
H A D | txrx.c | 103 struct ieee80211_vif *vif = NULL; get_vif_by_addr() local 105 vif = container_of((void *)vif_priv, get_vif_by_addr() 108 if (memcmp(vif->addr, addr, ETH_ALEN) == 0) get_vif_by_addr() 111 wcn36xx_warn("vif %pM not found\n", addr); get_vif_by_addr() 158 struct ieee80211_vif *vif = NULL; wcn36xx_set_tx_data() local 169 __vif_priv = sta_priv->vif; wcn36xx_set_tx_data() 170 vif = container_of((void *)__vif_priv, wcn36xx_set_tx_data() 175 if (vif->type == NL80211_IFTYPE_STATION) { wcn36xx_set_tx_data() 178 } else if (vif->type == NL80211_IFTYPE_AP || wcn36xx_set_tx_data() 179 vif->type == NL80211_IFTYPE_ADHOC || wcn36xx_set_tx_data() 180 vif->type == NL80211_IFTYPE_MESH_POINT) { wcn36xx_set_tx_data()
|
H A D | smd.c | 121 static void wcn36xx_smd_set_bss_ht_params(struct ieee80211_vif *vif, wcn36xx_smd_set_bss_ht_params() argument 134 bss_params->ht_oper_mode = vif->bss_conf.ht_operation_mode; wcn36xx_smd_set_bss_ht_params() 136 !!(vif->bss_conf.ht_operation_mode & wcn36xx_smd_set_bss_ht_params() 190 struct ieee80211_vif *vif, wcn36xx_smd_set_sta_params() 194 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_set_sta_params() 196 if (vif->type == NL80211_IFTYPE_ADHOC || wcn36xx_smd_set_sta_params() 197 vif->type == NL80211_IFTYPE_AP || wcn36xx_smd_set_sta_params() 198 vif->type == NL80211_IFTYPE_MESH_POINT) { wcn36xx_smd_set_sta_params() 210 * contains our mac address. In AP mode we are bssid so vif wcn36xx_smd_set_sta_params() 213 if (NL80211_IFTYPE_STATION == vif->type) wcn36xx_smd_set_sta_params() 214 memcpy(&sta_params->mac, vif->addr, ETH_ALEN); wcn36xx_smd_set_sta_params() 216 memcpy(&sta_params->bssid, vif->addr, ETH_ALEN); wcn36xx_smd_set_sta_params() 232 if (NL80211_IFTYPE_STATION == vif->type) wcn36xx_smd_set_sta_params() 620 struct ieee80211_vif *vif, int ch) wcn36xx_smd_switch_channel() 631 memcpy(msg_body.self_sta_mac_addr, vif->addr, ETH_ALEN); wcn36xx_smd_switch_channel() 708 struct ieee80211_vif *vif, wcn36xx_smd_add_sta_self_rsp() 713 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_add_sta_self_rsp() 736 int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_add_sta_self() argument 744 memcpy(&msg_body.self_addr, vif->addr, ETH_ALEN); wcn36xx_smd_add_sta_self() 758 vif, wcn36xx_smd_add_sta_self() 845 int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch) wcn36xx_smd_join() argument 854 memcpy(&msg_body.self_sta_mac_addr, vif, ETH_ALEN); wcn36xx_smd_join() 1003 int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_config_sta() argument 1015 wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params); wcn36xx_smd_config_sta() 1156 struct ieee80211_vif *vif, wcn36xx_smd_config_bss_rsp() 1162 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_config_bss_rsp() 1197 int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_config_bss() argument 1204 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_config_bss() 1217 memcpy(bss->self_mac_addr, vif->addr, ETH_ALEN); wcn36xx_smd_config_bss() 1219 if (vif->type == NL80211_IFTYPE_STATION) { wcn36xx_smd_config_bss() 1225 } else if (vif->type == NL80211_IFTYPE_AP || wcn36xx_smd_config_bss() 1226 vif->type == NL80211_IFTYPE_MESH_POINT) { wcn36xx_smd_config_bss() 1232 } else if (vif->type == NL80211_IFTYPE_ADHOC) { wcn36xx_smd_config_bss() 1238 wcn36xx_warn("Unknown type for bss config: %d\n", vif->type); wcn36xx_smd_config_bss() 1241 if (vif->type == NL80211_IFTYPE_STATION) wcn36xx_smd_config_bss() 1246 bss->short_slot_time_supported = vif->bss_conf.use_short_slot; wcn36xx_smd_config_bss() 1251 bss->beacon_interval = vif->bss_conf.beacon_int; wcn36xx_smd_config_bss() 1254 wcn36xx_smd_set_bss_ht_params(vif, sta, bss); wcn36xx_smd_config_bss() 1266 wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params); wcn36xx_smd_config_bss() 1275 bss->hidden_ssid = vif->bss_conf.hidden_ssid; wcn36xx_smd_config_bss() 1315 vif, wcn36xx_smd_config_bss() 1327 int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_delete_bss() argument 1330 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_delete_bss() 1357 int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_send_beacon() argument 1380 memcpy(msg_body.bssid, vif->addr, ETH_ALEN); wcn36xx_smd_send_beacon() 1383 if (vif->type == NL80211_IFTYPE_MESH_POINT) wcn36xx_smd_send_beacon() 1411 struct ieee80211_vif *vif, wcn36xx_smd_update_proberesp_tmpl() 1430 memcpy(msg.bssid, vif->addr, ETH_ALEN); wcn36xx_smd_update_proberesp_tmpl() 1595 int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_enter_bmps() argument 1598 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_enter_bmps() 1605 msg_body.tbtt = vif->bss_conf.sync_tsf; wcn36xx_smd_enter_bmps() 1625 int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_exit_bmps() argument 1628 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_exit_bmps() 1685 struct ieee80211_vif *vif, wcn36xx_smd_keep_alive_req() 1689 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_keep_alive_req() 1983 struct ieee80211_vif *vif = NULL; wcn36xx_smd_missed_beacon_ind() local 1991 vif = container_of((void *)tmp, wcn36xx_smd_missed_beacon_ind() 1994 ieee80211_connection_loss(vif); wcn36xx_smd_missed_beacon_ind() 2008 vif = container_of((void *)tmp, wcn36xx_smd_missed_beacon_ind() 2011 ieee80211_connection_loss(vif); wcn36xx_smd_missed_beacon_ind() 189 wcn36xx_smd_set_sta_params(struct wcn36xx *wcn, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wcn36xx_hal_config_sta_params *sta_params) wcn36xx_smd_set_sta_params() argument 619 wcn36xx_smd_switch_channel(struct wcn36xx *wcn, struct ieee80211_vif *vif, int ch) wcn36xx_smd_switch_channel() argument 707 wcn36xx_smd_add_sta_self_rsp(struct wcn36xx *wcn, struct ieee80211_vif *vif, void *buf, size_t len) wcn36xx_smd_add_sta_self_rsp() argument 1155 wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn, struct ieee80211_vif *vif, void *buf, size_t len) wcn36xx_smd_config_bss_rsp() argument 1410 wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn, struct ieee80211_vif *vif, struct sk_buff *skb) wcn36xx_smd_update_proberesp_tmpl() argument 1684 wcn36xx_smd_keep_alive_req(struct wcn36xx *wcn, struct ieee80211_vif *vif, int packet_type) wcn36xx_smd_keep_alive_req() argument
|
/linux-4.4.14/net/mac80211/ |
H A D | iface.c | 52 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); __ieee80211_recalc_txpower() 67 if (power != sdata->vif.bss_conf.txpower) { __ieee80211_recalc_txpower() 68 sdata->vif.bss_conf.txpower = power; __ieee80211_recalc_txpower() 190 if (iter->vif.type == NL80211_IFTYPE_MONITOR && ieee80211_verify_mac() 194 m = iter->vif.addr; ieee80211_verify_mac() 219 if (sdata->vif.type == NL80211_IFTYPE_MONITOR && ieee80211_change_mac() 230 memcpy(sdata->vif.addr, sa->sa_data, ETH_ALEN); ieee80211_change_mac() 266 if ((sdata->vif.type == NL80211_IFTYPE_OCB && ieee80211_check_concurrent_iface() 267 nsdata->vif.type != NL80211_IFTYPE_MONITOR) || ieee80211_check_concurrent_iface() 268 (sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_check_concurrent_iface() 269 nsdata->vif.type == NL80211_IFTYPE_OCB)) ieee80211_check_concurrent_iface() 283 nsdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_check_concurrent_iface() 289 if (nsdata->vif.csa_active) ieee80211_check_concurrent_iface() 296 if (!ether_addr_equal(sdata->vif.addr, ieee80211_check_concurrent_iface() 297 nsdata->vif.addr)) ieee80211_check_concurrent_iface() 304 nsdata->vif.type)) ieee80211_check_concurrent_iface() 311 nsdata->vif.type == NL80211_IFTYPE_AP) ieee80211_check_concurrent_iface() 330 if (WARN_ON_ONCE(sdata->vif.hw_queue[i] == ieee80211_check_queues() 333 if (WARN_ON_ONCE(sdata->vif.hw_queue[i] >= ieee80211_check_queues() 343 sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE; ieee80211_check_queues() 347 if (WARN_ON_ONCE(sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE)) ieee80211_check_queues() 350 if (WARN_ON_ONCE(sdata->vif.cab_queue >= n_queues)) ieee80211_check_queues() 383 sdata->vif.hw_queue[i] = IEEE80211_INVAL_HW_QUEUE; ieee80211_set_default_queues() 385 sdata->vif.hw_queue[i] = i; ieee80211_set_default_queues() 387 sdata->vif.hw_queue[i] = 0; ieee80211_set_default_queues() 389 sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE; ieee80211_set_default_queues() 411 sdata->vif.type = NL80211_IFTYPE_MONITOR; ieee80211_add_virtual_monitor() 501 switch (sdata->vif.type) { ieee80211_do_open() 522 sdata->vif.cab_queue = master->vif.cab_queue; ieee80211_do_open() 523 memcpy(sdata->vif.hw_queue, master->vif.hw_queue, ieee80211_do_open() 524 sizeof(sdata->vif.hw_queue)); ieee80211_do_open() 525 sdata->vif.bss_conf.chandef = master->vif.bss_conf.chandef; ieee80211_do_open() 581 switch (sdata->vif.type) { ieee80211_do_open() 630 ieee80211_vif_type_p2p(&sdata->vif)); ieee80211_do_open() 635 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_open() 640 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_do_open() 644 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) ieee80211_do_open() 648 switch (sdata->vif.type) { ieee80211_do_open() 671 sdata->vif.type != NL80211_IFTYPE_STATION); ieee80211_do_open() 676 if (sdata->vif.type == NL80211_IFTYPE_WDS) { ieee80211_do_open() 697 } else if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) { ieee80211_do_open() 717 if (sdata->vif.type == NL80211_IFTYPE_MONITOR || ieee80211_do_open() 718 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_do_open() 730 if (sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE || ieee80211_do_open() 731 (local->queue_stop_reasons[sdata->vif.cab_queue] == 0 && ieee80211_do_open() 732 skb_queue_empty(&local->pending[sdata->vif.cab_queue]))) { ieee80211_do_open() 734 int ac_queue = sdata->vif.hw_queue[ac]; ieee80211_do_open() 752 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_do_open() 771 err = ieee80211_check_concurrent_iface(sdata, sdata->vif.type); ieee80211_open() 804 switch (sdata->vif.type) { ieee80211_do_stop() 824 * assumptions about always getting a vif pointer that is valid ieee80211_do_stop() 826 * the driver will have removed the vif info already!) ieee80211_do_stop() 834 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_do_stop() 835 ((sdata->vif.type != NL80211_IFTYPE_WDS && flushed > 0) || ieee80211_do_stop() 836 (sdata->vif.type == NL80211_IFTYPE_WDS && flushed != 1))); ieee80211_do_stop() 842 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_stop() 845 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_do_stop() 864 sdata->vif.csa_active = false; ieee80211_do_stop() 865 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_do_stop() 880 chandef = sdata->vif.bss_conf.chandef; ieee80211_do_stop() 891 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_stop() 899 } else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_do_stop() 917 switch (sdata->vif.type) { ieee80211_do_stop() 922 RCU_INIT_POINTER(sdata->vif.chanctx_conf, NULL); ieee80211_do_stop() 969 if (info->control.vif == &sdata->vif) { ieee80211_do_stop() 977 if (sdata->vif.txq) { ieee80211_do_stop() 978 struct txq_info *txqi = to_txq_info(sdata->vif.txq); ieee80211_do_stop() 1005 switch (sdata->vif.type) { ieee80211_do_stop() 1094 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_teardown_sdata() 1225 ieee80211_start_tx_ba_cb(&sdata->vif, ra_tid->ra, ieee80211_iface_work() 1229 ieee80211_stop_tx_ba_cb(&sdata->vif, ra_tid->ra, ieee80211_iface_work() 1308 } else switch (sdata->vif.type) { ieee80211_iface_work() 1316 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_iface_work() 1329 switch (sdata->vif.type) { ieee80211_iface_work() 1337 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_iface_work() 1370 sdata->vif.type = type; ieee80211_setup_sdata() 1371 sdata->vif.p2p = false; ieee80211_setup_sdata() 1377 sdata->vif.bss_conf.idle = true; ieee80211_setup_sdata() 1397 sdata->vif.type = type; ieee80211_setup_sdata() 1398 sdata->vif.p2p = true; ieee80211_setup_sdata() 1405 sdata->vif.bss_conf.bssid = sdata->vif.addr; ieee80211_setup_sdata() 1410 sdata->vif.type = type; ieee80211_setup_sdata() 1411 sdata->vif.p2p = true; ieee80211_setup_sdata() 1414 sdata->vif.bss_conf.bssid = sdata->u.mgd.bssid; ieee80211_setup_sdata() 1418 sdata->vif.bss_conf.bssid = bssid_wildcard; ieee80211_setup_sdata() 1422 sdata->vif.bss_conf.bssid = sdata->u.ibss.bssid; ieee80211_setup_sdata() 1426 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_setup_sdata() 1436 sdata->vif.bss_conf.bssid = NULL; ieee80211_setup_sdata() 1440 sdata->vif.bss_conf.bssid = sdata->vif.addr; ieee80211_setup_sdata() 1464 switch (sdata->vif.type) { ieee80211_runtime_change_iftype() 1514 type = ieee80211_vif_type_p2p(&sdata->vif); ieee80211_runtime_change_iftype() 1538 if (type == ieee80211_vif_type_p2p(&sdata->vif)) ieee80211_if_change_type() 1584 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_assign_perm_addr() 1586 memcpy(perm_addr, sdata->vif.addr, ETH_ALEN); ieee80211_assign_perm_addr() 1595 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) ieee80211_assign_perm_addr() 1599 memcpy(perm_addr, sdata->vif.addr, ETH_ALEN); ieee80211_assign_perm_addr() 1611 sdata->vif.addr)) { ieee80211_assign_perm_addr() 1646 if (sdata->vif.type == NL80211_IFTYPE_MONITOR) ieee80211_assign_perm_addr() 1648 m = sdata->vif.addr; ieee80211_assign_perm_addr() 1671 if (ether_addr_equal(tmp_addr, sdata->vif.addr)) { ieee80211_assign_perm_addr() 1716 memcpy(sdata->vif.addr, wdev->address, ETH_ALEN); ieee80211_if_add() 1767 memcpy(sdata->vif.addr, ndev->dev_addr, ETH_ALEN); ieee80211_if_add()
|
H A D | driver-ops.h | 18 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) get_bss_sdata() 38 local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); drv_get_et_strings() 50 local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); drv_get_et_stats() 62 rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, drv_get_et_sset_count() 143 sdata->vif.type != NL80211_IFTYPE_AP && drv_bss_info_changed() 144 sdata->vif.type != NL80211_IFTYPE_ADHOC && drv_bss_info_changed() 145 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && drv_bss_info_changed() 146 sdata->vif.type != NL80211_IFTYPE_OCB)) drv_bss_info_changed() 149 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || drv_bss_info_changed() 150 sdata->vif.type == NL80211_IFTYPE_MONITOR)) drv_bss_info_changed() 158 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); drv_bss_info_changed() 201 local->ops->config_iface_filter(&local->hw, &sdata->vif, drv_config_iface_filter() 233 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); drv_set_key() 255 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, drv_update_tkip_key() 272 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); drv_hw_scan() 286 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); drv_cancel_hw_scan() 304 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, drv_sched_scan_start() 321 ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); drv_sched_scan_stop() 335 local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); drv_sw_scan_start() 346 local->ops->sw_scan_complete(&local->hw, &sdata->vif); drv_sw_scan_complete() 428 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); drv_sta_notify() 446 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); drv_sta_add() 465 local->ops->sta_remove(&local->hw, &sdata->vif, sta); drv_sta_remove() 483 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, drv_sta_add_debugfs() 498 local->ops->sta_remove_debugfs(&local->hw, &sdata->vif, drv_sta_remove_debugfs() 515 local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, drv_sta_pre_rcu_remove() 541 local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); drv_sta_rate_tbl_update() 557 local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); drv_sta_statistics() 619 struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; drv_flush() local 628 local->ops->flush(&local->hw, vif, queues, drop); drv_flush() 639 local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); drv_channel_switch() 677 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, drv_remain_on_channel() 751 &sdata->vif, mask); drv_set_bitrate_mask() 766 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); drv_set_rekey_data() 776 local->ops->event_callback(&local->hw, &sdata->vif, event); drv_event_callback() 817 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); drv_mgd_prepare_tx() 821 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif); drv_mgd_prepare_tx() 833 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); drv_mgd_protect_tdls_discover() 837 local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); drv_mgd_protect_tdls_discover() 900 &sdata->vif, drv_assign_vif_chanctx() 921 &sdata->vif, drv_unassign_vif_chanctx() 941 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); drv_start_ap() 943 ret = local->ops->start_ap(&local->hw, &sdata->vif); drv_start_ap() 956 local->ops->stop_ap(&local->hw, &sdata->vif); drv_stop_ap() 984 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, drv_set_default_unicast_key() 996 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); drv_ipv6_addr_change() 1009 local->ops->channel_switch_beacon(&local->hw, &sdata->vif, drv_channel_switch_beacon() 1026 ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, drv_pre_channel_switch() 1043 ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); drv_post_channel_switch() 1057 trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); drv_join_ibss() 1059 ret = local->ops->join_ibss(&local->hw, &sdata->vif); drv_join_ibss() 1073 local->ops->leave_ibss(&local->hw, &sdata->vif); drv_leave_ibss() 1098 ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); drv_get_txpower() 1121 ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, drv_tdls_channel_switch() 1141 local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); drv_tdls_cancel_channel_switch() 1152 local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, drv_tdls_recv_channel_switch() 1160 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); drv_wake_tx_queue()
|
H A D | driver-ops.c | 62 if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN || drv_add_interface() 63 (sdata->vif.type == NL80211_IFTYPE_MONITOR && drv_add_interface() 69 ret = local->ops->add_interface(&local->hw, &sdata->vif); drv_add_interface() 90 ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); drv_change_interface() 104 local->ops->remove_interface(&local->hw, &sdata->vif); drv_remove_interface() 126 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, drv_sta_state() 150 (sdata->vif.type != NL80211_IFTYPE_ADHOC && drv_sta_rc_update() 151 sdata->vif.type != NL80211_IFTYPE_MESH_POINT)); drv_sta_rc_update() 155 local->ops->sta_rc_update(&local->hw, &sdata->vif, drv_sta_rc_update() 180 ret = local->ops->conf_tx(&local->hw, &sdata->vif, drv_conf_tx() 198 ret = local->ops->get_tsf(&local->hw, &sdata->vif); drv_get_tsf() 214 local->ops->set_tsf(&local->hw, &sdata->vif, tsf); drv_set_tsf() 228 local->ops->reset_tsf(&local->hw, &sdata->vif); drv_reset_tsf() 303 ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, drv_ampdu_action()
|
H A D | debugfs_netdev.c | 215 IEEE80211_IF_FILE(txpower, vif.bss_conf.txpower, DEC); 226 sdata->vif.hw_queue[IEEE80211_AC_VO], ieee80211_if_fmt_hw_queues() 227 sdata->vif.hw_queue[IEEE80211_AC_VI], ieee80211_if_fmt_hw_queues() 228 sdata->vif.hw_queue[IEEE80211_AC_BE], ieee80211_if_fmt_hw_queues() 229 sdata->vif.hw_queue[IEEE80211_AC_BK]); ieee80211_if_fmt_hw_queues() 231 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_if_fmt_hw_queues() 233 sdata->vif.cab_queue); ieee80211_if_fmt_hw_queues() 260 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_set_smps() 261 sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_set_smps() 265 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_set_smps() 284 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_if_fmt_smps() 288 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_if_fmt_smps() 337 switch (sdata->vif.type) { ieee80211_if_parse_tkip_mic_test() 342 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 343 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 355 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 383 if (!ieee80211_sdata_running(sdata) || !sdata->vif.bss_conf.assoc) ieee80211_if_parse_beacon_loss() 386 ieee80211_beacon_loss(&sdata->vif); ieee80211_if_parse_beacon_loss() 607 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \ 667 sdata->vif.debugfs_dir); add_mesh_stats() 683 sdata->vif.debugfs_dir); add_mesh_config() 720 if (!sdata->vif.debugfs_dir) add_files() 729 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) add_files() 732 switch (sdata->vif.type) { add_files() 762 sdata->vif.debugfs_dir = debugfs_create_dir(buf, ieee80211_debugfs_add_netdev() 764 if (sdata->vif.debugfs_dir) ieee80211_debugfs_add_netdev() 766 sdata->vif.debugfs_dir); ieee80211_debugfs_add_netdev() 772 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_remove_netdev() 775 debugfs_remove_recursive(sdata->vif.debugfs_dir); ieee80211_debugfs_remove_netdev() 776 sdata->vif.debugfs_dir = NULL; ieee80211_debugfs_remove_netdev() 785 dir = sdata->vif.debugfs_dir; ieee80211_debugfs_rename_netdev()
|
H A D | chan.c | 72 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_vif_get_chanctx() 118 compat = &sdata->vif.bss_conf.chandef; ieee80211_chanctx_non_reserved_chandef() 121 &sdata->vif.bss_conf.chandef, compat); ieee80211_chanctx_non_reserved_chandef() 253 struct ieee80211_vif *vif = &sdata->vif; ieee80211_get_chanctx_max_required_bw() local 259 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_get_chanctx_max_required_bw() 262 switch (vif->type) { ieee80211_get_chanctx_max_required_bw() 273 width = max(vif->bss_conf.chandef.width, ieee80211_get_chanctx_max_required_bw() 282 width = vif->bss_conf.chandef.width; ieee80211_get_chanctx_max_required_bw() 296 if (sdata && rcu_access_pointer(sdata->vif.chanctx_conf) == conf) ieee80211_get_chanctx_max_required_bw() 432 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_chanctx_radar_required() 580 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_recalc_chanctx_chantype() 582 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_recalc_chanctx_chantype() 586 compat = &sdata->vif.bss_conf.chandef; ieee80211_recalc_chanctx_chantype() 589 &sdata->vif.bss_conf.chandef, compat); ieee80211_recalc_chanctx_chantype() 647 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_assign_vif_chanctx() 669 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_assign_vif_chanctx() 671 sdata->vif.bss_conf.idle = !conf; ieee80211_assign_vif_chanctx() 685 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE && ieee80211_assign_vif_chanctx() 686 sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_assign_vif_chanctx() 713 if (rcu_access_pointer(sdata->vif.chanctx_conf) != ieee80211_recalc_smps_chanctx() 717 switch (sdata->vif.type) { ieee80211_recalc_smps_chanctx() 762 rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf) ieee80211_recalc_smps_chanctx() 794 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP)) __ieee80211_vif_copy_chanctx_to_vlans() 805 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_copy_chanctx_to_vlans() 813 rcu_assign_pointer(vlan->vif.chanctx_conf, conf); __ieee80211_vif_copy_chanctx_to_vlans() 889 * Another vif already requested this context ieee80211_vif_reserve_chanctx() 962 switch (sdata->vif.type) { ieee80211_vif_chanctx_reservation_complete() 993 sdata->vif.bss_conf.chandef = *chandef; ieee80211_vif_update_chandef() 995 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_vif_update_chandef() 999 vlan->vif.bss_conf.chandef = *chandef; ieee80211_vif_update_chandef() 1038 vif_chsw[0].vif = &sdata->vif; ieee80211_vif_use_reserved_reassign() 1055 rcu_assign_pointer(sdata->vif.chanctx_conf, &new_ctx->conf); ieee80211_vif_use_reserved_reassign() 1057 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_vif_use_reserved_reassign() 1065 if (sdata->vif.bss_conf.chandef.width != sdata->reserved_chandef.width) ieee80211_vif_use_reserved_reassign() 1205 vif_chsw[i].vif = &sdata->vif; ieee80211_chsw_switch_vifs() 1404 rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf); ieee80211_vif_use_reserved_switch() 1406 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_vif_use_reserved_switch() 1414 if (sdata->vif.bss_conf.chandef.width != ieee80211_vif_use_reserved_switch() 1523 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_release_channel() 1690 if (cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef)) { ieee80211_vif_change_bandwidth() 1696 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) { ieee80211_vif_change_bandwidth() 1701 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_vif_change_bandwidth() 1764 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->bss)) ieee80211_vif_vlan_copy_chanctx() 1771 conf = rcu_dereference_protected(ap->vif.chanctx_conf, ieee80211_vif_vlan_copy_chanctx() 1773 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_vif_vlan_copy_chanctx()
|
H A D | cfg.c | 74 if (sdata->vif.type == NL80211_IFTYPE_MONITOR && flags) { ieee80211_change_iface() 177 cs = ieee80211_cs_get(local, params->cipher, sdata->vif.type); ieee80211_add_key() 193 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_add_key() 214 switch (sdata->vif.type) { ieee80211_add_key() 451 int shift = ieee80211_vif_get_shift(&sta->sdata->vif); sta_set_rate_info_tx() 718 sdata->vif.type); ieee80211_start_ap() 728 vlan->vif.type); ieee80211_start_ap() 731 sdata->vif.bss_conf.beacon_int = params->beacon_interval; ieee80211_start_ap() 732 sdata->vif.bss_conf.dtim_period = params->dtim_period; ieee80211_start_ap() 733 sdata->vif.bss_conf.enable_beacon = true; ieee80211_start_ap() 735 sdata->vif.bss_conf.ssid_len = params->ssid_len; ieee80211_start_ap() 737 memcpy(sdata->vif.bss_conf.ssid, params->ssid, ieee80211_start_ap() 739 sdata->vif.bss_conf.hidden_ssid = ieee80211_start_ap() 742 memset(&sdata->vif.bss_conf.p2p_noa_attr, 0, ieee80211_start_ap() 743 sizeof(sdata->vif.bss_conf.p2p_noa_attr)); ieee80211_start_ap() 744 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow = ieee80211_start_ap() 747 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_start_ap() 791 if (sdata->vif.csa_active) ieee80211_change_beacon() 823 sdata->vif.csa_active = false; ieee80211_stop_ap() 851 sdata->vif.bss_conf.enable_beacon = false; ieee80211_stop_ap() 852 sdata->vif.bss_conf.ssid_len = 0; ieee80211_stop_ap() 857 chandef = sdata->vif.bss_conf.chandef; ieee80211_stop_ap() 1056 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_apply_parameters() 1153 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef, sta_apply_parameters() 1175 if (ieee80211_vif_is_mesh(&sdata->vif)) sta_apply_parameters() 1202 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_add_station() 1203 sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_add_station() 1208 if (ether_addr_equal(mac, sdata->vif.addr)) ieee80211_add_station() 1246 layer2_update = sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_add_station() 1247 sdata->vif.type == NL80211_IFTYPE_AP; ieee80211_add_station() 1296 switch (sdata->vif.type) { ieee80211_change_station() 1348 if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_change_station() 1374 if ((sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_change_station() 1375 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_change_station() 1385 sta->sdata->vif.bss_conf.bssid); ieee80211_change_station() 1388 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_change_station() 1658 memcpy(sdata->vif.bss_conf.mcast_rate, setup->mcast_rate, copy_mesh_setup() 1660 sdata->vif.bss_conf.basic_rates = setup->basic_rates; copy_mesh_setup() 1662 sdata->vif.bss_conf.beacon_int = setup->beacon_interval; copy_mesh_setup() 1663 sdata->vif.bss_conf.dtim_period = setup->dtim_period; copy_mesh_setup() 1754 sdata->vif.bss_conf.ht_operation_mode = nconf->ht_opmode; ieee80211_update_mesh_config() 1833 sdata->vif.bss_conf.use_cts_prot = params->use_cts_prot; ieee80211_change_bss() 1837 sdata->vif.bss_conf.use_short_preamble = ieee80211_change_bss() 1842 if (!sdata->vif.bss_conf.use_short_slot && ieee80211_change_bss() 1844 sdata->vif.bss_conf.use_short_slot = true; ieee80211_change_bss() 1849 sdata->vif.bss_conf.use_short_slot = ieee80211_change_bss() 1855 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef, ieee80211_change_bss() 1859 &sdata->vif.bss_conf.basic_rates); ieee80211_change_bss() 1871 sdata->vif.bss_conf.ht_operation_mode = ieee80211_change_bss() 1877 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &= ieee80211_change_bss() 1879 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_change_bss() 1885 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_change_bss() 1889 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &= ieee80211_change_bss() 1961 switch (ieee80211_vif_type_p2p(&sdata->vif)) { ieee80211_scan() 2071 memcpy(sdata->vif.bss_conf.mcast_rate, rate, ieee80211_set_mcast_rate() 2154 if (txp_type != sdata->vif.bss_conf.txpower_type) { ieee80211_set_tx_power() 2156 sdata->vif.bss_conf.txpower_type = txp_type; ieee80211_set_tx_power() 2180 if (txp_type != sdata->vif.bss_conf.txpower_type) ieee80211_set_tx_power() 2182 sdata->vif.bss_conf.txpower_type = txp_type; ieee80211_set_tx_power() 2204 *dbm = sdata->vif.bss_conf.txpower; ieee80211_get_tx_power() 2232 struct ieee80211_vif *vif = NULL; ieee80211_testmode_cmd() local 2242 vif = &sdata->vif; ieee80211_testmode_cmd() 2245 return local->ops->testmode_cmd(&local->hw, vif, data, len); ieee80211_testmode_cmd() 2268 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP)) __ieee80211_request_smps_ap() 2271 if (sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) __ieee80211_request_smps_ap() 2327 sdata->vif.bss_conf.bssid); __ieee80211_request_smps_ap() 2348 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) __ieee80211_request_smps_mgd() 2364 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) __ieee80211_request_smps_mgd() 2404 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_set_power_mgmt() 2436 struct ieee80211_vif *vif = &sdata->vif; ieee80211_set_cqm_rssi_config() local 2437 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ieee80211_set_cqm_rssi_config() 2443 if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER && ieee80211_set_cqm_rssi_config() 2444 !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) ieee80211_set_cqm_rssi_config() 2453 sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI) ieee80211_set_cqm_rssi_config() 2888 void ieee80211_csa_finish(struct ieee80211_vif *vif) ieee80211_csa_finish() argument 2890 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_finish() 2902 switch (sdata->vif.type) { ieee80211_set_after_csa_beacon() 2947 * with multi-vif. once reservation is complete it will re-schedule the __ieee80211_csa_finalize() 2954 * with multi-vif csa driver may call ieee80211_csa_finish() __ieee80211_csa_finalize() 2964 if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef, __ieee80211_csa_finalize() 2968 sdata->vif.csa_active = false; __ieee80211_csa_finalize() 3012 if (!sdata->vif.csa_active) ieee80211_csa_finalize_work() 3033 switch (sdata->vif.type) { ieee80211_set_csa_beacon() 3080 if (!sdata->vif.bss_conf.ibss_joined) ieee80211_set_csa_beacon() 3120 if (params->chandef.width != sdata->vif.bss_conf.chandef.width) ieee80211_set_csa_beacon() 3124 if (sdata->vif.bss_conf.chandef.chan->band != ieee80211_set_csa_beacon() 3181 &sdata->vif.bss_conf.chandef)) __ieee80211_channel_switch() 3185 if (sdata->vif.csa_active) __ieee80211_channel_switch() 3189 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_channel_switch() 3233 sdata->vif.csa_active = true; __ieee80211_channel_switch() 3322 switch (sdata->vif.type) { ieee80211_mgmt_tx() 3324 if (!sdata->vif.bss_conf.ibss_joined) ieee80211_mgmt_tx() 3329 if (ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_mgmt_tx() 3337 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_mgmt_tx() 3338 !ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_mgmt_tx() 3383 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_mgmt_tx() 3415 if (sdata->vif.csa_active && ieee80211_mgmt_tx() 3416 (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_mgmt_tx() 3417 sdata->vif.type == NL80211_IFTYPE_MESH_POINT || ieee80211_mgmt_tx() 3418 sdata->vif.type == NL80211_IFTYPE_ADHOC) && ieee80211_mgmt_tx() 3425 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_mgmt_tx() 3427 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_mgmt_tx() 3429 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_mgmt_tx() 3507 sdata->vif.probe_req_reg++; ieee80211_mgmt_frame_register() 3512 if (sdata->vif.probe_req_reg) ieee80211_mgmt_frame_register() 3513 sdata->vif.probe_req_reg--; ieee80211_mgmt_frame_register() 3519 if (sdata->vif.probe_req_reg == 1) ieee80211_mgmt_frame_register() 3522 else if (sdata->vif.probe_req_reg == 0) ieee80211_mgmt_frame_register() 3585 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_probe_client() 3624 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_probe_client() 3625 memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_probe_client() 3668 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_cfg_get_channel() 3670 *chandef = sdata->vif.bss_conf.chandef; ieee80211_cfg_get_channel() 3674 sdata->vif.type == NL80211_IFTYPE_MONITOR) { ieee80211_cfg_get_channel() 3741 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_add_tx_ts()
|
H A D | mesh.c | 91 if (sdata->vif.bss_conf.basic_rates != basic_rates) mesh_matches_local() 94 ieee80211_ht_oper_to_chandef(sdata->vif.bss_conf.chandef.chan, mesh_matches_local() 97 ieee80211_vht_oper_to_chandef(sdata->vif.bss_conf.chandef.chan, mesh_matches_local() 100 if (!cfg80211_chandef_compatible(&sdata->vif.bss_conf.chandef, mesh_matches_local() 396 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); mesh_add_ds_params_ie() 422 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT || mesh_add_ht_cap_ie() 423 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 || mesh_add_ht_cap_ie() 424 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10) mesh_add_ht_cap_ie() 447 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); mesh_add_ht_oper_ie() 459 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT || mesh_add_ht_oper_ie() 460 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 || mesh_add_ht_oper_ie() 461 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10) mesh_add_ht_oper_ie() 468 ieee80211_ie_build_ht_oper(pos, ht_cap, &sdata->vif.bss_conf.chandef, mesh_add_ht_oper_ie() 469 sdata->vif.bss_conf.ht_operation_mode, mesh_add_ht_oper_ie() 485 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT || mesh_add_vht_cap_ie() 486 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 || mesh_add_vht_cap_ie() 487 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10) mesh_add_vht_cap_ie() 510 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); mesh_add_vht_oper_ie() 522 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT || mesh_add_vht_oper_ie() 523 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 || mesh_add_vht_oper_ie() 524 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10) mesh_add_vht_oper_ie() 532 &sdata->vif.bss_conf.chandef); mesh_add_vht_oper_ie() 689 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_mesh_build_beacon() 730 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_mesh_build_beacon() 731 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_mesh_build_beacon() 734 cpu_to_le16(sdata->vif.bss_conf.beacon_int); ieee80211_mesh_build_beacon() 867 sdata->vif.bss_conf.ht_operation_mode = ieee80211_start_mesh() 869 sdata->vif.bss_conf.enable_beacon = true; ieee80211_start_mesh() 895 sdata->vif.bss_conf.enable_beacon = false; ieee80211_stop_mesh() 938 switch (sdata->vif.bss_conf.chandef.width) { ieee80211_mesh_process_chnswitch() 951 sta_flags, sdata->vif.addr, ieee80211_mesh_process_chnswitch() 965 sdata->vif.addr, ieee80211_mesh_process_chnswitch() 985 &sdata->vif.bss_conf.chandef)) { ieee80211_mesh_process_chnswitch() 1039 if ((!ether_addr_equal(mgmt->da, sdata->vif.addr) && ieee80211_mesh_rx_probe_req() 1089 !ether_addr_equal(mgmt->da, sdata->vif.addr)) ieee80211_mesh_rx_bcn_presp() 1123 !sdata->vif.csa_active) ieee80211_mesh_rx_bcn_presp() 1150 sdata->vif.bss_conf.chandef.chan->center_freq); ieee80211_mesh_finish_csa() 1207 memcpy(mgmt_fwd->sa, sdata->vif.addr, ETH_ALEN); mesh_fwd_csa_frame() 1208 memcpy(mgmt_fwd->bssid, sdata->vif.addr, ETH_ALEN); mesh_fwd_csa_frame() 1243 if (!sdata->vif.csa_active && mesh_rx_csa_frame() 1326 if (sdata->vif.bss_conf.enable_beacon && mesh_bss_info_changed() 1404 sdata->vif.bss_conf.bssid = zero_addr; ieee80211_mesh_init_sdata()
|
H A D | util.c | 131 struct ieee80211_vif *vif, ieee80211_generic_frame_duration() 142 if (vif) { ieee80211_generic_frame_duration() 143 sdata = vif_to_sdata(vif); ieee80211_generic_frame_duration() 144 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_generic_frame_duration() 147 shift = ieee80211_vif_get_shift(vif); ieee80211_generic_frame_duration() 158 struct ieee80211_vif *vif, size_t frame_len, ieee80211_rts_duration() 176 if (vif) { ieee80211_rts_duration() 177 sdata = vif_to_sdata(vif); ieee80211_rts_duration() 178 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_rts_duration() 181 shift = ieee80211_vif_get_shift(vif); ieee80211_rts_duration() 201 struct ieee80211_vif *vif, ieee80211_ctstoself_duration() 219 if (vif) { ieee80211_ctstoself_duration() 220 sdata = vif_to_sdata(vif); ieee80211_ctstoself_duration() 221 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_ctstoself_duration() 224 shift = ieee80211_vif_get_shift(vif); ieee80211_ctstoself_duration() 256 if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE && ieee80211_propagate_queue_wake() 257 local->queue_stop_reasons[sdata->vif.cab_queue] != 0) ieee80211_propagate_queue_wake() 261 int ac_queue = sdata->vif.hw_queue[ac]; ieee80211_propagate_queue_wake() 269 (sdata->vif.cab_queue == queue && ieee80211_propagate_queue_wake() 363 if (sdata->vif.hw_queue[ac] == queue || __ieee80211_stop_queue() 364 sdata->vif.cab_queue == queue) __ieee80211_stop_queue() 399 if (WARN_ON(!info->control.vif)) { ieee80211_add_pending_skb() 425 if (WARN_ON(!info->control.vif)) { ieee80211_add_pending_skbs() 525 queues |= BIT(sdata->vif.hw_queue[ac]); ieee80211_get_vif_queues() 526 if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE) ieee80211_get_vif_queues() 527 queues |= BIT(sdata->vif.cab_queue); ieee80211_get_vif_queues() 588 struct ieee80211_vif *vif), __iterate_interfaces() 595 switch (sdata->vif.type) { __iterate_interfaces() 609 iterator(data, sdata->vif.addr, __iterate_interfaces() 610 &sdata->vif); __iterate_interfaces() 619 iterator(data, sdata->vif.addr, &sdata->vif); __iterate_interfaces() 625 struct ieee80211_vif *vif), ieee80211_iterate_interfaces() 639 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces_atomic() 654 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces_rtnl() 701 return &sdata->vif; wdev_to_ieee80211_vif() 705 struct wireless_dev *ieee80211_vif_to_wdev(struct ieee80211_vif *vif) ieee80211_vif_to_wdev() argument 709 if (!vif) ieee80211_vif_to_wdev() 712 sdata = vif_to_sdata(vif); ieee80211_vif_to_wdev() 1127 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_set_wmm_default() 1133 is_ocb = (sdata->vif.type == NL80211_IFTYPE_OCB); ieee80211_set_wmm_default() 1207 if (sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_set_wmm_default() 1208 sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) { ieee80211_set_wmm_default() 1209 sdata->vif.bss_conf.qos = enable_qos; ieee80211_set_wmm_default() 1240 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_auth() 1272 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_deauth_disassoc() 1289 if (sdata->vif.type != NL80211_IFTYPE_STATION || ieee80211_send_deauth_disassoc() 1530 chandef.width = sdata->vif.bss_conf.chandef.width; ieee80211_build_probe_req() 1590 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_sta_get_rates() 1591 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_sta_get_rates() 1717 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_assign_chanctx() 1850 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_reconfig() 1851 sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_reconfig() 1865 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_reconfig() 1866 sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_reconfig() 1901 switch (sdata->vif.type) { ieee80211_reconfig() 1928 switch (sdata->vif.type) { ieee80211_reconfig() 1952 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_reconfig() 1961 if (sdata->vif.bss_conf.enable_beacon) { ieee80211_reconfig() 1992 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_reconfig() 2009 if (sta->sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_reconfig() 2108 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_reconfig() 2120 void ieee80211_resume_disconnect(struct ieee80211_vif *vif) ieee80211_resume_disconnect() argument 2126 if (WARN_ON(!vif)) ieee80211_resume_disconnect() 2129 sdata = vif_to_sdata(vif); ieee80211_resume_disconnect() 2135 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_resume_disconnect() 2155 chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_recalc_smps() 2181 chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_recalc_min_chandef() 2209 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) _ieee80211_enable_rssi_reports() 2221 void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif, ieee80211_enable_rssi_reports() argument 2225 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_enable_rssi_reports() 2235 void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif) ieee80211_disable_rssi_reports() argument 2237 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_disable_rssi_reports() 2480 u32 basic_rates = sdata->vif.bss_conf.basic_rates; ieee80211_add_srates_ie() 2483 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_add_srates_ie() 2484 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_add_srates_ie() 2525 u32 basic_rates = sdata->vif.bss_conf.basic_rates; ieee80211_add_ext_srates_ie() 2528 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_add_ext_srates_ie() 2529 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_add_ext_srates_ie() 2566 int ieee80211_ave_rssi(struct ieee80211_vif *vif) ieee80211_ave_rssi() argument 2568 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_ave_rssi() 2571 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) { ieee80211_ave_rssi() 2694 chandef = sdata->vif.bss_conf.chandef; ieee80211_dfs_cac_cancel() 2839 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_send_action_csa() 2840 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_send_action_csa() 2857 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_action_csa() 2858 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_send_action_csa() 2859 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_action_csa() 2887 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_send_action_csa() 3128 u16 beacon_int = sdata->vif.bss_conf.beacon_int * 1024; ieee80211_recalc_dtim() 3129 u8 dtim_period = sdata->vif.bss_conf.dtim_period; ieee80211_recalc_dtim() 3136 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_recalc_dtim() 3137 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_recalc_dtim() 3142 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_recalc_dtim() 3188 radar_detect |= BIT(sdata->vif.bss_conf.chandef.width); ieee80211_chanctx_radar_detect() 3334 txqi->txq.vif = &sdata->vif; ieee80211_init_tx_queue() 3342 sdata->vif.txq = &txqi->txq; ieee80211_init_tx_queue() 130 ieee80211_generic_frame_duration(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_band band, size_t frame_len, struct ieee80211_rate *rate) ieee80211_generic_frame_duration() argument 157 ieee80211_rts_duration(struct ieee80211_hw *hw, struct ieee80211_vif *vif, size_t frame_len, const struct ieee80211_tx_info *frame_txctl) ieee80211_rts_duration() argument 200 ieee80211_ctstoself_duration(struct ieee80211_hw *hw, struct ieee80211_vif *vif, size_t frame_len, const struct ieee80211_tx_info *frame_txctl) ieee80211_ctstoself_duration() argument 585 __iterate_interfaces(struct ieee80211_local *local, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) __iterate_interfaces() argument 622 ieee80211_iterate_interfaces( struct ieee80211_hw *hw, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) ieee80211_iterate_interfaces() argument 636 ieee80211_iterate_active_interfaces_atomic( struct ieee80211_hw *hw, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) ieee80211_iterate_active_interfaces_atomic() argument 651 ieee80211_iterate_active_interfaces_rtnl( struct ieee80211_hw *hw, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) ieee80211_iterate_active_interfaces_rtnl() argument
|
H A D | tx.c | 64 chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf); ieee80211_duration() 149 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i)) ieee80211_duration() 189 tx->sdata->vif.bss_conf.use_short_preamble, ieee80211_duration() 199 tx->sdata->vif.bss_conf.use_short_preamble, ieee80211_duration() 237 if (tx->sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_tx_h_dynamic_ps() 308 if (tx->sdata->vif.type == NL80211_IFTYPE_OCB) ieee80211_tx_h_check_assoc() 311 if (tx->sdata->vif.type == NL80211_IFTYPE_WDS) ieee80211_tx_h_check_assoc() 331 } else if (unlikely(tx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_tx_h_check_assoc() 358 if (sdata->vif.type == NL80211_IFTYPE_AP) purge_old_ps_buffers() 360 else if (ieee80211_vif_is_mesh(&sdata->vif)) purge_old_ps_buffers() 411 if (tx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_tx_h_multicast_ps_buf() 412 tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_tx_h_multicast_ps_buf() 417 } else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) { ieee80211_tx_h_multicast_ps_buf() 432 info->hw_queue = tx->sdata->vif.cab_queue; ieee80211_tx_h_multicast_ps_buf() 527 info->control.vif = &tx->sdata->vif; ieee80211_tx_h_unicast_ps_buf() 674 txrc.bss_conf = &tx->sdata->vif.bss_conf; ieee80211_tx_h_rate_ctrl() 687 txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_tx_h_rate_ctrl() 688 tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || ieee80211_tx_h_rate_ctrl() 689 tx->sdata->vif.type == NL80211_IFTYPE_ADHOC || ieee80211_tx_h_rate_ctrl() 690 tx->sdata->vif.type == NL80211_IFTYPE_OCB); ieee80211_tx_h_rate_ctrl() 698 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot; ieee80211_tx_h_rate_ctrl() 706 if (tx->sdata->vif.bss_conf.use_short_preamble && ieee80211_tx_h_rate_ctrl() 801 if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) ieee80211_tx_h_sequence() 1115 info->control.vif = &tx->sdata->vif; ieee80211_tx_prep_agg() 1172 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_tx_prepare() 1232 struct ieee80211_vif *vif, ieee80211_drv_tx() 1237 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_drv_tx() 1256 } else if (vif) { ieee80211_drv_tx() 1257 txq = vif->txq; ieee80211_drv_tx() 1282 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); ieee80211_tx_dequeue() 1299 ieee80211_propagate_queue_wake(local, sdata->vif.hw_queue[ac]); ieee80211_tx_dequeue() 1322 struct ieee80211_vif *vif, ieee80211_tx_frags() 1383 info->control.vif = vif; skb_queue_walk_safe() 1386 ieee80211_drv_tx(local, vif, sta, skb); skb_queue_walk_safe() 1401 struct ieee80211_vif *vif; __ieee80211_tx() local 1413 sdata = vif_to_sdata(info->control.vif); __ieee80211_tx() 1422 switch (sdata->vif.type) { __ieee80211_tx() 1425 vif = &sdata->vif; __ieee80211_tx() 1430 vif = &sdata->vif; __ieee80211_tx() 1432 vif->hw_queue[skb_get_queue_mapping(skb)]; __ieee80211_tx() 1437 vif = NULL; __ieee80211_tx() 1444 vif = &sdata->vif; __ieee80211_tx() 1448 result = ieee80211_tx_frags(local, vif, pubsta, skbs, __ieee80211_tx() 1515 struct ieee80211_vif *vif, struct sk_buff *skb, ieee80211_tx_prepare_skb() 1518 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_tx_prepare_skb() 1527 info->control.vif = vif; ieee80211_tx_prepare_skb() 1528 info->hw_queue = vif->hw_queue[skb_get_queue_mapping(skb)]; ieee80211_tx_prepare_skb() 1586 sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; ieee80211_tx() 1652 info->control.vif = &sdata->vif; ieee80211_xmit() 1654 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_xmit() 1840 if (tmp_sdata->vif.type == NL80211_IFTYPE_MONITOR || ieee80211_monitor_start_xmit() 1841 tmp_sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_monitor_start_xmit() 1842 tmp_sdata->vif.type == NL80211_IFTYPE_WDS) ieee80211_monitor_start_xmit() 1844 if (ether_addr_equal(tmp_sdata->vif.addr, hdr->addr2)) { ieee80211_monitor_start_xmit() 1850 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_monitor_start_xmit() 1855 rcu_dereference(tmp_sdata->vif.chanctx_conf); ieee80211_monitor_start_xmit() 1882 sdata->vif.type)) ieee80211_monitor_start_xmit() 1913 switch (sdata->vif.type) { ieee80211_lookup_ra_sta() 2033 switch (sdata->vif.type) { ieee80211_build_hdr() 2039 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2048 chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf); ieee80211_build_hdr() 2058 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_build_hdr() 2059 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2067 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2076 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2115 if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) && ieee80211_build_hdr() 2136 mesh_da, sdata->vif.addr); ieee80211_build_hdr() 2149 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2173 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2185 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2198 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2211 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2229 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_build_hdr() 2244 if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_build_hdr() 2245 (sdata->vif.type != NL80211_IFTYPE_OCB) && ieee80211_build_hdr() 2248 !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) { ieee80211_build_hdr() 2448 sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_check_fast_xmit() 2469 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_check_fast_xmit() 2479 switch (sdata->vif.type) { ieee80211_check_fast_xmit() 2503 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_check_fast_xmit() 2522 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_check_fast_xmit() 2533 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_check_fast_xmit() 2766 info->control.vif = &sdata->vif; ieee80211_xmit_fast() 2787 info->hw_queue = sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; ieee80211_xmit_fast() 2839 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_xmit_fast() 2844 ieee80211_tx_frags(local, &sdata->vif, &sta->sta, &tx.skbs, false); ieee80211_xmit_fast() 3010 sdata = vif_to_sdata(info->control.vif); ieee80211_tx_pending_skb() 3013 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_tx_pending_skb() 3061 if (WARN_ON(!info->control.vif)) { ieee80211_tx_pending() 3103 ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1; __ieee80211_beacon_add_tim() 3112 *pos++ = sdata->vif.bss_conf.dtim_period; __ieee80211_beacon_add_tim() 3184 switch (sdata->vif.type) { ieee80211_set_csa() 3215 if (sdata->vif.type == NL80211_IFTYPE_AP && resp) ieee80211_set_csa() 3231 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif) ieee80211_csa_update_counter() argument 3233 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_update_counter() 3239 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_csa_update_counter() 3241 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_csa_update_counter() 3243 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_csa_update_counter() 3257 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif) ieee80211_csa_is_complete() argument 3259 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_is_complete() 3269 if (vif->type == NL80211_IFTYPE_AP) { ieee80211_csa_is_complete() 3277 } else if (vif->type == NL80211_IFTYPE_ADHOC) { ieee80211_csa_is_complete() 3286 } else if (vif->type == NL80211_IFTYPE_MESH_POINT) { ieee80211_csa_is_complete() 3317 struct ieee80211_vif *vif, __ieee80211_beacon_get() 3333 sdata = vif_to_sdata(vif); __ieee80211_beacon_get() 3334 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); __ieee80211_beacon_get() 3342 if (sdata->vif.type == NL80211_IFTYPE_AP) { __ieee80211_beacon_get() 3385 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { __ieee80211_beacon_get() 3411 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { __ieee80211_beacon_get() 3482 txrc.bss_conf = &sdata->vif.bss_conf; __ieee80211_beacon_get() 3493 info->control.vif = vif; __ieee80211_beacon_get() 3506 struct ieee80211_vif *vif, ieee80211_beacon_get_template() 3509 return __ieee80211_beacon_get(hw, vif, offs, true); ieee80211_beacon_get_template() 3514 struct ieee80211_vif *vif, ieee80211_beacon_get_tim() 3518 struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false); ieee80211_beacon_get_tim() 3541 shift = ieee80211_vif_get_shift(vif); ieee80211_beacon_get_tim() 3542 sband = hw->wiphy->bands[ieee80211_get_sdata_band(vif_to_sdata(vif))]; ieee80211_beacon_get_tim() 3550 struct ieee80211_vif *vif) ieee80211_proberesp_get() 3556 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_proberesp_get() 3558 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_proberesp_get() 3584 struct ieee80211_vif *vif) ieee80211_pspoll_get() 3592 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_pspoll_get() 3595 sdata = vif_to_sdata(vif); ieee80211_pspoll_get() 3615 memcpy(pspoll->ta, vif->addr, ETH_ALEN); ieee80211_pspoll_get() 3622 struct ieee80211_vif *vif) ieee80211_nullfunc_get() 3630 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_nullfunc_get() 3633 sdata = vif_to_sdata(vif); ieee80211_nullfunc_get() 3650 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN); ieee80211_nullfunc_get() 3696 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ieee80211_rts_get() argument 3705 rts->duration = ieee80211_rts_duration(hw, vif, frame_len, ieee80211_rts_get() 3712 void ieee80211_ctstoself_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ieee80211_ctstoself_get() argument 3721 cts->duration = ieee80211_ctstoself_duration(hw, vif, ieee80211_ctstoself_get() 3729 struct ieee80211_vif *vif) ieee80211_get_buffered_bc() 3739 sdata = vif_to_sdata(vif); ieee80211_get_buffered_bc() 3742 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_get_buffered_bc() 3747 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_get_buffered_bc() 3755 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_get_buffered_bc() 3780 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_get_buffered_bc() 3812 switch (sdata->vif.type) { ieee80211_reserve_tid() 3848 queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]); ieee80211_reserve_tid() 3873 switch (sdata->vif.type) { ieee80211_unreserve_tid() 1231 ieee80211_drv_tx(struct ieee80211_local *local, struct ieee80211_vif *vif, struct ieee80211_sta *pubsta, struct sk_buff *skb) ieee80211_drv_tx() argument 1321 ieee80211_tx_frags(struct ieee80211_local *local, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct sk_buff_head *skbs, bool txpending) ieee80211_tx_frags() argument 1514 ieee80211_tx_prepare_skb(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct sk_buff *skb, int band, struct ieee80211_sta **sta) ieee80211_tx_prepare_skb() argument 3316 __ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs, bool is_template) __ieee80211_beacon_get() argument 3505 ieee80211_beacon_get_template(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs) ieee80211_beacon_get_template() argument 3513 ieee80211_beacon_get_tim(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 *tim_offset, u16 *tim_length) ieee80211_beacon_get_tim() argument 3549 ieee80211_proberesp_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_proberesp_get() argument 3583 ieee80211_pspoll_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_pspoll_get() argument 3621 ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_nullfunc_get() argument 3728 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_get_buffered_bc() argument
|
H A D | ht.c | 56 switch (sdata->vif.type) { ieee80211_apply_htcap_overrides() 157 if (sdata->vif.type == NL80211_IFTYPE_STATION || ieee80211_ht_cap_ie_to_sta_ht_cap() 158 sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_ht_cap_ie_to_sta_ht_cap() 238 switch (sdata->vif.bss_conf.chandef.width) { ieee80211_ht_cap_ie_to_sta_ht_cap() 375 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_delba() 376 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_send_delba() 377 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_send_delba() 378 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_send_delba() 379 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_delba() 380 else if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_send_delba() 382 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_send_delba() 495 void ieee80211_request_smps(struct ieee80211_vif *vif, ieee80211_request_smps() argument 498 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_request_smps() 500 if (WARN_ON_ONCE(vif->type != NL80211_IFTYPE_STATION && ieee80211_request_smps() 501 vif->type != NL80211_IFTYPE_AP)) ieee80211_request_smps() 504 if (vif->type == NL80211_IFTYPE_STATION) { ieee80211_request_smps()
|
H A D | agg-rx.c | 111 void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 ba_rx_bitmap, ieee80211_stop_rx_ba_session() argument 114 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_rx_ba_session() 203 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_resp() 204 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_send_addba_resp() 205 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_send_addba_resp() 206 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_send_addba_resp() 207 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_resp() 208 else if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_send_addba_resp() 210 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_send_addba_resp() 388 void ieee80211_start_rx_ba_session_offl(struct ieee80211_vif *vif, ieee80211_start_rx_ba_session_offl() argument 391 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_rx_ba_session_offl() 409 void ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, ieee80211_stop_rx_ba_session_offl() argument 412 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_rx_ba_session_offl()
|
H A D | ibss.c | 80 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_ibss_build_presp() 247 if (sdata->vif.bss_conf.ibss_joined) { __ieee80211_sta_join_ibss() 248 sdata->vif.bss_conf.ibss_joined = false; __ieee80211_sta_join_ibss() 249 sdata->vif.bss_conf.ibss_creator = false; __ieee80211_sta_join_ibss() 250 sdata->vif.bss_conf.enable_beacon = false; __ieee80211_sta_join_ibss() 326 sdata->vif.bss_conf.enable_beacon = true; __ieee80211_sta_join_ibss() 327 sdata->vif.bss_conf.beacon_int = beacon_int; __ieee80211_sta_join_ibss() 328 sdata->vif.bss_conf.basic_rates = basic_rates; __ieee80211_sta_join_ibss() 329 sdata->vif.bss_conf.ssid_len = ifibss->ssid_len; __ieee80211_sta_join_ibss() 330 memcpy(sdata->vif.bss_conf.ssid, ifibss->ssid, ifibss->ssid_len); __ieee80211_sta_join_ibss() 351 sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; __ieee80211_sta_join_ibss() 362 sdata->vif.bss_conf.ibss_joined = true; __ieee80211_sta_join_ibss() 363 sdata->vif.bss_conf.ibss_creator = creator; __ieee80211_sta_join_ibss() 367 sdata->vif.bss_conf.ibss_joined = false; __ieee80211_sta_join_ibss() 368 sdata->vif.bss_conf.ibss_creator = false; __ieee80211_sta_join_ibss() 369 sdata->vif.bss_conf.enable_beacon = false; __ieee80211_sta_join_ibss() 370 sdata->vif.bss_conf.ssid_len = 0; __ieee80211_sta_join_ibss() 445 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_sta_join_ibss() 518 sdata->vif.bss_conf.beacon_int, ieee80211_ibss_csa_beacon() 519 sdata->vif.bss_conf.basic_rates, ieee80211_ibss_csa_beacon() 638 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); __acquires() 725 sdata->vif.bss_conf.ibss_joined = false; ieee80211_ibss_disconnect() 726 sdata->vif.bss_conf.ibss_creator = false; ieee80211_ibss_disconnect() 727 sdata->vif.bss_conf.enable_beacon = false; ieee80211_ibss_disconnect() 728 sdata->vif.bss_conf.ssid_len = 0; ieee80211_ibss_disconnect() 885 &sdata->vif.bss_conf.chandef)) { ieee80211_ibss_process_chanswitch() 936 if (!sdata->vif.csa_active) ieee80211_rx_mgmt_spectrum_mgmt() 999 if (sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_update_sta_info() 1150 if (sdata->vif.csa_active || ieee80211_rx_bss_info() 1227 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_ibss_rx_no_sta() 1331 bssid[i] ^= sdata->vif.addr[i]; ieee80211_sta_create_ibss() 1343 __ieee80211_sta_join_ibss(sdata, bssid, sdata->vif.bss_conf.beacon_int, ieee80211_sta_create_ibss() 1740 if (sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_ibss_notify_scan_completed() 1800 memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate, ieee80211_ibss_join() 1803 sdata->vif.bss_conf.beacon_int = params->beacon_interval; ieee80211_ibss_join() 1836 sdata->vif.bss_conf.ht_operation_mode |= ieee80211_ibss_join()
|
H A D | agg-tx.c | 81 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_request() 82 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_send_addba_request() 83 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_send_addba_request() 84 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_send_addba_request() 85 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_request() 86 else if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_send_addba_request() 88 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_send_addba_request() 114 void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn) ieee80211_send_bar() argument 116 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_send_bar() 132 memcpy(bar->ta, sdata->vif.addr, ETH_ALEN); ieee80211_send_bar() 167 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __acquires() 182 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __releases() 238 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __acquires() 575 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_start_tx_ba_session() 576 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_start_tx_ba_session() 577 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_start_tx_ba_session() 578 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_start_tx_ba_session() 579 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_start_tx_ba_session() 601 if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && ieee80211_start_tx_ba_session() 720 void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) ieee80211_start_tx_ba_cb() argument 722 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_tx_ba_cb() 762 void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, ieee80211_start_tx_ba_cb_irqsafe() argument 765 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_tx_ba_cb_irqsafe() 839 void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid) ieee80211_stop_tx_ba_cb() argument 841 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_tx_ba_cb() 893 void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, ieee80211_stop_tx_ba_cb_irqsafe() argument 896 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_tx_ba_cb_irqsafe()
|
H A D | sta_info.c | 96 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || __cleanup_single_sta() 97 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) __cleanup_single_sta() 99 else if (ieee80211_vif_is_mesh(&sdata->vif)) __cleanup_single_sta() 127 if (ieee80211_vif_is_mesh(&sdata->vif)) __cleanup_single_sta() 318 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_info_alloc() 323 if (ieee80211_vif_is_mesh(&sdata->vif) && sta_info_alloc() 382 if (sdata->vif.type == NL80211_IFTYPE_AP || sta_info_alloc() 383 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { sta_info_alloc() 434 if (WARN_ON(ether_addr_equal(sta->sta.addr, sdata->vif.addr) || sta_info_insert_check() 464 if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { sta_info_insert_drv_state() 541 if (ieee80211_vif_is_mesh(&sdata->vif)) __acquires() 646 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || __sta_info_recalc_tim() 647 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { __sta_info_recalc_tim() 653 } else if (ieee80211_vif_is_mesh(&sta->sdata->vif)) { __sta_info_recalc_tim() 736 sta->sdata->vif.bss_conf.beacon_int * sta_info_buffer_expired() 830 !ieee80211_vif_is_mesh(&sta->sdata->vif)) sta_info_cleanup_expire_buffered() 882 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN && __sta_info_destroy_part1() 1045 WARN_ON(vlans && sdata->vif.type != NL80211_IFTYPE_AP); __sta_info_flush() 1084 if (ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_sta_expire() 1112 !ether_addr_equal(sta->sdata->vif.addr, localaddr)) for_each_sta_info() 1123 struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_vif *vif, ieee80211_find_sta() argument 1128 if (!vif) ieee80211_find_sta() 1131 sta = sta_info_get_bss(vif_to_sdata(vif), addr); ieee80211_find_sta() 1152 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_sta_ps_deliver_wakeup() 1156 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_sta_ps_deliver_wakeup() 1158 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_sta_ps_deliver_wakeup() 1220 if (!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_sta_ps_deliver_wakeup() 1230 sdata->vif.bss_conf.bssid); ieee80211_sta_ps_deliver_wakeup() 1279 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_send_null_response() 1280 memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_send_null_response() 1314 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_send_null_response() 1758 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_info_move_state() 1759 (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sta_info_move_state() 1768 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_info_move_state() 1769 (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sta_info_move_state() 1833 int shift = ieee80211_vif_get_shift(&sta->sdata->vif); sta_set_rate_info_rx() 1876 if (sdata->vif.type == NL80211_IFTYPE_STATION) sta_set_sinfo() 1887 if (sdata->vif.type == NL80211_IFTYPE_STATION) { sta_set_sinfo() 1934 if (sdata->vif.type == NL80211_IFTYPE_STATION && sta_set_sinfo() 1935 !(sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER)) { sta_set_sinfo() 1938 sinfo->rx_beacon_signal_avg = ieee80211_ave_rssi(&sdata->vif); sta_set_sinfo() 2014 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_set_sinfo() 2037 if (sdata->vif.bss_conf.use_cts_prot) sta_set_sinfo() 2039 if (sdata->vif.bss_conf.use_short_preamble) sta_set_sinfo() 2041 if (sdata->vif.bss_conf.use_short_slot) sta_set_sinfo() 2043 sinfo->bss_param.dtim_period = sdata->vif.bss_conf.dtim_period; sta_set_sinfo() 2044 sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; sta_set_sinfo()
|
H A D | mlme.c | 111 if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER) ieee80211_sta_reset_beacon_monitor() 300 cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef)) ieee80211_determine_chantype() 368 if (sdata->vif.bss_conf.ht_operation_mode != ht_opmode) { ieee80211_config_bw() 370 sdata->vif.bss_conf.ht_operation_mode = ht_opmode; ieee80211_config_bw() 373 chan = sdata->vif.bss_conf.chandef.chan; ieee80211_config_bw() 398 if (cfg80211_chandef_identical(&chandef, &sdata->vif.bss_conf.chandef)) ieee80211_config_bw() 584 * If some other vif is using the MU-MIMO capablity we cannot associate ieee80211_add_vht_ie() 640 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_send_assoc() 649 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_send_assoc() 714 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_assoc() 925 skb = ieee80211_pspoll_get(&local->hw, &sdata->vif); ieee80211_send_pspoll() 944 skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif); ieee80211_send_nullfunc() 971 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) ieee80211_send_4addr_nullfunc() 986 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_send_4addr_nullfunc() 988 memcpy(nullfunc->addr4, sdata->vif.addr, ETH_ALEN); ieee80211_send_4addr_nullfunc() 1013 if (!sdata->vif.csa_active) ieee80211_chswitch_work() 1018 * with multi-vif. once reservation is complete it will re-schedule the ieee80211_chswitch_work() 1025 * with multi-vif csa driver may call ieee80211_csa_finish() ieee80211_chswitch_work() 1045 if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef, ieee80211_chswitch_work() 1076 WARN_ON(!sdata->vif.csa_active); ieee80211_chswitch_post_beacon() 1084 sdata->vif.csa_active = false; ieee80211_chswitch_post_beacon() 1099 void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success) ieee80211_chswitch_done() argument 1101 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_chswitch_done() 1149 if (sdata->vif.csa_active) ieee80211_sta_process_chanswitch() 1177 &sdata->vif.bss_conf.chandef)) { ieee80211_sta_process_chanswitch() 1197 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_sta_process_chanswitch() 1201 "no channel context assigned to vif?, disconnecting\n"); ieee80211_sta_process_chanswitch() 1236 sdata->vif.csa_active = true; ieee80211_sta_process_chanswitch() 1497 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_recalc_ps() 1498 /* If an AP vif is found, then disable PS ieee80211_recalc_ps() 1505 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_recalc_ps() 1516 found->vif.bss_conf.beacon_int); ieee80211_recalc_ps() 1540 if (sdata->vif.bss_conf.ps != ps_allowed) { ieee80211_recalc_ps_vif() 1541 sdata->vif.bss_conf.ps = ps_allowed; ieee80211_recalc_ps_vif() 1646 struct cfg80211_chan_def chandef = sdata->vif.bss_conf.chandef; ieee80211_dfs_cac_timer_work() 1860 sdata->vif.bss_conf.qos = true; ieee80211_sta_wmm_params() 1882 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_handle_bss_capability() 1924 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_set_associated() 1938 if (sdata->vif.p2p) { ieee80211_set_associated() 1983 if (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI && ieee80211_set_associated() 2035 /* disable per-vif ps */ ieee80211_set_disassoc() 2070 sdata->vif.bss_conf.assoc = false; ieee80211_set_disassoc() 2073 memset(&sdata->vif.bss_conf.p2p_noa_attr, 0, ieee80211_set_disassoc() 2074 sizeof(sdata->vif.bss_conf.p2p_noa_attr)); ieee80211_set_disassoc() 2089 if (sdata->vif.bss_conf.arp_addr_cnt) ieee80211_set_disassoc() 2092 sdata->vif.bss_conf.qos = false; ieee80211_set_disassoc() 2107 sdata->vif.bss_conf.dtim_period = 0; ieee80211_set_disassoc() 2108 sdata->vif.bss_conf.beacon_rate = NULL; ieee80211_set_disassoc() 2116 sdata->vif.csa_active = false; ieee80211_set_disassoc() 2276 ieee80211_send_probe_req(sdata, sdata->vif.addr, dst, ieee80211_mgd_probe_ap_send() 2313 ieee80211_cqm_beacon_loss_notify(&sdata->vif, GFP_KERNEL); ieee80211_mgd_probe_ap() 2348 struct ieee80211_vif *vif) ieee80211_ap_probereq_get() 2350 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_ap_probereq_get() 2357 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) ieee80211_ap_probereq_get() 2378 skb = ieee80211_build_probe_req(sdata, sdata->vif.addr, cbss->bssid, ieee80211_ap_probereq_get() 2422 sdata->vif.csa_active = false; __ieee80211_disconnect() 2465 void ieee80211_beacon_loss(struct ieee80211_vif *vif) ieee80211_beacon_loss() argument 2467 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_beacon_loss() 2477 void ieee80211_connection_loss(struct ieee80211_vif *vif) ieee80211_connection_loss() argument 2479 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_connection_loss() 2866 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_assoc_success() 3226 sdata->vif.bss_conf.beacon_rate = bss->beacon_rate; ieee80211_rx_bss_info() 3245 if (!ether_addr_equal(mgmt->da, sdata->vif.addr)) ieee80211_rx_mgmt_probe_resp() 3291 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_rx_mgmt_beacon() 3313 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_rx_mgmt_beacon() 3339 sdata->vif.bss_conf.sync_tsf = ieee80211_rx_mgmt_beacon() 3341 sdata->vif.bss_conf.sync_device_ts = ieee80211_rx_mgmt_beacon() 3344 sdata->vif.bss_conf.sync_dtim_count = ieee80211_rx_mgmt_beacon() 3347 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_rx_mgmt_beacon() 3402 !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) { ieee80211_rx_mgmt_beacon() 3412 &sdata->vif, ieee80211_rx_mgmt_beacon() 3419 &sdata->vif, ieee80211_rx_mgmt_beacon() 3466 if (sdata->vif.p2p) { ieee80211_rx_mgmt_beacon() 3507 sdata->vif.bss_conf.sync_tsf = ieee80211_rx_mgmt_beacon() 3509 sdata->vif.bss_conf.sync_device_ts = ieee80211_rx_mgmt_beacon() 3512 sdata->vif.bss_conf.sync_dtim_count = ieee80211_rx_mgmt_beacon() 3515 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_rx_mgmt_beacon() 3967 if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) ieee80211_sta_bcn_mon_timer() 3982 if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) ieee80211_sta_conn_mon_timer() 3999 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_restart_sta_timer() 4353 int shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_prep_connection() 4357 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_prep_connection() 4388 sdata->vif.bss_conf.basic_rates = basic_rates; ieee80211_prep_connection() 4400 sdata->vif.bss_conf.beacon_int = cbss->beacon_interval; ieee80211_prep_connection() 4406 sdata->vif.bss_conf.sync_tsf = ies->tsf; ieee80211_prep_connection() 4407 sdata->vif.bss_conf.sync_device_ts = ieee80211_prep_connection() 4412 sdata->vif.bss_conf.sync_dtim_count = tim_ie[2]; ieee80211_prep_connection() 4414 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4419 sdata->vif.bss_conf.sync_tsf = ies->tsf; ieee80211_prep_connection() 4420 sdata->vif.bss_conf.sync_device_ts = ieee80211_prep_connection() 4422 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4424 sdata->vif.bss_conf.sync_tsf = 0; ieee80211_prep_connection() 4425 sdata->vif.bss_conf.sync_device_ts = 0; ieee80211_prep_connection() 4426 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4722 if (WARN((sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD) && ieee80211_mgd_assoc() 4725 sdata->vif.driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD; ieee80211_mgd_assoc() 4728 (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD)) { ieee80211_mgd_assoc() 4760 sdata->vif.type); ieee80211_mgd_assoc() 4832 sdata->vif.bss_conf.sync_tsf = beacon_ies->tsf; ieee80211_mgd_assoc() 4833 sdata->vif.bss_conf.sync_device_ts = ieee80211_mgd_assoc() 4835 sdata->vif.bss_conf.sync_dtim_count = dtim_count; ieee80211_mgd_assoc() 4999 void ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif, ieee80211_cqm_rssi_notify() argument 5003 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_cqm_rssi_notify() 5011 void ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp) ieee80211_cqm_beacon_loss_notify() argument 5013 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_cqm_beacon_loss_notify() 2347 ieee80211_ap_probereq_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_ap_probereq_get() argument
|
H A D | pm.c | 88 if (sdata->vif.type != NL80211_IFTYPE_STATION) __ieee80211_suspend() 145 switch (sdata->vif.type) { __ieee80211_suspend() 199 void ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, ieee80211_report_wowlan_wakeup() argument 203 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_report_wowlan_wakeup()
|
H A D | rx.c | 564 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_rx_monitor() 747 char *dev_addr = rx->sdata->vif.addr; ieee80211_rx_mesh_check() 1145 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_h_check() 1150 rx->sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_check() 1151 rx->sdata->vif.type != NL80211_IFTYPE_WDS && ieee80211_rx_h_check() 1152 rx->sdata->vif.type != NL80211_IFTYPE_OCB && ieee80211_rx_h_check() 1159 if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_rx_h_check() 1174 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_rx_h_check() 1227 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_ps_start() 1228 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) sta_ps_start() 1310 if (sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_uapsd_and_pspoll() 1311 sdata->vif.type != NL80211_IFTYPE_AP_VLAN) ieee80211_rx_h_uapsd_and_pspoll() 1394 if (rx->sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_rx_h_sta_process() 1412 } else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) { ieee80211_rx_h_sta_process() 1428 if (rx->sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_rx_h_sta_process() 1459 (rx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_sta_process() 1460 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_rx_h_sta_process() 1477 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_h_sta_process() 1495 (rx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_sta_process() 1496 (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_sta_process() 2038 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) __ieee80211_data_to_8023() 2041 if (sdata->vif.type == NL80211_IFTYPE_STATION && __ieee80211_data_to_8023() 2051 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta) __ieee80211_data_to_8023() 2054 ret = ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type); __ieee80211_data_to_8023() 2081 (ether_addr_equal(ehdr->h_dest, rx->sdata->vif.addr) || ieee80211_frame_allowed() 2109 if ((sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_deliver_skb() 2110 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_deliver_skb() 2112 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) { ieee80211_deliver_skb() 2207 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_amsdu() 2212 ((rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_amsdu() 2214 (rx->sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_rx_h_amsdu() 2225 rx->sdata->vif.type, ieee80211_rx_h_amsdu() 2319 ether_addr_equal(sdata->vif.addr, hdr->addr3)) ieee80211_rx_h_mesh_fwding() 2323 q = sdata->vif.hw_queue[ac]; ieee80211_rx_h_mesh_fwding() 2350 info->control.vif = &rx->sdata->vif; ieee80211_rx_h_mesh_fwding() 2354 memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_rx_h_mesh_fwding() 2411 sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_rx_h_data() 2446 if (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_data() 2541 if (!ether_addr_equal(mgmt->da, sdata->vif.addr)) { ieee80211_process_sa_query_req() 2565 memcpy(resp->sa, sdata->vif.addr, ETH_ALEN); ieee80211_process_sa_query_req() 2596 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_rx_h_mgmt_check() 2643 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2644 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2645 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2646 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2647 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2722 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2736 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2737 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2738 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2739 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2740 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2766 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2767 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2768 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2769 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2770 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2812 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2823 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2824 sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_action() 2825 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_action() 2828 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2830 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2832 else if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_action() 2851 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2866 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2874 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2884 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2968 (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_action_return() 2969 sdata->vif.type == NL80211_IFTYPE_AP_VLAN)) ieee80211_rx_h_action_return() 2986 memcpy(nmgmt->sa, rx->sdata->vif.addr, ETH_ALEN); ieee80211_rx_h_action_return() 2990 if (rx->sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) { ieee80211_rx_h_action_return() 3017 if (!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_rx_h_mgmt() 3018 sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_mgmt() 3019 sdata->vif.type != NL80211_IFTYPE_OCB && ieee80211_rx_h_mgmt() 3020 sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_mgmt() 3038 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_mgmt() 3043 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_mgmt() 3044 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_mgmt() 3105 if (sdata->vif.type != NL80211_IFTYPE_MONITOR || ieee80211_rx_cooked_monitor() 3204 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_handlers() 3306 u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type); ieee80211_accept_frame() 3309 switch (sdata->vif.type) { ieee80211_accept_frame() 3315 return ether_addr_equal(sdata->vif.addr, hdr->addr1); ieee80211_accept_frame() 3319 if (ether_addr_equal(sdata->vif.addr, hdr->addr2) || ieee80211_accept_frame() 3327 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) ieee80211_accept_frame() 3362 return ether_addr_equal(sdata->vif.addr, hdr->addr1); ieee80211_accept_frame() 3366 return ether_addr_equal(sdata->vif.addr, hdr->addr1); ieee80211_accept_frame() 3368 if (!ieee80211_bssid_match(bssid, sdata->vif.addr)) { ieee80211_accept_frame() 3376 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) ieee80211_accept_frame() 3531 if (sdata->vif.type == NL80211_IFTYPE_MONITOR || __ieee80211_rx_handle_packet() 3532 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) __ieee80211_rx_handle_packet()
|
H A D | rate.c | 48 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); rate_control_rate_init() 76 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); rate_control_rate_update() 344 if (ieee80211_vif_is_mesh(&sta->sdata->vif)) rate_control_send_low() 543 static void rate_fixup_ratelist(struct ieee80211_vif *vif, rate_fixup_ratelist() argument 563 u32 basic_rates = vif->bss_conf.basic_rates; rate_fixup_ratelist() 693 flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); rate_control_cap_mask() 749 chan_width = sta->sdata->vif.bss_conf.chandef.width; rate_control_apply_mask_ratetbl() 786 chan_width = sdata->vif.bss_conf.chandef.width; rate_control_apply_mask() 799 void ieee80211_get_tx_rates(struct ieee80211_vif *vif, ieee80211_get_tx_rates() argument 812 if (!vif) ieee80211_get_tx_rates() 815 sdata = vif_to_sdata(vif); ieee80211_get_tx_rates() 826 rate_fixup_ratelist(vif, sband, info, dest, max_rates); ieee80211_get_tx_rates() 865 ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb, rate_control_get_rate()
|
H A D | offchannel.c | 131 if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) ieee80211_offchannel_stop_vifs() 134 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_offchannel_stop_vifs() 138 if (sdata->vif.bss_conf.enable_beacon) { ieee80211_offchannel_stop_vifs() 141 sdata->vif.bss_conf.enable_beacon = false; ieee80211_offchannel_stop_vifs() 146 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_offchannel_stop_vifs() 162 if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) ieee80211_offchannel_return() 165 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_offchannel_return() 172 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_offchannel_return() 178 sdata->vif.bss_conf.enable_beacon = true; ieee80211_offchannel_return()
|
H A D | tdls.c | 157 if (!ieee80211_chandef_to_operating_class(&sdata->vif.bss_conf.chandef, ieee80211_tdls_add_oper_classes() 202 init_addr = sdata->vif.addr; ieee80211_tdls_add_link_ie() 206 rsp_addr = sdata->vif.addr; ieee80211_tdls_add_link_ie() 429 sta->tdls_chandef = sdata->vif.bss_conf.chandef; ieee80211_tdls_add_setup_start_ies() 557 sta->tdls_chandef = sdata->vif.bss_conf.chandef; ieee80211_tdls_add_setup_cfm_ies() 605 &sdata->vif.bss_conf.chandef, prot, ieee80211_tdls_add_setup_cfm_ies() 750 memcpy(tf->sa, sdata->vif.addr, ETH_ALEN); ieee80211_prep_tdls_encap_data() 832 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_prep_tdls_direct() 1197 if (sdata->vif.type != NL80211_IFTYPE_STATION || ieee80211_tdls_mgmt() 1252 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, iee80211_tdls_recalc_chanctx() 1299 opmode = sdata->vif.bss_conf.ht_operation_mode; iee80211_tdls_recalc_ht_protection() 1306 if (opmode == sdata->vif.bss_conf.ht_operation_mode) iee80211_tdls_recalc_ht_protection() 1309 sdata->vif.bss_conf.ht_operation_mode = opmode; iee80211_tdls_recalc_ht_protection() 1324 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_tdls_oper() 1347 if (sdata->vif.csa_active) { ieee80211_tdls_oper() 1414 void ieee80211_tdls_oper_request(struct ieee80211_vif *vif, const u8 *peer, ieee80211_tdls_oper_request() argument 1418 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_tdls_oper_request() 1420 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc) { ieee80211_tdls_oper_request() 1706 !memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN); ieee80211_process_tdls_channel_switch_resp() 1851 !memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN); ieee80211_process_tdls_channel_switch_req() 1934 ieee80211_tdls_oper_request(&sdata->vif, sta->sta.addr, ieee80211_teardown_tdls_peers() 1954 sdata->vif.type != NL80211_IFTYPE_STATION || ieee80211_tdls_chsw_work() 1955 !ether_addr_equal(tf->da, sdata->vif.addr)) ieee80211_tdls_chsw_work()
|
H A D | key.c | 66 if (sdata->vif.type != NL80211_IFTYPE_AP) update_vlan_tailroom_need_count() 164 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_key_enable_hw_accel() 683 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_enable_keys() 705 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_reset_crypto_tx_tailroom() 714 struct ieee80211_vif *vif, ieee80211_iter_keys() 716 struct ieee80211_vif *vif, ieee80211_iter_keys() 729 if (vif) { ieee80211_iter_keys() 730 sdata = vif_to_sdata(vif); ieee80211_iter_keys() 732 iter(hw, &sdata->vif, ieee80211_iter_keys() 739 iter(hw, &sdata->vif, ieee80211_iter_keys() 783 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_free_keys() 793 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_free_keys() 807 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_free_keys() 876 void ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const u8 *bssid, ieee80211_gtk_rekey_notify() argument 879 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_gtk_rekey_notify() 1107 ieee80211_gtk_rekey_add(struct ieee80211_vif *vif, ieee80211_gtk_rekey_add() argument 1110 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_gtk_rekey_add() 1118 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_gtk_rekey_add() 713 ieee80211_iter_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void (*iter)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key, void *data), void *iter_data) ieee80211_iter_keys() argument
|
H A D | mesh_hwmp.c | 128 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_path_sel_frame_tx() 130 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); mesh_path_sel_frame_tx() 216 info->control.vif = &sdata->vif; prepare_frame_for_deferred_tx() 265 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_path_error_tx() 267 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); mesh_path_error_tx() 417 if (ether_addr_equal(orig_addr, sdata->vif.addr)) { hwmp_route_info_get() 550 if (ether_addr_equal(target_addr, sdata->vif.addr)) { hwmp_preq_frame_process() 569 target_addr = sdata->vif.addr; hwmp_preq_frame_process() 671 if (ether_addr_equal(orig_addr, sdata->vif.addr)) hwmp_prep_frame_process() 793 if (ether_addr_equal(orig_addr, sdata->vif.addr)) hwmp_rann_frame_process() 1056 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn, mesh_path_start_discovery() 1154 ether_addr_equal(sdata->vif.addr, hdr->addr4) && mesh_nexthop_lookup() 1162 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); mesh_nexthop_lookup() 1218 mesh_path_sel_frame_tx(MPATH_RANN, flags, sdata->vif.addr, mesh_path_tx_root_frame() 1229 mesh_path_sel_frame_tx(MPATH_PREQ, flags, sdata->vif.addr, mesh_path_tx_root_frame()
|
H A D | debugfs_key.c | 383 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_key_update_default() 397 sdata->vif.debugfs_dir, buf); ieee80211_debugfs_key_update_default() 409 sdata->vif.debugfs_dir, buf); ieee80211_debugfs_key_update_default() 418 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_key_add_mgmt_default() 427 sdata->vif.debugfs_dir, buf); ieee80211_debugfs_key_add_mgmt_default()
|
H A D | status.c | 65 info->control.vif = &sta->sdata->vif; ieee80211_handle_filtered_frame() 176 ieee80211_send_bar(&sta->sdata->vif, addr, tid, tid_tx->failed_bar_ssn); ieee80211_check_pending_bar() 215 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_frame_acked() 225 } else if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_frame_acked() 226 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_frame_acked() 703 if (sdata->vif.type == NL80211_IFTYPE_MONITOR) { ieee80211_tx_monitor() 760 if (!ether_addr_equal(hdr->addr2, sta->sdata->vif.addr)) ieee80211_tx_status() 763 shift = ieee80211_vif_get_shift(&sta->sdata->vif); ieee80211_tx_status() 780 if (ieee80211_vif_is_mesh(&sta->sdata->vif) && ieee80211_tx_status() 801 ieee80211_send_bar(&sta->sdata->vif, hdr->addr1, ieee80211_tx_status() 849 if (ieee80211_vif_is_mesh(&sta->sdata->vif)) ieee80211_tx_status() 855 if ((sta->sdata->vif.type == NL80211_IFTYPE_STATION) && ieee80211_tx_status()
|
H A D | ethtool.c | 103 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_get_stats() 149 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_get_stats()
|
H A D | spectmgmt.c | 119 switch (sdata->vif.bss_conf.chandef.width) { ieee80211_parse_ch_switch_ie() 123 sdata->vif.bss_conf.chandef.width; ieee80211_parse_ch_switch_ie() 203 memcpy(msr_report->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_refuse_measurement_request()
|
H A D | main.c | 145 if (!rcu_access_pointer(sdata->vif.chanctx_conf)) ieee80211_hw_conf_chan() 147 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_hw_conf_chan() 149 power = min(power, sdata->vif.bss_conf.txpower); ieee80211_hw_conf_chan() 200 if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_bss_info_change_notify() 203 drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed); ieee80211_bss_info_change_notify() 208 sdata->vif.bss_conf.use_cts_prot = false; ieee80211_reset_erp_info() 209 sdata->vif.bss_conf.use_short_preamble = false; ieee80211_reset_erp_info() 210 sdata->vif.bss_conf.use_short_slot = false; ieee80211_reset_erp_info() 312 bss_conf = &sdata->vif.bss_conf; ieee80211_ifa_changed() 315 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_ifa_changed() 369 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_ifa6_changed()
|
H A D | trace.h | 26 #define VIF_ASSIGN __entry->vif_type = sdata->vif.type; __entry->sdata = sdata; \ 27 __entry->p2p = sdata->vif.p2p; \ 29 #define VIF_PR_FMT " vif:%s(%d%s)" 115 memcpy(__entry->addr, sdata->vif.addr, ETH_ALEN); 1460 struct trace_vif_entry vif; member in struct:trace_switch_entry 1494 sdata = container_of(vifs[i].vif, 1496 vif); 1498 SWITCH_ENTRY_ASSIGN(vif.vif_type, vif->type); 1499 SWITCH_ENTRY_ASSIGN(vif.p2p, vif->p2p); 1500 strncpy(local_vifs[i].vif.vif_name, 1502 sizeof(local_vifs[i].vif.vif_name));
|
H A D | vht.c | 36 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_apply_vhtcap_overrides() 163 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_vht_cap_ie_to_sta_vht_cap() 326 enum nl80211_chan_width bss_width = sdata->vif.bss_conf.chandef.width; ieee80211_sta_cur_vht_bw()
|
H A D | mesh_plink.c | 132 if (sdata->vif.bss_conf.use_short_slot != short_slot) { mesh_set_short_slot_time() 133 sdata->vif.bss_conf.use_short_slot = short_slot; mesh_set_short_slot_time() 136 sdata->vif.addr, short_slot); mesh_set_short_slot_time() 158 switch (sdata->vif.bss_conf.chandef.width) { mesh_set_ht_prot_mode() 191 sdata->vif.bss_conf.chandef.width > NL80211_CHAN_WIDTH_20) mesh_set_ht_prot_mode() 196 if (sdata->vif.bss_conf.ht_operation_mode == ht_opmode) mesh_set_ht_prot_mode() 199 sdata->vif.bss_conf.ht_operation_mode = ht_opmode; mesh_set_ht_prot_mode() 244 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_plink_frame_tx() 245 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); mesh_plink_frame_tx()
|
H A D | mesh_sync.c | 53 /* sdata->vif.bss_conf.beacon_int in 1024us units, 0.04% */ mesh_sync_adjust_tbtt() 54 u64 beacon_int_fraction = sdata->vif.bss_conf.beacon_int * 1024 / 2500; mesh_sync_adjust_tbtt()
|
H A D | wme.c | 161 switch (sdata->vif.type) { ieee80211_select_queue() 259 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_set_qos_hdr()
|
H A D | mesh_ps.c | 36 sdata->vif.addr); mps_qos_null_get() 437 info->control.vif = &sdata->vif; mpsp_qos_null_append()
|
H A D | tkip.c | 171 tkip_mixing_phase1(tk, ctx, sdata->vif.addr, iv32); ieee80211_compute_tkip_p1k() 290 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_tkip_decrypt_data()
|
/linux-4.4.14/drivers/net/wireless/brcm80211/brcmfmac/ |
H A D | p2p.c | 469 struct brcmf_if *pri_ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_generate_bss_mac() 550 struct brcmf_cfg80211_vif *vif; brcmf_p2p_deinit_discovery() local 555 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_deinit_discovery() 556 (void)brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0); brcmf_p2p_deinit_discovery() 559 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_deinit_discovery() 560 (void)brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 0); brcmf_p2p_deinit_discovery() 574 struct brcmf_cfg80211_vif *vif; brcmf_p2p_enable_discovery() local 578 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_enable_discovery() 579 if (!vif) { brcmf_p2p_enable_discovery() 591 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_enable_discovery() 592 ret = brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 1); brcmf_p2p_enable_discovery() 597 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_enable_discovery() 598 ret = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0); brcmf_p2p_enable_discovery() 610 ret = brcmf_fil_bsscfg_int_set(vif->ifp, "wsec", AES_ENABLED); brcmf_p2p_enable_discovery() 642 struct brcmf_cfg80211_vif *vif; brcmf_p2p_escan() local 652 vif = p2p->bss_idx[bss_type].vif; brcmf_p2p_escan() 653 if (vif == NULL) { brcmf_p2p_escan() 654 brcmf_err("no vif for bss type %d\n", bss_type); brcmf_p2p_escan() 685 brcmf_p2p_set_discover_state(vif->ifp, search_state, 0, 0); brcmf_p2p_escan() 748 ret = brcmf_fil_bsscfg_data_set(vif->ifp, "p2p_scan", memblk, memsize); brcmf_p2p_escan() 775 struct brcmf_cfg80211_vif *vif; brcmf_p2p_run_escan() local 794 vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif; brcmf_p2p_run_escan() 795 if (vif) brcmf_p2p_run_escan() 796 dev = vif->wdev.netdev; brcmf_p2p_run_escan() 805 vif->wdev.iftype == NL80211_IFTYPE_P2P_GO) { brcmf_p2p_run_escan() 881 * @vif: vif on which scan request is to be executed. 888 struct brcmf_cfg80211_vif *vif) brcmf_p2p_scan_prep() 910 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_scan_prep() 915 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_PRBREQ_FLAG, brcmf_p2p_scan_prep() 932 struct brcmf_cfg80211_vif *vif; brcmf_p2p_discover_listen() local 936 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_discover_listen() 937 if (!vif) { brcmf_p2p_discover_listen() 952 err = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_LISTEN, brcmf_p2p_discover_listen() 1026 cfg80211_remain_on_channel_expired(&ifp->vif->wdev, brcmf_p2p_notify_listen_complete() 1155 pri_vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_af_searching_channel() 1320 ifp = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif->ifp; brcmf_p2p_gon_req_collision() 1373 brcmf_dbg(INFO, "ifp->vif->mgmt_rx_reg %04x\n", ifp->vif->mgmt_rx_reg); brcmf_p2p_notify_action_frame_rx() 1375 if ((ifp->vif->mgmt_rx_reg & BIT(mgmt_type)) == 0) brcmf_p2p_notify_action_frame_rx() 1437 wdev = &ifp->vif->wdev; brcmf_p2p_notify_action_frame_rx() 1490 * @p2p: p2p info struct for vif. 1502 struct brcmf_cfg80211_vif *vif; brcmf_p2p_tx_action_frame() local 1512 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_tx_action_frame() 1513 err = brcmf_fil_bsscfg_data_set(vif->ifp, "actframe", af_params, brcmf_p2p_tx_action_frame() 1730 &p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->sme_state)) brcmf_p2p_send_action_frame() 1754 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif->saved_ie.probe_req_ie_len) { brcmf_p2p_send_action_frame() 1855 struct brcmf_cfg80211_vif *vif = ifp->vif; brcmf_p2p_notify_rx_mgmt_p2p_probereq() local 1890 brcmf_dbg(INFO, "vif->mgmt_rx_reg %04x\n", vif->mgmt_rx_reg); brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1892 if ((vif->mgmt_rx_reg & BIT(mgmt_type)) == 0) brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1902 cfg80211_rx_mgmt(&vif->wdev, freq, 0, mgmt_frame, mgmt_frame_len, 0); brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1926 ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_get_current_chanspec() 1960 struct brcmf_cfg80211_vif *vif; brcmf_p2p_ifchange() local 1967 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_ifchange() 1968 if (!vif) { brcmf_p2p_ifchange() 1969 brcmf_err("vif for P2PAPI_BSSCFG_PRIMARY does not exist\n"); brcmf_p2p_ifchange() 1972 brcmf_notify_escan_complete(cfg, vif->ifp, true, true); brcmf_p2p_ifchange() 1973 vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif; brcmf_p2p_ifchange() 1974 if (!vif) { brcmf_p2p_ifchange() 1975 brcmf_err("vif for P2PAPI_BSSCFG_CONNECTION does not exist\n"); brcmf_p2p_ifchange() 1978 brcmf_set_mpc(vif->ifp, 0); brcmf_p2p_ifchange() 1989 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_ifchange() 1990 err = brcmf_fil_iovar_data_set(vif->ifp, "p2p_ifupd", &if_request, brcmf_p2p_ifchange() 2005 err = brcmf_fil_cmd_int_set(vif->ifp, BRCMF_C_SET_SCB_TIMEOUT, brcmf_p2p_ifchange() 2035 static int brcmf_p2p_disable_p2p_if(struct brcmf_cfg80211_vif *vif) brcmf_p2p_disable_p2p_if() argument 2037 struct brcmf_cfg80211_info *cfg = wdev_to_cfg(&vif->wdev); brcmf_p2p_disable_p2p_if() 2040 u8 *addr = vif->wdev.netdev->dev_addr; brcmf_p2p_disable_p2p_if() 2045 static int brcmf_p2p_release_p2p_if(struct brcmf_cfg80211_vif *vif) brcmf_p2p_release_p2p_if() argument 2047 struct brcmf_cfg80211_info *cfg = wdev_to_cfg(&vif->wdev); brcmf_p2p_release_p2p_if() 2050 u8 *addr = vif->wdev.netdev->dev_addr; brcmf_p2p_release_p2p_if() 2072 if (p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_p2p_create_p2pdev() 2078 brcmf_err("could not create discovery vif\n"); brcmf_p2p_create_p2pdev() 2082 pri_ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_create_p2pdev() 2111 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif = p2p_vif; brcmf_p2p_create_p2pdev() 2153 struct brcmf_cfg80211_vif *vif; brcmf_p2p_add_vif() local 2160 brcmf_dbg(INFO, "adding vif \"%s\" (type=%d)\n", name, type); brcmf_p2p_add_vif() 2176 vif = brcmf_alloc_vif(cfg, type, false); brcmf_p2p_add_vif() 2177 if (IS_ERR(vif)) brcmf_p2p_add_vif() 2178 return (struct wireless_dev *)vif; brcmf_p2p_add_vif() 2179 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_add_vif() 2199 ifp = vif->ifp; brcmf_p2p_add_vif() 2214 cfg->p2p.bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = vif; brcmf_p2p_add_vif() 2222 return &ifp->vif->wdev; brcmf_p2p_add_vif() 2225 brcmf_free_vif(vif); brcmf_p2p_add_vif() 2239 struct brcmf_cfg80211_vif *vif; brcmf_p2p_del_vif() local 2244 brcmf_dbg(TRACE, "delete P2P vif\n"); brcmf_p2p_del_vif() 2245 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_del_vif() 2247 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_del_vif() 2248 switch (vif->wdev.iftype) { brcmf_p2p_del_vif() 2250 if (test_bit(BRCMF_VIF_STATUS_DISCONNECTING, &vif->sme_state)) brcmf_p2p_del_vif() 2255 if (!brcmf_p2p_disable_p2p_if(vif)) brcmf_p2p_del_vif() 2260 if (!p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_p2p_del_vif() 2262 brcmf_p2p_cancel_remain_on_channel(vif->ifp); brcmf_p2p_del_vif() 2276 if (vif->wdev.iftype != NL80211_IFTYPE_P2P_DEVICE) { brcmf_p2p_del_vif() 2277 brcmf_vif_clear_mgmt_ies(vif); brcmf_p2p_del_vif() 2278 err = brcmf_p2p_release_p2p_if(vif); brcmf_p2p_del_vif() 2290 brcmf_remove_interface(vif->ifp); brcmf_p2p_del_vif() 2293 if (vif->wdev.iftype != NL80211_IFTYPE_P2P_DEVICE) brcmf_p2p_del_vif() 2294 p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = NULL; brcmf_p2p_del_vif() 2302 struct brcmf_cfg80211_vif *vif; brcmf_p2p_ifp_removed() local 2305 vif = ifp->vif; brcmf_p2p_ifp_removed() 2306 cfg = wdev_to_cfg(&vif->wdev); brcmf_p2p_ifp_removed() 2307 cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif = NULL; brcmf_p2p_ifp_removed() 2309 cfg80211_unregister_wdev(&vif->wdev); brcmf_p2p_ifp_removed() 2311 brcmf_free_vif(vif); brcmf_p2p_ifp_removed() 2318 struct brcmf_cfg80211_vif *vif; brcmf_p2p_start_device() local 2321 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_start_device() 2325 set_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state); brcmf_p2p_start_device() 2334 struct brcmf_cfg80211_vif *vif; brcmf_p2p_stop_device() local 2336 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_stop_device() 2338 * we dont want to do anything anymore. Just return. The config vif brcmf_p2p_stop_device() 2341 if (p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif == vif) { brcmf_p2p_stop_device() 2344 (void)brcmf_p2p_set_discover_state(vif->ifp, brcmf_p2p_stop_device() 2347 clear_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state); brcmf_p2p_stop_device() 2369 p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif = pri_ifp->vif; brcmf_p2p_attach() 2390 struct brcmf_cfg80211_vif *vif; brcmf_p2p_detach() local 2392 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_detach() 2393 if (vif != NULL) { brcmf_p2p_detach() 2394 brcmf_p2p_cancel_remain_on_channel(vif->ifp); brcmf_p2p_detach() 2396 brcmf_remove_interface(vif->ifp); brcmf_p2p_detach() 886 brcmf_p2p_scan_prep(struct wiphy *wiphy, struct cfg80211_scan_request *request, struct brcmf_cfg80211_vif *vif) brcmf_p2p_scan_prep() argument
|
H A D | cfg80211.c | 97 static bool check_vif_up(struct brcmf_cfg80211_vif *vif) check_vif_up() argument 99 if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) { check_vif_up() 101 vif->sme_state); check_vif_up() 390 struct brcmf_cfg80211_vif *vif, brcmf_vif_change_validate() 398 if (pos == vif) brcmf_vif_change_validate() 487 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_update_proto_addr_mode() local 490 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_update_proto_addr_mode() 491 ifp = vif->ifp; brcmf_cfg80211_update_proto_addr_mode() 540 struct brcmf_cfg80211_vif *vif; brcmf_ap_add_vif() local 546 brcmf_dbg(INFO, "Adding vif \"%s\"\n", name); brcmf_ap_add_vif() 548 vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_AP, false); brcmf_ap_add_vif() 549 if (IS_ERR(vif)) brcmf_ap_add_vif() 550 return (struct wireless_dev *)vif; brcmf_ap_add_vif() 552 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_ap_add_vif() 571 ifp = vif->ifp; brcmf_ap_add_vif() 585 return &ifp->vif->wdev; brcmf_ap_add_vif() 588 brcmf_free_vif(vif); brcmf_ap_add_vif() 592 static bool brcmf_is_apmode(struct brcmf_cfg80211_vif *vif) brcmf_is_apmode() argument 596 iftype = vif->wdev.iftype; brcmf_is_apmode() 600 static bool brcmf_is_ibssmode(struct brcmf_cfg80211_vif *vif) brcmf_is_ibssmode() argument 602 return vif->wdev.iftype == NL80211_IFTYPE_ADHOC; brcmf_is_ibssmode() 657 if (check_vif_up(ifp->vif)) { brcmf_set_mpc() 734 /* vif event pending in firmware */ brcmf_cfg80211_del_iface() 774 struct brcmf_cfg80211_vif *vif = ifp->vif; brcmf_cfg80211_change_iface() local 790 ((vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) || brcmf_cfg80211_change_iface() 791 (vif->wdev.iftype == NL80211_IFTYPE_P2P_GO) || brcmf_cfg80211_change_iface() 792 (vif->wdev.iftype == NL80211_IFTYPE_P2P_DEVICE))) { brcmf_cfg80211_change_iface() 811 err = brcmf_vif_change_validate(wiphy_to_cfg(wiphy), vif, type); brcmf_cfg80211_change_iface() 852 brcmf_dbg(INFO, "IF Type = %s\n", brcmf_is_ibssmode(vif) ? brcmf_cfg80211_change_iface() 857 brcmf_cfg80211_update_proto_addr_mode(&vif->wdev); brcmf_cfg80211_change_iface() 1022 brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, brcmf_cfg80211_escan() argument 1026 struct brcmf_if *ifp = vif->ifp; brcmf_cfg80211_escan() 1052 if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) { brcmf_cfg80211_escan() 1053 brcmf_err("Connecting: status (%lu)\n", ifp->vif->sme_state); brcmf_cfg80211_escan() 1058 if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_cfg80211_escan() 1059 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_cfg80211_escan() 1076 err = brcmf_p2p_scan_prep(wiphy, request, vif); brcmf_cfg80211_escan() 1080 err = brcmf_do_escan(cfg, wiphy, vif->ifp, request); brcmf_cfg80211_escan() 1134 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_scan() local 1138 vif = container_of(request->wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_scan() 1139 if (!check_vif_up(vif)) brcmf_cfg80211_scan() 1142 err = brcmf_cfg80211_escan(wiphy, vif, request, NULL); brcmf_cfg80211_scan() 1196 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_wiphy_params() 1256 static void brcmf_link_down(struct brcmf_cfg80211_vif *vif, u16 reason) brcmf_link_down() argument 1258 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(vif->wdev.wiphy); brcmf_link_down() 1263 if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &vif->sme_state)) { brcmf_link_down() 1265 err = brcmf_fil_cmd_data_set(vif->ifp, brcmf_link_down() 1270 clear_bit(BRCMF_VIF_STATUS_CONNECTED, &vif->sme_state); brcmf_link_down() 1271 cfg80211_disconnected(vif->wdev.netdev, reason, NULL, 0, brcmf_link_down() 1275 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &vif->sme_state); brcmf_link_down() 1277 brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_ENABLED, 0); brcmf_link_down() 1287 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_join_ibss() 1296 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_join_ibss() 1306 set_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_join_ibss() 1428 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_join_ibss() 1439 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_leave_ibss() 1442 brcmf_link_down(ifp->vif, WLAN_REASON_DEAUTH_LEAVING); brcmf_cfg80211_leave_ibss() 1731 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_connect() 1744 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_connect() 1752 if (ifp->vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) { brcmf_cfg80211_connect() 1774 err = brcmf_vif_set_mgmt_ie(ifp->vif, BRCMF_VNDR_IE_ASSOCREQ_FLAG, brcmf_cfg80211_connect() 1781 set_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_connect() 1918 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_connect() 1928 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_disconnect() 1933 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_disconnect() 1936 clear_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); brcmf_cfg80211_disconnect() 1937 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_disconnect() 1963 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_tx_power() 2012 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_tx_power() 2038 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_config_default_key() 2091 if (!brcmf_is_apmode(ifp->vif) && brcmf_add_keyext() 2156 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_add_key() 2172 key = &ifp->vif->profile.key[key_idx]; brcmf_cfg80211_add_key() 2198 if (!brcmf_is_apmode(ifp->vif)) { brcmf_cfg80211_add_key() 2254 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_key() 2284 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_get_key() 2291 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_key() 2348 key = &ifp->vif->profile.key[key_idx]; brcmf_cfg80211_reconfigure_wep() 2439 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_station() 2571 if (!check_vif_up(ifp->vif)) { brcmf_cfg80211_set_power_mgmt() 2579 if (ifp->vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) { brcmf_cfg80211_set_power_mgmt() 2789 if (brcmf_is_ibssmode(ifp->vif)) brcmf_update_bss_info() 3123 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_suspend() local 3130 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_suspend() 3139 list_for_each_entry(vif, &cfg->vif_list, list) { brcmf_cfg80211_suspend() 3140 if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) brcmf_cfg80211_suspend() 3146 brcmf_link_down(vif, WLAN_REASON_UNSPECIFIED); brcmf_cfg80211_suspend() 3204 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_pmksa() 3243 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_pmksa() 3292 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_flush_pmksa() 3854 s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag, brcmf_vif_set_mgmt_ie() argument 3875 if (!vif) brcmf_vif_set_mgmt_ie() 3877 ifp = vif->ifp; brcmf_vif_set_mgmt_ie() 3878 saved_ie = &vif->saved_ie; brcmf_vif_set_mgmt_ie() 4015 s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif) brcmf_vif_clear_mgmt_ies() argument 4025 brcmf_vif_set_mgmt_ie(vif, pktflags[i], NULL, 0); brcmf_vif_clear_mgmt_ies() 4027 memset(&vif->saved_ie, 0, sizeof(vif->saved_ie)); brcmf_vif_clear_mgmt_ies() 4032 brcmf_config_ap_mgmt_ie(struct brcmf_cfg80211_vif *vif, brcmf_config_ap_mgmt_ie() argument 4038 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_BEACON_FLAG, brcmf_config_ap_mgmt_ie() 4047 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_PRBRSP_FLAG, brcmf_config_ap_mgmt_ie() 4085 dev_role = ifp->vif->wdev.iftype; brcmf_cfg80211_start_ap() 4086 mbss = ifp->vif->mbss; brcmf_cfg80211_start_ap() 4089 brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_REGULATORY, &ifp->vif->is_11d); brcmf_cfg80211_start_ap() 4148 brcmf_config_ap_mgmt_ie(ifp->vif, &settings->beacon); brcmf_cfg80211_start_ap() 4160 if (is_11d != ifp->vif->is_11d) { brcmf_cfg80211_start_ap() 4200 } else if (WARN_ON(is_11d != ifp->vif->is_11d)) { brcmf_cfg80211_start_ap() 4253 set_bit(BRCMF_VIF_STATUS_AP_CREATED, &ifp->vif->sme_state); brcmf_cfg80211_start_ap() 4273 if (ifp->vif->wdev.iftype == NL80211_IFTYPE_AP) { brcmf_cfg80211_stop_ap() 4278 if (ifp->vif->mbss) { brcmf_cfg80211_stop_ap() 4300 ifp->vif->is_11d); brcmf_cfg80211_stop_ap() 4318 clear_bit(BRCMF_VIF_STATUS_AP_CREATED, &ifp->vif->sme_state); brcmf_cfg80211_stop_ap() 4333 err = brcmf_config_ap_mgmt_ie(ifp->vif, info); brcmf_cfg80211_change_beacon() 4352 if (ifp->vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_cfg80211_del_station() 4353 ifp = cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_cfg80211_del_station() 4354 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_station() 4402 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_mgmt_frame_register() local 4408 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_mgmt_frame_register() 4410 vif->mgmt_rx_reg |= BIT(mgmt_type); brcmf_cfg80211_mgmt_frame_register() 4412 vif->mgmt_rx_reg &= ~BIT(mgmt_type); brcmf_cfg80211_mgmt_frame_register() 4425 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_mgmt_tx() local 4446 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_mgmt_tx() 4453 /* vif. Since this is only reason for a probe */ brcmf_cfg80211_mgmt_tx() 4454 /* response to be sent, the vif is taken from cfg. */ brcmf_cfg80211_mgmt_tx() 4463 if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) brcmf_cfg80211_mgmt_tx() 4464 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_cfg80211_mgmt_tx() 4465 err = brcmf_vif_set_mgmt_ie(vif, brcmf_cfg80211_mgmt_tx() 4492 brcmf_fil_cmd_int_get(vif->ifp, BRCMF_C_GET_CHANNEL, brcmf_cfg80211_mgmt_tx() 4525 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_cancel_remain_on_channel() local 4530 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_cfg80211_cancel_remain_on_channel() 4531 if (vif == NULL) { brcmf_cfg80211_cancel_remain_on_channel() 4536 brcmf_p2p_cancel_remain_on_channel(vif->ifp); brcmf_cfg80211_cancel_remain_on_channel() 4547 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_crit_proto_start() local 4549 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_crit_proto_start() 4559 return brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_DISABLED, duration); brcmf_cfg80211_crit_proto_start() 4566 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_crit_proto_stop() local 4568 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_crit_proto_stop() 4570 brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_ENABLED, 0); brcmf_cfg80211_crit_proto_stop() 4690 struct brcmf_cfg80211_vif *vif; brcmf_alloc_vif() local 4694 sizeof(*vif)); brcmf_alloc_vif() 4695 vif = kzalloc(sizeof(*vif), GFP_KERNEL); brcmf_alloc_vif() 4696 if (!vif) brcmf_alloc_vif() 4699 vif->wdev.wiphy = cfg->wiphy; brcmf_alloc_vif() 4700 vif->wdev.iftype = type; brcmf_alloc_vif() 4702 vif->pm_block = pm_block; brcmf_alloc_vif() 4703 vif->roam_off = -1; brcmf_alloc_vif() 4705 brcmf_init_prof(&vif->profile); brcmf_alloc_vif() 4715 vif->mbss = mbss; brcmf_alloc_vif() 4718 list_add_tail(&vif->list, &cfg->vif_list); brcmf_alloc_vif() 4719 return vif; brcmf_alloc_vif() 4722 void brcmf_free_vif(struct brcmf_cfg80211_vif *vif) brcmf_free_vif() argument 4724 list_del(&vif->list); brcmf_free_vif() 4725 kfree(vif); brcmf_free_vif() 4730 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_free_netdev() local 4734 vif = ifp->vif; brcmf_cfg80211_free_netdev() 4736 if (vif) brcmf_cfg80211_free_netdev() 4737 brcmf_free_vif(vif); brcmf_cfg80211_free_netdev() 4865 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_bss_roaming_done() 4915 set_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); brcmf_bss_roaming_done() 4926 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_bss_connect_done() 4932 &ifp->vif->sme_state)) { brcmf_bss_connect_done() 4938 &ifp->vif->sme_state); brcmf_bss_connect_done() 4972 if (ifp->vif->mbss) brcmf_notify_connect_status_ap() 5003 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_notify_connect_status() 5014 if (brcmf_is_apmode(ifp->vif)) { brcmf_notify_connect_status() 5018 if (brcmf_is_ibssmode(ifp->vif)) { brcmf_notify_connect_status() 5024 &ifp->vif->sme_state); brcmf_notify_connect_status() 5026 &ifp->vif->sme_state); brcmf_notify_connect_status() 5032 if (!brcmf_is_ibssmode(ifp->vif)) { brcmf_notify_connect_status() 5035 brcmf_link_down(ifp->vif, brcmf_map_fw_linkdown_reason(e)); brcmf_notify_connect_status() 5041 if (brcmf_is_ibssmode(ifp->vif)) brcmf_notify_connect_status() 5043 &ifp->vif->sme_state); brcmf_notify_connect_status() 5060 if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state)) brcmf_notify_roaming_status() 5093 struct brcmf_cfg80211_vif *vif; brcmf_notify_vif_event() local 5101 vif = event->vif; brcmf_notify_vif_event() 5106 if (!cfg->vif_event.vif) { brcmf_notify_vif_event() 5111 ifp->vif = vif; brcmf_notify_vif_event() 5112 vif->ifp = ifp; brcmf_notify_vif_event() 5114 vif->wdev.netdev = ifp->ndev; brcmf_notify_vif_event() 5115 ifp->ndev->ieee80211_ptr = &vif->wdev; brcmf_notify_vif_event() 6036 set_bit(BRCMF_VIF_STATUS_READY, &ifp->vif->sme_state); __brcmf_cfg80211_up() 6049 if (check_vif_up(ifp->vif)) { __brcmf_cfg80211_down() 6050 brcmf_link_down(ifp->vif, WLAN_REASON_UNSPECIFIED); __brcmf_cfg80211_down() 6060 clear_bit(BRCMF_VIF_STATUS_READY, &ifp->vif->sme_state); __brcmf_cfg80211_down() 6093 struct wireless_dev *wdev = &ifp->vif->wdev; brcmf_cfg80211_get_iftype() 6101 struct brcmf_cfg80211_vif *vif; brcmf_get_vif_state_any() local 6103 list_for_each_entry(vif, &cfg->vif_list, list) { brcmf_get_vif_state_any() 6104 if (test_bit(state, &vif->sme_state)) brcmf_get_vif_state_any() 6122 struct brcmf_cfg80211_vif *vif) brcmf_cfg80211_arm_vif_event() 6127 event->vif = vif; brcmf_cfg80211_arm_vif_event() 6138 armed = event->vif != NULL; brcmf_cfg80211_vif_event_armed() 6209 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_attach() local 6235 vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_STATION, false); brcmf_cfg80211_attach() 6236 if (IS_ERR(vif)) brcmf_cfg80211_attach() 6239 vif->ifp = ifp; brcmf_cfg80211_attach() 6240 vif->wdev.netdev = ndev; brcmf_cfg80211_attach() 6241 ndev->ieee80211_ptr = &vif->wdev; brcmf_cfg80211_attach() 6247 brcmf_free_vif(vif); brcmf_cfg80211_attach() 6250 ifp->vif = vif; brcmf_cfg80211_attach() 6341 brcmf_free_vif(vif); brcmf_cfg80211_attach() 6342 ifp->vif = NULL; brcmf_cfg80211_attach() 389 brcmf_vif_change_validate(struct brcmf_cfg80211_info *cfg, struct brcmf_cfg80211_vif *vif, enum nl80211_iftype new_type) brcmf_vif_change_validate() argument 6121 brcmf_cfg80211_arm_vif_event(struct brcmf_cfg80211_info *cfg, struct brcmf_cfg80211_vif *vif) brcmf_cfg80211_arm_vif_event() argument
|
H A D | cfg80211.h | 140 * enum brcmf_vif_status - bit indices for vif status. 327 * @vif: virtual interface object related to the event. 333 struct brcmf_cfg80211_vif *vif; member in struct:brcmf_cfg80211_vif_event 368 * @vif_list: linked list of vif instances. 369 * @vif_cnt: number of vif instances. 370 * @vif_event: vif event signalling. 442 struct brcmf_cfg80211_vif *vif; cfg_to_ndev() local 443 vif = list_first_entry(&cfg->vif_list, struct brcmf_cfg80211_vif, list); cfg_to_ndev() 444 return vif->wdev.netdev; cfg_to_ndev() 455 return &ifp->vif->profile; ndev_to_prof() 461 return ifp->vif; ndev_to_vif() 481 void brcmf_free_vif(struct brcmf_cfg80211_vif *vif); 483 s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag, 485 s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif); 493 struct brcmf_cfg80211_vif *vif);
|
H A D | btcoex.c | 66 * @vif: interface for which request was done. 87 struct brcmf_cfg80211_vif *vif; member in struct:brcmf_btcoex_info 245 struct brcmf_if *ifp = btci->vif->ifp; btcmf_btcoex_save_part1() 269 ifp = btci->vif->ifp; brcmf_btcoex_restore_part1() 360 cfg80211_crit_proto_stopped(&btci->vif->wdev, GFP_KERNEL); brcmf_btcoex_handler() 362 btci->vif = NULL; brcmf_btcoex_handler() 425 struct brcmf_if *ifp = btci->vif->ifp; brcmf_btcoex_dhcp_start() 466 int brcmf_btcoex_set_mode(struct brcmf_cfg80211_vif *vif, brcmf_btcoex_set_mode() argument 469 struct brcmf_cfg80211_info *cfg = wiphy_priv(vif->wdev.wiphy); brcmf_btcoex_set_mode() 481 btci->vif = vif; brcmf_btcoex_set_mode() 489 vif == btci->vif) { brcmf_btcoex_set_mode()
|
H A D | p2p.h | 41 * @vif: virtual interface of this P2P bss. 45 struct brcmf_cfg80211_vif *vif; member in struct:p2p_bss 52 * @BRCMF_P2P_STATUS_IF_ADD: peer-to-peer vif add sent to dongle. 54 * @BRCMF_P2P_STATUS_IF_DELETING: peer-to-peer vif delete sent to dongle. 55 * @BRCMF_P2P_STATUS_IF_CHANGING: peer-to-peer vif change sent to dongle. 56 * @BRCMF_P2P_STATUS_IF_CHANGED: peer-to-peer vif change completed on dongle. 165 struct brcmf_cfg80211_vif *vif);
|
H A D | vendor.c | 34 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_vndr_cmds_dcmd_handler() local 47 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_vndr_cmds_dcmd_handler() 48 ifp = vif->ifp; brcmf_cfg80211_vndr_cmds_dcmd_handler()
|
H A D | btcoex.h | 26 int brcmf_btcoex_set_mode(struct brcmf_cfg80211_vif *vif,
|
H A D | core.h | 170 * @vif: points to cfg80211 specific interface information. 186 struct brcmf_cfg80211_vif *vif; member in struct:brcmf_if
|
/linux-4.4.14/drivers/net/wireless/ath/ath9k/ |
H A D | htc_drv_beacon.c | 141 struct ieee80211_vif *vif; ath9k_htc_send_buffered() local 148 vif = priv->beacon.bslot[slot]; ath9k_htc_send_buffered() 150 skb = ieee80211_get_buffered_bc(priv->hw, vif); ath9k_htc_send_buffered() 185 skb = ieee80211_get_buffered_bc(priv->hw, vif); ath9k_htc_send_buffered() 195 struct ieee80211_vif *vif; ath9k_htc_send_beacon() local 209 vif = priv->beacon.bslot[slot]; ath9k_htc_send_beacon() 210 avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_send_beacon() 218 beacon = ieee80211_beacon_get(priv->hw, vif); ath9k_htc_send_beacon() 323 struct ieee80211_vif *vif) ath9k_htc_assign_bslot() 326 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_assign_bslot() 337 priv->beacon.bslot[avp->bslot] = vif; ath9k_htc_assign_bslot() 345 struct ieee80211_vif *vif) ath9k_htc_remove_bslot() 348 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_remove_bslot() 363 struct ieee80211_vif *vif) ath9k_htc_set_tsfadjust() 366 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_set_tsfadjust() 385 static void ath9k_htc_beacon_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_beacon_iter() argument 388 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_beacon_iter() 390 if (vif->type == NL80211_IFTYPE_STATION && ath9k_htc_beacon_iter() 396 struct ieee80211_vif *vif) ath9k_htc_check_beacon_config() 400 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_check_beacon_config() 410 (vif->type == NL80211_IFTYPE_AP) && ath9k_htc_check_beacon_config() 422 (vif->type != NL80211_IFTYPE_AP)) { ath9k_htc_check_beacon_config() 434 (vif->type == NL80211_IFTYPE_STATION)) { ath9k_htc_check_beacon_config() 451 struct ieee80211_vif *vif) ath9k_htc_beacon_config() 455 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_beacon_config() 456 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_beacon_config() 458 if (!ath9k_htc_check_beacon_config(priv, vif)) ath9k_htc_beacon_config() 469 switch (vif->type) { ath9k_htc_beacon_config() 511 struct ieee80211_vif *vif; ath9k_htc_csa_is_finished() local 513 vif = priv->csa_vif; ath9k_htc_csa_is_finished() 514 if (!vif || !vif->csa_active) ath9k_htc_csa_is_finished() 517 if (!ieee80211_csa_is_complete(vif)) ath9k_htc_csa_is_finished() 520 ieee80211_csa_finish(vif); ath9k_htc_csa_is_finished() 322 ath9k_htc_assign_bslot(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_assign_bslot() argument 344 ath9k_htc_remove_bslot(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_remove_bslot() argument 362 ath9k_htc_set_tsfadjust(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_set_tsfadjust() argument 395 ath9k_htc_check_beacon_config(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_check_beacon_config() argument 450 ath9k_htc_beacon_config(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_beacon_config() argument
|
H A D | main.c | 346 struct ieee80211_vif *vif) ath_node_attach() 353 an->vif = vif; ath_node_attach() 915 u8 *mac, struct ieee80211_vif *vif) ath9k_vif_iter() 917 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv; ath9k_vif_iter() 929 if (!vif->bss_conf.use_short_slot) ath9k_vif_iter() 932 switch (vif->type) { ath9k_vif_iter() 939 iter_data->primary_sta = vif; ath9k_vif_iter() 946 if (vif->bss_conf.enable_beacon) ath9k_vif_iter() 951 if (vif->bss_conf.enable_beacon) ath9k_vif_iter() 977 if (!avp->vif->p2p || !iter_data->has_hw_macaddr) ath9k_update_bssid_mask() 1006 ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif); ath9k_calculate_iter_data() 1012 struct ieee80211_vif *vif, bool changed) ath9k_set_assoc_state() 1015 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv; ath9k_set_assoc_state() 1038 vif->addr, common->curbssid); ath9k_set_assoc_state() 1046 struct ieee80211_vif *vif = NULL; ath9k_set_offchannel_state() local 1051 vif = sc->offchannel.scan_vif; ath9k_set_offchannel_state() 1053 vif = sc->offchannel.roc_vif; ath9k_set_offchannel_state() 1055 if (WARN_ON(!vif)) ath9k_set_offchannel_state() 1060 memcpy(common->macaddr, vif->addr, ETH_ALEN); ath9k_set_offchannel_state() 1062 ah->opmode = vif->type; ath9k_set_offchannel_state() 1182 static void ath9k_tpc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_tpc_vif_iter() argument 1186 if (*power < vif->bss_conf.txpower) ath9k_tpc_vif_iter() 1187 *power = vif->bss_conf.txpower; ath9k_tpc_vif_iter() 1191 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_set_txpower() argument 1199 power = (vif) ? vif->bss_conf.txpower : -1; ath9k_set_txpower() 1215 struct ieee80211_vif *vif) ath9k_assign_hw_queues() 1223 vif->hw_queue[i] = i; ath9k_assign_hw_queues() 1225 if (vif->type == NL80211_IFTYPE_AP || ath9k_assign_hw_queues() 1226 vif->type == NL80211_IFTYPE_MESH_POINT) ath9k_assign_hw_queues() 1227 vif->cab_queue = hw->queues - 2; ath9k_assign_hw_queues() 1229 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; ath9k_assign_hw_queues() 1233 struct ieee80211_vif *vif) ath9k_add_interface() 1238 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_add_interface() 1248 sc->tx99_vif = vif; ath9k_add_interface() 1251 ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type); ath9k_add_interface() 1254 if (ath9k_uses_beacons(vif->type)) ath9k_add_interface() 1255 ath9k_beacon_assign_slot(sc, vif); ath9k_add_interface() 1257 avp->vif = vif; ath9k_add_interface() 1265 ath9k_assign_hw_queues(hw, vif); ath9k_add_interface() 1267 ath9k_set_txpower(sc, vif); ath9k_add_interface() 1271 an->vif = vif; ath9k_add_interface() 1280 struct ieee80211_vif *vif, ath9k_change_interface() 1286 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_change_interface() 1297 if (ath9k_uses_beacons(vif->type)) ath9k_change_interface() 1298 ath9k_beacon_remove_slot(sc, vif); ath9k_change_interface() 1300 vif->type = new_type; ath9k_change_interface() 1301 vif->p2p = p2p; ath9k_change_interface() 1303 if (ath9k_uses_beacons(vif->type)) ath9k_change_interface() 1304 ath9k_beacon_assign_slot(sc, vif); ath9k_change_interface() 1306 ath9k_assign_hw_queues(hw, vif); ath9k_change_interface() 1309 ath9k_set_txpower(sc, vif); ath9k_change_interface() 1316 struct ieee80211_vif *vif) ath9k_remove_interface() 1320 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_remove_interface() 1326 ath9k_p2p_remove_vif(sc, vif); ath9k_remove_interface() 1333 if (ath9k_uses_beacons(vif->type)) ath9k_remove_interface() 1334 ath9k_beacon_remove_slot(sc, vif); ath9k_remove_interface() 1491 struct ieee80211_vif *vif, ath9k_sta_add() 1500 ath_node_attach(sc, sta, vif); ath9k_sta_add() 1502 if (vif->type != NL80211_IFTYPE_AP && ath9k_sta_add() 1503 vif->type != NL80211_IFTYPE_AP_VLAN) ath9k_sta_add() 1506 key = ath_key_config(common, vif, sta, &ps_key); ath9k_sta_add() 1516 struct ieee80211_vif *vif, ath9k_del_ps_key() 1532 struct ieee80211_vif *vif, ath9k_sta_remove() 1537 ath9k_del_ps_key(sc, vif, sta); ath9k_sta_remove() 1544 struct ieee80211_vif *vif, ath9k_sta_state() 1555 ret = ath9k_sta_add(hw, vif, sta); ath9k_sta_state() 1560 ret = ath9k_sta_remove(hw, vif, sta); ath9k_sta_state() 1566 if (vif->type == NL80211_IFTYPE_STATION) { ath9k_sta_state() 1569 ath_chanctx_event(sc, vif, ath9k_sta_state() 1591 struct ieee80211_vif *vif, ath9k_sta_notify() 1613 struct ieee80211_vif *vif, u16 queue, ath9k_conf_tx() 1655 struct ieee80211_vif *vif, ath9k_set_key() 1667 if ((vif->type == NL80211_IFTYPE_ADHOC || ath9k_set_key() 1668 vif->type == NL80211_IFTYPE_MESH_POINT) && ath9k_set_key() 1691 ath9k_del_ps_key(sc, vif, sta); ath9k_set_key() 1694 ret = ath_key_config(common, vif, sta, key); ath9k_set_key() 1739 struct ieee80211_vif *vif, ath9k_bss_info_changed() 1751 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_bss_info_changed() 1778 ath9k_beacon_config(sc, vif, changed); ath9k_bss_info_changed() 1789 if (vif->type == NL80211_IFTYPE_AP) { ath9k_bss_info_changed() 1804 ath9k_p2p_bss_info_changed(sc, vif); ath9k_bss_info_changed() 1810 ath_dbg(common, CONFIG, "vif %pM power %d dbm power_type %d\n", ath9k_bss_info_changed() 1811 vif->addr, bss_conf->txpower, bss_conf->txpower_type); ath9k_bss_info_changed() 1812 ath9k_set_txpower(sc, vif); ath9k_bss_info_changed() 1821 static u64 ath9k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_get_tsf() argument 1836 struct ieee80211_vif *vif, ath9k_set_tsf() 1848 static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_reset_tsf() argument 1862 struct ieee80211_vif *vif, ath9k_ampdu_action() 1889 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_ampdu_action() 1899 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_ampdu_action() 2017 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_flush() argument 2034 * The vif queues have been stopped in mac80211, ath9k_flush() 2107 struct ieee80211_vif *vif; ath9k_tx_last_beacon() local 2114 vif = sc->beacon.bslot[0]; ath9k_tx_last_beacon() 2115 if (!vif) ath9k_tx_last_beacon() 2118 if (!vif->bss_conf.enable_beacon) ath9k_tx_last_beacon() 2121 avp = (void *)vif->drv_priv; ath9k_tx_last_beacon() 2232 struct ieee80211_vif *vif, ath9k_sw_scan_start() 2241 struct ieee80211_vif *vif) ath9k_sw_scan_complete() 2272 static int ath9k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_hw_scan() argument 2289 sc->offchannel.scan_vif = vif; ath9k_hw_scan() 2293 ath_dbg(common, CHAN_CTX, "HW scan request received on vif: %pM\n", ath9k_hw_scan() 2294 vif->addr); ath9k_hw_scan() 2308 struct ieee80211_vif *vif) ath9k_cancel_hw_scan() 2313 ath_dbg(common, CHAN_CTX, "Cancel HW scan on vif: %pM\n", vif->addr); ath9k_cancel_hw_scan() 2322 struct ieee80211_vif *vif, ath9k_remain_on_channel() 2338 sc->offchannel.roc_vif = vif; ath9k_remain_on_channel() 2343 "RoC request on vif: %pM, type: %d duration: %d\n", ath9k_remain_on_channel() 2344 vif->addr, type, duration); ath9k_remain_on_channel() 2449 struct ieee80211_vif *vif, ath9k_assign_vif_chanctx() 2454 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_assign_vif_chanctx() 2464 vif->addr, vif->type, vif->p2p, ath9k_assign_vif_chanctx() 2472 vif->hw_queue[i] = ctx->hw_queue_base + i; ath9k_assign_vif_chanctx() 2480 struct ieee80211_vif *vif, ath9k_unassign_vif_chanctx() 2485 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_unassign_vif_chanctx() 2495 vif->addr, vif->type, vif->p2p, ath9k_unassign_vif_chanctx() 2503 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE; ath9k_unassign_vif_chanctx() 2509 struct ieee80211_vif *vif) ath9k_mgd_prepare_tx() 2513 struct ath_vif *avp = (struct ath_vif *) vif->drv_priv; ath9k_mgd_prepare_tx() 2570 "%s: Set chanctx state to FORCE_ACTIVE for vif: %pM\n", ath9k_mgd_prepare_tx() 2571 __func__, vif->addr); ath9k_mgd_prepare_tx() 2602 static int ath9k_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_get_txpower() argument 2606 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_get_txpower() 345 ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta, struct ieee80211_vif *vif) ath_node_attach() argument 914 ath9k_vif_iter(struct ath9k_vif_iter_data *iter_data, u8 *mac, struct ieee80211_vif *vif) ath9k_vif_iter() argument 1011 ath9k_set_assoc_state(struct ath_softc *sc, struct ieee80211_vif *vif, bool changed) ath9k_set_assoc_state() argument 1214 ath9k_assign_hw_queues(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_assign_hw_queues() argument 1232 ath9k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_add_interface() argument 1279 ath9k_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) ath9k_change_interface() argument 1315 ath9k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_remove_interface() argument 1490 ath9k_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_sta_add() argument 1515 ath9k_del_ps_key(struct ath_softc *sc, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_del_ps_key() argument 1531 ath9k_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_sta_remove() argument 1543 ath9k_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_sta_state old_state, enum ieee80211_sta_state new_state) ath9k_sta_state() argument 1590 ath9k_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) ath9k_sta_notify() argument 1612 ath9k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) ath9k_conf_tx() argument 1653 ath9k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) ath9k_set_key() argument 1738 ath9k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) ath9k_bss_info_changed() argument 1835 ath9k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath9k_set_tsf() argument 1861 ath9k_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) ath9k_ampdu_action() argument 2231 ath9k_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) ath9k_sw_scan_start() argument 2240 ath9k_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_sw_scan_complete() argument 2307 ath9k_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_cancel_hw_scan() argument 2321 ath9k_remain_on_channel(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel *chan, int duration, enum ieee80211_roc_type type) ath9k_remain_on_channel() argument 2448 ath9k_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_assign_vif_chanctx() argument 2479 ath9k_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_unassign_vif_chanctx() argument 2508 ath9k_mgd_prepare_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_mgd_prepare_tx() argument
|
H A D | beacon.c | 72 static void ath9k_beacon_setup(struct ath_softc *sc, struct ieee80211_vif *vif, ath9k_beacon_setup() argument 85 if (vif->bss_conf.use_short_preamble) ath9k_beacon_setup() 113 struct ieee80211_vif *vif) ath9k_beacon_generate() 118 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_beacon_generate() 138 skb = ieee80211_beacon_get(hw, vif); ath9k_beacon_generate() 151 if (vif->p2p) ath9k_beacon_generate() 164 skb = ieee80211_get_buffered_bc(hw, vif); ath9k_beacon_generate() 169 * 1) if there is only one vif let the cab traffic continue. ath9k_beacon_generate() 170 * 2) if there are more than one vif and we are using staggered ath9k_beacon_generate() 186 ath9k_beacon_setup(sc, vif, bf, info->control.rates[0].idx); ath9k_beacon_generate() 189 ath_tx_cabq(hw, vif, skb); ath9k_beacon_generate() 194 void ath9k_beacon_assign_slot(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_beacon_assign_slot() argument 197 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_beacon_assign_slot() 210 sc->beacon.bslot[avp->av_bslot] = vif; ath9k_beacon_assign_slot() 217 void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_beacon_remove_slot() argument 220 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_beacon_remove_slot() 276 static void ath9k_set_tsfadjust(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_set_tsfadjust() argument 279 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_set_tsfadjust() 294 bool ath9k_csa_is_finished(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_csa_is_finished() argument 296 if (!vif || !vif->csa_active) ath9k_csa_is_finished() 299 if (!ieee80211_csa_is_complete(vif)) ath9k_csa_is_finished() 302 ieee80211_csa_finish(vif); ath9k_csa_is_finished() 306 static void ath9k_csa_update_vif(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_csa_update_vif() argument 309 ath9k_csa_is_finished(sc, vif); ath9k_csa_update_vif() 325 struct ieee80211_vif *vif; ath9k_beacon_tasklet() local 373 vif = sc->beacon.bslot[slot]; ath9k_beacon_tasklet() 382 if (ath9k_csa_is_finished(sc, vif)) ath9k_beacon_tasklet() 386 if (!vif || !vif->bss_conf.enable_beacon) ath9k_beacon_tasklet() 390 ath_chanctx_event(sc, vif, ATH_CHANCTX_EVENT_BEACON_PREPARE); ath9k_beacon_tasklet() 393 bf = ath9k_beacon_generate(sc->hw, vif); ath9k_beacon_tasklet() 510 struct ieee80211_vif *vif) ath9k_allow_beacon_config() 513 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_allow_beacon_config() 527 if (vif->type != NL80211_IFTYPE_AP) { ath9k_allow_beacon_config() 535 if ((vif->type == NL80211_IFTYPE_STATION) && ath9k_allow_beacon_config() 537 vif != sc->cur_chan->primary_sta) { ath9k_allow_beacon_config() 584 void ath9k_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif, ath9k_beacon_config() argument 587 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_beacon_config() 590 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_beacon_config() 600 if (vif->type == NL80211_IFTYPE_AP) ath9k_beacon_config() 601 ath9k_set_tsfadjust(sc, vif); ath9k_beacon_config() 603 if (!ath9k_allow_beacon_config(sc, vif)) ath9k_beacon_config() 606 if (vif->type == NL80211_IFTYPE_STATION) { ath9k_beacon_config() 112 ath9k_beacon_generate(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_beacon_generate() argument 509 ath9k_allow_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_allow_beacon_config() argument
|
H A D | htc_drv_main.c | 91 static void ath9k_htc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_vif_iter() argument 94 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_vif_iter() 96 if ((vif->type == NL80211_IFTYPE_AP || ath9k_htc_vif_iter() 97 vif->type == NL80211_IFTYPE_MESH_POINT) && ath9k_htc_vif_iter() 127 static void ath9k_htc_bssid_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_bssid_iter() argument 141 struct ieee80211_vif *vif) ath9k_htc_set_mac_bssid_mask() 154 if (vif) ath9k_htc_set_mac_bssid_mask() 155 ath9k_htc_bssid_iter(&iter_data, vif->addr, vif); ath9k_htc_set_mac_bssid_mask() 470 struct ieee80211_vif *vif, ath9k_htc_add_station() 475 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_add_station() 500 memcpy(&tsta.macaddr, vif->addr, ETH_ALEN); ath9k_htc_add_station() 536 struct ieee80211_vif *vif, ath9k_htc_remove_station() 540 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_remove_station() 679 struct ieee80211_vif *vif, ath9k_htc_update_rate() 690 sta = ieee80211_find_sta(vif, bss_conf->bssid); ath9k_htc_update_rate() 706 struct ieee80211_vif *vif, ath9k_htc_tx_aggr_oper() 1038 struct ieee80211_vif *vif) ath9k_htc_add_interface() 1041 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_add_interface() 1051 memcpy(&hvif.myaddr, vif->addr, ETH_ALEN); ath9k_htc_add_interface() 1053 switch (vif->type) { ath9k_htc_add_interface() 1068 "Interface type %d not yet supported\n", vif->type); ath9k_htc_add_interface() 1084 ret = ath9k_htc_add_station(priv, vif, NULL); ath9k_htc_add_interface() 1090 ath9k_htc_set_mac_bssid_mask(priv, vif); ath9k_htc_add_interface() 1095 INC_VIF(priv, vif->type); ath9k_htc_add_interface() 1097 if ((vif->type == NL80211_IFTYPE_AP) || ath9k_htc_add_interface() 1098 (vif->type == NL80211_IFTYPE_MESH_POINT) || ath9k_htc_add_interface() 1099 (vif->type == NL80211_IFTYPE_ADHOC)) ath9k_htc_add_interface() 1100 ath9k_htc_assign_bslot(priv, vif); ath9k_htc_add_interface() 1111 vif->type, avp->index); ath9k_htc_add_interface() 1121 struct ieee80211_vif *vif) ath9k_htc_remove_interface() 1125 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_remove_interface() 1134 memcpy(&hvif.myaddr, vif->addr, ETH_ALEN); ath9k_htc_remove_interface() 1144 if (priv->csa_vif == vif) ath9k_htc_remove_interface() 1147 ath9k_htc_remove_station(priv, vif, NULL); ath9k_htc_remove_interface() 1149 DEC_VIF(priv, vif->type); ath9k_htc_remove_interface() 1151 if ((vif->type == NL80211_IFTYPE_AP) || ath9k_htc_remove_interface() 1152 vif->type == NL80211_IFTYPE_MESH_POINT || ath9k_htc_remove_interface() 1153 (vif->type == NL80211_IFTYPE_ADHOC)) ath9k_htc_remove_interface() 1154 ath9k_htc_remove_bslot(priv, vif); ath9k_htc_remove_interface() 1158 ath9k_htc_set_mac_bssid_mask(priv, vif); ath9k_htc_remove_interface() 1163 if ((vif->type == NL80211_IFTYPE_AP) && (priv->num_ap_vif == 0)) { ath9k_htc_remove_interface() 1320 struct ieee80211_vif *vif, ath9k_htc_sta_add() 1329 ret = ath9k_htc_add_station(priv, vif, sta); ath9k_htc_sta_add() 1342 struct ieee80211_vif *vif, ath9k_htc_sta_remove() 1354 ret = ath9k_htc_remove_station(priv, vif, sta); ath9k_htc_sta_remove() 1362 struct ieee80211_vif *vif, ath9k_htc_sta_rc_update() 1374 struct ieee80211_vif *vif, u16 queue, ath9k_htc_conf_tx() 1420 struct ieee80211_vif *vif, ath9k_htc_set_key() 1431 if ((vif->type == NL80211_IFTYPE_ADHOC || ath9k_htc_set_key() 1432 vif->type == NL80211_IFTYPE_MESH_POINT) && ath9k_htc_set_key() 1452 ret = ath_key_config(common, vif, sta, key); ath9k_htc_set_key() 1487 static void ath9k_htc_bss_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_bss_iter() argument 1491 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_bss_iter() 1493 if ((vif->type == NL80211_IFTYPE_STATION) && bss_conf->assoc) { ath9k_htc_bss_iter() 1512 struct ieee80211_vif *vif, ath9k_htc_bss_info_changed() 1554 ath9k_htc_set_tsfadjust(priv, vif); ath9k_htc_bss_info_changed() 1556 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1570 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1580 vif->type == NL80211_IFTYPE_AP && ath9k_htc_bss_info_changed() 1583 vif->type == NL80211_IFTYPE_MESH_POINT && ath9k_htc_bss_info_changed() 1590 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1598 if (vif->type == NL80211_IFTYPE_AP) { ath9k_htc_bss_info_changed() 1613 ath9k_htc_update_rate(priv, vif, bss_conf); ath9k_htc_bss_info_changed() 1620 struct ieee80211_vif *vif) ath9k_htc_get_tsf() 1635 struct ieee80211_vif *vif, u64 tsf) ath9k_htc_set_tsf() 1647 struct ieee80211_vif *vif) ath9k_htc_reset_tsf() 1659 struct ieee80211_vif *vif, ath9k_htc_ampdu_action() 1677 ret = ath9k_htc_tx_aggr_oper(priv, vif, sta, action, tid); ath9k_htc_ampdu_action() 1679 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_htc_ampdu_action() 1684 ath9k_htc_tx_aggr_oper(priv, vif, sta, action, tid); ath9k_htc_ampdu_action() 1685 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_htc_ampdu_action() 1704 struct ieee80211_vif *vif, ath9k_htc_sw_scan_start() 1720 struct ieee80211_vif *vif) ath9k_htc_sw_scan_complete() 1759 struct ieee80211_vif *vif, ath9k_htc_set_bitrate_mask() 1765 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_set_bitrate_mask() 1855 struct ieee80211_vif *vif, ath9k_htc_channel_switch_beacon() 1864 priv->csa_vif = vif; ath9k_htc_channel_switch_beacon() 140 ath9k_htc_set_mac_bssid_mask(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_set_mac_bssid_mask() argument 469 ath9k_htc_add_station(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_add_station() argument 535 ath9k_htc_remove_station(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_remove_station() argument 678 ath9k_htc_update_rate(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf) ath9k_htc_update_rate() argument 705 ath9k_htc_tx_aggr_oper(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_ampdu_mlme_action action, u16 tid) ath9k_htc_tx_aggr_oper() argument 1037 ath9k_htc_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_add_interface() argument 1120 ath9k_htc_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_remove_interface() argument 1319 ath9k_htc_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_sta_add() argument 1341 ath9k_htc_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_sta_remove() argument 1361 ath9k_htc_sta_rc_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u32 changed) ath9k_htc_sta_rc_update() argument 1373 ath9k_htc_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) ath9k_htc_conf_tx() argument 1418 ath9k_htc_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) ath9k_htc_set_key() argument 1511 ath9k_htc_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) ath9k_htc_bss_info_changed() argument 1619 ath9k_htc_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_get_tsf() argument 1634 ath9k_htc_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath9k_htc_set_tsf() argument 1646 ath9k_htc_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_reset_tsf() argument 1658 ath9k_htc_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) ath9k_htc_ampdu_action() argument 1703 ath9k_htc_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) ath9k_htc_sw_scan_start() argument 1719 ath9k_htc_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_sw_scan_complete() argument 1758 ath9k_htc_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) ath9k_htc_set_bitrate_mask() argument 1854 ath9k_htc_channel_switch_beacon(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_chan_def *chandef) ath9k_htc_channel_switch_beacon() argument
|
H A D | channel.c | 157 struct ieee80211_vif *vif; ath_is_go_chanctx_present() local 166 vif = avp->vif; ath_for_each_chanctx() 168 if (ieee80211_vif_type_p2p(vif) == NL80211_IFTYPE_P2P_GO) { ath_for_each_chanctx() 263 struct ieee80211_vif *vif = avp->vif; ath_chanctx_check_active() local 265 switch (vif->type) { ath_chanctx_check_active() 474 void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, ath_chanctx_event() argument 485 if (vif) ath_chanctx_event() 486 avp = (struct ath_vif *) vif->drv_priv; ath_chanctx_event() 558 ath_dbg(common, CHAN_CTX, "Preparing beacon for vif: %pM\n", vif->addr); ath_chanctx_event() 891 struct ieee80211_vif *vif; ath_offchannel_next() local 894 vif = sc->offchannel.scan_vif; ath_offchannel_next() 895 sc->offchannel.chan.txpower = vif->bss_conf.txpower; ath_offchannel_next() 898 vif = sc->offchannel.roc_vif; ath_offchannel_next() 899 sc->offchannel.chan.txpower = vif->bss_conf.txpower; ath_offchannel_next() 969 struct ieee80211_vif *vif = sc->offchannel.scan_vif; ath_scan_send_probe() local 975 skb = ieee80211_probereq_get(sc->hw, vif->addr, ath_scan_send_probe() 989 if (!ieee80211_tx_prepare_skb(sc->hw, vif, skb, band, NULL)) ath_scan_send_probe() 1081 struct ieee80211_vif *vif = avp->vif; ath_chanctx_send_vif_ps_frame() local 1088 switch (vif->type) { ath_chanctx_send_vif_ps_frame() 1093 skb = ieee80211_nullfunc_get(sc->hw, vif); ath_chanctx_send_vif_ps_frame() 1103 if (!ieee80211_tx_prepare_skb(sc->hw, vif, skb, band, &sta)) { ath_chanctx_send_vif_ps_frame() 1424 static void ath9k_update_p2p_ps(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_update_p2p_ps() argument 1426 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_update_p2p_ps() 1432 if (vif->type != NL80211_IFTYPE_STATION || !vif->p2p) ath9k_update_p2p_ps() 1437 ieee80211_parse_p2p_noa(&vif->bss_conf.p2p_noa_attr, &avp->noa, tsf); ath9k_update_p2p_ps() 1455 ctwin = avp->vif->bss_conf.p2p_noa_attr.oppps_ctwindow; ath9k_get_ctwin() 1524 struct ieee80211_vif *vif; ath9k_p2p_ps_timer() local 1548 vif = avp->vif; ath9k_p2p_ps_timer() 1549 sta = ieee80211_find_sta(vif, avp->bssid); ath9k_p2p_ps_timer() 1568 struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() 1575 ath9k_update_p2p_ps(sc, vif); ath9k_p2p_bss_info_changed() 1583 ath9k_update_p2p_ps(sc, sc->p2p_ps_vif->vif); ath9k_p2p_beacon_sync() 1587 struct ieee80211_vif *vif) ath9k_p2p_remove_vif() 1589 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_p2p_remove_vif() 1567 ath9k_p2p_bss_info_changed(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() argument 1586 ath9k_p2p_remove_vif(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_remove_vif() argument
|
H A D | debug.h | 260 struct ieee80211_vif *vif, int sset); 262 struct ieee80211_vif *vif, 265 struct ieee80211_vif *vif, 268 struct ieee80211_vif *vif,
|
H A D | htc.h | 366 struct ieee80211_vif *vif, 369 struct ieee80211_vif *vif, int sset); 371 struct ieee80211_vif *vif, 545 struct ieee80211_vif *vif); 547 struct ieee80211_vif *vif); 549 struct ieee80211_vif *vif); 552 struct ieee80211_vif *vif);
|
H A D | ath9k.h | 254 struct ieee80211_vif *vif; /* interface with which we're associated */ member in struct:ath_node 451 struct ieee80211_vif *vif); 454 struct ieee80211_vif *vif); 466 void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, 502 struct ieee80211_vif *vif, ath_chanctx_event() 514 struct ieee80211_vif *vif) ath9k_p2p_remove_vif() 521 struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() 570 void ath_tx_cabq(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 604 struct ieee80211_vif *vif; member in struct:ath_vif 627 u8 hw_macaddr[ETH_ALEN]; /* address of the first vif */ 647 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif); 687 void ath9k_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif, 689 void ath9k_beacon_assign_slot(struct ath_softc *sc, struct ieee80211_vif *vif); 690 void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif); 692 bool ath9k_csa_is_finished(struct ath_softc *sc, struct ieee80211_vif *vif); 501 ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, enum ath_chanctx_event ev) ath_chanctx_event() argument 513 ath9k_p2p_remove_vif(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_remove_vif() argument 520 ath9k_p2p_bss_info_changed(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() argument
|
H A D | htc_drv_txrx.c | 261 struct ieee80211_vif *vif, ath9k_htc_tx_data() 312 (vif && vif->bss_conf.use_cts_prot)) ath9k_htc_tx_data() 342 struct ieee80211_vif *vif = tx_info->control.vif; ath9k_htc_tx_start() local 353 if (vif) { ath9k_htc_tx_start() 354 avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_tx_start() 377 ath9k_htc_tx_data(priv, vif, skb, ath9k_htc_tx_start() 401 struct ieee80211_vif *vif, ath9k_htc_check_tx_aggr() 413 sta = ieee80211_find_sta(vif, hdr->addr1); ath9k_htc_check_tx_aggr() 444 struct ieee80211_vif *vif; ath9k_htc_tx_process() local 462 vif = tx_info->control.vif; ath9k_htc_tx_process() 471 if (!txok || !vif || !txs) ath9k_htc_tx_process() 501 ath9k_htc_check_tx_aggr(priv, vif, skb); ath9k_htc_tx_process() 260 ath9k_htc_tx_data(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct sk_buff *skb, u8 sta_idx, u8 vif_idx, u8 slot, bool is_cab) ath9k_htc_tx_data() argument 400 ath9k_htc_check_tx_aggr(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif, struct sk_buff *skb) ath9k_htc_check_tx_aggr() argument
|
H A D | xmit.c | 110 struct ath_vif *avp = (struct ath_vif *) tid->an->vif->drv_priv; ath_tx_queue_tid() 134 ieee80211_send_bar(tid->an->vif, tid->an->sta->addr, tid->tidno, ath_send_bar() 138 static void ath_set_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath_set_rates() argument 141 ieee80211_get_tx_rates(vif, sta, bf->bf_mpdu, bf->rates, ath_set_rates() 1422 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath_tx_form_burst() 1453 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath_tx_sched_aggr() 1635 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath9k_release_buffered_frames() 2089 if (tx_info->control.vif && setup_frame_info() 2090 tx_info->control.vif->bss_conf.use_short_preamble) setup_frame_info() 2099 if (tx_info->control.vif) { setup_frame_info() 2100 struct ieee80211_vif *vif = tx_info->control.vif; setup_frame_info() local 2102 txpower = 2 * vif->bss_conf.txpower; setup_frame_info() 2203 struct ieee80211_vif *vif = info->control.vif; ath_assign_seq() local 2209 if (!vif) ath_assign_seq() 2212 avp = (struct ath_vif *)vif->drv_priv; ath_assign_seq() 2227 struct ieee80211_vif *vif = info->control.vif; ath_tx_prepare() local 2236 else if (vif && ieee80211_is_data(hdr->frame_control)) { ath_tx_prepare() 2237 avp = (void *)vif->drv_priv; ath_tx_prepare() 2246 if ((vif && vif->type != NL80211_IFTYPE_AP && ath_tx_prepare() 2247 vif->type != NL80211_IFTYPE_AP_VLAN) || ath_tx_prepare() 2274 struct ieee80211_vif *vif = info->control.vif; ath_tx_start() local 2284 if (vif) ath_tx_start() 2285 avp = (void *)vif->drv_priv; ath_tx_start() 2298 * At this point, the vif, hw_key and sta pointers in the tx control ath_tx_start() 2372 ath_set_rates(vif, sta, bf); ath_tx_start() 2381 void ath_tx_cabq(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath_tx_cabq() argument 2411 ath_set_rates(vif, NULL, bf); ath_tx_cabq() 2424 skb = ieee80211_get_buffered_bc(hw, vif); ath_tx_cabq()
|
H A D | htc_drv_debug.c | 427 struct ieee80211_vif *vif, ath9k_htc_get_et_strings() 436 struct ieee80211_vif *vif, int sset) ath9k_htc_get_et_sset_count() 454 struct ieee80211_vif *vif, ath9k_htc_get_et_stats() 426 ath9k_htc_get_et_strings(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 sset, u8 *data) ath9k_htc_get_et_strings() argument 435 ath9k_htc_get_et_sset_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int sset) ath9k_htc_get_et_sset_count() argument 453 ath9k_htc_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ethtool_stats *stats, u64 *data) ath9k_htc_get_et_stats() argument
|
/linux-4.4.14/drivers/net/wireless/ti/wlcore/ |
H A D | event.c | 35 struct ieee80211_vif *vif; wlcore_event_rssi_trigger() local 48 vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_for_each_wlvif_sta() 50 ieee80211_cqm_rssi_notify(vif, event, GFP_KERNEL); wl12xx_for_each_wlvif_sta() 58 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl1271_stop_ba_event() local 64 ieee80211_stop_rx_ba_session(vif, wl->links[hlid].ba_bitmap, wl1271_stop_ba_event() 65 vif->bss_conf.bssid); wl1271_stop_ba_event() 75 ieee80211_stop_rx_ba_session(vif, wl1271_stop_ba_event() 137 struct ieee80211_vif *vif; wlcore_event_channel_switch() local 151 vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_for_each_wlvif() 154 ieee80211_chswitch_done(vif, success); wl12xx_for_each_wlvif() 158 ieee80211_csa_finish(vif); wl12xx_for_each_wlvif() 180 struct ieee80211_vif *vif; wlcore_disconnect_sta() local 187 /* find the ap vif connected to this sta */ wl12xx_for_each_wlvif_ap() 197 vif = wl12xx_wlvif_to_vif(wlvif); 201 sta = ieee80211_find_sta(vif, addr); 239 struct ieee80211_vif *vif; wlcore_event_beacon_loss() local 250 vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_for_each_wlvif_sta() 254 ieee80211_connection_loss(vif); wl12xx_for_each_wlvif_sta() 267 ieee80211_cqm_beacon_loss_notify(vif, GFP_KERNEL); wl12xx_for_each_wlvif_sta()
|
H A D | init.c | 185 struct ieee80211_vif *vif) wl1271_ap_init_null_template() 187 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_init_null_template() 204 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN); wl1271_ap_init_null_template() 205 memcpy(nullfunc->addr3, vif->addr, ETH_ALEN); wl1271_ap_init_null_template() 218 struct ieee80211_vif *vif) wl1271_ap_init_qos_null_template() 220 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_init_qos_null_template() 237 memcpy(qosnull->addr2, vif->addr, ETH_ALEN); wl1271_ap_init_qos_null_template() 238 memcpy(qosnull->addr3, vif->addr, ETH_ALEN); wl1271_ap_init_qos_null_template() 350 /* generic sta initialization (non vif-specific) */ wl1271_sta_hw_init() 373 struct ieee80211_vif *vif) wl1271_sta_hw_init_post_mem() 375 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_sta_hw_init_post_mem() 386 /* generic ap initialization (non vif-specific) */ wl1271_ap_hw_init() 403 int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_ap_init_templates() argument 405 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_init_templates() 412 ret = wl1271_ap_init_null_template(wl, vif); wl1271_ap_init_templates() 416 ret = wl1271_ap_init_qos_null_template(wl, vif); wl1271_ap_init_templates() 432 struct ieee80211_vif *vif) wl1271_ap_hw_init_post_mem() 434 return wl1271_ap_init_templates(wl, vif); wl1271_ap_hw_init_post_mem() 515 /* vif-specifc initialization */ wl12xx_init_sta_role() 547 /* vif-specific intialization */ wl12xx_init_ap_role() 564 int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_init_vif_specific() argument 566 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_init_vif_specific() 649 ret = wl1271_ap_hw_init_post_mem(wl, vif); wl1271_init_vif_specific() 651 ret = wl1271_sta_hw_init_post_mem(wl, vif); wl1271_init_vif_specific() 184 wl1271_ap_init_null_template(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_ap_init_null_template() argument 217 wl1271_ap_init_qos_null_template(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_ap_init_qos_null_template() argument 372 wl1271_sta_hw_init_post_mem(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_sta_hw_init_post_mem() argument 431 wl1271_ap_hw_init_post_mem(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_ap_hw_init_post_mem() argument
|
H A D | init.h | 35 int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif); 37 int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif);
|
H A D | main.c | 53 struct ieee80211_vif *vif, 713 struct ieee80211_vif *vif) wl12xx_vif_count_iter() 718 if (counter->cur_vif == vif) wl12xx_vif_count_iter() 940 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_save_freed_pkts_addr() local 947 sta = ieee80211_find_sta(vif, addr); wlcore_save_freed_pkts_addr() 987 struct ieee80211_vif *vif; wl1271_recovery_work() local 1015 vif = wl12xx_wlvif_to_vif(wlvif); wl1271_recovery_work() 1020 vif->bss_conf.bssid); wl1271_recovery_work() 1023 __wl1271_op_remove_interface(wl, vif, false); wl1271_recovery_work() 1258 struct ieee80211_vif *vif = info->control.vif; wl1271_op_tx() local 1264 if (!vif) { wl1271_op_tx() 1265 wl1271_debug(DEBUG_TX, "DROP skb with no vif"); wl1271_op_tx() 1270 wlvif = wl12xx_vif_to_data(vif); wl1271_op_tx() 2084 struct ieee80211_vif *vif; wlcore_channel_switch_work() local 2103 vif = wl12xx_wlvif_to_vif(wlvif); wlcore_channel_switch_work() 2104 ieee80211_chswitch_done(vif, false); wlcore_channel_switch_work() 2121 struct ieee80211_vif *vif; wlcore_connection_loss_work() local 2139 vif = wl12xx_wlvif_to_vif(wlvif); wlcore_connection_loss_work() 2140 ieee80211_connection_loss(vif); wlcore_connection_loss_work() 2252 static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif) wl12xx_init_vif_data() argument 2254 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_init_vif_data() 2260 switch (ieee80211_vif_type_p2p(vif)) { wl12xx_init_vif_data() 2439 /* increase the vif count if this is a new vif */ wl12xx_need_fw_change() 2476 /* current vif */ 2477 struct ieee80211_vif *vif; member in struct:wlcore_hw_queue_iter_data 2478 /* is the current vif among those iterated */ 2483 struct ieee80211_vif *vif) wlcore_hw_queue_iter() 2487 if (vif->type == NL80211_IFTYPE_P2P_DEVICE || wlcore_hw_queue_iter() 2488 WARN_ON_ONCE(vif->hw_queue[0] == IEEE80211_INVAL_HW_QUEUE)) wlcore_hw_queue_iter() 2491 if (iter_data->cur_running || vif == iter_data->vif) { wlcore_hw_queue_iter() 2496 __set_bit(vif->hw_queue[0] / NUM_TX_QUEUES, iter_data->hw_queue_map); wlcore_hw_queue_iter() 2502 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_allocate_hw_queue_base() local 2506 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { wlcore_allocate_hw_queue_base() 2507 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; wlcore_allocate_hw_queue_base() 2511 iter_data.vif = vif; wlcore_allocate_hw_queue_base() 2518 /* the current vif is already running in mac80211 (resume/recovery) */ wlcore_allocate_hw_queue_base() 2520 wlvif->hw_queue_base = vif->hw_queue[0]; wlcore_allocate_hw_queue_base() 2541 vif->hw_queue[i] = wlvif->hw_queue_base + i; wlcore_allocate_hw_queue_base() 2547 vif->cab_queue = NUM_TX_QUEUES * WLCORE_NUM_MAC_ADDRESSES + wlcore_allocate_hw_queue_base() 2550 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; wlcore_allocate_hw_queue_base() 2556 struct ieee80211_vif *vif) wl1271_op_add_interface() 2559 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_add_interface() 2569 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | wl1271_op_add_interface() 2574 ieee80211_vif_type_p2p(vif), vif->addr); wl1271_op_add_interface() 2576 wl12xx_get_vif_count(hw, vif, &vif_count); wl1271_op_add_interface() 2595 ret = wl12xx_init_vif_data(wl, vif); wl1271_op_add_interface() 2627 memcpy(wl->addresses[0].addr, vif->addr, ETH_ALEN); wl1271_op_add_interface() 2635 ret = wl12xx_cmd_role_enable(wl, vif->addr, wl1271_op_add_interface() 2640 ret = wl1271_init_vif_specific(wl, vif); wl1271_op_add_interface() 2645 ret = wl12xx_cmd_role_enable(wl, vif->addr, WL1271_ROLE_DEVICE, wl1271_op_add_interface() 2672 struct ieee80211_vif *vif, __wl1271_op_remove_interface() 2675 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); __wl1271_op_remove_interface() 2708 if (wl->roc_vif == vif) { __wl1271_op_remove_interface() 2814 struct ieee80211_vif *vif) wl1271_op_remove_interface() 2817 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_remove_interface() 2821 wl12xx_get_vif_count(hw, vif, &vif_count); wl1271_op_remove_interface() 2829 * wl->vif can be null here if someone shuts down the interface wl1271_op_remove_interface() 2836 __wl1271_op_remove_interface(wl, vif, true); wl12xx_for_each_wlvif() 2850 struct ieee80211_vif *vif, wl12xx_op_change_interface() 2857 wl1271_op_remove_interface(hw, vif); wl12xx_op_change_interface() 2859 vif->type = new_type; wl12xx_op_change_interface() 2860 vif->p2p = p2p; wl12xx_op_change_interface() 2861 ret = wl1271_op_add_interface(hw, vif); wl12xx_op_change_interface() 2933 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_set_ssid() local 2941 skb = ieee80211_ap_probereq_get(wl->hw, vif); wlcore_set_ssid() 3078 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_unset_assoc() local 3081 ieee80211_chswitch_done(vif, false); wlcore_unset_assoc() 3451 struct ieee80211_vif *vif, wlcore_op_set_key() 3481 ret = wlcore_hw_set_key(wl, cmd, vif, sta, key_conf); wlcore_op_set_key() 3495 struct ieee80211_vif *vif, wlcore_set_key() 3499 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_set_key() 3602 struct ieee80211_vif *vif, wl1271_op_set_default_key_idx() 3606 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_set_default_key_idx() 3673 struct ieee80211_vif *vif, wl1271_op_hw_scan() 3712 ret = wlcore_scan(hw->priv, vif, ssid, len, req); wl1271_op_hw_scan() 3722 struct ieee80211_vif *vif) wl1271_op_cancel_hw_scan() 3725 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_cancel_hw_scan() 3769 struct ieee80211_vif *vif, wl1271_op_sched_scan_start() 3774 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_sched_scan_start() 3804 struct ieee80211_vif *vif) wl1271_op_sched_scan_stop() 3807 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_sched_scan_stop() 3920 struct ieee80211_vif *vif) wl1271_ap_set_probe_resp_tmpl() 3922 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_set_probe_resp_tmpl() 3926 skb = ieee80211_proberesp_get(wl->hw, vif); wl1271_ap_set_probe_resp_tmpl() 3948 struct ieee80211_vif *vif, wl1271_ap_set_probe_resp_tmpl_legacy() 3953 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_set_probe_resp_tmpl_legacy() 3954 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; wl1271_ap_set_probe_resp_tmpl_legacy() 4006 struct ieee80211_vif *vif, wl1271_bss_erp_info_changed() 4010 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_erp_info_changed() 4049 struct ieee80211_vif *vif, wlcore_set_beacon_template() 4052 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_set_beacon_template() 4057 struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif); wlcore_set_beacon_template() 4115 ret = wl1271_ap_set_probe_resp_tmpl_legacy(wl, vif, wlcore_set_beacon_template() 4135 struct ieee80211_vif *vif, wl1271_bss_beacon_info_changed() 4139 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_beacon_info_changed() 4153 wl1271_ap_set_probe_resp_tmpl(wl, rate, vif); wl1271_bss_beacon_info_changed() 4157 ret = wlcore_set_beacon_template(wl, vif, is_ap); wl1271_bss_beacon_info_changed() 4176 struct ieee80211_vif *vif, wl1271_bss_info_changed_ap() 4180 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_info_changed_ap() 4197 ret = wl1271_ap_init_templates(wl, vif); wl1271_bss_info_changed_ap() 4201 ret = wl1271_ap_set_probe_resp_tmpl(wl, wlvif->basic_rate, vif); wl1271_bss_info_changed_ap() 4205 ret = wlcore_set_beacon_template(wl, vif, true); wl1271_bss_info_changed_ap() 4210 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_ap() 4249 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_ap() 4343 struct ieee80211_vif *vif, wl1271_bss_info_changed_sta() 4347 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_info_changed_sta() 4358 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, wl1271_bss_info_changed_sta() 4406 sta = ieee80211_find_sta(vif, bss_conf->bssid); wl1271_bss_info_changed_sta() 4467 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_sta() 4591 struct ieee80211_vif *vif, wl1271_op_bss_info_changed() 4596 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_bss_info_changed() 4637 wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed); wl1271_op_bss_info_changed() 4639 wl1271_bss_info_changed_sta(wl, vif, bss_conf, changed); wl1271_op_bss_info_changed() 4685 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_for_each_wlvif() local 4688 if (rcu_access_pointer(vif->chanctx_conf) != ctx) { wl12xx_for_each_wlvif() 4711 struct ieee80211_vif *vif, wlcore_op_assign_vif_chanctx() 4715 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_assign_vif_chanctx() 4760 struct ieee80211_vif *vif, wlcore_op_unassign_vif_chanctx() 4764 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_unassign_vif_chanctx() 4806 "switch vif (role %d) %d -> %d chan_type: %d", __wlcore_switch_vif_chan() 4855 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vifs[i].vif); wlcore_op_switch_vif_chanctx() 4870 struct ieee80211_vif *vif, u16 queue, wl1271_op_conf_tx() 4874 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_conf_tx() 4923 struct ieee80211_vif *vif) wl1271_op_get_tsf() 4927 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_get_tsf() 5229 struct ieee80211_vif *vif, wl12xx_op_sta_state() 5235 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_op_sta_state() 5263 struct ieee80211_vif *vif, wl1271_op_ampdu_action() 5269 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_ampdu_action() 5383 struct ieee80211_vif *vif, wl12xx_set_bitrate_mask() 5386 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_set_bitrate_mask() 5426 struct ieee80211_vif *vif, wl12xx_op_channel_switch() 5430 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_op_channel_switch() 5441 ieee80211_chswitch_done(vif, false); wl12xx_op_channel_switch() 5451 /* TODO: change mac80211 to pass vif as param */ wl12xx_op_channel_switch() 5510 struct ieee80211_vif *vif, wlcore_op_channel_switch_beacon() 5514 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_channel_switch_beacon() 5554 static void wlcore_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, wlcore_op_flush() argument 5563 struct ieee80211_vif *vif, wlcore_op_remain_on_channel() 5568 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_remain_on_channel() 5598 wl->roc_vif = vif; wlcore_op_remain_on_channel() 5677 /* TODO: per-vif */ wlcore_op_cancel_remain_on_channel() 5691 struct ieee80211_vif *vif, wlcore_op_sta_rc_update() 5695 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_sta_rc_update() 5708 struct ieee80211_vif *vif, wlcore_op_sta_statistics() 5713 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_sta_statistics() 712 wl12xx_vif_count_iter(void *data, u8 *mac, struct ieee80211_vif *vif) wl12xx_vif_count_iter() argument 2482 wlcore_hw_queue_iter(void *data, u8 *mac, struct ieee80211_vif *vif) wlcore_hw_queue_iter() argument 2555 wl1271_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_add_interface() argument 2671 __wl1271_op_remove_interface(struct wl1271 *wl, struct ieee80211_vif *vif, bool reset_tx_queues) __wl1271_op_remove_interface() argument 2813 wl1271_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_remove_interface() argument 2849 wl12xx_op_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) wl12xx_op_change_interface() argument 3450 wlcore_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key_conf) wlcore_op_set_key() argument 3494 wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key_conf) wlcore_set_key() argument 3601 wl1271_op_set_default_key_idx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int key_idx) wl1271_op_set_default_key_idx() argument 3672 wl1271_op_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) wl1271_op_hw_scan() argument 3721 wl1271_op_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_cancel_hw_scan() argument 3768 wl1271_op_sched_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_sched_scan_request *req, struct ieee80211_scan_ies *ies) wl1271_op_sched_scan_start() argument 3803 wl1271_op_sched_scan_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_sched_scan_stop() argument 3919 wl1271_ap_set_probe_resp_tmpl(struct wl1271 *wl, u32 rates, struct ieee80211_vif *vif) wl1271_ap_set_probe_resp_tmpl() argument 3947 wl1271_ap_set_probe_resp_tmpl_legacy(struct wl1271 *wl, struct ieee80211_vif *vif, u8 *probe_rsp_data, size_t probe_rsp_len, u32 rates) wl1271_ap_set_probe_resp_tmpl_legacy() argument 4005 wl1271_bss_erp_info_changed(struct wl1271 *wl, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1271_bss_erp_info_changed() argument 4048 wlcore_set_beacon_template(struct wl1271 *wl, struct ieee80211_vif *vif, bool is_ap) wlcore_set_beacon_template() argument 4134 wl1271_bss_beacon_info_changed(struct wl1271 *wl, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1271_bss_beacon_info_changed() argument 4175 wl1271_bss_info_changed_ap(struct wl1271 *wl, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1271_bss_info_changed_ap() argument 4342 wl1271_bss_info_changed_sta(struct wl1271 *wl, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1271_bss_info_changed_sta() argument 4590 wl1271_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1271_op_bss_info_changed() argument 4710 wlcore_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) wlcore_op_assign_vif_chanctx() argument 4759 wlcore_op_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) wlcore_op_unassign_vif_chanctx() argument 4869 wl1271_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) wl1271_op_conf_tx() argument 4922 wl1271_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_get_tsf() argument 5228 wl12xx_op_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_sta_state old_state, enum ieee80211_sta_state new_state) wl12xx_op_sta_state() argument 5262 wl1271_op_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) wl1271_op_ampdu_action() argument 5382 wl12xx_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) wl12xx_set_bitrate_mask() argument 5425 wl12xx_op_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *ch_switch) wl12xx_op_channel_switch() argument 5509 wlcore_op_channel_switch_beacon(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_chan_def *chandef) wlcore_op_channel_switch_beacon() argument 5562 wlcore_op_remain_on_channel(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel *chan, int duration, enum ieee80211_roc_type type) wlcore_op_remain_on_channel() argument 5690 wlcore_op_sta_rc_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u32 changed) wlcore_op_sta_rc_update() argument 5707 wlcore_op_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct station_info *sinfo) wlcore_op_sta_statistics() argument
|
H A D | testmode.h | 29 int wl1271_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | ps.c | 277 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_ps_link_start() local 291 sta = ieee80211_find_sta(vif, wl->links[hlid].addr); wl12xx_ps_link_start() 312 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_ps_link_end() local 322 sta = ieee80211_find_sta(vif, wl->links[hlid].addr); wl12xx_ps_link_end()
|
H A D | cmd.c | 513 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_cmd_role_start_sta() local 535 memcpy(cmd->sta.bssid, vif->bss_conf.bssid, ETH_ALEN); wl12xx_cmd_role_start_sta() 625 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_cmd_role_start_ap() local 626 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; wl12xx_cmd_role_start_ap() 762 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_cmd_role_start_ibss() local 764 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; wl12xx_cmd_role_start_ibss() 785 memcpy(cmd->ibss.bssid, vif->bss_conf.bssid, ETH_ALEN); wl12xx_cmd_role_start_ibss() 801 wl1271_debug(DEBUG_CMD, "vif->bss_conf.bssid = %pM", wl12xx_cmd_role_start_ibss() 802 vif->bss_conf.bssid); wl12xx_cmd_role_start_ibss() 1092 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_cmd_build_klv_null_data() local 1096 skb = ieee80211_nullfunc_get(wl->hw, vif); wl12xx_cmd_build_klv_null_data() 1117 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl1271_cmd_build_ps_poll() local 1121 skb = ieee80211_pspoll_get(wl->hw, vif); wl1271_cmd_build_ps_poll() 1140 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_cmd_build_probe_req() local 1149 skb = ieee80211_probereq_get(wl->hw, vif->addr, ssid, ssid_len, wl12xx_cmd_build_probe_req() 1186 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl1271_cmd_build_ap_probe_req() local 1191 skb = ieee80211_ap_probereq_get(wl->hw, vif); wl1271_cmd_build_ap_probe_req() 1218 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl1271_cmd_build_arp_rsp() local 1249 memcpy(tmpl->sender_hw, vif->addr, ETH_ALEN); wl1271_cmd_build_arp_rsp() 1294 memcpy(hdr->addr1, vif->bss_conf.bssid, ETH_ALEN); wl1271_cmd_build_arp_rsp() 1295 memcpy(hdr->addr2, vif->addr, ETH_ALEN); wl1271_cmd_build_arp_rsp() 1306 int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif) wl1271_build_qos_null_data() argument 1308 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_build_qos_null_data() 1313 memcpy(template.addr1, vif->bss_conf.bssid, ETH_ALEN); wl1271_build_qos_null_data() 1314 memcpy(template.addr2, vif->addr, ETH_ALEN); wl1271_build_qos_null_data() 1315 memcpy(template.addr3, vif->bss_conf.bssid, ETH_ALEN); wl1271_build_qos_null_data()
|
H A D | scan.c | 93 struct ieee80211_vif *vif) wlcore_started_vifs_iter() 95 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_started_vifs_iter() 340 int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif, wlcore_scan() argument 344 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_scan() 92 wlcore_started_vifs_iter(void *data, u8 *mac, struct ieee80211_vif *vif) wlcore_started_vifs_iter() argument
|
H A D | wlcore_i.h | 386 /* counters of packets per AC, across all links in the vif */ 456 * This vif's queues are mapped to mac80211 HW queues as: 494 static inline struct wl12xx_vif *wl12xx_vif_to_data(struct ieee80211_vif *vif) wl12xx_vif_to_data() argument 496 WARN_ON(!vif); wl12xx_vif_to_data() 497 return (struct wl12xx_vif *)vif->drv_priv; wl12xx_vif_to_data()
|
H A D | hw_ops.h | 194 struct ieee80211_vif *vif, wlcore_hw_set_key() 201 return wl->ops->set_key(wl, cmd, vif, sta, key_conf); wlcore_hw_set_key() 193 wlcore_hw_set_key(struct wl1271 *wl, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key_conf) wlcore_hw_set_key() argument
|
H A D | scan.h | 29 int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif,
|
/linux-4.4.14/drivers/net/wireless/iwlwifi/dvm/ |
H A D | mac80211.c | 341 struct ieee80211_vif *vif, iwlagn_mac_set_rekey_data() 352 if (priv->contexts[IWL_RXON_CTX_BSS].vif != vif) iwlagn_mac_set_rekey_data() 382 if (!ctx->vif || ctx->vif->type != NL80211_IFTYPE_STATION || iwlagn_mac_suspend() 437 struct ieee80211_vif *vif; iwlagn_mac_resume() local 466 /* we'll clear ctx->vif during iwlagn_prepare_restart() */ iwlagn_mac_resume() 467 vif = ctx->vif; iwlagn_mac_resume() 496 ieee80211_report_wowlan_wakeup(vif, &wakeup, iwlagn_mac_resume() 535 if (resume_data.valid && priv->contexts[IWL_RXON_CTX_BSS].vif) { iwlagn_mac_resume() 560 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwlagn_mac_resume() 575 ieee80211_resume_disconnect(vif); iwlagn_mac_resume() 599 struct ieee80211_vif *vif, iwlagn_mac_update_tkip_key() 606 iwl_update_tkip_key(priv, vif, keyconf, sta, iv32, phase1key); iwlagn_mac_update_tkip_key() 610 struct ieee80211_vif *vif, iwlagn_mac_set_key() 615 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_set_key() 645 if (vif->type == NL80211_IFTYPE_ADHOC && iwlagn_mac_set_key() 731 struct ieee80211_vif *vif, iwlagn_mac_ampdu_action() 766 ret = iwlagn_tx_agg_start(priv, vif, sta, tid, ssn); iwlagn_mac_ampdu_action() 771 ret = iwlagn_tx_agg_flush(priv, vif, sta, tid); iwlagn_mac_ampdu_action() 775 ret = iwlagn_tx_agg_stop(priv, vif, sta, tid); iwlagn_mac_ampdu_action() 788 iwl_send_lq_cmd(priv, iwl_rxon_ctx_from_vif(vif), iwlagn_mac_ampdu_action() 793 ret = iwlagn_tx_agg_oper(priv, vif, sta, tid, buf_size); iwlagn_mac_ampdu_action() 802 struct ieee80211_vif *vif, iwlagn_mac_sta_add() 807 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_sta_add() 808 bool is_ap = vif->type == NL80211_IFTYPE_STATION; iwlagn_mac_sta_add() 817 if (vif->type == NL80211_IFTYPE_AP) iwlagn_mac_sta_add() 835 struct ieee80211_vif *vif, iwlagn_mac_sta_remove() 844 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_mac_sta_remove() 862 struct ieee80211_vif *vif, iwlagn_mac_sta_state() 868 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_sta_state() 878 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_mac_sta_state() 899 ret = iwlagn_mac_sta_add(hw, vif, sta); iwlagn_mac_sta_state() 914 ret = iwlagn_mac_sta_remove(hw, vif, sta); iwlagn_mac_sta_state() 917 ret = iwlagn_mac_sta_add(hw, vif, sta); iwlagn_mac_sta_state() 957 struct ieee80211_vif *vif, iwlagn_mac_channel_switch() 1021 iwl_set_flags_for_band(priv, ctx, channel->band, ctx->vif); iwlagn_mac_channel_switch() 1032 ieee80211_chswitch_done(ctx->vif, false); iwlagn_mac_channel_switch() 1054 if (ctx->vif) iwl_chswitch_done() 1055 ieee80211_chswitch_done(ctx->vif, is_success); iwl_chswitch_done() 1108 static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, iwlagn_mac_flush() argument 1147 struct ieee80211_vif *vif, iwlagn_mac_event_callback() 1184 struct ieee80211_vif *vif, u16 queue, iwlagn_mac_conf_tx() 1188 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_conf_tx() 1246 struct ieee80211_vif *vif = ctx->vif; iwl_setup_interface() local 1256 priv->iw_mode = vif->type; iwl_setup_interface() 1268 vif->type == NL80211_IFTYPE_ADHOC) { iwl_setup_interface() 1279 vif->hw_queue[ac] = ctx->ac_to_queue[ac]; iwl_setup_interface() 1281 if (vif->type == NL80211_IFTYPE_AP) iwl_setup_interface() 1282 vif->cab_queue = ctx->mcast_queue; iwl_setup_interface() 1284 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_setup_interface() 1290 struct ieee80211_vif *vif) iwlagn_mac_add_interface() 1293 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_add_interface() 1296 enum nl80211_iftype viftype = ieee80211_vif_type_p2p(vif); iwlagn_mac_add_interface() 1300 viftype, vif->addr); iwlagn_mac_add_interface() 1314 if (tmp->vif) { for_each_context() 1316 if (tmp->vif == vif) { for_each_context() 1324 BIT(tmp->vif->type)) { for_each_context() 1345 ctx->vif = vif; 1356 if (vif->type == NL80211_IFTYPE_MONITOR) 1365 ctx->vif = NULL; 1375 struct ieee80211_vif *vif, iwl_teardown_interface() 1378 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwl_teardown_interface() 1382 if (priv->scan_vif == vif) { iwl_teardown_interface() 1400 if (vif->type == NL80211_IFTYPE_ADHOC) iwl_teardown_interface() 1405 struct ieee80211_vif *vif) iwlagn_mac_remove_interface() 1408 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_mac_remove_interface() 1414 if (WARN_ON(ctx->vif != vif)) { iwlagn_mac_remove_interface() 1416 IWL_ERR(priv, "ctx->vif = %p, vif = %p\n", ctx->vif, vif); iwlagn_mac_remove_interface() 1418 IWL_ERR(priv, "\tID = %d:\tctx = %p\tctx->vif = %p\n", iwlagn_mac_remove_interface() 1419 tmp->ctxid, tmp, tmp->vif); iwlagn_mac_remove_interface() 1421 ctx->vif = NULL; iwlagn_mac_remove_interface() 1423 iwl_teardown_interface(priv, vif, false); iwlagn_mac_remove_interface() 1432 struct ieee80211_vif *vif, iwlagn_mac_change_interface() 1447 ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_mac_change_interface() 1459 if (!ctx->vif || !iwl_is_ready_rf(priv)) { iwlagn_mac_change_interface() 1493 iwl_teardown_interface(priv, vif, true); 1494 vif->type = newviftype; 1495 vif->p2p = newp2p; 1515 struct ieee80211_vif *vif, iwlagn_mac_hw_scan() 1537 priv->scan_vif = vif; iwlagn_mac_hw_scan() 1541 priv->scan_vif = vif; iwlagn_mac_hw_scan() 1546 ret = iwl_scan_initiate(priv, vif, IWL_SCAN_NORMAL, iwlagn_mac_hw_scan() 1573 struct ieee80211_vif *vif, iwlagn_mac_sta_notify() 340 iwlagn_mac_set_rekey_data(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_gtk_rekey_data *data) iwlagn_mac_set_rekey_data() argument 598 iwlagn_mac_update_tkip_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) iwlagn_mac_update_tkip_key() argument 609 iwlagn_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) iwlagn_mac_set_key() argument 730 iwlagn_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) iwlagn_mac_ampdu_action() argument 801 iwlagn_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_mac_sta_add() argument 834 iwlagn_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_mac_sta_remove() argument 861 iwlagn_mac_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_sta_state old_state, enum ieee80211_sta_state new_state) iwlagn_mac_sta_state() argument 956 iwlagn_mac_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *ch_switch) iwlagn_mac_channel_switch() argument 1146 iwlagn_mac_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwlagn_mac_event_callback() argument 1183 iwlagn_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) iwlagn_mac_conf_tx() argument 1289 iwlagn_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwlagn_mac_add_interface() argument 1374 iwl_teardown_interface(struct iwl_priv *priv, struct ieee80211_vif *vif, bool mode_change) iwl_teardown_interface() argument 1404 iwlagn_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwlagn_mac_remove_interface() argument 1431 iwlagn_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype newtype, bool newp2p) iwlagn_mac_change_interface() argument 1514 iwlagn_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) iwlagn_mac_hw_scan() argument 1572 iwlagn_mac_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) iwlagn_mac_sta_notify() argument
|
H A D | rxon.c | 43 if (!ctx->vif) { iwl_connection_init_rx_config() 46 switch (ctx->vif->type) { iwl_connection_init_rx_config() 69 ctx->vif->type); iwl_connection_init_rx_config() 86 iwl_set_flags_for_band(priv, ctx, priv->band, ctx->vif); iwl_connection_init_rx_config() 91 if (ctx->vif) iwl_connection_init_rx_config() 92 memcpy(ctx->staging.node_addr, ctx->vif->addr, ETH_ALEN); iwl_connection_init_rx_config() 201 struct ieee80211_vif *vif) iwlagn_update_beacon() 206 priv->beacon_skb = ieee80211_beacon_get(priv->hw, vif); iwlagn_update_beacon() 299 struct ieee80211_vif *vif = ctx->vif; iwl_send_rxon_timing() local 310 beacon_int = vif ? vif->bss_conf.beacon_int : 0; iwl_send_rxon_timing() 319 (!ctx->vif || ctx->vif->type != NL80211_IFTYPE_STATION) && iwl_send_rxon_timing() 321 priv->contexts[IWL_RXON_CTX_BSS].vif && iwl_send_rxon_timing() 322 priv->contexts[IWL_RXON_CTX_BSS].vif->bss_conf.beacon_int) { iwl_send_rxon_timing() 328 priv->contexts[IWL_RXON_CTX_PAN].vif && iwl_send_rxon_timing() 329 priv->contexts[IWL_RXON_CTX_PAN].vif->bss_conf.beacon_int && iwl_send_rxon_timing() 330 (!iwl_is_associated_ctx(ctx) || !ctx->vif || iwl_send_rxon_timing() 331 !ctx->vif->bss_conf.beacon_int)) { iwl_send_rxon_timing() 348 ctx->timing.dtim_period = vif ? (vif->bss_conf.dtim_period ?: 1) : 1; iwl_send_rxon_timing() 372 if (ctx->vif) { iwlagn_rxon_disconn() 482 if (ctx->vif && (ctx->vif->type == NL80211_IFTYPE_AP)) { iwlagn_rxon_connect() 483 ret = iwlagn_update_beacon(priv, ctx->vif); iwlagn_rxon_connect() 508 if (ctx->vif && (ctx->vif->type == NL80211_IFTYPE_ADHOC)) iwlagn_rxon_connect() 509 if (iwlagn_update_beacon(priv, ctx->vif)) iwlagn_rxon_connect() 526 if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && iwlagn_rxon_connect() 528 ieee80211_request_smps(ctx->vif, iwlagn_rxon_connect() 568 if (ctx_bss->vif && ctx_pan->vif) { iwlagn_set_pan_params() 570 int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1; iwlagn_set_pan_params() 575 if (ctx_pan->vif->type == NL80211_IFTYPE_AP && iwlagn_set_pan_params() 590 (!ctx_bss->vif->bss_conf.idle && iwlagn_set_pan_params() 591 !ctx_bss->vif->bss_conf.assoc)) { iwlagn_set_pan_params() 594 } else if (!ctx_pan->vif->bss_conf.idle && iwlagn_set_pan_params() 595 !ctx_pan->vif->bss_conf.assoc) { iwlagn_set_pan_params() 599 } else if (ctx_pan->vif) { iwlagn_set_pan_params() 601 slot1 = max_t(int, 1, ctx_pan->vif->bss_conf.dtim_period) * iwlagn_set_pan_params() 744 struct ieee80211_vif *vif) iwl_set_flags_for_band() 753 if (vif && vif->bss_conf.use_short_slot) iwl_set_flags_for_band() 947 if (ctx->vif) { iwl_calc_basic_rates() 949 unsigned long basic = ctx->vif->bss_conf.basic_rates; iwl_calc_basic_rates() 1079 if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) || iwlagn_commit_rxon() 1247 ctx->vif); for_each_context() 1283 struct ieee80211_vif *vif = ctx->vif; iwlagn_check_needed_chains() local 1292 switch (vif->type) { iwlagn_check_needed_chains() 1295 sta = ieee80211_find_sta(vif, bss_conf->bssid); iwlagn_check_needed_chains() 1361 if (!tmp->vif) for_each_context() 1409 struct ieee80211_vif *vif, iwlagn_bss_info_changed() 1414 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_bss_info_changed() 1434 if (unlikely(!ctx->vif)) { iwlagn_bss_info_changed() 1435 IWL_DEBUG_MAC80211(priv, "leave - vif is NULL\n"); iwlagn_bss_info_changed() 1448 ctx->staging.assoc_id = cpu_to_le16(vif->bss_conf.aid); iwlagn_bss_info_changed() 1449 if (vif->bss_conf.use_short_preamble) iwlagn_bss_info_changed() 1491 if (vif->type == NL80211_IFTYPE_AP || iwlagn_bss_info_changed() 1492 vif->type == NL80211_IFTYPE_ADHOC) { iwlagn_bss_info_changed() 1493 if (vif->bss_conf.enable_beacon) { iwlagn_bss_info_changed() 1510 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_bss_info_changed() 1536 ret = iwlagn_manage_ibss_station(priv, vif, iwlagn_bss_info_changed() 1545 if (iwlagn_update_beacon(priv, vif)) iwlagn_bss_info_changed() 200 iwlagn_update_beacon(struct iwl_priv *priv, struct ieee80211_vif *vif) iwlagn_update_beacon() argument 741 iwl_set_flags_for_band(struct iwl_priv *priv, struct iwl_rxon_context *ctx, enum ieee80211_band band, struct ieee80211_vif *vif) iwl_set_flags_for_band() argument 1408 iwlagn_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) iwlagn_bss_info_changed() argument
|
H A D | agn.h | 151 struct ieee80211_vif *vif, 162 struct ieee80211_vif *vif); 210 int iwlagn_tx_agg_start(struct iwl_priv *priv, struct ieee80211_vif *vif, 212 int iwlagn_tx_agg_oper(struct iwl_priv *priv, struct ieee80211_vif *vif, 214 int iwlagn_tx_agg_stop(struct iwl_priv *priv, struct ieee80211_vif *vif, 216 int iwlagn_tx_agg_flush(struct iwl_priv *priv, struct ieee80211_vif *vif, 259 struct ieee80211_vif *vif, 300 struct ieee80211_vif *vif, bool add); iwl_get_agg_tx_fail_reason() 364 struct ieee80211_vif *vif,
|
H A D | lib.c | 119 struct ieee80211_vif *vif, bool add) iwlagn_manage_ibss_station() 121 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_manage_ibss_station() 125 vif->bss_conf.bssid, iwlagn_manage_ibss_station() 128 vif->bss_conf.bssid); iwlagn_manage_ibss_station() 358 if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_AP && for_each_context() 373 ieee80211_disable_rssi_reports(ctx->vif); 384 if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && for_each_context() 406 if (ctx->vif) 407 ieee80211_disable_rssi_reports(ctx->vif); 415 ieee80211_enable_rssi_reports(found_ctx->vif, 483 if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) for_each_context() 484 ieee80211_request_smps(ctx->vif, smps_request); for_each_context() 624 if (!ctx->vif || (ctx->vif->type != NL80211_IFTYPE_STATION)) { iwlagn_fill_txpower_mode() 629 ave_rssi = ieee80211_ave_rssi(ctx->vif); iwlagn_fill_txpower_mode() 912 struct ieee80211_vif *vif, iwlagn_wowlan_program_keys() 1192 ieee80211_iter_keys(priv->hw, ctx->vif, iwlagn_suspend() 118 iwlagn_manage_ibss_station(struct iwl_priv *priv, struct ieee80211_vif *vif, bool add) iwlagn_manage_ibss_station() argument 911 iwlagn_wowlan_program_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key, void *_data) iwlagn_wowlan_program_keys() argument
|
H A D | tx.c | 296 if (info->control.vif) iwlagn_tx_skb() 297 ctx = iwl_rxon_ctx_from_vif(info->control.vif); iwlagn_tx_skb() 504 int iwlagn_tx_agg_stop(struct iwl_priv *priv, struct ieee80211_vif *vif, iwlagn_tx_agg_stop() argument 590 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwlagn_tx_agg_stop() 595 int iwlagn_tx_agg_start(struct iwl_priv *priv, struct ieee80211_vif *vif, iwlagn_tx_agg_start() argument 598 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_tx_agg_start() 641 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwlagn_tx_agg_start() 654 int iwlagn_tx_agg_flush(struct iwl_priv *priv, struct ieee80211_vif *vif, iwlagn_tx_agg_flush() argument 699 int iwlagn_tx_agg_oper(struct iwl_priv *priv, struct ieee80211_vif *vif, iwlagn_tx_agg_oper() argument 703 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_tx_agg_oper() 767 struct ieee80211_vif *vif; iwlagn_check_ratid_empty() local 774 vif = priv->contexts[ctx].vif; iwlagn_check_ratid_empty() 787 ieee80211_stop_tx_ba_cb_irqsafe(vif, addr, tid); iwlagn_check_ratid_empty() 797 ieee80211_start_tx_ba_cb_irqsafe(vif, addr, tid); iwlagn_check_ratid_empty() 813 sta = ieee80211_find_sta(ctx->vif, addr1); iwlagn_non_agg_tx_status() 1214 ctx->vif && iwlagn_rx_reply_tx() 1215 ctx->vif->type == NL80211_IFTYPE_STATION) { iwlagn_rx_reply_tx()
|
H A D | devices.c | 416 struct ieee80211_vif *vif = ctx->vif; iwl5000_hw_channel_switch() local 448 vif->bss_conf.beacon_int * switch_count * TIME_UNIT; iwl5000_hw_channel_switch() 577 struct ieee80211_vif *vif = ctx->vif; iwl6000_hw_channel_switch() local 616 vif->bss_conf.beacon_int * switch_count * TIME_UNIT; iwl6000_hw_channel_switch()
|
H A D | scan.c | 472 struct ieee80211_vif *vif, iwl_get_channel_for_reset_scan() 507 struct ieee80211_vif *vif, iwl_get_channels_for_scan() 628 static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) iwlagn_request_scan() argument 661 if (vif) iwlagn_request_scan() 662 ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_request_scan() 690 interval = vif->bss_conf.beacon_int; iwlagn_request_scan() 860 vif->addr, iwlagn_request_scan() 885 iwl_get_channel_for_reset_scan(priv, vif, band, iwlagn_request_scan() 890 iwl_get_channels_for_scan(priv, vif, band, iwlagn_request_scan() 935 struct ieee80211_vif *vif, iwl_scan_initiate() 970 ret = iwlagn_request_scan(priv, vif); iwl_scan_initiate() 471 iwl_get_channel_for_reset_scan(struct iwl_priv *priv, struct ieee80211_vif *vif, enum ieee80211_band band, struct iwl_scan_channel *scan_ch) iwl_get_channel_for_reset_scan() argument 506 iwl_get_channels_for_scan(struct iwl_priv *priv, struct ieee80211_vif *vif, enum ieee80211_band band, u8 is_active, u8 n_probes, struct iwl_scan_channel *scan_ch) iwl_get_channels_for_scan() argument 934 iwl_scan_initiate(struct iwl_priv *priv, struct ieee80211_vif *vif, enum iwl_scan_type scan_type, enum ieee80211_band band) iwl_scan_initiate() argument
|
H A D | sta.c | 584 else if (ctx && ctx->vif && ctx->vif->p2p) iwl_sta_fill_lq() 1078 struct ieee80211_vif *vif, iwlagn_key_sta_id() 1081 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_key_sta_id() 1091 if (vif->type == NL80211_IFTYPE_STATION && vif_priv->ctx) iwlagn_key_sta_id() 1151 struct ieee80211_vif *vif, iwl_update_tkip_key() 1155 u8 sta_id = iwlagn_key_sta_id(priv, vif, sta); iwl_update_tkip_key() 1176 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); iwl_remove_dynamic_key() 1226 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); iwl_set_dynamic_key() 1077 iwlagn_key_sta_id(struct iwl_priv *priv, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_key_sta_id() argument 1150 iwl_update_tkip_key(struct iwl_priv *priv, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) iwl_update_tkip_key() argument
|
H A D | dev.h | 486 struct ieee80211_vif *vif; member in struct:iwl_rxon_context 493 * We could use the vif to indicate active, but we 495 * we already removed the vif for type setting. 917 iwl_rxon_ctx_from_vif(struct ieee80211_vif *vif) iwl_rxon_ctx_from_vif() argument 919 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwl_rxon_ctx_from_vif()
|
/linux-4.4.14/drivers/net/wireless/ath/carl9170/ |
H A D | mac.c | 86 struct ieee80211_vif *vif; carl9170_set_slot_time() local 90 vif = carl9170_get_main_vif(ar); carl9170_set_slot_time() 91 if (!vif) { carl9170_set_slot_time() 97 vif->bss_conf.use_short_slot) carl9170_set_slot_time() 108 struct ieee80211_vif *vif; carl9170_set_mac_rates() local 112 vif = carl9170_get_main_vif(ar); carl9170_set_mac_rates() 114 if (!vif) { carl9170_set_mac_rates() 119 basic = (vif->bss_conf.basic_rates & 0xf); carl9170_set_mac_rates() 120 basic |= (vif->bss_conf.basic_rates & 0xff0) << 4; carl9170_set_mac_rates() 303 struct ieee80211_vif *vif; carl9170_set_operating_mode() local 315 vif = carl9170_get_main_vif(ar); carl9170_set_operating_mode() 317 if (vif) { carl9170_set_operating_mode() 321 switch (vif->type) { carl9170_set_operating_mode() 341 WARN(1, "Unsupported operation mode %x\n", vif->type); carl9170_set_operating_mode() 405 struct ieee80211_vif *vif; carl9170_set_beacon_timers() local 410 vif = carl9170_get_main_vif(ar); carl9170_set_beacon_timers() 412 if (vif) { carl9170_set_beacon_timers() 414 mvif = (void *) vif->drv_priv; carl9170_set_beacon_timers() 417 ar->global_beacon_int = vif->bss_conf.beacon_int / carl9170_set_beacon_timers() 421 vif->bss_conf.dtim_period); carl9170_set_beacon_timers() 423 switch (vif->type) { carl9170_set_beacon_timers() 435 } else if (vif->type == NL80211_IFTYPE_STATION) { carl9170_set_beacon_timers() 436 ar->global_beacon_int = vif->bss_conf.beacon_int; carl9170_set_beacon_timers()
|
H A D | main.c | 560 struct ieee80211_vif *vif) carl9170_init_interface() 565 if (!vif) { carl9170_init_interface() 570 memcpy(common->macaddr, vif->addr, ETH_ALEN); carl9170_init_interface() 582 ar->disable_offload |= ((vif->type != NL80211_IFTYPE_STATION) && carl9170_init_interface() 583 (vif->type != NL80211_IFTYPE_AP)); carl9170_init_interface() 591 ar->disable_offload |= vif->p2p; carl9170_init_interface() 600 struct ieee80211_vif *vif) carl9170_op_add_interface() 602 struct carl9170_vif_info *vif_priv = (void *) vif->drv_priv; carl9170_op_add_interface() 612 * if the vif survived the _restart call. carl9170_op_add_interface() 639 if (vif->type == NL80211_IFTYPE_STATION) carl9170_op_add_interface() 648 if (main_vif->p2p && vif->p2p && carl9170_op_add_interface() 649 vif->type == NL80211_IFTYPE_AP) { carl9170_op_add_interface() 661 if ((vif->type == NL80211_IFTYPE_STATION) || carl9170_op_add_interface() 662 (vif->type == NL80211_IFTYPE_WDS) || carl9170_op_add_interface() 663 (vif->type == NL80211_IFTYPE_AP) || carl9170_op_add_interface() 664 (vif->type == NL80211_IFTYPE_MESH_POINT)) carl9170_op_add_interface() 704 rcu_assign_pointer(ar->vif_priv[vif_id].vif, vif); carl9170_op_add_interface() 709 if (main_vif == vif) { carl9170_op_add_interface() 719 * vif data [id, addr] is safe. carl9170_op_add_interface() 727 err = carl9170_init_interface(ar, vif); carl9170_op_add_interface() 732 err = carl9170_mod_virtual_mac(ar, vif_id, vif->addr); carl9170_op_add_interface() 750 RCU_INIT_POINTER(ar->vif_priv[vif_id].vif, NULL); carl9170_op_add_interface() 765 struct ieee80211_vif *vif) carl9170_op_remove_interface() 767 struct carl9170_vif_info *vif_priv = (void *) vif->drv_priv; carl9170_op_remove_interface() 788 RCU_INIT_POINTER(ar->vif_priv[id].vif, NULL); carl9170_op_remove_interface() 790 if (vif == main_vif) { carl9170_op_remove_interface() 1048 struct ieee80211_vif *vif, carl9170_op_bss_info_changed() 1059 vif_priv = (void *) vif->drv_priv; carl9170_op_bss_info_changed() 1089 if (main_vif != vif) { carl9170_op_bss_info_changed() 1098 if (vif->type != NL80211_IFTYPE_STATION && carl9170_op_bss_info_changed() 1117 if (main_vif != vif) carl9170_op_bss_info_changed() 1157 struct ieee80211_vif *vif) carl9170_op_get_tsf() 1174 struct ieee80211_vif *vif, carl9170_op_set_key() 1182 if (ar->disable_offload || !vif) carl9170_op_set_key() 1192 if (!is_main_vif(ar, vif)) { carl9170_op_set_key() 1202 if ((vif->type != NL80211_IFTYPE_STATION && carl9170_op_set_key() 1203 vif->type != NL80211_IFTYPE_ADHOC) && carl9170_op_set_key() 1316 struct ieee80211_vif *vif, carl9170_op_sta_add() 1345 struct ieee80211_vif *vif, carl9170_op_sta_remove() 1383 struct ieee80211_vif *vif, u16 queue, carl9170_op_conf_tx() 1415 struct ieee80211_vif *vif, carl9170_op_ampdu_action() 1442 tid_info->vif = vif; carl9170_op_ampdu_action() 1455 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); carl9170_op_ampdu_action() 1473 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); carl9170_op_ampdu_action() 1701 struct ieee80211_vif *vif, carl9170_op_flush() 1727 struct ieee80211_vif *vif, carl9170_op_sta_notify() 2014 ar->vif_priv[i].vif = NULL; carl9170_register() 559 carl9170_init_interface(struct ar9170 *ar, struct ieee80211_vif *vif) carl9170_init_interface() argument 599 carl9170_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) carl9170_op_add_interface() argument 764 carl9170_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) carl9170_op_remove_interface() argument 1047 carl9170_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) carl9170_op_bss_info_changed() argument 1156 carl9170_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) carl9170_op_get_tsf() argument 1173 carl9170_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) carl9170_op_set_key() argument 1315 carl9170_op_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) carl9170_op_sta_add() argument 1344 carl9170_op_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) carl9170_op_sta_remove() argument 1382 carl9170_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *param) carl9170_op_conf_tx() argument 1414 carl9170_op_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) carl9170_op_ampdu_action() argument 1700 carl9170_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) carl9170_op_flush() argument 1726 carl9170_op_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) carl9170_op_sta_notify() argument
|
H A D | tx.c | 112 struct ieee80211_vif *vif; __carl9170_get_tx_sta() local 121 vif = rcu_dereference(ar->vif_priv[vif_id].vif); __carl9170_get_tx_sta() 122 if (unlikely(!vif)) __carl9170_get_tx_sta() 135 return ieee80211_find_sta(vif, hdr->addr1); __carl9170_get_tx_sta() 869 struct ieee80211_vif *vif, carl9170_tx_get_rates() 880 ieee80211_get_tx_rates(vif, sta, skb, carl9170_tx_get_rates() 989 if (likely(info->control.vif)) carl9170_tx_prepare() 990 cvif = (void *) info->control.vif->drv_priv; carl9170_tx_prepare() 1187 carl9170_tx_get_rates(ar, tid_info->vif, carl9170_tx_ampdu() 1474 struct ieee80211_vif *vif; carl9170_op_tx() local 1481 vif = info->control.vif; carl9170_op_tx() 1512 carl9170_tx_get_rates(ar, vif, sta, skb); carl9170_op_tx() 868 carl9170_tx_get_rates(struct ar9170 *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct sk_buff *skb) carl9170_tx_get_rates() argument
|
H A D | carl9170.h | 138 struct ieee80211_vif *vif; member in struct:carl9170_sta_tid 173 struct ieee80211_vif __rcu *vif; member in struct:carl9170_vif 660 static inline bool is_main_vif(struct ar9170 *ar, struct ieee80211_vif *vif) is_main_vif() argument 665 ret = (carl9170_get_main_vif(ar) == vif); is_main_vif()
|
H A D | debug.c | 448 struct ieee80211_vif *vif = carl9170_get_vif(iter); carl9170_debugfs_vif_dump_read() local 450 " mac:%pM %s]\n", i, (carl9170_get_main_vif(ar) == vif ? carl9170_debugfs_vif_dump_read() 451 "Master" : " Slave"), iter->id, vif->type, vif->addr, carl9170_debugfs_vif_dump_read()
|
/linux-4.4.14/drivers/net/wireless/cw1200/ |
H A D | sta.h | 21 struct ieee80211_vif *vif); 23 struct ieee80211_vif *vif); 25 struct ieee80211_vif *vif, 33 int cw1200_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, 38 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 43 void cw1200_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 99 int cw1200_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 101 int cw1200_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 103 void cw1200_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif, 107 struct ieee80211_vif *vif, 111 struct ieee80211_vif *vif,
|
H A D | sta.c | 40 struct ieee80211_vif *vif, 176 if (!priv->vif->p2p && !atomic_read(&priv->tx_lock)) __cw1200_cqm_bssloss_sm() 201 skb = ieee80211_nullfunc_get(priv->hw, priv->vif); __cw1200_cqm_bssloss_sm() 209 struct ieee80211_vif *vif) cw1200_add_interface() 215 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | cw1200_add_interface() 226 switch (vif->type) { cw1200_add_interface() 231 priv->mode = vif->type; cw1200_add_interface() 238 priv->vif = vif; cw1200_add_interface() 239 memcpy(priv->mac_addr, vif->addr, ETH_ALEN); cw1200_add_interface() 252 struct ieee80211_vif *vif) cw1200_remove_interface() 294 priv->vif = NULL; cw1200_remove_interface() 309 struct ieee80211_vif *vif, cw1200_change_interface() 315 p2p, vif->type, vif->p2p); cw1200_change_interface() 317 if (new_type != vif->type || vif->p2p != p2p) { cw1200_change_interface() 318 cw1200_remove_interface(dev, vif); cw1200_change_interface() 319 vif->type = new_type; cw1200_change_interface() 320 vif->p2p = p2p; cw1200_change_interface() 321 ret = cw1200_add_interface(dev, vif); cw1200_change_interface() 446 bool is_p2p = priv->vif && priv->vif->p2p; cw1200_update_filtering() 447 bool is_sta = priv->vif && NL80211_IFTYPE_STATION == priv->vif->type; cw1200_update_filtering() 611 int cw1200_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, cw1200_conf_tx() argument 684 struct ieee80211_vif *vif, struct ieee80211_sta *sta, cw1200_set_key() 937 void cw1200_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_flush() argument 1028 ieee80211_cqm_rssi_notify(priv->vif, cqm_evt, cw1200_event_handler() 1181 ieee80211_connection_loss(priv->vif); cw1200_join_complete() 1216 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_do_join() 1237 bssid = priv->vif->bss_conf.bssid; cw1200_do_join() 1307 if (priv->vif->p2p) { cw1200_do_join() 1454 ieee80211_connection_loss(priv->vif); cw1200_unjoin_work() 1548 int cw1200_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_sta_add() argument 1579 int cw1200_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_sta_remove() argument 1603 struct ieee80211_vif *vif, __cw1200_sta_notify() 1644 struct ieee80211_vif *vif, cw1200_sta_notify() 1653 __cw1200_sta_notify(dev, vif, notify_cmd, sta_priv->link_id); cw1200_sta_notify() 1667 __cw1200_sta_notify(priv->hw, priv->vif, cw1200_ps_notify() 1682 skb = ieee80211_beacon_get_tim(priv->hw, priv->vif, cw1200_set_tim_impl() 1775 if (!priv->vif->p2p) { cw1200_set_btcoexinfo() 1806 struct ieee80211_vif *vif, cw1200_bss_info_changed() 1896 ieee80211_connection_loss(vif); cw1200_bss_info_changed() 1917 sta = ieee80211_find_sta(vif, info->bssid); cw1200_bss_info_changed() 1992 if (priv->vif->p2p) { cw1200_bss_info_changed() 2137 struct ieee80211_vif *vif, cw1200_ampdu_action() 2214 if (priv->vif->p2p) cw1200_upload_beacon() 2217 frame.skb = ieee80211_beacon_get_tim(priv->hw, priv->vif, cw1200_upload_beacon() 2236 if (priv->vif->p2p) { cw1200_upload_beacon() 2258 frame.skb = ieee80211_pspoll_get(priv->hw, priv->vif); cw1200_upload_pspoll() 2277 frame.skb = ieee80211_nullfunc_get(priv->hw, priv->vif); cw1200_upload_null() 2297 frame.skb = ieee80211_qosnullfunc_get(priv->hw, priv->vif); cw1200_upload_qosnull() 2322 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_start_ap() 2324 .mode = priv->vif->p2p ? cw1200_start_ap() 2362 if (!ret && priv->vif->p2p) { cw1200_start_ap() 2377 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_update_beaconing() 208 cw1200_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) cw1200_add_interface() argument 251 cw1200_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) cw1200_remove_interface() argument 308 cw1200_change_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) cw1200_change_interface() argument 683 cw1200_set_key(struct ieee80211_hw *dev, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) cw1200_set_key() argument 1602 __cw1200_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif, enum sta_notify_cmd notify_cmd, int link_id) __cw1200_sta_notify() argument 1643 cw1200_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif, enum sta_notify_cmd notify_cmd, struct ieee80211_sta *sta) cw1200_sta_notify() argument 1805 cw1200_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) cw1200_bss_info_changed() argument 2136 cw1200_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) cw1200_ampdu_action() argument
|
H A D | scan.h | 43 struct ieee80211_vif *vif,
|
H A D | txrx.c | 819 if (memcmp(priv->vif->addr, pspoll->bssid, ETH_ALEN)) cw1200_handle_pspoll() 823 sta = ieee80211_find_sta(priv->vif, pspoll->ta); cw1200_handle_pspoll() 985 sta = ieee80211_find_sta(priv->vif, hdr->addr1); cw1200_notify_buffered_tx() 1019 bool p2p = priv->vif && priv->vif->p2p; cw1200_rx_cb() 1168 !arg->status && priv->vif && cw1200_rx_cb() 1169 ether_addr_equal(ieee80211_get_SA(frame), priv->vif->bss_conf.bssid)) { cw1200_rx_cb() 1189 (priv->vif->bss_conf.assoc || cw1200_rx_cb() 1190 priv->vif->bss_conf.ibss_joined)) { cw1200_rx_cb()
|
H A D | pm.c | 219 if (!priv->vif->p2p && cw1200_wow_suspend() 328 if (!priv->vif->p2p && priv->join_status == CW1200_JOIN_STATUS_STA) { cw1200_wow_resume()
|
H A D | scan.c | 55 struct ieee80211_vif *vif, cw1200_hw_scan() 65 if (!priv->vif) cw1200_hw_scan() 81 frame.skb = ieee80211_probereq_get(hw, priv->vif->addr, NULL, 0, cw1200_hw_scan() 54 cw1200_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) cw1200_hw_scan() argument
|
/linux-4.4.14/drivers/net/wireless/mediatek/mt7601u/ |
H A D | main.c | 54 struct ieee80211_vif *vif) mt7601u_add_interface() 57 struct mt76_vif *mvif = (struct mt76_vif *) vif->drv_priv; mt7601u_add_interface() 64 * - shift vif idx mt7601u_add_interface() 78 struct ieee80211_vif *vif) mt7601u_remove_interface() 81 struct mt76_vif *mvif = (struct mt76_vif *) vif->drv_priv; mt7601u_remove_interface() 140 mt7601u_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt7601u_bss_info_changed() argument 215 mt7601u_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt7601u_sta_add() argument 220 struct mt76_vif *mvif = (struct mt76_vif *) vif->drv_priv; mt7601u_sta_add() 246 mt7601u_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt7601u_sta_remove() argument 265 mt7601u_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt7601u_sta_notify() argument 272 struct ieee80211_vif *vif, mt7601u_sw_scan() 283 struct ieee80211_vif *vif) mt7601u_sw_scan_complete() 293 struct ieee80211_vif *vif, struct ieee80211_sta *sta, mt7601u_set_key() 297 struct mt76_vif *mvif = (struct mt76_vif *) vif->drv_priv; mt7601u_set_key() 336 mt76_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt76_ampdu_action() argument 355 ieee80211_send_bar(vif, sta->addr, tid, msta->agg_ssn[tid]); mt76_ampdu_action() 362 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); mt76_ampdu_action() 365 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); mt76_ampdu_action() 373 mt76_sta_rate_tbl_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt76_sta_rate_tbl_update() argument 53 mt7601u_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mt7601u_add_interface() argument 77 mt7601u_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mt7601u_remove_interface() argument 271 mt7601u_sw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) mt7601u_sw_scan() argument 282 mt7601u_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mt7601u_sw_scan_complete() argument 292 mt7601u_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) mt7601u_set_key() argument
|
H A D | tx.c | 155 ieee80211_get_tx_rates(info->control.vif, sta, skb, mt7601u_push_txwi() 202 struct ieee80211_vif *vif = info->control.vif; mt7601u_tx() local 221 } else if (vif) { mt7601u_tx() 222 struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv; mt7601u_tx() 267 int mt7601u_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mt7601u_conf_tx() argument
|
/linux-4.4.14/drivers/net/wireless/rt2x00/ |
H A D | rt2x00mac.c | 83 ieee80211_ctstoself_get(rt2x00dev->hw, tx_info->control.vif, rt2x00mac_tx_rts_cts() 87 ieee80211_rts_get(rt2x00dev->hw, tx_info->control.vif, rt2x00mac_tx_rts_cts() 199 struct ieee80211_vif *vif) rt2x00mac_add_interface() 202 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_add_interface() 235 if (vif->type == NL80211_IFTYPE_AP) rt2x00mac_add_interface() 252 rt2x00lib_config_intf(rt2x00dev, intf, vif->type, rt2x00mac_add_interface() 253 vif->addr, NULL); rt2x00mac_add_interface() 267 struct ieee80211_vif *vif) rt2x00mac_remove_interface() 270 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_remove_interface() 278 (vif->type == NL80211_IFTYPE_AP && !rt2x00dev->intf_ap_count) || rt2x00mac_remove_interface() 279 (vif->type != NL80211_IFTYPE_AP && !rt2x00dev->intf_sta_count)) rt2x00mac_remove_interface() 282 if (vif->type == NL80211_IFTYPE_AP) rt2x00mac_remove_interface() 400 struct ieee80211_vif *vif) rt2x00mac_set_tim_iter() 402 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_set_tim_iter() 404 if (vif->type != NL80211_IFTYPE_AP && rt2x00mac_set_tim_iter() 405 vif->type != NL80211_IFTYPE_ADHOC && rt2x00mac_set_tim_iter() 406 vif->type != NL80211_IFTYPE_MESH_POINT && rt2x00mac_set_tim_iter() 407 vif->type != NL80211_IFTYPE_WDS) rt2x00mac_set_tim_iter() 451 struct ieee80211_vif *vif, struct ieee80211_sta *sta, rt2x00mac_set_key() 473 if (vif->type == NL80211_IFTYPE_ADHOC && rt2x00mac_set_key() 482 crypto.bssidx = rt2x00lib_get_bssidx(rt2x00dev, vif); rt2x00mac_set_key() 534 int rt2x00mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, rt2x00mac_sta_add() argument 539 return rt2x00dev->ops->lib->sta_add(rt2x00dev, vif, sta); rt2x00mac_sta_add() 543 int rt2x00mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, rt2x00mac_sta_remove() argument 554 struct ieee80211_vif *vif, rt2x00mac_sw_scan_start() 564 struct ieee80211_vif *vif) rt2x00mac_sw_scan_complete() 589 struct ieee80211_vif *vif, rt2x00mac_bss_info_changed() 594 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_bss_info_changed() 607 rt2x00lib_config_intf(rt2x00dev, intf, vif->type, NULL, rt2x00mac_bss_info_changed() 627 * Clear beacon in the H/W for this vif. This is needed rt2x00mac_bss_info_changed() 631 rt2x00queue_clear_beacon(rt2x00dev, vif); rt2x00mac_bss_info_changed() 640 rt2x00queue_update_beacon(rt2x00dev, vif); rt2x00mac_bss_info_changed() 692 struct ieee80211_vif *vif, u16 queue_idx, rt2x00mac_conf_tx() 737 void rt2x00mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, rt2x00mac_flush() argument 198 rt2x00mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rt2x00mac_add_interface() argument 266 rt2x00mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rt2x00mac_remove_interface() argument 399 rt2x00mac_set_tim_iter(void *data, u8 *mac, struct ieee80211_vif *vif) rt2x00mac_set_tim_iter() argument 450 rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) rt2x00mac_set_key() argument 553 rt2x00mac_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) rt2x00mac_sw_scan_start() argument 563 rt2x00mac_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rt2x00mac_sw_scan_complete() argument 588 rt2x00mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) rt2x00mac_bss_info_changed() argument 691 rt2x00mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue_idx, const struct ieee80211_tx_queue_params *params) rt2x00mac_conf_tx() argument
|
H A D | rt2800lib.h | 184 int rt2800_sta_add(struct rt2x00_dev *rt2x00dev, struct ieee80211_vif *vif, 217 struct ieee80211_vif *vif, u16 queue_idx, 219 u64 rt2800_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 220 int rt2800_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | rt2x00dev.c | 37 struct ieee80211_vif *vif) rt2x00lib_get_bssidx() 45 return vif->addr[5] & (rt2x00dev->ops->max_ap_intf - 1); rt2x00lib_get_bssidx() 130 struct ieee80211_vif *vif) rt2x00lib_intf_scheduled_iter() 133 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00lib_intf_scheduled_iter() 146 rt2x00queue_update_beacon(rt2x00dev, vif); rt2x00lib_intf_scheduled_iter() 183 struct ieee80211_vif *vif) rt2x00lib_bc_buffer_iter() 192 if (vif->type != NL80211_IFTYPE_AP) rt2x00lib_bc_buffer_iter() 198 skb = ieee80211_get_buffered_bc(rt2x00dev->hw, vif); rt2x00lib_bc_buffer_iter() 201 skb = ieee80211_get_buffered_bc(rt2x00dev->hw, vif); rt2x00lib_bc_buffer_iter() 206 struct ieee80211_vif *vif) rt2x00lib_beaconupdate_iter() 210 if (vif->type != NL80211_IFTYPE_AP && rt2x00lib_beaconupdate_iter() 211 vif->type != NL80211_IFTYPE_ADHOC && rt2x00lib_beaconupdate_iter() 212 vif->type != NL80211_IFTYPE_MESH_POINT && rt2x00lib_beaconupdate_iter() 213 vif->type != NL80211_IFTYPE_WDS) rt2x00lib_beaconupdate_iter() 222 rt2x00queue_update_beacon(rt2x00dev, vif); rt2x00lib_beaconupdate_iter() 36 rt2x00lib_get_bssidx(struct rt2x00_dev *rt2x00dev, struct ieee80211_vif *vif) rt2x00lib_get_bssidx() argument 129 rt2x00lib_intf_scheduled_iter(void *data, u8 *mac, struct ieee80211_vif *vif) rt2x00lib_intf_scheduled_iter() argument 182 rt2x00lib_bc_buffer_iter(void *data, u8 *mac, struct ieee80211_vif *vif) rt2x00lib_bc_buffer_iter() argument 205 rt2x00lib_beaconupdate_iter(void *data, u8 *mac, struct ieee80211_vif *vif) rt2x00lib_beaconupdate_iter() argument
|
H A D | rt2x00.h | 383 static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) vif_to_intf() argument 385 return (struct rt2x00_intf *)vif->drv_priv; vif_to_intf() 626 struct ieee80211_vif *vif, 1401 struct ieee80211_vif *vif); 1424 struct ieee80211_vif *vif); 1426 struct ieee80211_vif *vif); 1436 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 1441 int rt2x00mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1443 int rt2x00mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1446 struct ieee80211_vif *vif, 1449 struct ieee80211_vif *vif); 1453 struct ieee80211_vif *vif, 1457 struct ieee80211_vif *vif, u16 queue, 1460 void rt2x00mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | rt2x00lib.h | 153 * @vif: Interface for which the beacon should be updated. 156 struct ieee80211_vif *vif); 162 * @vif: Interface for which the beacon should be updated. 165 struct ieee80211_vif *vif); 170 * @vif: Interface for which the beacon should be updated. 173 struct ieee80211_vif *vif);
|
H A D | rt2x00queue.c | 193 struct rt2x00_intf *intf = vif_to_intf(tx_info->control.vif); rt2x00queue_create_tx_descriptor_seq() 724 struct ieee80211_vif *vif) rt2x00queue_clear_beacon() 726 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00queue_clear_beacon() 747 struct ieee80211_vif *vif) rt2x00queue_update_beacon() 749 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00queue_update_beacon() 761 intf->beacon->skb = ieee80211_beacon_get(rt2x00dev->hw, vif); rt2x00queue_update_beacon() 723 rt2x00queue_clear_beacon(struct rt2x00_dev *rt2x00dev, struct ieee80211_vif *vif) rt2x00queue_clear_beacon() argument 746 rt2x00queue_update_beacon(struct rt2x00_dev *rt2x00dev, struct ieee80211_vif *vif) rt2x00queue_update_beacon() argument
|
/linux-4.4.14/drivers/net/wireless/ath/ath10k/ |
H A D | mac.h | 59 int ath10k_mac_vif_chan(struct ieee80211_vif *vif, 78 static inline struct ath10k_vif *ath10k_vif_to_arvif(struct ieee80211_vif *vif) ath10k_vif_to_arvif() argument 80 return (struct ath10k_vif *)vif->drv_priv; ath10k_vif_to_arvif() 83 static inline void ath10k_tx_h_seq_no(struct ieee80211_vif *vif, ath10k_tx_h_seq_no() argument 88 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_tx_h_seq_no()
|
H A D | mac.c | 249 if (WARN_ON(arvif->vif->type != NL80211_IFTYPE_AP && ath10k_install_peer_wep_keys() 250 arvif->vif->type != NL80211_IFTYPE_ADHOC)) ath10k_install_peer_wep_keys() 264 switch (arvif->vif->type) { ath10k_install_peer_wep_keys() 306 if (arvif->vif->type != NL80211_IFTYPE_ADHOC) ath10k_install_peer_wep_keys() 448 if (!memcmp(peer->addr, arvif->vif->addr, ETH_ALEN)) ath10k_mac_vif_update_wep_key() 457 ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vif vdev %i update key %i needs update\n", ath10k_mac_vif_update_wep_key() 569 int ath10k_mac_vif_chan(struct ieee80211_vif *vif, ath10k_mac_vif_chan() argument 575 conf = rcu_dereference(vif->chanctx_conf); ath10k_mac_vif_chan() 1303 arg.ssid = arvif->vif->bss_conf.ssid; ath10k_vdev_start_restart() 1304 arg.ssid_len = arvif->vif->bss_conf.ssid_len; ath10k_vdev_start_restart() 1415 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_setup_bcn_tmpl() local 1427 bcn = ieee80211_beacon_get_template(hw, vif, &offs); ath10k_mac_setup_bcn_tmpl() 1465 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_setup_prb_tmpl() local 1475 prb = ieee80211_proberesp_get(hw, vif); ath10k_mac_setup_prb_tmpl() 1523 if (WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) ath10k_mac_vif_fix_hidden_ssid() 1710 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_vif_setup_ps() local 1720 if (arvif->vif->type != NL80211_IFTYPE_STATION) ath10k_mac_vif_setup_ps() 1734 /* mac80211 can update vif powersave state while disconnected. ath10k_mac_vif_setup_ps() 1748 vif->bss_conf.beacon_int) / 1000; ath10k_mac_vif_setup_ps() 1810 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_vif_ap_csa_count_down() local 1821 if (!vif->csa_active) ath10k_mac_vif_ap_csa_count_down() 1827 if (!ieee80211_csa_is_complete(vif)) { ath10k_mac_vif_ap_csa_count_down() 1828 ieee80211_csa_update_counter(vif); ath10k_mac_vif_ap_csa_count_down() 1840 ieee80211_csa_finish(vif); ath10k_mac_vif_ap_csa_count_down() 1856 struct ieee80211_vif *vif) ath10k_mac_handle_beacon_iter() 1860 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_handle_beacon_iter() 1862 if (vif->type != NL80211_IFTYPE_STATION) ath10k_mac_handle_beacon_iter() 1865 if (!ether_addr_equal(mgmt->bssid, vif->bss_conf.bssid)) ath10k_mac_handle_beacon_iter() 1880 struct ieee80211_vif *vif) ath10k_mac_handle_beacon_miss_iter() 1883 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_handle_beacon_miss_iter() 1893 ieee80211_beacon_loss(vif); ath10k_mac_handle_beacon_miss_iter() 1916 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_vif_sta_connection_loss_work() local 1921 ieee80211_connection_loss(vif); ath10k_mac_vif_sta_connection_loss_work() 1929 struct ieee80211_vif *vif) ath10k_peer_assoc_h_listen_intval() 1939 if (vif->type == NL80211_IFTYPE_STATION) ath10k_peer_assoc_h_listen_intval() 1946 struct ieee80211_vif *vif, ath10k_peer_assoc_h_basic() 1950 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_basic() 1955 if (vif->type == NL80211_IFTYPE_STATION) ath10k_peer_assoc_h_basic() 1956 aid = vif->bss_conf.aid; ath10k_peer_assoc_h_basic() 1964 arg->peer_listen_intval = ath10k_peer_assoc_h_listen_intval(ar, vif); ath10k_peer_assoc_h_basic() 1966 arg->peer_caps = vif->bss_conf.assoc_capability; ath10k_peer_assoc_h_basic() 1970 struct ieee80211_vif *vif, ath10k_peer_assoc_h_crypto() 1973 struct ieee80211_bss_conf *info = &vif->bss_conf; ath10k_peer_assoc_h_crypto() 1981 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) ath10k_peer_assoc_h_crypto() 2015 struct ieee80211_vif *vif, ath10k_peer_assoc_h_rates() 2019 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_rates() 2031 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) ath10k_peer_assoc_h_rates() 2077 struct ieee80211_vif *vif, ath10k_peer_assoc_h_ht() 2082 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_ht() 2093 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) ath10k_peer_assoc_h_ht() 2301 struct ieee80211_vif *vif, ath10k_peer_assoc_h_vht() 2306 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_vht() 2312 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) ath10k_peer_assoc_h_vht() 2360 struct ieee80211_vif *vif, ath10k_peer_assoc_h_qos() 2364 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_qos() 2377 if (vif->bss_conf.qos) ath10k_peer_assoc_h_qos() 2399 struct ieee80211_vif *vif, ath10k_peer_assoc_h_phymode() 2403 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_phymode() 2410 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) ath10k_peer_assoc_h_phymode() 2473 struct ieee80211_vif *vif, ath10k_peer_assoc_prepare() 2481 ath10k_peer_assoc_h_basic(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2482 ath10k_peer_assoc_h_crypto(ar, vif, arg); ath10k_peer_assoc_prepare() 2483 ath10k_peer_assoc_h_rates(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2484 ath10k_peer_assoc_h_ht(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2485 ath10k_peer_assoc_h_vht(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2486 ath10k_peer_assoc_h_qos(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2487 ath10k_peer_assoc_h_phymode(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 2520 struct ieee80211_vif *vif, ath10k_mac_vif_recalc_txbf() 2523 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_vif_recalc_txbf() 2586 struct ieee80211_vif *vif, ath10k_bss_assoc() 2590 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_assoc() 2604 ap_sta = ieee80211_find_sta(vif, bss_conf->bssid); ath10k_bss_assoc() 2617 ret = ath10k_peer_assoc_prepare(ar, vif, ap_sta, &peer_arg); ath10k_bss_assoc() 2641 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); ath10k_bss_assoc() 2680 struct ieee80211_vif *vif) ath10k_bss_disassoc() 2683 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_disassoc() 2699 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); ath10k_bss_disassoc() 2712 struct ieee80211_vif *vif, ath10k_station_assoc() 2716 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_station_assoc() 2722 ret = ath10k_peer_assoc_prepare(ar, vif, sta, &peer_arg); ath10k_station_assoc() 2780 struct ieee80211_vif *vif, ath10k_station_disassoc() 2783 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_station_disassoc() 2999 struct ieee80211_vif *vif) ath10k_mac_tx_unlock_iter() 3002 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_tx_unlock_iter() 3086 struct ieee80211_vif *vif) ath10k_mac_handle_tx_pause_iter() 3088 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_handle_tx_pause_iter() 3129 static u8 ath10k_tx_h_get_vdev_id(struct ath10k *ar, struct ieee80211_vif *vif) ath10k_tx_h_get_vdev_id() argument 3131 if (vif) ath10k_tx_h_get_vdev_id() 3132 return ath10k_vif_to_arvif(vif)->vdev_id; ath10k_tx_h_get_vdev_id() 3142 ath10k_tx_h_get_txmode(struct ath10k *ar, struct ieee80211_vif *vif, ath10k_tx_h_get_txmode() argument 3148 if (!vif || vif->type == NL80211_IFTYPE_MONITOR) ath10k_tx_h_get_txmode() 3192 static bool ath10k_tx_h_use_hwcrypto(struct ieee80211_vif *vif, ath10k_tx_h_use_hwcrypto() argument 3199 if (vif) ath10k_tx_h_use_hwcrypto() 3200 return !ath10k_vif_to_arvif(vif)->nohwcrypt; ath10k_tx_h_use_hwcrypto() 3260 struct ieee80211_vif *vif, ath10k_tx_h_add_p2p_noa_ie() 3264 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_tx_h_add_p2p_noa_ie() 3635 struct ieee80211_vif *vif = info->control.vif; ath10k_tx() local 3647 ATH10K_SKB_CB(skb)->htt.nohwcrypt = !ath10k_tx_h_use_hwcrypto(vif, skb); ath10k_tx() 3648 ATH10K_SKB_CB(skb)->vdev_id = ath10k_tx_h_get_vdev_id(ar, vif); ath10k_tx() 3649 ATH10K_SKB_CB(skb)->txmode = ath10k_tx_h_get_txmode(ar, vif, sta, skb); ath10k_tx() 3656 ath10k_tx_h_add_p2p_noa_ie(ar, vif, skb); ath10k_tx() 3657 ath10k_tx_h_seq_no(vif, skb); ath10k_tx() 4286 struct ieee80211_vif *vif) ath10k_add_interface() 4289 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_add_interface() 4297 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; ath10k_add_interface() 4304 arvif->vif = vif; ath10k_add_interface() 4338 switch (vif->type) { ath10k_add_interface() 4346 if (vif->p2p) ath10k_add_interface() 4363 if (vif->p2p) ath10k_add_interface() 4374 /* Using vdev_id as queue number will make it very easy to do per-vif ath10k_add_interface() 4377 * queues for regular vif tx. ath10k_add_interface() 4379 vif->cab_queue = arvif->vdev_id % (IEEE80211_MAX_QUEUES - 1); ath10k_add_interface() 4380 for (i = 0; i < ARRAY_SIZE(vif->hw_queue); i++) ath10k_add_interface() 4381 vif->hw_queue[i] = arvif->vdev_id % (IEEE80211_MAX_QUEUES - 1); ath10k_add_interface() 4395 * DMA-coherent buffer for a lifetime of a vif and use it for all ath10k_add_interface() 4399 if (vif->type == NL80211_IFTYPE_ADHOC || ath10k_add_interface() 4400 vif->type == NL80211_IFTYPE_MESH_POINT || ath10k_add_interface() 4401 vif->type == NL80211_IFTYPE_AP) { ath10k_add_interface() 4427 arvif->vdev_subtype, vif->addr); ath10k_add_interface() 4462 if (ar->cfg_tx_chainmask && (vif->type != NL80211_IFTYPE_MONITOR)) { ath10k_add_interface() 4478 ret = ath10k_peer_create(ar, arvif->vdev_id, vif->addr, ath10k_add_interface() 4536 arvif->txpower = vif->bss_conf.txpower; ath10k_add_interface() 4543 if (vif->type == NL80211_IFTYPE_MONITOR) { ath10k_add_interface() 4563 ath10k_wmi_peer_delete(ar, arvif->vdev_id, vif->addr); ath10k_add_interface() 4591 struct ieee80211_vif *vif) ath10k_remove_interface() 4594 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_remove_interface() 4617 vif->addr); ath10k_remove_interface() 4639 vif->addr); ath10k_remove_interface() 4651 if (vif->type == NL80211_IFTYPE_MONITOR) { ath10k_remove_interface() 4699 struct ieee80211_vif *vif, ath10k_bss_info_changed() 4704 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_info_changed() 4711 ath10k_control_ibss(arvif, info, vif->addr); ath10k_bss_info_changed() 4744 if (ieee80211_vif_is_mesh(vif)) { ath10k_bss_info_changed() 4775 vif->type == NL80211_IFTYPE_AP) { ath10k_bss_info_changed() 4850 ath10k_bss_assoc(hw, vif, info); ath10k_bss_info_changed() 4853 ath10k_bss_disassoc(hw, vif); ath10k_bss_info_changed() 4868 arvif->ps = vif->bss_conf.ps; ath10k_bss_info_changed() 4880 struct ieee80211_vif *vif, ath10k_hw_scan() 4884 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_hw_scan() 4958 struct ieee80211_vif *vif) ath10k_cancel_hw_scan() 4979 * frames with multi-vif APs. This is not required for main firmware ath10k_set_key_h_def_keyidx() 4984 * FIXME: It remains unknown if this is required for multi-vif STA ath10k_set_key_h_def_keyidx() 5012 struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath10k_set_key() 5016 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_set_key() 5041 peer_addr = vif->bss_conf.bssid; ath10k_set_key() 5043 peer_addr = vif->addr; ath10k_set_key() 5086 if (vif->type == NL80211_IFTYPE_ADHOC && ath10k_set_key() 5111 if (is_wep && !sta && vif->type == NL80211_IFTYPE_STATION) { ath10k_set_key() 5151 struct ieee80211_vif *vif, ath10k_set_default_unicast_key() 5155 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_set_default_unicast_key() 5202 if (WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) ath10k_sta_rc_update_wk() 5264 err = ath10k_station_assoc(ar, arvif->vif, sta, true); ath10k_sta_rc_update_wk() 5314 struct ieee80211_vif *sta_vif = arsta->arvif->vif; ath10k_mac_tdls_vif_stations_count_iter() 5321 struct ieee80211_vif *vif) ath10k_mac_tdls_vif_stations_count() 5325 data.curr_vif = vif; ath10k_mac_tdls_vif_stations_count() 5334 struct ieee80211_vif *vif) ath10k_mac_tdls_vifs_count_iter() 5336 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_tdls_vifs_count_iter() 5339 if (vif->type != NL80211_IFTYPE_STATION) ath10k_mac_tdls_vifs_count_iter() 5342 if (ath10k_mac_tdls_vif_stations_count(arvif->ar->hw, vif) > 0) ath10k_mac_tdls_vifs_count_iter() 5358 struct ieee80211_vif *vif, ath10k_sta_state() 5364 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_sta_state() 5419 num_tdls_stations = ath10k_mac_tdls_vif_stations_count(hw, vif); ath10k_sta_state() 5433 /* This is the first tdls peer in current vif */ ath10k_sta_state() 5481 if (ath10k_mac_tdls_vif_stations_count(hw, vif)) ath10k_sta_state() 5484 /* This was the last tdls peer in current vif */ ath10k_sta_state() 5493 (vif->type == NL80211_IFTYPE_AP || ath10k_sta_state() 5494 vif->type == NL80211_IFTYPE_MESH_POINT || ath10k_sta_state() 5495 vif->type == NL80211_IFTYPE_ADHOC)) { ath10k_sta_state() 5502 ret = ath10k_station_assoc(ar, vif, sta, false); ath10k_sta_state() 5515 ret = ath10k_station_assoc(ar, vif, sta, false); ath10k_sta_state() 5529 (vif->type == NL80211_IFTYPE_AP || ath10k_sta_state() 5530 vif->type == NL80211_IFTYPE_MESH_POINT || ath10k_sta_state() 5531 vif->type == NL80211_IFTYPE_ADHOC)) { ath10k_sta_state() 5538 ret = ath10k_station_disassoc(ar, vif, sta); ath10k_sta_state() 5548 static int ath10k_conf_tx_uapsd(struct ath10k *ar, struct ieee80211_vif *vif, ath10k_conf_tx_uapsd() argument 5551 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_conf_tx_uapsd() 5655 struct ieee80211_vif *vif, u16 ac, ath10k_conf_tx() 5659 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_conf_tx() 5715 ret = ath10k_conf_tx_uapsd(ar, vif, ac, params->uapsd); ath10k_conf_tx() 5727 struct ieee80211_vif *vif, ath10k_remain_on_channel() 5733 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_remain_on_channel() 5871 static void ath10k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath10k_flush() argument 6195 struct ieee80211_vif *vif, ath10k_mac_op_set_bitrate_mask() 6198 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_op_set_bitrate_mask() 6211 if (ath10k_mac_vif_chan(vif, &def)) ath10k_mac_op_set_bitrate_mask() 6270 struct ieee80211_vif *vif, ath10k_sta_rc_update() 6342 static u64 ath10k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_get_tsf() argument 6353 struct ieee80211_vif *vif, ath10k_ampdu_action() 6359 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_ampdu_action() 6403 * on a linked list now. Doing a lookup peer -> vif -> chanctx for each ath10k_mac_update_rx_channel() 6454 arvif = ath10k_vif_to_arvif(vifs[i].vif); ath10k_mac_update_vif_chan() 6487 arvif = ath10k_vif_to_arvif(vifs[i].vif); ath10k_mac_update_vif_chan() 6579 struct ieee80211_vif *vif) ath10k_mac_change_chanctx_cnt_iter() 6583 if (rcu_access_pointer(vif->chanctx_conf) != arg->ctx) ath10k_mac_change_chanctx_cnt_iter() 6591 struct ieee80211_vif *vif) ath10k_mac_change_chanctx_fill_iter() 6596 ctx = rcu_access_pointer(vif->chanctx_conf); ath10k_mac_change_chanctx_fill_iter() 6603 arg->vifs[arg->next_vif].vif = vif; ath10k_mac_change_chanctx_fill_iter() 6668 struct ieee80211_vif *vif, ath10k_mac_op_assign_vif_chanctx() 6672 struct ath10k_vif *arvif = (void *)vif->drv_priv; ath10k_mac_op_assign_vif_chanctx() 6689 arvif->vdev_id, vif->addr, ath10k_mac_op_assign_vif_chanctx() 6703 if (vif->type == NL80211_IFTYPE_MONITOR) { ath10k_mac_op_assign_vif_chanctx() 6704 ret = ath10k_wmi_vdev_up(ar, arvif->vdev_id, 0, vif->addr); ath10k_mac_op_assign_vif_chanctx() 6729 struct ieee80211_vif *vif, ath10k_mac_op_unassign_vif_chanctx() 6733 struct ath10k_vif *arvif = (void *)vif->drv_priv; ath10k_mac_op_unassign_vif_chanctx() 6744 if (vif->type == NL80211_IFTYPE_MONITOR) { ath10k_mac_op_unassign_vif_chanctx() 7100 struct ieee80211_vif *vif) ath10k_get_arvif_iter() 7103 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_get_arvif_iter() 1855 ath10k_mac_handle_beacon_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_handle_beacon_iter() argument 1879 ath10k_mac_handle_beacon_miss_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_handle_beacon_miss_iter() argument 1928 ath10k_peer_assoc_h_listen_intval(struct ath10k *ar, struct ieee80211_vif *vif) ath10k_peer_assoc_h_listen_intval() argument 1945 ath10k_peer_assoc_h_basic(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_basic() argument 1969 ath10k_peer_assoc_h_crypto(struct ath10k *ar, struct ieee80211_vif *vif, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_crypto() argument 2014 ath10k_peer_assoc_h_rates(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_rates() argument 2076 ath10k_peer_assoc_h_ht(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_ht() argument 2300 ath10k_peer_assoc_h_vht(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_vht() argument 2359 ath10k_peer_assoc_h_qos(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_qos() argument 2398 ath10k_peer_assoc_h_phymode(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_h_phymode() argument 2472 ath10k_peer_assoc_prepare(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct wmi_peer_assoc_complete_arg *arg) ath10k_peer_assoc_prepare() argument 2519 ath10k_mac_vif_recalc_txbf(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta_vht_cap vht_cap) ath10k_mac_vif_recalc_txbf() argument 2585 ath10k_bss_assoc(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf) ath10k_bss_assoc() argument 2679 ath10k_bss_disassoc(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_bss_disassoc() argument 2711 ath10k_station_assoc(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, bool reassoc) ath10k_station_assoc() argument 2779 ath10k_station_disassoc(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath10k_station_disassoc() argument 2998 ath10k_mac_tx_unlock_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_tx_unlock_iter() argument 3085 ath10k_mac_handle_tx_pause_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_handle_tx_pause_iter() argument 3259 ath10k_tx_h_add_p2p_noa_ie(struct ath10k *ar, struct ieee80211_vif *vif, struct sk_buff *skb) ath10k_tx_h_add_p2p_noa_ie() argument 4285 ath10k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_add_interface() argument 4590 ath10k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_remove_interface() argument 4698 ath10k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) ath10k_bss_info_changed() argument 4879 ath10k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) ath10k_hw_scan() argument 4957 ath10k_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_cancel_hw_scan() argument 5011 ath10k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) ath10k_set_key() argument 5150 ath10k_set_default_unicast_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int keyidx) ath10k_set_default_unicast_key() argument 5320 ath10k_mac_tdls_vif_stations_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_mac_tdls_vif_stations_count() argument 5333 ath10k_mac_tdls_vifs_count_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_tdls_vifs_count_iter() argument 5357 ath10k_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, enum ieee80211_sta_state old_state, enum ieee80211_sta_state new_state) ath10k_sta_state() argument 5654 ath10k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 ac, const struct ieee80211_tx_queue_params *params) ath10k_conf_tx() argument 5726 ath10k_remain_on_channel(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel *chan, int duration, enum ieee80211_roc_type type) ath10k_remain_on_channel() argument 6194 ath10k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) ath10k_mac_op_set_bitrate_mask() argument 6269 ath10k_sta_rc_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u32 changed) ath10k_sta_rc_update() argument 6352 ath10k_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) ath10k_ampdu_action() argument 6578 ath10k_mac_change_chanctx_cnt_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_change_chanctx_cnt_iter() argument 6590 ath10k_mac_change_chanctx_fill_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_mac_change_chanctx_fill_iter() argument 6667 ath10k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) ath10k_mac_op_assign_vif_chanctx() argument 6728 ath10k_mac_op_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) ath10k_mac_op_unassign_vif_chanctx() argument 7099 ath10k_get_arvif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_get_arvif_iter() argument
|
H A D | testmode.h | 24 int ath10k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 40 struct ieee80211_vif *vif, ath10k_tm_cmd() 39 ath10k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void *data, int len) ath10k_tm_cmd() argument
|
H A D | debug.h | 85 struct ieee80211_vif *vif, 88 struct ieee80211_vif *vif, int sset); 90 struct ieee80211_vif *vif, 150 void ath10k_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | p2p.c | 133 struct ieee80211_vif *vif) ath10k_p2p_noa_update_vdev_iter() 135 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_p2p_noa_update_vdev_iter() 132 ath10k_p2p_noa_update_vdev_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_p2p_noa_update_vdev_iter() argument
|
/linux-4.4.14/include/net/ |
H A D | inetpeer.h | 21 int vif; member in struct:ipv4_addr_key 81 iaddr->a4.vif = 0; inetpeer_set_addr_v4() 109 int vif, int create) inet_getpeer_v4() 114 daddr.a4.vif = vif; inet_getpeer_v4() 107 inet_getpeer_v4(struct inet_peer_base *base, __be32 v4daddr, int vif, int create) inet_getpeer_v4() argument
|
H A D | mac80211.h | 102 * single per-vif queue for multicast data frames. 246 * struct ieee80211_vif_chanctx_switch - vif chanctx switch information 248 * This is structure is used to pass information about a vif that 253 * @vif: the vif that should be switched from old_ctx to new_ctx 254 * @old_ctx: the old context to which the vif was assigned 255 * @new_ctx: the new context to which the vif must be assigned 258 struct ieee80211_vif *vif; member in struct:ieee80211_vif_chanctx_switch 502 * @ssid: The SSID of the current vif. Valid in AP and IBSS mode. 504 * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. 507 * Power Control (TPC) in lower driver for the current vif. In particular 872 /* NB: vif can be NULL for injected frames */ 873 struct ieee80211_vif *vif; member in struct:ieee80211_tx_info::__anon13480::__anon13481 1392 static inline bool ieee80211_vif_is_mesh(struct ieee80211_vif *vif) ieee80211_vif_is_mesh() argument 1395 return vif->type == NL80211_IFTYPE_MESH_POINT; ieee80211_vif_is_mesh() 1401 * wdev_to_ieee80211_vif - return a vif struct from a wdev 1402 * @wdev: the wdev to get the vif for 1408 * associated with a vif that the driver knows about (e.g. monitor 1414 * ieee80211_vif_to_wdev - return a wdev struct from a vif 1415 * @vif: the vif to get the wdev for 1418 * (like the vendor commands) that needs to get the wdev for a vif. 1421 * associated with a vif that the driver knows about (e.g. monitor 1424 struct wireless_dev *ieee80211_vif_to_wdev(struct ieee80211_vif *vif); 1734 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 1735 * @sta: station table entry, %NULL for per-vif queue 1736 * @tid: the TID for this queue (unused for per-vif queue) 1744 struct ieee80211_vif *vif; member in struct:ieee80211_txq 2043 * entries for a vif. 2570 * 4 AC HW queues for 1st vif: 0, 1, 2, 3 2571 * 4 AC HW queues for 2nd vif: 4, 5, 6, 7 2579 * vif.hw_queue[IEEE80211_AC_VO] = 0 2580 * vif.hw_queue[IEEE80211_AC_VI] = 1 2581 * vif.hw_queue[IEEE80211_AC_BE] = 2 2582 * vif.hw_queue[IEEE80211_AC_BK] = 3 2583 * vif.cab_queue = 8 // if AP mode, otherwise %IEEE80211_INVAL_HW_QUEUE 2589 * Note that the vif.cab_queue value should be set to %IEEE80211_INVAL_HW_QUEUE 3057 * @testmode_cmd: Implement a cfg80211 test mode command. The passed @vif may 3066 * Note that vif can be NULL. 3185 * to vif. Possible use is for hw queue remapping. 3188 * unbound from vif. 3275 struct ieee80211_vif *vif); 3277 struct ieee80211_vif *vif, 3280 struct ieee80211_vif *vif); 3283 struct ieee80211_vif *vif, 3287 int (*start_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3288 void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3297 struct ieee80211_vif *vif, 3303 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 3306 struct ieee80211_vif *vif, 3311 struct ieee80211_vif *vif, 3314 struct ieee80211_vif *vif, int idx); 3315 int (*hw_scan)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3318 struct ieee80211_vif *vif); 3320 struct ieee80211_vif *vif, 3324 struct ieee80211_vif *vif); 3326 struct ieee80211_vif *vif, 3329 struct ieee80211_vif *vif); 3337 int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3339 int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3343 struct ieee80211_vif *vif, 3347 struct ieee80211_vif *vif, 3351 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3353 int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3358 struct ieee80211_vif *vif, 3361 struct ieee80211_vif *vif, 3365 struct ieee80211_vif *vif, 3368 struct ieee80211_vif *vif, 3372 struct ieee80211_vif *vif, u16 ac, 3374 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3375 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3377 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3380 struct ieee80211_vif *vif, 3389 int (*testmode_cmd)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3395 void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3398 struct ieee80211_vif *vif, 3404 struct ieee80211_vif *vif, 3413 int (*set_bitrate_mask)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3416 struct ieee80211_vif *vif, 3431 struct ieee80211_vif *vif, int sset); 3433 struct ieee80211_vif *vif, 3436 struct ieee80211_vif *vif, 3440 struct ieee80211_vif *vif); 3443 struct ieee80211_vif *vif); 3453 struct ieee80211_vif *vif, 3456 struct ieee80211_vif *vif, 3468 struct ieee80211_vif *vif, 3472 struct ieee80211_vif *vif, 3475 struct ieee80211_vif *vif, 3479 struct ieee80211_vif *vif); 3481 int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3482 void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3484 int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3488 struct ieee80211_vif *vif, 3493 struct ieee80211_vif *vif, 3496 struct ieee80211_vif *vif, 3909 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3915 void ieee80211_get_tx_rates(struct ieee80211_vif *vif, 4026 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4044 struct ieee80211_vif *vif, 4050 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4070 struct ieee80211_vif *vif, 4076 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4083 struct ieee80211_vif *vif) ieee80211_beacon_get() 4085 return ieee80211_beacon_get_tim(hw, vif, NULL, NULL); ieee80211_beacon_get() 4090 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4100 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif); 4104 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4110 void ieee80211_csa_finish(struct ieee80211_vif *vif); 4114 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4118 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif); 4124 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4134 struct ieee80211_vif *vif); 4139 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4151 struct ieee80211_vif *vif); 4156 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4168 struct ieee80211_vif *vif); 4191 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4202 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 4210 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4221 struct ieee80211_vif *vif, size_t frame_len, 4227 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4239 struct ieee80211_vif *vif, 4247 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4258 struct ieee80211_vif *vif, 4265 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4276 struct ieee80211_vif *vif, 4284 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4303 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 4454 * @vif: the virtual interface to add the key on 4482 ieee80211_gtk_rekey_add(struct ieee80211_vif *vif, 4487 * @vif: virtual interface the rekeying was done on 4492 void ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const u8 *bssid, 4608 struct ieee80211_vif *vif), 4629 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces() 4655 struct ieee80211_vif *vif), 4674 struct ieee80211_vif *vif), 4735 * @vif: &struct ieee80211_vif pointer from the add_interface callback 4743 void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, const u8 *ra, 4761 * @vif: &struct ieee80211_vif pointer from the add_interface callback 4769 void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, const u8 *ra, 4775 * @vif: virtual interface to look for station on 4783 struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_vif *vif, 4791 * @localaddr: local address (vif->sdata->vif.addr). Use NULL for 'any'. 4868 * @vif: virtual interface to iterate, may be %NULL for all 4884 struct ieee80211_vif *vif, 4886 struct ieee80211_vif *vif, 4921 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4933 struct ieee80211_vif *vif); 4938 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4944 void ieee80211_beacon_loss(struct ieee80211_vif *vif); 4949 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4960 void ieee80211_connection_loss(struct ieee80211_vif *vif); 4965 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4983 void ieee80211_resume_disconnect(struct ieee80211_vif *vif); 4989 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4997 void ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif, 5004 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5007 void ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp); 5018 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5024 void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success); 5028 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5035 void ieee80211_request_smps(struct ieee80211_vif *vif, 5060 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5064 void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 ba_rx_bitmap, 5073 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5078 void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn); 5090 * @vif: &struct ieee80211_vif pointer from the add_interface callback 5094 void ieee80211_start_rx_ba_session_offl(struct ieee80211_vif *vif, 5107 * @vif: &struct ieee80211_vif pointer from the add_interface callback 5111 void ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, 5313 ieee80211_vif_type_p2p(struct ieee80211_vif *vif) ieee80211_vif_type_p2p() argument 5315 return ieee80211_iftype_p2p(vif->type, vif->p2p); ieee80211_vif_type_p2p() 5318 void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif, 5322 void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif); 5327 * @vif: the specified virtual interface 5329 * Note: This function assumes that the given vif is valid. 5334 int ieee80211_ave_rssi(struct ieee80211_vif *vif); 5338 * @vif: virtual interface 5344 void ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, 5351 * @vif: virtual interface 5359 struct ieee80211_vif *vif, struct sk_buff *skb, 5411 * @vif: virtual interface 5419 void ieee80211_tdls_oper_request(struct ieee80211_vif *vif, const u8 *peer, 4082 ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_beacon_get() argument 4627 ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) ieee80211_iterate_active_interfaces() argument
|
/linux-4.4.14/drivers/net/wireless/libertas_tf/ |
H A D | main.c | 205 priv->vif = NULL; lbtf_init_adapter() 257 if ((priv->vif->type == NL80211_IFTYPE_AP) && lbtf_tx_work() 369 struct ieee80211_vif *vif) lbtf_op_add_interface() 373 if (priv->vif != NULL) lbtf_op_add_interface() 376 priv->vif = vif; lbtf_op_add_interface() 377 switch (vif->type) { lbtf_op_add_interface() 386 priv->vif = NULL; lbtf_op_add_interface() 389 lbtf_set_mac_address(priv, (u8 *) vif->addr); lbtf_op_add_interface() 395 struct ieee80211_vif *vif) lbtf_op_remove_interface() 400 if (priv->vif->type == NL80211_IFTYPE_AP || lbtf_op_remove_interface() 401 priv->vif->type == NL80211_IFTYPE_MESH_POINT) lbtf_op_remove_interface() 405 priv->vif = NULL; lbtf_op_remove_interface() 487 struct ieee80211_vif *vif, lbtf_op_bss_info_changed() 496 switch (priv->vif->type) { lbtf_op_bss_info_changed() 499 beacon = ieee80211_beacon_get(hw, vif); lbtf_op_bss_info_changed() 717 if (priv->vif->type != NL80211_IFTYPE_AP) lbtf_bcn_sent() 723 while ((skb = ieee80211_get_buffered_bc(priv->hw, priv->vif))) { lbtf_bcn_sent() 733 skb = ieee80211_beacon_get(priv->hw, priv->vif); lbtf_bcn_sent() 368 lbtf_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) lbtf_op_add_interface() argument 394 lbtf_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) lbtf_op_remove_interface() argument 486 lbtf_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) lbtf_op_bss_info_changed() argument
|
/linux-4.4.14/net/ipv4/ |
H A D | ipmr.c | 100 /* Big lock, protecting vif table, mrt cache and mroute socket state. 721 /* Is vif busy ? */ vif_add() 1200 * Close the multicast socket, and clear the vif tables etc 1209 /* Shut down all active vif entries */ mroute_clean_tables() 1273 struct vifctl vif; ip_mroute_setsockopt() local 1319 if (optlen != sizeof(vif)) ip_mroute_setsockopt() 1321 if (copy_from_user(&vif, optval, sizeof(vif))) ip_mroute_setsockopt() 1323 if (vif.vifc_vifi >= MAXVIFS) ip_mroute_setsockopt() 1327 ret = vif_add(net, mrt, &vif, ip_mroute_setsockopt() 1330 ret = vif_delete(mrt, vif.vifc_vifi, 0, NULL); ip_mroute_setsockopt() 1486 struct vif_device *vif; ipmr_ioctl() local 1502 vif = &mrt->vif_table[vr.vifi]; ipmr_ioctl() 1504 vr.icount = vif->pkt_in; ipmr_ioctl() 1505 vr.ocount = vif->pkt_out; ipmr_ioctl() 1506 vr.ibytes = vif->bytes_in; ipmr_ioctl() 1507 vr.obytes = vif->bytes_out; ipmr_ioctl() 1560 struct vif_device *vif; ipmr_compat_ioctl() local 1576 vif = &mrt->vif_table[vr.vifi]; ipmr_compat_ioctl() 1578 vr.icount = vif->pkt_in; ipmr_compat_ioctl() 1579 vr.ocount = vif->pkt_out; ipmr_compat_ioctl() 1580 vr.ibytes = vif->bytes_in; ipmr_compat_ioctl() 1581 vr.obytes = vif->bytes_out; ipmr_compat_ioctl() 1696 struct vif_device *vif = &mrt->vif_table[vifi]; ipmr_queue_xmit() local 1702 if (!vif->dev) ipmr_queue_xmit() 1706 if (vif->flags & VIFF_REGISTER) { ipmr_queue_xmit() 1707 vif->pkt_out++; ipmr_queue_xmit() 1708 vif->bytes_out += skb->len; ipmr_queue_xmit() 1709 vif->dev->stats.tx_bytes += skb->len; ipmr_queue_xmit() 1710 vif->dev->stats.tx_packets++; ipmr_queue_xmit() 1716 if (vif->flags & VIFF_TUNNEL) { ipmr_queue_xmit() 1718 vif->remote, vif->local, ipmr_queue_xmit() 1721 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1729 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1754 vif->pkt_out++; ipmr_queue_xmit() 1755 vif->bytes_out += skb->len; ipmr_queue_xmit() 1764 if (vif->flags & VIFF_TUNNEL) { ipmr_queue_xmit() 1765 ip_encap(net, skb, vif->local, vif->remote); ipmr_queue_xmit() 1767 vif->dev->stats.tx_packets++; ipmr_queue_xmit() 1768 vif->dev->stats.tx_bytes += skb->len; ipmr_queue_xmit() 1811 int vif, ct; ip_mr_forward() local 1814 vif = cache->mfc_parent; ip_mr_forward() 1824 cache_proxy = ipmr_cache_find_any_parent(mrt, vif); ip_mr_forward() 1833 if (mrt->vif_table[vif].dev != skb->dev) { ip_mr_forward() 1868 mrt->vif_table[vif].pkt_in++; ip_mr_forward() 1869 mrt->vif_table[vif].bytes_in += skb->len; ip_mr_forward() 1995 int vif = ipmr_find_vif(mrt, skb->dev); ip_mr_input() local 1997 if (vif >= 0) ip_mr_input() 1999 vif); ip_mr_input() 2006 int vif; ip_mr_input() local 2017 vif = ipmr_find_vif(mrt, skb->dev); ip_mr_input() 2018 if (vif >= 0) { ip_mr_input() 2019 int err2 = ipmr_cache_unresolved(mrt, vif, skb); ip_mr_input() 2206 int vif = ipmr_find_vif(mrt, skb->dev); ipmr_get_route() local 2208 if (vif >= 0) ipmr_get_route() 2209 cache = ipmr_cache_find_any(mrt, daddr, vif); ipmr_get_route() 2215 int vif = -1; ipmr_get_route() local 2225 vif = ipmr_find_vif(mrt, dev); ipmr_get_route() 2226 if (vif < 0) { ipmr_get_route() 2245 err = ipmr_cache_unresolved(mrt, vif, skb2); ipmr_get_route() 2492 const struct vif_device *vif = v; ipmr_vif_seq_show() local 2493 const char *name = vif->dev ? vif->dev->name : "none"; ipmr_vif_seq_show() 2497 vif - mrt->vif_table, ipmr_vif_seq_show() 2498 name, vif->bytes_in, vif->pkt_in, ipmr_vif_seq_show() 2499 vif->bytes_out, vif->pkt_out, ipmr_vif_seq_show() 2500 vif->flags, vif->local, vif->remote); ipmr_vif_seq_show()
|
H A D | ip_fragment.c | 81 int vif; /* L3 master device index */ member in struct:ipq 104 int vif; member in struct:ip4_create_arg 134 qp->vif == arg->vif; ip4_frag_match() 151 qp->vif = arg->vif; ip4_frag_init() 154 inet_getpeer_v4(net->ipv4.peers, arg->iph->saddr, arg->vif, 1) : ip4_frag_init() 254 u32 user, int vif) ip_find() 262 arg.vif = vif; ip_find() 660 int vif = l3mdev_master_ifindex_rcu(dev); ip_defrag() local 667 qp = ip_find(net, ip_hdr(skb), user, vif); ip_defrag() 253 ip_find(struct net *net, struct iphdr *iph, u32 user, int vif) ip_find() argument
|
/linux-4.4.14/drivers/net/wireless/ath/ath5k/ |
H A D | mac80211-ops.c | 74 ath5k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_add_interface() argument 78 struct ath5k_vif *avf = (void *)vif->drv_priv; ath5k_add_interface() 82 if ((vif->type == NL80211_IFTYPE_AP || ath5k_add_interface() 83 vif->type == NL80211_IFTYPE_ADHOC) ath5k_add_interface() 95 (ah->nvifs && vif->type == NL80211_IFTYPE_ADHOC)) { ath5k_add_interface() 101 switch (vif->type) { ath5k_add_interface() 106 avf->opmode = vif->type; ath5k_add_interface() 135 ah->bslot[avf->bslot] = vif; ath5k_add_interface() 147 ath5k_hw_set_lladdr(ah, vif->addr); ath5k_add_interface() 149 ath5k_update_bssid_mask_and_opmode(ah, vif); ath5k_add_interface() 159 struct ieee80211_vif *vif) ath5k_remove_interface() 162 struct ath5k_vif *avf = (void *)vif->drv_priv; ath5k_remove_interface() 172 if (ah->bslot[i] == vif) { ath5k_remove_interface() 228 * separately eg. when we have only one STA vif, use ath5k_config() 252 ath5k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath5k_bss_info_changed() argument 255 struct ath5k_vif *avf = (void *)vif->drv_priv; ath5k_bss_info_changed() 304 ath5k_beacon_update(hw, vif); ath5k_bss_info_changed() 474 struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath5k_set_key() 487 if (vif->type == NL80211_IFTYPE_ADHOC && ath5k_set_key() 513 ret = ath_key_config(common, vif, sta, key); ath5k_set_key() 540 struct ieee80211_vif *vif, ath5k_sw_scan_start() 550 ath5k_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_sw_scan_complete() argument 577 ath5k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, ath5k_conf_tx() argument 616 ath5k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_get_tsf() argument 625 ath5k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath5k_set_tsf() argument 634 ath5k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_reset_tsf() argument 158 ath5k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_remove_interface() argument 473 ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) ath5k_set_key() argument 539 ath5k_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) ath5k_sw_scan_start() argument
|
H A D | base.h | 91 void ath5k_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif); 98 int ath5k_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 103 struct ieee80211_vif *vif);
|
H A D | base.c | 478 void ath5k_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath5k_vif_iter() argument 482 struct ath5k_vif *avf = (void *)vif->drv_priv; ath5k_vif_iter() 520 struct ieee80211_vif *vif) ath5k_update_bssid_mask_and_opmode() 537 if (vif) ath5k_update_bssid_mask_and_opmode() 538 ath5k_vif_iter(&iter_data, vif->addr, vif); ath5k_update_bssid_mask_and_opmode() 757 ieee80211_get_tx_rates(info->control.vif, (control) ? control->sta : NULL, skb, bf->rates, ath5k_txbuf_setup() 787 info->control.vif, pktlen, info)); ath5k_txbuf_setup() 793 info->control.vif, pktlen, info)); ath5k_txbuf_setup() 1893 ath5k_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_beacon_update() argument 1900 if (WARN_ON(!vif)) { ath5k_beacon_update() 1905 skb = ieee80211_beacon_get(hw, vif); ath5k_beacon_update() 1912 avf = (void *)vif->drv_priv; ath5k_beacon_update() 1931 struct ieee80211_vif *vif; ath5k_beacon_send() local 1973 vif = ah->bslot[(slot + 1) % ATH_BCBUF]; ath5k_beacon_send() 1975 "tsf %llx tsftu %x intval %u slot %u vif %p\n", ath5k_beacon_send() 1976 (unsigned long long)tsf, tsftu, ah->bintval, slot, vif); ath5k_beacon_send() 1978 vif = ah->bslot[0]; ath5k_beacon_send() 1980 if (!vif) ath5k_beacon_send() 1983 avf = (void *)vif->drv_priv; ath5k_beacon_send() 1999 err = ath5k_beacon_update(ah->hw, vif); ath5k_beacon_send() 2017 skb = ieee80211_get_buffered_bc(ah->hw, vif); ath5k_beacon_send() 2024 skb = ieee80211_get_buffered_bc(ah->hw, vif); ath5k_beacon_send() 519 ath5k_update_bssid_mask_and_opmode(struct ath5k_hw *ah, struct ieee80211_vif *vif) ath5k_update_bssid_mask_and_opmode() argument
|
/linux-4.4.14/drivers/net/wireless/ |
H A D | mac80211_hwsim.c | 185 static inline void hwsim_check_magic(struct ieee80211_vif *vif) hwsim_check_magic() argument 187 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; hwsim_check_magic() 190 vif, vp->magic, vif->addr, vif->type, vif->p2p); hwsim_check_magic() 193 static inline void hwsim_set_magic(struct ieee80211_vif *vif) hwsim_set_magic() argument 195 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; hwsim_set_magic() 199 static inline void hwsim_clear_magic(struct ieee80211_vif *vif) hwsim_clear_magic() argument 201 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; hwsim_clear_magic() 608 static void hwsim_send_ps_poll(void *dat, u8 *mac, struct ieee80211_vif *vif) hwsim_send_ps_poll() argument 611 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; hwsim_send_ps_poll() 635 rcu_dereference(vif->chanctx_conf)->def.chan); hwsim_send_ps_poll() 640 struct ieee80211_vif *vif, int ps) hwsim_send_nullfunc() 642 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; hwsim_send_nullfunc() 667 rcu_dereference(vif->chanctx_conf)->def.chan); hwsim_send_nullfunc() 673 struct ieee80211_vif *vif) hwsim_send_nullfunc_ps() 676 hwsim_send_nullfunc(data, mac, vif, 1); hwsim_send_nullfunc_ps() 680 struct ieee80211_vif *vif) hwsim_send_nullfunc_no_ps() 683 hwsim_send_nullfunc(data, mac, vif, 0); hwsim_send_nullfunc_no_ps() 778 struct ieee80211_vif *vif) mac80211_hwsim_get_tsf() 785 struct ieee80211_vif *vif, u64 tsf) mac80211_hwsim_set_tsf() 788 u64 now = mac80211_hwsim_get_tsf(hw, vif); mac80211_hwsim_set_tsf() 897 struct ieee80211_vif *vif) mac80211_hwsim_addr_iter() 1057 struct ieee80211_vif *vif) mac80211_hwsim_tx_iter() 1061 if (!vif->chanctx_conf) mac80211_hwsim_tx_iter() 1065 rcu_dereference(vif->chanctx_conf)->def.chan)) mac80211_hwsim_tx_iter() 1266 chanctx_conf = rcu_dereference(txi->control.vif->chanctx_conf); mac80211_hwsim_tx() 1284 if (txi->control.vif) mac80211_hwsim_tx() 1285 hwsim_check_magic(txi->control.vif); mac80211_hwsim_tx() 1290 ieee80211_get_tx_rates(txi->control.vif, control->sta, skb, mac80211_hwsim_tx() 1344 struct ieee80211_vif *vif) mac80211_hwsim_add_interface() 1347 __func__, ieee80211_vif_type_p2p(vif), mac80211_hwsim_add_interface() 1348 vif->addr); mac80211_hwsim_add_interface() 1349 hwsim_set_magic(vif); mac80211_hwsim_add_interface() 1351 vif->cab_queue = 0; mac80211_hwsim_add_interface() 1352 vif->hw_queue[IEEE80211_AC_VO] = 0; mac80211_hwsim_add_interface() 1353 vif->hw_queue[IEEE80211_AC_VI] = 1; mac80211_hwsim_add_interface() 1354 vif->hw_queue[IEEE80211_AC_BE] = 2; mac80211_hwsim_add_interface() 1355 vif->hw_queue[IEEE80211_AC_BK] = 3; mac80211_hwsim_add_interface() 1362 struct ieee80211_vif *vif, mac80211_hwsim_change_interface() 1369 __func__, ieee80211_vif_type_p2p(vif), mac80211_hwsim_change_interface() 1370 newtype, vif->addr); mac80211_hwsim_change_interface() 1371 hwsim_check_magic(vif); mac80211_hwsim_change_interface() 1377 vif->cab_queue = 0; mac80211_hwsim_change_interface() 1383 struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_remove_interface() 1386 __func__, ieee80211_vif_type_p2p(vif), mac80211_hwsim_remove_interface() 1387 vif->addr); mac80211_hwsim_remove_interface() 1388 hwsim_check_magic(vif); mac80211_hwsim_remove_interface() 1389 hwsim_clear_magic(vif); mac80211_hwsim_remove_interface() 1400 ieee80211_get_tx_rates(txi->control.vif, NULL, skb, mac80211_hwsim_tx_frame() 1415 struct ieee80211_vif *vif) mac80211_hwsim_beacon_tx() 1424 hwsim_check_magic(vif); mac80211_hwsim_beacon_tx() 1426 if (vif->type != NL80211_IFTYPE_AP && mac80211_hwsim_beacon_tx() 1427 vif->type != NL80211_IFTYPE_MESH_POINT && mac80211_hwsim_beacon_tx() 1428 vif->type != NL80211_IFTYPE_ADHOC) mac80211_hwsim_beacon_tx() 1431 skb = ieee80211_beacon_get(hw, vif); mac80211_hwsim_beacon_tx() 1436 ieee80211_get_tx_rates(vif, NULL, skb, mac80211_hwsim_beacon_tx() 1450 rcu_dereference(vif->chanctx_conf)->def.chan); mac80211_hwsim_beacon_tx() 1452 if (vif->csa_active && ieee80211_csa_is_complete(vif)) mac80211_hwsim_beacon_tx() 1453 ieee80211_csa_finish(vif); mac80211_hwsim_beacon_tx() 1564 struct ieee80211_vif *vif) mac80211_hwsim_bcn_en_iter() 1567 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; mac80211_hwsim_bcn_en_iter() 1574 struct ieee80211_vif *vif, mac80211_hwsim_bss_info_changed() 1578 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; mac80211_hwsim_bss_info_changed() 1581 hwsim_check_magic(vif); mac80211_hwsim_bss_info_changed() 1583 wiphy_debug(hw->wiphy, "%s(changed=0x%x vif->addr=%pM)\n", mac80211_hwsim_bss_info_changed() 1584 __func__, changed, vif->addr); mac80211_hwsim_bss_info_changed() 1609 tsf = mac80211_hwsim_get_tsf(hw, vif); mac80211_hwsim_bss_info_changed() 1658 struct ieee80211_vif *vif, mac80211_hwsim_sta_add() 1661 hwsim_check_magic(vif); mac80211_hwsim_sta_add() 1668 struct ieee80211_vif *vif, mac80211_hwsim_sta_remove() 1671 hwsim_check_magic(vif); mac80211_hwsim_sta_remove() 1678 struct ieee80211_vif *vif, mac80211_hwsim_sta_notify() 1682 hwsim_check_magic(vif); mac80211_hwsim_sta_notify() 1705 struct ieee80211_vif *vif, u16 queue, mac80211_hwsim_conf_tx() 1772 struct ieee80211_vif *vif, mac80211_hwsim_testmode_cmd() 1819 struct ieee80211_vif *vif, mac80211_hwsim_ampdu_action() 1826 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); mac80211_hwsim_ampdu_action() 1831 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); mac80211_hwsim_ampdu_action() 1846 struct ieee80211_vif *vif, mac80211_hwsim_flush() 1908 struct ieee80211_vif *vif, mac80211_hwsim_hw_scan() 1920 hwsim->hw_scan_vif = vif; mac80211_hwsim_hw_scan() 1927 memcpy(hwsim->scan_addr, vif->addr, ETH_ALEN); mac80211_hwsim_hw_scan() 1938 struct ieee80211_vif *vif) mac80211_hwsim_cancel_hw_scan() 1955 struct ieee80211_vif *vif, mac80211_hwsim_sw_scan() 1977 struct ieee80211_vif *vif) mac80211_hwsim_sw_scan_complete() 2004 struct ieee80211_vif *vif, mac80211_hwsim_roc() 2079 struct ieee80211_vif *vif, mac80211_hwsim_assign_vif_chanctx() 2082 hwsim_check_magic(vif); mac80211_hwsim_assign_vif_chanctx() 2089 struct ieee80211_vif *vif, mac80211_hwsim_unassign_vif_chanctx() 2092 hwsim_check_magic(vif); mac80211_hwsim_unassign_vif_chanctx() 2111 struct ieee80211_vif *vif, mac80211_hwsim_get_et_strings() 2120 struct ieee80211_vif *vif, int sset) mac80211_hwsim_get_et_sset_count() 2128 struct ieee80211_vif *vif, mac80211_hwsim_get_et_stats() 639 hwsim_send_nullfunc(struct mac80211_hwsim_data *data, u8 *mac, struct ieee80211_vif *vif, int ps) hwsim_send_nullfunc() argument 672 hwsim_send_nullfunc_ps(void *dat, u8 *mac, struct ieee80211_vif *vif) hwsim_send_nullfunc_ps() argument 679 hwsim_send_nullfunc_no_ps(void *dat, u8 *mac, struct ieee80211_vif *vif) hwsim_send_nullfunc_no_ps() argument 777 mac80211_hwsim_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_get_tsf() argument 784 mac80211_hwsim_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) mac80211_hwsim_set_tsf() argument 896 mac80211_hwsim_addr_iter(void *data, u8 *mac, struct ieee80211_vif *vif) mac80211_hwsim_addr_iter() argument 1056 mac80211_hwsim_tx_iter(void *_data, u8 *addr, struct ieee80211_vif *vif) mac80211_hwsim_tx_iter() argument 1343 mac80211_hwsim_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_add_interface() argument 1361 mac80211_hwsim_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype newtype, bool newp2p) mac80211_hwsim_change_interface() argument 1382 mac80211_hwsim_remove_interface( struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_remove_interface() argument 1414 mac80211_hwsim_beacon_tx(void *arg, u8 *mac, struct ieee80211_vif *vif) mac80211_hwsim_beacon_tx() argument 1563 mac80211_hwsim_bcn_en_iter(void *data, u8 *mac, struct ieee80211_vif *vif) mac80211_hwsim_bcn_en_iter() argument 1573 mac80211_hwsim_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) mac80211_hwsim_bss_info_changed() argument 1657 mac80211_hwsim_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mac80211_hwsim_sta_add() argument 1667 mac80211_hwsim_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mac80211_hwsim_sta_remove() argument 1677 mac80211_hwsim_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) mac80211_hwsim_sta_notify() argument 1703 mac80211_hwsim_conf_tx( struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) mac80211_hwsim_conf_tx() argument 1771 mac80211_hwsim_testmode_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void *data, int len) mac80211_hwsim_testmode_cmd() argument 1818 mac80211_hwsim_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) mac80211_hwsim_ampdu_action() argument 1845 mac80211_hwsim_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) mac80211_hwsim_flush() argument 1907 mac80211_hwsim_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) mac80211_hwsim_hw_scan() argument 1937 mac80211_hwsim_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_cancel_hw_scan() argument 1954 mac80211_hwsim_sw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) mac80211_hwsim_sw_scan() argument 1976 mac80211_hwsim_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_sw_scan_complete() argument 2003 mac80211_hwsim_roc(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel *chan, int duration, enum ieee80211_roc_type type) mac80211_hwsim_roc() argument 2078 mac80211_hwsim_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) mac80211_hwsim_assign_vif_chanctx() argument 2088 mac80211_hwsim_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) mac80211_hwsim_unassign_vif_chanctx() argument 2110 mac80211_hwsim_get_et_strings(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 sset, u8 *data) mac80211_hwsim_get_et_strings() argument 2119 mac80211_hwsim_get_et_sset_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int sset) mac80211_hwsim_get_et_sset_count() argument 2127 mac80211_hwsim_get_et_stats(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ethtool_stats *stats, u64 *data) mac80211_hwsim_get_et_stats() argument
|
H A D | mwl8k.c | 311 struct ieee80211_vif *vif; member in struct:mwl8k_vif 313 /* Firmware macid for this vif. */ 415 #define MWL8K_CMD_SET_BEACON 0x0100 /* per-vif */ 429 #define MWL8K_CMD_SET_MAC_ADDR 0x0202 /* per-vif */ 432 #define MWL8K_CMD_DEL_MAC_ADDR 0x0206 /* per-vif */ 433 #define MWL8K_CMD_BSS_START 0x1100 /* per-vif */ 434 #define MWL8K_CMD_SET_NEW_STN 0x1111 /* per-vif */ 435 #define MWL8K_CMD_UPDATE_ENCRYPTION 0x1122 /* per-vif */ 1926 mwl8k_vif = MWL8K_VIF(tx_info->control.vif); mwl8k_txq_xmit() 2282 struct ieee80211_vif *vif, mwl8k_post_pervif_cmd() 2285 if (vif != NULL) mwl8k_post_pervif_cmd() 2286 cmd->macid = MWL8K_VIF(vif)->macid; mwl8k_post_pervif_cmd() 2949 struct ieee80211_vif *vif, u8 *beacon, int len) mwl8k_cmd_set_beacon() 2963 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_set_beacon() 3223 struct ieee80211_vif *vif, u32 legacy_rate_mask) mwl8k_cmd_set_aid() 3235 cmd->aid = cpu_to_le16(vif->bss_conf.aid); mwl8k_cmd_set_aid() 3236 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN); mwl8k_cmd_set_aid() 3238 if (vif->bss_conf.use_cts_prot) { mwl8k_cmd_set_aid() 3241 switch (vif->bss_conf.ht_operation_mode & mwl8k_cmd_set_aid() 3277 mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_cmd_set_rate() argument 3672 struct ieee80211_vif *vif, u8 *mac, bool set) mwl8k_cmd_update_mac_addr() 3675 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_cmd_update_mac_addr() 3681 if (vif != NULL && vif->type == NL80211_IFTYPE_STATION) { mwl8k_cmd_update_mac_addr() 3689 } else if (vif != NULL && vif->type == NL80211_IFTYPE_AP) { mwl8k_cmd_update_mac_addr() 3713 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_update_mac_addr() 3723 struct ieee80211_vif *vif, u8 *mac) mwl8k_cmd_set_mac_addr() 3725 return mwl8k_cmd_update_mac_addr(hw, vif, mac, true); mwl8k_cmd_set_mac_addr() 3732 struct ieee80211_vif *vif, u8 *mac) mwl8k_cmd_del_mac_addr() 3734 return mwl8k_cmd_update_mac_addr(hw, vif, mac, false); mwl8k_cmd_del_mac_addr() 3855 struct ieee80211_vif *vif, int enable) mwl8k_cmd_bss_start() 3858 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_cmd_bss_start() 3876 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_bss_start() 3892 struct ieee80211_vif *vif; mwl8k_enable_bsses() local 3895 vif = mwl8k_vif->vif; mwl8k_enable_bsses() 3900 if (vif->type == NL80211_IFTYPE_AP) mwl8k_enable_bsses() 3901 mwl8k_cmd_bss_start(hw, vif, enable); mwl8k_enable_bsses() 3955 struct ieee80211_vif *vif) mwl8k_check_ba() 3978 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_check_ba() 3987 u8 buf_size, struct ieee80211_vif *vif) mwl8k_create_ba() 4021 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_create_ba() 4080 struct ieee80211_vif *vif, mwl8k_cmd_set_new_stn_add() 4113 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_set_new_stn_add() 4120 struct ieee80211_vif *vif) mwl8k_cmd_set_new_stn_add_self() 4131 memcpy(cmd->mac_addr, vif->addr, ETH_ALEN); mwl8k_cmd_set_new_stn_add_self() 4133 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_set_new_stn_add_self() 4140 struct ieee80211_vif *vif, u8 *addr) mwl8k_cmd_set_new_stn_del() 4177 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_set_new_stn_del() 4246 struct ieee80211_vif *vif, mwl8k_cmd_update_encryption_enable() 4263 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_update_encryption_enable() 4311 struct ieee80211_vif *vif, mwl8k_cmd_encryption_set_key() 4320 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_cmd_encryption_set_key() 4363 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_encryption_set_key() 4371 struct ieee80211_vif *vif, mwl8k_cmd_encryption_remove_key() 4377 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_cmd_encryption_remove_key() 4393 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header); mwl8k_cmd_encryption_remove_key() 4402 struct ieee80211_vif *vif, mwl8k_set_key() 4409 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_set_key() 4412 if (vif->type == NL80211_IFTYPE_STATION && !priv->ap_fw) mwl8k_set_key() 4416 addr = vif->addr; mwl8k_set_key() 4421 rc = mwl8k_cmd_encryption_set_key(hw, vif, addr, key); mwl8k_set_key() 4431 rc = mwl8k_cmd_update_encryption_enable(hw, vif, addr, mwl8k_set_key() 4439 rc = mwl8k_cmd_encryption_remove_key(hw, vif, addr, key); mwl8k_set_key() 4508 struct ieee80211_vif *vif, mwl8k_cmd_update_stadb_add() 4527 p->basic_caps = cpu_to_le16(vif->bss_conf.assoc_capability); mwl8k_cmd_update_stadb_add() 4550 struct ieee80211_vif *vif, u8 *addr) mwl8k_cmd_update_stadb_del() 4784 struct ieee80211_vif *vif) mwl8k_add_interface() 4804 switch (vif->type) { mwl8k_add_interface() 4842 mwl8k_vif = MWL8K_VIF(vif); mwl8k_add_interface() 4844 mwl8k_vif->vif = vif; mwl8k_add_interface() 4847 memcpy(mwl8k_vif->bssid, vif->addr, ETH_ALEN); mwl8k_add_interface() 4851 mwl8k_cmd_set_mac_addr(hw, vif, vif->addr); mwl8k_add_interface() 4853 if (vif->type == NL80211_IFTYPE_AP) mwl8k_add_interface() 4854 mwl8k_cmd_set_new_stn_add_self(hw, vif); mwl8k_add_interface() 4862 static void mwl8k_remove_vif(struct mwl8k_priv *priv, struct mwl8k_vif *vif) mwl8k_remove_vif() argument 4868 priv->macids_used &= ~(1 << vif->macid); mwl8k_remove_vif() 4869 list_del(&vif->list); mwl8k_remove_vif() 4873 struct ieee80211_vif *vif) mwl8k_remove_interface() 4876 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_remove_interface() 4878 if (vif->type == NL80211_IFTYPE_AP) mwl8k_remove_interface() 4879 mwl8k_cmd_set_new_stn_del(hw, vif, vif->addr); mwl8k_remove_interface() 4881 mwl8k_cmd_del_mac_addr(hw, vif, vif->addr); mwl8k_remove_interface() 4982 mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_bss_info_changed_sta() argument 4996 if ((changed & BSS_CHANGED_ASSOC) && !vif->bss_conf.assoc) mwl8k_bss_info_changed_sta() 5002 if (vif->bss_conf.assoc) { mwl8k_bss_info_changed_sta() 5007 ap = ieee80211_find_sta(vif, vif->bss_conf.bssid); mwl8k_bss_info_changed_sta() 5025 rc = mwl8k_cmd_set_rate(hw, vif, mwl8k_bss_info_changed_sta() 5040 idx = ffs(vif->bss_conf.basic_rates); mwl8k_bss_info_changed_sta() 5057 vif->bss_conf.use_short_preamble); mwl8k_bss_info_changed_sta() 5063 rc = mwl8k_cmd_set_slot(hw, vif->bss_conf.use_short_slot); mwl8k_bss_info_changed_sta() 5068 if (vif->bss_conf.assoc && !priv->ap_fw && mwl8k_bss_info_changed_sta() 5071 rc = mwl8k_cmd_set_aid(hw, vif, ap_legacy_rates); mwl8k_bss_info_changed_sta() 5076 if (vif->bss_conf.assoc && mwl8k_bss_info_changed_sta() 5082 memcpy(priv->capture_bssid, vif->bss_conf.bssid, ETH_ALEN); mwl8k_bss_info_changed_sta() 5091 mwl8k_bss_info_changed_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_bss_info_changed_ap() argument 5101 vif->bss_conf.use_short_preamble); mwl8k_bss_info_changed_ap() 5115 idx = ffs(vif->bss_conf.basic_rates); mwl8k_bss_info_changed_ap() 5130 skb = ieee80211_beacon_get(hw, vif); mwl8k_bss_info_changed_ap() 5132 mwl8k_cmd_set_beacon(hw, vif, skb->data, skb->len); mwl8k_bss_info_changed_ap() 5138 mwl8k_cmd_bss_start(hw, vif, info->enable_beacon); mwl8k_bss_info_changed_ap() 5145 mwl8k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_bss_info_changed() argument 5148 if (vif->type == NL80211_IFTYPE_STATION) mwl8k_bss_info_changed() 5149 mwl8k_bss_info_changed_sta(hw, vif, info, changed); mwl8k_bss_info_changed() 5150 if (vif->type == NL80211_IFTYPE_AP) mwl8k_bss_info_changed() 5151 mwl8k_bss_info_changed_ap(hw, vif, info, changed); mwl8k_bss_info_changed() 5272 bssid = mwl8k_vif->vif->bss_conf.bssid; mwl8k_configure_filter() 5305 struct ieee80211_vif *vif, mwl8k_sta_remove() 5311 return mwl8k_cmd_set_new_stn_del(hw, vif, sta->addr); mwl8k_sta_remove() 5313 return mwl8k_cmd_update_stadb_del(hw, vif, sta->addr); mwl8k_sta_remove() 5317 struct ieee80211_vif *vif, mwl8k_sta_add() 5323 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_sta_add() 5327 ret = mwl8k_cmd_update_stadb_add(hw, vif, sta); mwl8k_sta_add() 5336 ret = mwl8k_cmd_set_new_stn_add(hw, vif, sta); mwl8k_sta_add() 5342 mwl8k_set_key(hw, SET_KEY, vif, sta, key); mwl8k_sta_add() 5348 struct ieee80211_vif *vif, u16 queue, mwl8k_conf_tx() 5423 mwl8k_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_ampdu_action() argument 5485 rc = mwl8k_check_ba(hw, stream, vif); mwl8k_ampdu_action() 5508 ieee80211_start_tx_ba_cb_irqsafe(vif, addr, tid); mwl8k_ampdu_action() 5522 ieee80211_stop_tx_ba_cb_irqsafe(vif, addr, tid); mwl8k_ampdu_action() 5528 rc = mwl8k_create_ba(hw, stream, buf_size, vif); mwl8k_ampdu_action() 5553 struct ieee80211_vif *vif, mwl8k_sw_scan_start() 5572 struct ieee80211_vif *vif) mwl8k_sw_scan_complete() 5994 struct mwl8k_vif *vif, *tmp_vif; mwl8k_reload_firmware() local 6005 list_for_each_entry_safe(vif, tmp_vif, &priv->vif_list, list) mwl8k_reload_firmware() 6006 mwl8k_remove_vif(priv, vif); mwl8k_reload_firmware() 2281 mwl8k_post_pervif_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct mwl8k_cmd_pkt *cmd) mwl8k_post_pervif_cmd() argument 2948 mwl8k_cmd_set_beacon(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *beacon, int len) mwl8k_cmd_set_beacon() argument 3222 mwl8k_cmd_set_aid(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 legacy_rate_mask) mwl8k_cmd_set_aid() argument 3671 mwl8k_cmd_update_mac_addr(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *mac, bool set) mwl8k_cmd_update_mac_addr() argument 3722 mwl8k_cmd_set_mac_addr(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *mac) mwl8k_cmd_set_mac_addr() argument 3731 mwl8k_cmd_del_mac_addr(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *mac) mwl8k_cmd_del_mac_addr() argument 3854 mwl8k_cmd_bss_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int enable) mwl8k_cmd_bss_start() argument 3954 mwl8k_check_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream, struct ieee80211_vif *vif) mwl8k_check_ba() argument 3986 mwl8k_create_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream, u8 buf_size, struct ieee80211_vif *vif) mwl8k_create_ba() argument 4079 mwl8k_cmd_set_new_stn_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_cmd_set_new_stn_add() argument 4119 mwl8k_cmd_set_new_stn_add_self(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mwl8k_cmd_set_new_stn_add_self() argument 4139 mwl8k_cmd_set_new_stn_del(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *addr) mwl8k_cmd_set_new_stn_del() argument 4245 mwl8k_cmd_update_encryption_enable(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *addr, u8 encr_type) mwl8k_cmd_update_encryption_enable() argument 4310 mwl8k_cmd_encryption_set_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *addr, struct ieee80211_key_conf *key) mwl8k_cmd_encryption_set_key() argument 4370 mwl8k_cmd_encryption_remove_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *addr, struct ieee80211_key_conf *key) mwl8k_cmd_encryption_remove_key() argument 4400 mwl8k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd_param, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) mwl8k_set_key() argument 4507 mwl8k_cmd_update_stadb_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_cmd_update_stadb_add() argument 4549 mwl8k_cmd_update_stadb_del(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u8 *addr) mwl8k_cmd_update_stadb_del() argument 4783 mwl8k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mwl8k_add_interface() argument 4872 mwl8k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mwl8k_remove_interface() argument 5304 mwl8k_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_sta_remove() argument 5316 mwl8k_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_sta_add() argument 5347 mwl8k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) mwl8k_conf_tx() argument 5552 mwl8k_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) mwl8k_sw_scan_start() argument 5571 mwl8k_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mwl8k_sw_scan_complete() argument
|
H A D | mac80211_hwsim.h | 124 * @HWSIM_ATTR_NO_VIF: Do not create vif (wlanX) when creating radio.
|
H A D | adm8211.c | 1257 struct ieee80211_vif *vif) adm8211_get_tsft() 1311 struct ieee80211_vif *vif, adm8211_bss_info_changed() 1391 struct ieee80211_vif *vif) adm8211_add_interface() 1397 switch (vif->type) { adm8211_add_interface() 1399 priv->mode = vif->type; adm8211_add_interface() 1407 ADM8211_CSR_WRITE(PAR0, le32_to_cpu(*(__le32 *)vif->addr)); adm8211_add_interface() 1408 ADM8211_CSR_WRITE(PAR1, le16_to_cpu(*(__le16 *)(vif->addr + 4))); adm8211_add_interface() 1418 struct ieee80211_vif *vif) adm8211_remove_interface() 1256 adm8211_get_tsft(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_get_tsft() argument 1310 adm8211_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changes) adm8211_bss_info_changed() argument 1390 adm8211_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_add_interface() argument 1417 adm8211_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_remove_interface() argument
|
/linux-4.4.14/drivers/net/wireless/ti/wl1251/ |
H A D | event.c | 131 if (wl->vif && wl->vif->type == NL80211_IFTYPE_STATION) wl1251_event_process() 132 ieee80211_beacon_loss(wl->vif); wl1251_event_process() 143 if (wl->vif && wl->rssi_thold) { wl1251_event_process() 147 ieee80211_cqm_rssi_notify(wl->vif, wl1251_event_process() 155 ieee80211_cqm_rssi_notify(wl->vif, wl1251_event_process()
|
H A D | main.c | 497 struct ieee80211_vif *vif) wl1251_op_add_interface() 502 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | wl1251_op_add_interface() 507 vif->type, vif->addr); wl1251_op_add_interface() 510 if (wl->vif) { wl1251_op_add_interface() 515 wl->vif = vif; wl1251_op_add_interface() 517 switch (vif->type) { wl1251_op_add_interface() 529 if (!ether_addr_equal_unaligned(wl->mac_addr, vif->addr)) { wl1251_op_add_interface() 530 memcpy(wl->mac_addr, vif->addr, ETH_ALEN); wl1251_op_add_interface() 543 struct ieee80211_vif *vif) wl1251_op_remove_interface() 549 wl->vif = NULL; wl1251_op_remove_interface() 565 skb = ieee80211_nullfunc_get(wl->hw, wl->vif); wl1251_build_null_data() 656 if (wl->vif == NULL) { wl1251_op_config() 883 struct ieee80211_vif *vif, wl1251_op_set_key() 989 struct ieee80211_vif *vif, wl1251_op_hw_scan() 1028 skb = ieee80211_probereq_get(wl->hw, wl->vif->addr, ssid, ssid_len, wl1251_op_hw_scan() 1094 struct ieee80211_vif *vif, wl1251_op_bss_info_changed() 1145 skb = ieee80211_pspoll_get(wl->hw, wl->vif); wl1251_op_bss_info_changed() 1206 beacon = ieee80211_beacon_get(hw, vif); wl1251_op_bss_info_changed() 1302 struct ieee80211_vif *vif, u16 queue, wl1251_op_conf_tx() 1551 wl->vif = NULL; wl1251_alloc_hw() 496 wl1251_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1251_op_add_interface() argument 542 wl1251_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1251_op_remove_interface() argument 882 wl1251_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) wl1251_op_set_key() argument 988 wl1251_op_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) wl1251_op_hw_scan() argument 1093 wl1251_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) wl1251_op_bss_info_changed() argument 1301 wl1251_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) wl1251_op_conf_tx() argument
|
/linux-4.4.14/include/xen/interface/io/ |
H A D | netif.h | 56 * the directory for that vif, and set its value to the maximum supported 82 * /local/domain/1/device/vif/0/multi-queue-num-queues = "2" 83 * /local/domain/1/device/vif/0/queue-0 = "" 84 * /local/domain/1/device/vif/0/queue-0/tx-ring-ref = "<ring-ref-tx0>" 85 * /local/domain/1/device/vif/0/queue-0/rx-ring-ref = "<ring-ref-rx0>" 86 * /local/domain/1/device/vif/0/queue-0/event-channel-tx = "<evtchn-tx0>" 87 * /local/domain/1/device/vif/0/queue-0/event-channel-rx = "<evtchn-rx0>" 88 * /local/domain/1/device/vif/0/queue-1 = "" 89 * /local/domain/1/device/vif/0/queue-1/tx-ring-ref = "<ring-ref-tx1>" 90 * /local/domain/1/device/vif/0/queue-1/rx-ring-ref = "<ring-ref-rx1" 91 * /local/domain/1/device/vif/0/queue-1/event-channel-tx = "<evtchn-tx1>" 92 * /local/domain/1/device/vif/0/queue-1/event-channel-rx = "<evtchn-rx1>"
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/ |
H A D | core.c | 236 struct ieee80211_vif *vif) rtl_op_add_interface() 242 if (mac->vif) { rtl_op_add_interface() 244 "vif has been set!! mac->vif = 0x%p\n", mac->vif); rtl_op_add_interface() 248 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER; rtl_op_add_interface() 253 switch (ieee80211_vif_type_p2p(vif)) { rtl_op_add_interface() 311 "operation mode %d is not support!\n", vif->type); rtl_op_add_interface() 318 "p2p role %x\n", vif->type); rtl_op_add_interface() 323 mac->vif = vif; rtl_op_add_interface() 324 mac->opmode = vif->type; rtl_op_add_interface() 325 rtlpriv->cfg->ops->set_network_type(hw, vif->type); rtl_op_add_interface() 326 memcpy(mac->mac_addr, vif->addr, ETH_ALEN); rtl_op_add_interface() 335 struct ieee80211_vif *vif) rtl_op_remove_interface() 343 if ((vif->type == NL80211_IFTYPE_AP) || rtl_op_remove_interface() 344 (vif->type == NL80211_IFTYPE_ADHOC) || rtl_op_remove_interface() 345 (vif->type == NL80211_IFTYPE_MESH_POINT)) { rtl_op_remove_interface() 358 mac->vif = NULL; rtl_op_remove_interface() 368 struct ieee80211_vif *vif, rtl_op_change_interface() 373 rtl_op_remove_interface(hw, vif); rtl_op_change_interface() 375 vif->type = new_type; rtl_op_change_interface() 376 vif->p2p = p2p; rtl_op_change_interface() 377 ret = rtl_op_add_interface(hw, vif); rtl_op_change_interface() 588 ieee80211_resume_disconnect(mac->vif); rtl_op_resume() 898 struct ieee80211_vif *vif, rtl_op_sta_add() 918 if (vif->type == NL80211_IFTYPE_ADHOC) rtl_op_sta_add() 927 if (vif->type == NL80211_IFTYPE_ADHOC) rtl_op_sta_add() 944 struct ieee80211_vif *vif, rtl_op_sta_remove() 990 struct ieee80211_vif *vif, u16 queue, rtl_op_conf_tx() 1014 struct ieee80211_vif *vif) send_beacon_frame() 1017 struct sk_buff *skb = ieee80211_beacon_get(hw, vif); send_beacon_frame() 1027 struct ieee80211_vif *vif, rtl_op_bss_info_changed() 1037 if ((vif->type == NL80211_IFTYPE_ADHOC) || rtl_op_bss_info_changed() 1038 (vif->type == NL80211_IFTYPE_AP) || rtl_op_bss_info_changed() 1039 (vif->type == NL80211_IFTYPE_MESH_POINT)) { rtl_op_bss_info_changed() 1056 send_beacon_frame(hw, vif); rtl_op_bss_info_changed() 1106 sta = ieee80211_find_sta(vif, (u8 *)bss_conf->bssid); rtl_op_bss_info_changed() 1142 if (vif->type == NL80211_IFTYPE_STATION && sta) rtl_op_bss_info_changed() 1174 rtlpriv->cfg->ops->set_network_type(hw, vif->type); rtl_op_bss_info_changed() 1225 sta = ieee80211_find_sta(vif, (u8 *)bss_conf->bssid); rtl_op_bss_info_changed() 1260 sta = ieee80211_find_sta(vif, (u8 *)bss_conf->bssid); rtl_op_bss_info_changed() 1291 if (vif->type == NL80211_IFTYPE_STATION) { rtl_op_bss_info_changed() 1329 static u64 rtl_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rtl_op_get_tsf() argument 1339 struct ieee80211_vif *vif, u64 tsf) rtl_op_set_tsf() 1349 static void rtl_op_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rtl_op_reset_tsf() argument 1358 struct ieee80211_vif *vif, rtl_op_sta_notify() 1373 struct ieee80211_vif *vif, rtl_op_ampdu_action() 1384 return rtl_tx_agg_start(hw, vif, sta, tid, ssn); rtl_op_ampdu_action() 1390 return rtl_tx_agg_stop(hw, vif, sta, tid); rtl_op_ampdu_action() 1413 struct ieee80211_vif *vif, rtl_op_sw_scan_start() 1450 struct ieee80211_vif *vif) rtl_op_sw_scan_complete() 1484 struct ieee80211_vif *vif, struct ieee80211_sta *sta, rtl_op_set_key() 1502 if (((vif->type == NL80211_IFTYPE_ADHOC) || rtl_op_set_key() 1503 (vif->type == NL80211_IFTYPE_MESH_POINT)) && rtl_op_set_key() 1549 vif->type == NL80211_IFTYPE_ADHOC) rtl_op_set_key() 1569 if (vif->type == NL80211_IFTYPE_AP || rtl_op_set_key() 1570 vif->type == NL80211_IFTYPE_MESH_POINT) { rtl_op_set_key() 1578 if ((!group_key) || (vif->type == NL80211_IFTYPE_ADHOC) || rtl_op_set_key() 1653 if (vif->type == NL80211_IFTYPE_AP || rtl_op_set_key() 1654 vif->type == NL80211_IFTYPE_MESH_POINT) { rtl_op_set_key() 1715 struct ieee80211_vif *vif, rtl_op_flush() 235 rtl_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rtl_op_add_interface() argument 334 rtl_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rtl_op_remove_interface() argument 367 rtl_op_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) rtl_op_change_interface() argument 897 rtl_op_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) rtl_op_sta_add() argument 943 rtl_op_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) rtl_op_sta_remove() argument 989 rtl_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *param) rtl_op_conf_tx() argument 1013 send_beacon_frame(struct ieee80211_hw *hw, struct ieee80211_vif *vif) send_beacon_frame() argument 1026 rtl_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) rtl_op_bss_info_changed() argument 1338 rtl_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) rtl_op_set_tsf() argument 1357 rtl_op_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) rtl_op_sta_notify() argument 1372 rtl_op_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) rtl_op_ampdu_action() argument 1412 rtl_op_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) rtl_op_sw_scan_start() argument 1449 rtl_op_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rtl_op_sw_scan_complete() argument 1483 rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) rtl_op_set_key() argument 1714 rtl_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) rtl_op_flush() argument
|
H A D | base.h | 127 int rtl_tx_agg_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 129 int rtl_tx_agg_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
/linux-4.4.14/net/ipv6/ |
H A D | ip6mr.c | 83 /* Big lock, protecting vif table, mrt cache and mroute socket state. 453 const struct mif_device *vif = v; ip6mr_vif_seq_show() local 454 const char *name = vif->dev ? vif->dev->name : "none"; ip6mr_vif_seq_show() 458 vif - mrt->vif6_table, ip6mr_vif_seq_show() 459 name, vif->bytes_in, vif->pkt_in, ip6mr_vif_seq_show() 460 vif->bytes_out, vif->pkt_out, ip6mr_vif_seq_show() 461 vif->flags); ip6mr_vif_seq_show() 935 /* Is vif busy ? */ mif6_add() 1538 * Close the multicast socket, and clear the vif tables etc 1548 * Shut down all active vif entries mroute_clean_tables() 1660 struct mif6ctl vif; ip6_mroute_setsockopt() local 1689 if (optlen < sizeof(vif)) ip6_mroute_setsockopt() 1691 if (copy_from_user(&vif, optval, sizeof(vif))) ip6_mroute_setsockopt() 1693 if (vif.mif6c_mifi >= MAXMIFS) ip6_mroute_setsockopt() 1696 ret = mif6_add(net, mrt, &vif, sk == mrt->mroute6_sk); ip6_mroute_setsockopt() 1857 struct mif_device *vif; ip6mr_ioctl() local 1873 vif = &mrt->vif6_table[vr.mifi]; ip6mr_ioctl() 1875 vr.icount = vif->pkt_in; ip6mr_ioctl() 1876 vr.ocount = vif->pkt_out; ip6mr_ioctl() 1877 vr.ibytes = vif->bytes_in; ip6mr_ioctl() 1878 vr.obytes = vif->bytes_out; ip6mr_ioctl() 1931 struct mif_device *vif; ip6mr_compat_ioctl() local 1947 vif = &mrt->vif6_table[vr.mifi]; ip6mr_compat_ioctl() 1949 vr.icount = vif->pkt_in; ip6mr_compat_ioctl() 1950 vr.ocount = vif->pkt_out; ip6mr_compat_ioctl() 1951 vr.ibytes = vif->bytes_in; ip6mr_compat_ioctl() 1952 vr.obytes = vif->bytes_out; ip6mr_compat_ioctl() 2002 struct mif_device *vif = &mrt->vif6_table[vifi]; ip6mr_forward2() local 2007 if (!vif->dev) ip6mr_forward2() 2011 if (vif->flags & MIFF_REGISTER) { ip6mr_forward2() 2012 vif->pkt_out++; ip6mr_forward2() 2013 vif->bytes_out += skb->len; ip6mr_forward2() 2014 vif->dev->stats.tx_bytes += skb->len; ip6mr_forward2() 2015 vif->dev->stats.tx_packets++; ip6mr_forward2() 2024 .flowi6_oif = vif->link, ip6mr_forward2() 2048 dev = vif->dev; ip6mr_forward2() 2050 vif->pkt_out++; ip6mr_forward2() 2051 vif->bytes_out += skb->len; ip6mr_forward2() 2087 int vif, ct; ip6_mr_forward() local 2090 vif = cache->mf6c_parent; ip6_mr_forward() 2100 cache_proxy = ip6mr_cache_find_any_parent(mrt, vif); ip6_mr_forward() 2109 if (mrt->vif6_table[vif].dev != skb->dev) { ip6_mr_forward() 2129 mrt->vif6_table[vif].pkt_in++; ip6_mr_forward() 2130 mrt->vif6_table[vif].bytes_in += skb->len; ip6_mr_forward() 2198 int vif = ip6mr_find_vif(mrt, skb->dev); ip6_mr_input() local 2200 if (vif >= 0) ip6_mr_input() 2203 vif); ip6_mr_input() 2210 int vif; ip6_mr_input() local 2212 vif = ip6mr_find_vif(mrt, skb->dev); ip6_mr_input() 2213 if (vif >= 0) { ip6_mr_input() 2214 int err = ip6mr_cache_unresolved(mrt, vif, skb); ip6_mr_input() 2293 int vif = ip6mr_find_vif(mrt, skb->dev); ip6mr_get_route() local 2295 if (vif >= 0) ip6mr_get_route() 2297 vif); ip6mr_get_route() 2304 int vif; ip6mr_get_route() local 2312 if (!dev || (vif = ip6mr_find_vif(mrt, dev)) < 0) { ip6mr_get_route() 2341 err = ip6mr_cache_unresolved(mrt, vif, skb2); ip6mr_get_route()
|
/linux-4.4.14/drivers/net/wireless/rsi/ |
H A D | rsi_91x_mac80211.c | 290 * @vif: Pointer to the ieee80211_vif structure. 295 struct ieee80211_vif *vif) rsi_mac80211_add_interface() 302 switch (vif->type) { rsi_mac80211_add_interface() 306 adapter->vifs[0] = vif; rsi_mac80211_add_interface() 313 vif->type); rsi_mac80211_add_interface() 324 * @vif: Pointer to the ieee80211_vif structure. 329 struct ieee80211_vif *vif) rsi_mac80211_remove_interface() 335 if (vif->type == NL80211_IFTYPE_STATION) rsi_mac80211_remove_interface() 338 if (!memcmp(adapter->vifs[0], vif, sizeof(struct ieee80211_vif))) rsi_mac80211_remove_interface() 431 struct ieee80211_vif *vif = adapter->vifs[0]; rsi_get_connected_channel() local 432 if (vif) { rsi_get_connected_channel() 433 struct ieee80211_bss_conf *bss = &vif->bss_conf; rsi_get_connected_channel() 446 * @vif: Pointer to the ieee80211_vif structure. 453 struct ieee80211_vif *vif, rsi_mac80211_bss_info_changed() 505 * @vif: Pointer to the ieee80211_vif structure. 512 struct ieee80211_vif *vif, u16 queue, rsi_mac80211_conf_tx() 558 * @vif: Pointer to the ieee80211_vif structure. 564 struct ieee80211_vif *vif, rsi_hal_key_config() 602 * @vif: Pointer to the ieee80211_vif structure. 610 struct ieee80211_vif *vif, rsi_mac80211_set_key() 623 status = rsi_hal_key_config(hw, vif, key); rsi_mac80211_set_key() 644 status = rsi_hal_key_config(hw, vif, key); rsi_mac80211_set_key() 661 * @vif: Pointer to the ieee80211_vif structure. 672 struct ieee80211_vif *vif, rsi_mac80211_ampdu_action() 687 if (vif == adapter->vifs[ii]) rsi_mac80211_ampdu_action() 715 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); rsi_mac80211_ampdu_action() 728 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); rsi_mac80211_ampdu_action() 772 * @vif: Pointer to the ieee80211_vif structure. 778 struct ieee80211_vif *vif, rsi_mac80211_set_rate_mask() 960 * @vif: Pointer to the ieee80211_vif structure. 966 struct ieee80211_vif *vif, rsi_mac80211_sta_add() 993 * @vif: Pointer to the ieee80211_vif structure. 999 struct ieee80211_vif *vif, rsi_mac80211_sta_remove() 294 rsi_mac80211_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rsi_mac80211_add_interface() argument 328 rsi_mac80211_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rsi_mac80211_remove_interface() argument 452 rsi_mac80211_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) rsi_mac80211_bss_info_changed() argument 511 rsi_mac80211_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) rsi_mac80211_conf_tx() argument 563 rsi_hal_key_config(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_key_conf *key) rsi_hal_key_config() argument 608 rsi_mac80211_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) rsi_mac80211_set_key() argument 671 rsi_mac80211_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, unsigned short tid, unsigned short *ssn, unsigned char buf_size, bool amsdu) rsi_mac80211_ampdu_action() argument 777 rsi_mac80211_set_rate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) rsi_mac80211_set_rate_mask() argument 965 rsi_mac80211_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) rsi_mac80211_sta_add() argument 998 rsi_mac80211_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) rsi_mac80211_sta_remove() argument
|
H A D | rsi_91x_pkt.c | 41 bss = &info->control.vif->bss_conf; rsi_send_data_pkt() 160 bss = &info->control.vif->bss_conf; rsi_send_mgmt_pkt()
|
/linux-4.4.14/drivers/net/wireless/ti/wl18xx/ |
H A D | tx.c | 32 void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif, wl18xx_get_last_tx_rate() argument 64 if (fw_rate > CONF_HW_RATE_INDEX_MCS7_SGI && vif) { wl18xx_get_last_tx_rate() 65 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl18xx_get_last_tx_rate() 104 * first pass info->control.vif while it's valid, and then fill out wl18xx_tx_complete_packet() 107 wl18xx_get_last_tx_rate(wl, info->control.vif, wl18xx_tx_complete_packet()
|
/linux-4.4.14/drivers/net/wireless/p54/ |
H A D | main.c | 38 struct ieee80211_vif *vif, p54_sta_add_remove() 53 static void p54_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif, p54_sta_notify() argument 139 struct ieee80211_vif *vif) p54_beacon_update() 145 beacon = ieee80211_beacon_get(priv->hw, vif); p54_beacon_update() 227 struct ieee80211_vif *vif) p54_add_interface() 232 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER; p54_add_interface() 240 priv->vif = vif; p54_add_interface() 242 switch (vif->type) { p54_add_interface() 247 priv->mode = vif->type; p54_add_interface() 254 memcpy(priv->mac_addr, vif->addr, ETH_ALEN); p54_add_interface() 261 struct ieee80211_vif *vif) p54_remove_interface() 266 priv->vif = NULL; p54_remove_interface() 410 struct ieee80211_vif *vif, u16 queue, p54_conf_tx() 456 struct ieee80211_vif *vif, p54_bss_info_changed() 471 p54_beacon_update(priv, vif); p54_bss_info_changed() 504 struct ieee80211_vif *vif, struct ieee80211_sta *sta, p54_set_key() 672 static void p54_flush(struct ieee80211_hw *dev, struct ieee80211_vif *vif, p54_flush() argument 37 p54_sta_add_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) p54_sta_add_remove() argument 138 p54_beacon_update(struct p54_common *priv, struct ieee80211_vif *vif) p54_beacon_update() argument 226 p54_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) p54_add_interface() argument 260 p54_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) p54_remove_interface() argument 409 p54_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) p54_conf_tx() argument 455 p54_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) p54_bss_info_changed() argument 503 p54_set_key(struct ieee80211_hw *dev, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) p54_set_key() argument
|
/linux-4.4.14/drivers/staging/vt6656/ |
H A D | main_usb.c | 584 static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_add_interface() argument 588 priv->vif = vif; vnt_add_interface() 590 switch (vif->type) { vnt_add_interface() 609 priv->op_mode = vif->type; vnt_add_interface() 620 struct ieee80211_vif *vif) vnt_remove_interface() 624 switch (vif->type) { vnt_remove_interface() 692 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 748 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 840 struct ieee80211_vif *vif, struct ieee80211_sta *sta, vnt_set_key() 847 if (vnt_set_keys(hw, sta, vif, key)) vnt_set_key() 861 struct ieee80211_vif *vif, vnt_sw_scan_start() 872 struct ieee80211_vif *vif) vnt_sw_scan_complete() 890 static u64 vnt_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_get_tsf() argument 897 static void vnt_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, vnt_set_tsf() argument 902 vnt_update_next_tbtt(priv, tsf, vif->bss_conf.beacon_int); vnt_set_tsf() 905 static void vnt_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_reset_tsf() argument 619 vnt_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_remove_interface() argument 691 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument 839 vnt_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) vnt_set_key() argument 860 vnt_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *addr) vnt_sw_scan_start() argument 871 vnt_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_sw_scan_complete() argument
|
H A D | key.c | 122 struct ieee80211_vif *vif, struct ieee80211_key_conf *key) vnt_set_keys() 124 struct ieee80211_bss_conf *conf = &vif->bss_conf; vnt_set_keys() 121 vnt_set_keys(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct ieee80211_vif *vif, struct ieee80211_key_conf *key) vnt_set_keys() argument
|
H A D | wcmd.c | 127 if (!priv->vif) vnt_run_command() 130 vnt_beacon_make(priv, priv->vif); vnt_run_command()
|
H A D | key.h | 53 struct ieee80211_vif *vif, struct ieee80211_key_conf *key);
|
/linux-4.4.14/drivers/staging/wilc1000/ |
H A D | linux_wlan.c | 385 if (!memcmp(Bssid1, wilc->vif[i].bssid, ETH_ALEN) || GetIfHandler() 386 !memcmp(Bssid, wilc->vif[i].bssid, ETH_ALEN)) GetIfHandler() 387 return wilc->vif[i].ndev; GetIfHandler() 395 if (!memcmp(Bssid1, wilc->vif[i].bssid, ETH_ALEN) || GetIfHandler() 396 !memcmp(Bssid, wilc->vif[i].bssid, ETH_ALEN)) GetIfHandler() 397 return wilc->vif[i].ndev; GetIfHandler() 414 if (wilc->vif[i].ndev == wilc_netdev) { linux_wlan_set_bssid() 415 memcpy(wilc->vif[i].bssid, pBSSID, 6); linux_wlan_set_bssid() 431 if (memcmp(g_linux_wlan->vif[i].bssid, null_bssid, 6)) linux_wlan_get_num_conn_ifcs() 485 if (netif_queue_stopped(wl->vif[0].ndev)) linux_wlan_txq_task() 486 netif_wake_queue(wl->vif[0].ndev); linux_wlan_txq_task() 487 if (netif_queue_stopped(wl->vif[1].ndev)) linux_wlan_txq_task() 488 netif_wake_queue(wl->vif[1].ndev); linux_wlan_txq_task() 1253 if (ndev == wl->vif[i].ndev) { mac_open() 1254 memcpy(wl->vif[i].src_addr, mac_add, ETH_ALEN); mac_open() 1255 wl->vif[i].hif_drv = priv->hWILCWFIDrv; mac_open() 1261 memcpy(ndev->dev_addr, wl->vif[i].src_addr, ETH_ALEN); mac_open() 1415 tx_data->pBssid = wilc->vif[nic->u8IfIdx].bssid; mac_xmit() 1421 netif_stop_queue(wilc->vif[0].ndev); mac_xmit() 1422 netif_stop_queue(wilc->vif[1].ndev); mac_xmit() 1630 nic = netdev_priv(wilc->vif[i].ndev); WILC_WFI_mgmt_rx() 1637 nic = netdev_priv(wilc->vif[1].ndev); /* p2p0 */ WILC_WFI_mgmt_rx() 1640 WILC_WFI_p2p_rx(wilc->vif[1].ndev, buff, size); WILC_WFI_mgmt_rx() 1649 (g_linux_wlan->vif[0].ndev || g_linux_wlan->vif[1].ndev)) { wl_wlan_cleanup() 1653 nic[i] = netdev_priv(g_linux_wlan->vif[i].ndev); wl_wlan_cleanup() 1660 (g_linux_wlan->vif[0].ndev || g_linux_wlan->vif[1].ndev)) { wl_wlan_cleanup() 1664 if (g_linux_wlan->vif[i].ndev) wl_wlan_cleanup() 1666 mac_close(g_linux_wlan->vif[i].ndev); wl_wlan_cleanup() 1669 unregister_netdev(g_linux_wlan->vif[i].ndev); wl_wlan_cleanup() 1670 wilc_free_wiphy(g_linux_wlan->vif[i].ndev); wl_wlan_cleanup() 1671 free_netdev(g_linux_wlan->vif[i].ndev); wl_wlan_cleanup() 1727 g_linux_wlan->vif[g_linux_wlan->vif_num].ndev = ndev; wilc_netdev_init()
|
H A D | wilc_wfi_cfgoperations.c | 630 if ((pstrWFIDrv->IFC_UP) && (dev == wl->vif[1].ndev)) { CfgConnectResult() 635 else if ((!pstrWFIDrv->IFC_UP) && (dev == wl->vif[1].ndev)) { CfgConnectResult() 1265 if (!g_gtk_keys_saved && netdev == wl->vif[0].ndev) { add_key() 1301 if (!g_ptk_keys_saved && netdev == wl->vif[0].ndev) { add_key() 1370 if (netdev == wl->vif[0].ndev) { del_key() 2577 wl->vif[0].bssid, TID); change_virtual_intf() 2590 host_int_set_wfi_drv_handler(wl->vif[0].hif_drv); change_virtual_intf() 2591 host_int_set_MacAddress(wl->vif[0].hif_drv, change_virtual_intf() 2592 wl->vif[0].src_addr); change_virtual_intf() 2597 host_int_set_wep_default_key(wl->vif[0].hif_drv, change_virtual_intf() 2599 host_int_add_wep_key_bss_sta(wl->vif[0].hif_drv, change_virtual_intf() 2617 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2618 wl->vif[0].ndev, change_virtual_intf() 2624 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2625 wl->vif[0].ndev, change_virtual_intf() 2654 wl->vif[0].bssid, TID); change_virtual_intf() 2672 host_int_set_wfi_drv_handler(wl->vif[0].hif_drv); change_virtual_intf() 2673 host_int_set_MacAddress(wl->vif[0].hif_drv, change_virtual_intf() 2674 wl->vif[0].src_addr); change_virtual_intf() 2679 host_int_set_wep_default_key(wl->vif[0].hif_drv, change_virtual_intf() 2681 host_int_add_wep_key_bss_sta(wl->vif[0].hif_drv, change_virtual_intf() 2699 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2700 wl->vif[0].ndev, change_virtual_intf() 2706 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2707 wl->vif[0].ndev, change_virtual_intf() 2767 wl->vif[0].bssid, TID); change_virtual_intf() 2788 host_int_set_wfi_drv_handler(wl->vif[0].hif_drv); change_virtual_intf() 2789 host_int_set_MacAddress(wl->vif[0].hif_drv, change_virtual_intf() 2790 wl->vif[0].src_addr); change_virtual_intf() 2795 host_int_set_wep_default_key(wl->vif[0].hif_drv, change_virtual_intf() 2797 host_int_add_wep_key_bss_sta(wl->vif[0].hif_drv, change_virtual_intf() 2817 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2818 wl->vif[0].ndev, change_virtual_intf() 2824 add_key(wl->vif[0].ndev->ieee80211_ptr->wiphy, change_virtual_intf() 2825 wl->vif[0].ndev, change_virtual_intf() 2899 linux_wlan_set_bssid(dev, wl->vif[0].src_addr); start_ap()
|
H A D | wilc_wfi_netdevice.h | 166 struct wilc_vif vif[NUM_CONCURRENT_IFC]; member in struct:wilc
|
/linux-4.4.14/drivers/net/wireless/brcm80211/brcmsmac/ |
H A D | mac80211_if.c | 490 brcms_ops_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_add_interface() argument 495 if (vif->type != NL80211_IFTYPE_STATION && brcms_ops_add_interface() 496 vif->type != NL80211_IFTYPE_AP && brcms_ops_add_interface() 497 vif->type != NL80211_IFTYPE_ADHOC) { brcms_ops_add_interface() 500 __func__, vif->type); brcms_ops_add_interface() 507 if (vif->type == NL80211_IFTYPE_STATION) brcms_ops_add_interface() 508 brcms_c_start_station(wl->wlc, vif->addr); brcms_ops_add_interface() 509 else if (vif->type == NL80211_IFTYPE_AP) brcms_ops_add_interface() 510 brcms_c_start_ap(wl->wlc, vif->addr, vif->bss_conf.bssid, brcms_ops_add_interface() 511 vif->bss_conf.ssid, vif->bss_conf.ssid_len); brcms_ops_add_interface() 512 else if (vif->type == NL80211_IFTYPE_ADHOC) brcms_ops_add_interface() 513 brcms_c_start_adhoc(wl->wlc, vif->addr); brcms_ops_add_interface() 520 brcms_ops_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_remove_interface() argument 580 struct ieee80211_vif *vif, brcms_ops_bss_info_changed() 677 beacon = ieee80211_beacon_get_tim(hw, vif, &tim_offset, NULL); brcms_ops_bss_info_changed() 687 probe_resp = ieee80211_proberesp_get(hw, vif); brcms_ops_bss_info_changed() 765 struct ieee80211_vif *vif, brcms_ops_sw_scan_start() 776 struct ieee80211_vif *vif) brcms_ops_sw_scan_complete() 786 brcms_ops_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, brcms_ops_conf_tx() argument 799 brcms_ops_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, brcms_ops_sta_add() argument 820 struct ieee80211_vif *vif, brcms_ops_ampdu_action() 845 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); brcms_ops_ampdu_action() 854 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); brcms_ops_ampdu_action() 900 static void brcms_ops_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, brcms_ops_flush() argument 916 static u64 brcms_ops_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_get_tsf() argument 929 struct ieee80211_vif *vif, u64 tsf) brcms_ops_set_tsf() 579 brcms_ops_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) brcms_ops_bss_info_changed() argument 764 brcms_ops_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) brcms_ops_sw_scan_start() argument 775 brcms_ops_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_sw_scan_complete() argument 819 brcms_ops_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 *ssn, u8 buf_size, bool amsdu) brcms_ops_ampdu_action() argument 928 brcms_ops_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) brcms_ops_set_tsf() argument
|
/linux-4.4.14/drivers/net/wireless/iwlegacy/ |
H A D | common.c | 1120 dtim_period = il->vif ? il->vif->bss_conf.dtim_period : 0; il_build_powertable_cmd() 1494 struct ieee80211_vif *vif) il_get_passive_dwell_time() 1510 value = il->vif ? il->vif->bss_conf.beacon_int : 0; il_get_passive_dwell_time() 1533 il_scan_initiate(struct il_priv *il, struct ieee80211_vif *vif) il_scan_initiate() argument 1561 ret = il->ops->request_scan(il, vif); il_scan_initiate() 1574 il_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il_mac_hw_scan() argument 1597 il->scan_vif = vif; il_mac_hw_scan() 1600 ret = il_scan_initiate(il, vif); il_mac_hw_scan() 2462 il_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il_mac_sta_remove() argument 3646 struct ieee80211_vif *vif = il->vif; il_send_rxon_timing() local 3657 beacon_int = vif ? vif->bss_conf.beacon_int : 0; il_send_rxon_timing() 3676 il->timing.dtim_period = vif ? (vif->bss_conf.dtim_period ? : 1) : 1; il_send_rxon_timing() 3986 struct ieee80211_vif *vif) il_set_flags_for_band() 3995 if (vif && vif->bss_conf.use_short_slot) il_set_flags_for_band() 4032 IL_ERR("Unsupported interface type %d\n", il->vif->type); il_connection_init_rx_config() 4054 il_set_flags_for_band(il, il->band, il->vif); il_connection_init_rx_config() 4064 if (il->vif) il_connection_init_rx_config() 4065 memcpy(il->staging.node_addr, il->vif->addr, ETH_ALEN); il_connection_init_rx_config() 4110 ieee80211_chswitch_done(il->vif, is_success); il_chswitch_done() 4500 il_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, il_mac_conf_tx() argument 4567 il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) il_mac_add_interface() argument 4574 D_MAC80211("enter: type %d, addr %pM\n", vif->type, vif->addr); il_mac_add_interface() 4586 reset = (il->vif == vif); il_mac_add_interface() 4587 if (il->vif && !reset) { il_mac_add_interface() 4592 il->vif = vif; il_mac_add_interface() 4593 il->iw_mode = vif->type; il_mac_add_interface() 4597 IL_WARN("Fail to set mode %d\n", vif->type); il_mac_add_interface() 4599 il->vif = NULL; il_mac_add_interface() 4613 il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif) il_teardown_interface() argument 4617 if (il->scan_vif == vif) { il_teardown_interface() 4626 il_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) il_mac_remove_interface() argument 4631 D_MAC80211("enter: type %d, addr %pM\n", vif->type, vif->addr); il_mac_remove_interface() 4633 WARN_ON(il->vif != vif); il_mac_remove_interface() 4634 il->vif = NULL; il_mac_remove_interface() 4636 il_teardown_interface(il, vif); il_mac_remove_interface() 4721 il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il_mac_change_interface() argument 4729 vif->type, vif->addr, newtype, newp2p); il_mac_change_interface() 4736 if (!il->vif || !il_is_ready_rf(il)) { il_mac_change_interface() 4746 vif->type = newtype; il_mac_change_interface() 4747 vif->p2p = false; il_mac_change_interface() 4749 il_teardown_interface(il, vif); il_mac_change_interface() 4760 void il_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il_mac_flush() argument 5126 il_set_flags_for_band(il, channel->band, il->vif); il_mac_config() 5178 il_mac_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) il_mac_reset_tsf() argument 5184 D_MAC80211("enter: type %d, addr %pM\n", vif->type, vif->addr); il_mac_reset_tsf() 5217 il_ht_conf(struct il_priv *il, struct ieee80211_vif *vif) il_ht_conf() argument 5221 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; il_ht_conf() 5236 switch (vif->type) { il_ht_conf() 5239 sta = ieee80211_find_sta(vif, bss_conf->bssid); il_ht_conf() 5277 il_set_no_assoc(struct il_priv *il, struct ieee80211_vif *vif) il_set_no_assoc() argument 5290 il_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif) il_beacon_update() argument 5295 struct sk_buff *skb = ieee80211_beacon_get(hw, vif); il_beacon_update() 5332 il_mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il_mac_bss_info_changed() argument 5358 if (vif->bss_conf.enable_beacon) il_mac_bss_info_changed() 5401 if (vif->type == NL80211_IFTYPE_ADHOC && (changes & BSS_CHANGED_BEACON)) il_mac_bss_info_changed() 5402 il_beacon_update(hw, vif); il_mac_bss_info_changed() 5442 il_ht_conf(il, vif); il_mac_bss_info_changed() 5456 il_set_no_assoc(il, vif); il_mac_bss_info_changed() 5470 if (vif->bss_conf.enable_beacon) { il_mac_bss_info_changed() 5476 il_set_no_assoc(il, vif); il_mac_bss_info_changed() 5480 ret = il->ops->manage_ibss_station(il, vif, il_mac_bss_info_changed() 1493 il_get_passive_dwell_time(struct il_priv *il, enum ieee80211_band band, struct ieee80211_vif *vif) il_get_passive_dwell_time() argument 3985 il_set_flags_for_band(struct il_priv *il, enum ieee80211_band band, struct ieee80211_vif *vif) il_set_flags_for_band() argument
|
H A D | 4965.c | 1482 struct ieee80211_vif *vif = il->vif; il4965_hw_channel_switch() local 1485 if (WARN_ON_ONCE(vif == NULL)) il4965_hw_channel_switch() 1517 vif->bss_conf.beacon_int * switch_count * TIME_UNIT; il4965_hw_channel_switch() 1749 struct ieee80211_vif *vif = il->vif; il4965_post_associate() local 1752 if (!vif || !il->is_open) il4965_post_associate() 1774 il->staging.assoc_id = cpu_to_le16(vif->bss_conf.aid); il4965_post_associate() 1776 D_ASSOC("assoc id %d beacon interval %d\n", vif->bss_conf.aid, il4965_post_associate() 1777 vif->bss_conf.beacon_int); il4965_post_associate() 1779 if (vif->bss_conf.use_short_preamble) il4965_post_associate() 1785 if (vif->bss_conf.use_short_slot) il4965_post_associate() 1793 D_ASSOC("Associated as %d to: %pM\n", vif->bss_conf.aid, il4965_post_associate() 1796 switch (vif->type) { il4965_post_associate() 1804 vif->type); il4965_post_associate() 1822 struct ieee80211_vif *vif = il->vif; il4965_config_ap() local 1851 if (vif->bss_conf.use_short_preamble) il4965_config_ap() 1857 if (vif->bss_conf.use_short_slot) il4965_config_ap()
|
H A D | 4965.h | 84 int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif, 86 int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif, 111 int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif); 114 int il4965_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif, 177 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 180 struct ieee80211_vif *vif, 184 int il4965_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 188 int il4965_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 191 il4965_mac_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
/linux-4.4.14/drivers/staging/vt6655/ |
H A D | key.c | 114 struct ieee80211_vif *vif, struct ieee80211_key_conf *key) vnt_set_keys() 116 struct ieee80211_bss_conf *conf = &vif->bss_conf; vnt_set_keys() 113 vnt_set_keys(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct ieee80211_vif *vif, struct ieee80211_key_conf *key) vnt_set_keys() argument
|
H A D | device_main.c | 916 if (!(priv->vif->bss_conf.assoc && priv->uCurrRSSI)) vnt_check_bb_vga() 993 while (isr && priv->vif) { vnt_interrupt_process() 1014 priv->vif->bss_conf.enable_beacon) { vnt_interrupt_process() 1016 (priv->vif->bss_conf.beacon_int - MAKE_BEACON_RESERVED) << 10); vnt_interrupt_process() 1045 if (priv->vif->bss_conf.enable_beacon) vnt_interrupt_process() 1046 vnt_beacon_make(priv, priv->vif); vnt_interrupt_process() 1074 if (priv->vif) vnt_interrupt_work() 1082 if (priv->vif) vnt_interrupt() 1213 static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_add_interface() argument 1217 priv->vif = vif; vnt_add_interface() 1219 switch (vif->type) { vnt_add_interface() 1238 priv->op_mode = vif->type; vnt_add_interface() 1244 struct ieee80211_vif *vif) vnt_remove_interface() 1248 switch (vif->type) { vnt_remove_interface() 1314 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 1376 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 1485 struct ieee80211_vif *vif, struct ieee80211_sta *sta, vnt_set_key() 1492 if (vnt_set_keys(hw, sta, vif, key)) vnt_set_key() 1515 static u64 vnt_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_get_tsf() argument 1525 static void vnt_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, vnt_set_tsf() argument 1530 CARDvUpdateNextTBTT(priv, tsf, vif->bss_conf.beacon_int); vnt_set_tsf() 1533 static void vnt_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_reset_tsf() argument 1243 vnt_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_remove_interface() argument 1313 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument 1484 vnt_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) vnt_set_key() argument
|
H A D | key.h | 67 struct ieee80211_vif *vif, struct ieee80211_key_conf *key);
|
/linux-4.4.14/drivers/net/wireless/realtek/rtl818x/rtl8187/ |
H A D | dev.c | 264 rts_dur = ieee80211_rts_duration(dev, priv->vif, rtl8187_tx() 269 rts_dur = ieee80211_ctstoself_duration(dev, priv->vif, rtl8187_tx() 304 ieee80211_generic_frame_duration(dev, priv->vif, rtl8187_tx() 1056 static u64 rtl8187_get_tsf(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8187_get_tsf() argument 1069 struct ieee80211_vif *vif = rtl8187_beacon_work() local 1080 skb = ieee80211_beacon_get(dev, vif); rtl8187_beacon_work() 1089 mgmt->u.beacon.timestamp = cpu_to_le64(rtl8187_get_tsf(dev, vif)); rtl8187_beacon_work() 1102 usecs_to_jiffies(1024 * vif->bss_conf.beacon_int)); rtl8187_beacon_work() 1107 struct ieee80211_vif *vif) rtl8187_add_interface() 1115 if (priv->vif) rtl8187_add_interface() 1118 switch (vif->type) { rtl8187_add_interface() 1127 priv->vif = vif; rtl8187_add_interface() 1130 vif_priv = (struct rtl8187_vif *)&vif->drv_priv; rtl8187_add_interface() 1139 ((u8 *)vif->addr)[i]); rtl8187_add_interface() 1148 struct ieee80211_vif *vif) rtl8187_remove_interface() 1152 priv->vif = NULL; rtl8187_remove_interface() 1254 struct ieee80211_vif *vif, rtl8187_bss_info_changed() 1263 vif_priv = (struct rtl8187_vif *)&vif->drv_priv; rtl8187_bss_info_changed() 1277 if (vif->type == NL80211_IFTYPE_ADHOC) rtl8187_bss_info_changed() 1344 struct ieee80211_vif *vif, u16 queue, rtl8187_conf_tx() 1106 rtl8187_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8187_add_interface() argument 1147 rtl8187_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8187_remove_interface() argument 1253 rtl8187_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) rtl8187_bss_info_changed() argument 1343 rtl8187_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) rtl8187_conf_tx() argument
|
H A D | leds.c | 36 if (!priv->vif || priv->vif->type == NL80211_IFTYPE_UNSPECIFIED) led_turn_on() 74 if (!priv->vif || priv->vif->type == NL80211_IFTYPE_UNSPECIFIED) led_turn_off()
|
/linux-4.4.14/drivers/net/wireless/zd1211rw/ |
H A D | zd_mac.c | 259 if (!mac->vif) set_mac_and_bssid() 262 r = zd_write_mac_addr(&mac->chip, mac->vif->addr); set_mac_and_bssid() 272 return zd_write_bssid(&mac->chip, mac->vif->addr); set_mac_and_bssid() 413 if (mac->vif != NULL) { zd_restore_settings() 414 beacon = ieee80211_beacon_get(mac->hw, mac->vif); zd_restore_settings() 1114 struct ieee80211_vif *vif) zd_op_add_interface() 1122 switch (vif->type) { zd_op_add_interface() 1128 mac->type = vif->type; zd_op_add_interface() 1134 mac->vif = vif; zd_op_add_interface() 1140 struct ieee80211_vif *vif) zd_op_remove_interface() 1144 mac->vif = NULL; zd_op_remove_interface() 1169 if (!mac->vif || mac->vif->type != NL80211_IFTYPE_AP) zd_beacon_done() 1176 skb = ieee80211_get_buffered_bc(mac->hw, mac->vif); zd_beacon_done() 1185 beacon = ieee80211_beacon_get(mac->hw, mac->vif); zd_beacon_done() 1294 struct ieee80211_vif *vif, zd_op_bss_info_changed() 1308 struct sk_buff *beacon = ieee80211_beacon_get(hw, vif); zd_op_bss_info_changed() 1353 static u64 zd_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) zd_op_get_tsf() argument 1445 if (mac->type != NL80211_IFTYPE_AP || !mac->vif) beacon_watchdog_handler() 1463 beacon = ieee80211_beacon_get(mac->hw, mac->vif); beacon_watchdog_handler() 1113 zd_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) zd_op_add_interface() argument 1139 zd_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) zd_op_remove_interface() argument 1293 zd_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changes) zd_op_bss_info_changed() argument
|
/linux-4.4.14/include/linux/usb/ |
H A D | m66592.h | 39 unsigned vif:1; member in struct:m66592_platdata
|
/linux-4.4.14/drivers/media/tuners/ |
H A D | tda9887.c | 325 static char *vif[8] = { dump_write_message() local 376 tuner_info(" E7 vif agc output : %s\n", dump_write_message() 384 vif[(buf[3] & 0x1c) >> 2]); dump_write_message() 389 tuner_info(" E7 vif agc output : %s\n", dump_write_message() 391 ? "pin3 port, pin22 vif agc out" dump_write_message() 392 : "pin22 port, pin3 vif acg ext in") dump_write_message()
|
/linux-4.4.14/drivers/net/wireless/realtek/rtl818x/rtl8180/ |
H A D | dev.c | 503 rts_duration = ieee80211_rts_duration(dev, priv->vif, rtl8180_tx() 508 rts_duration = ieee80211_ctstoself_duration(dev, priv->vif, rtl8180_tx() 528 duration = ieee80211_generic_frame_duration(dev, priv->vif, rtl8180_tx() 1268 struct ieee80211_vif *vif) rtl8180_get_tsf() 1280 struct ieee80211_vif *vif = rtl8180_beacon_work() local 1291 skb = ieee80211_beacon_get(dev, vif); rtl8180_beacon_work() 1300 mgmt->u.beacon.timestamp = cpu_to_le64(rtl8180_get_tsf(dev, vif)); rtl8180_beacon_work() 1313 usecs_to_jiffies(1024 * vif->bss_conf.beacon_int)); rtl8180_beacon_work() 1317 struct ieee80211_vif *vif) rtl8180_add_interface() 1325 if (priv->vif) rtl8180_add_interface() 1328 switch (vif->type) { rtl8180_add_interface() 1336 priv->vif = vif; rtl8180_add_interface() 1339 vif_priv = (struct rtl8180_vif *)&vif->drv_priv; rtl8180_add_interface() 1346 le32_to_cpu(*(__le32 *)vif->addr)); rtl8180_add_interface() 1348 le16_to_cpu(*(__le16 *)(vif->addr + 4))); rtl8180_add_interface() 1355 struct ieee80211_vif *vif) rtl8180_remove_interface() 1358 priv->vif = NULL; rtl8180_remove_interface() 1415 struct ieee80211_vif *vif, u16 queue, rtl8180_conf_tx() 1489 struct ieee80211_vif *vif, rtl8180_bss_info_changed() 1498 vif_priv = (struct rtl8180_vif *)&vif->drv_priv; rtl8180_bss_info_changed() 1507 if (vif->type == NL80211_IFTYPE_ADHOC) rtl8180_bss_info_changed() 1531 priv->vif, rtl8180_bss_info_changed() 1267 rtl8180_get_tsf(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8180_get_tsf() argument 1316 rtl8180_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8180_add_interface() argument 1354 rtl8180_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) rtl8180_remove_interface() argument 1414 rtl8180_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) rtl8180_conf_tx() argument 1488 rtl8180_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) rtl8180_bss_info_changed() argument
|
H A D | rtl8180.h | 107 struct ieee80211_vif *vif; member in struct:rtl8180_priv
|
/linux-4.4.14/include/uapi/linux/ |
H A D | mroute.h | 72 #define VIFF_REGISTER 0x4 /* register vif */ 104 * To get vif packet counts
|
H A D | mroute6.h | 78 #define MIFF_REGISTER 0x1 /* register vif */ 104 * To get vif packet counts
|
H A D | if_arp.h | 66 #define ARPHRD_SKIP 771 /* SKIP vif */
|
/linux-4.4.14/arch/sh/boards/mach-x3proto/ |
H A D | setup.c | 71 .vif = 1, 100 .vif = 1,
|
/linux-4.4.14/tools/lib/traceevent/ |
H A D | plugin_mac80211.c | 67 trace_seq_printf(s, " vif:"); drv_bss_info_changed()
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192se/ |
H A D | fw.c | 604 mac->vif->bss_conf.beacon_int); rtl92s_set_fw_pwrmode_cmd() 612 max_wakeup_period = mac->vif->bss_conf.beacon_int; rtl92s_set_fw_pwrmode_cmd() 614 max_wakeup_period = mac->vif->bss_conf.beacon_int * rtl92s_set_fw_pwrmode_cmd() 615 mac->vif->bss_conf.dtim_period; rtl92s_set_fw_pwrmode_cmd() 647 mac->vif->bss_conf.beacon_int); rtl92s_set_fw_joinbss_report_cmd()
|
/linux-4.4.14/drivers/net/wireless/ath/ |
H A D | key.c | 474 struct ieee80211_vif *vif, ath_key_config() 509 switch (vif->type) { ath_key_config() 511 memcpy(gmac, vif->addr, ETH_ALEN); ath_key_config() 535 if (vif->type != NL80211_IFTYPE_AP) { ath_key_config() 554 vif->type == NL80211_IFTYPE_AP); ath_key_config() 473 ath_key_config(struct ath_common *common, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) ath_key_config() argument
|
/linux-4.4.14/drivers/net/wireless/ath/ar5523/ |
H A D | ar5523.c | 1094 static void ar5523_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ar5523_flush() argument 1104 struct ieee80211_vif *vif) ar5523_add_interface() 1110 if (ar->vif) { ar5523_add_interface() 1115 switch (vif->type) { ar5523_add_interface() 1117 ar->vif = vif; ar5523_add_interface() 1126 struct ieee80211_vif *vif) ar5523_remove_interface() 1131 ar->vif = NULL; ar5523_remove_interface() 1158 sta = ieee80211_find_sta(ar->vif, bss_conf->bssid); ar5523_get_wlan_mode() 1195 sta = ieee80211_find_sta(ar->vif, bss_conf->bssid); ar5523_create_rateset() 1238 struct ieee80211_vif *vif, ar5523_create_connection() 1274 struct ieee80211_vif *vif, ar5523_bss_info_changed() 1288 error = ar5523_create_connection(ar, vif, bss); ar5523_bss_info_changed() 1684 ar->vif = NULL; ar5523_probe() 1103 ar5523_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ar5523_add_interface() argument 1125 ar5523_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ar5523_remove_interface() argument 1237 ar5523_create_connection(struct ar5523 *ar, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss) ar5523_create_connection() argument 1273 ar5523_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss, u32 changed) ar5523_bss_info_changed() argument
|
H A D | ar5523.h | 130 struct ieee80211_vif *vif; member in struct:ar5523
|
/linux-4.4.14/drivers/net/wireless/b43/ |
H A D | main.c | 370 struct ieee80211_vif *vif, 940 struct ieee80211_vif *vif, b43_op_update_tkip_key() 1842 beacon = ieee80211_beacon_get(wl->hw, wl->vif); b43_update_templates() 3802 struct ieee80211_vif *vif, u16 _queue, b43_op_conf_tx() 3849 static u64 b43_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_get_tsf() argument 3869 struct ieee80211_vif *vif, u64 tsf) b43_op_set_tsf() 4114 struct ieee80211_vif *vif, b43_op_bss_info_changed() 4127 B43_WARN_ON(wl->vif != vif); b43_op_bss_info_changed() 4173 struct ieee80211_vif *vif, struct ieee80211_sta *sta, b43_op_set_key() 4186 if ((vif->type == NL80211_IFTYPE_ADHOC || b43_op_set_key() 4187 vif->type == NL80211_IFTYPE_MESH_POINT) && b43_op_set_key() 4991 struct ieee80211_vif *vif) b43_op_add_interface() 4999 if (vif->type != NL80211_IFTYPE_AP && b43_op_add_interface() 5000 vif->type != NL80211_IFTYPE_MESH_POINT && b43_op_add_interface() 5001 vif->type != NL80211_IFTYPE_STATION && b43_op_add_interface() 5002 vif->type != NL80211_IFTYPE_WDS && b43_op_add_interface() 5003 vif->type != NL80211_IFTYPE_ADHOC) b43_op_add_interface() 5010 b43dbg(wl, "Adding Interface type %d\n", vif->type); b43_op_add_interface() 5014 wl->vif = vif; b43_op_add_interface() 5015 wl->if_type = vif->type; b43_op_add_interface() 5016 memcpy(wl->mac_addr, vif->addr, ETH_ALEN); b43_op_add_interface() 5028 b43_op_bss_info_changed(hw, vif, &vif->bss_conf, ~0); b43_op_add_interface() 5034 struct ieee80211_vif *vif) b43_op_remove_interface() 5039 b43dbg(wl, "Removing Interface type %d\n", vif->type); b43_op_remove_interface() 5044 B43_WARN_ON(wl->vif != vif); b43_op_remove_interface() 5045 wl->vif = NULL; b43_op_remove_interface() 5148 struct ieee80211_vif *vif, b43_op_sta_notify() 5154 B43_WARN_ON(!vif || wl->vif != vif); b43_op_sta_notify() 5158 struct ieee80211_vif *vif, b43_op_sw_scan_start_notifier() 5174 struct ieee80211_vif *vif) b43_op_sw_scan_complete_notifier() 5278 if (wl->vif) b43_chip_reset() 5279 b43_op_bss_info_changed(wl->hw, wl->vif, &wl->vif->bss_conf, ~0); b43_chip_reset() 939 b43_op_update_tkip_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_key_conf *keyconf, struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) b43_op_update_tkip_key() argument 3801 b43_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 _queue, const struct ieee80211_tx_queue_params *params) b43_op_conf_tx() argument 3868 b43_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) b43_op_set_tsf() argument 4113 b43_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) b43_op_bss_info_changed() argument 4172 b43_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *key) b43_op_set_key() argument 4990 b43_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_add_interface() argument 5033 b43_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_remove_interface() argument 5147 b43_op_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd notify_cmd, struct ieee80211_sta *sta) b43_op_sta_notify() argument 5157 b43_op_sw_scan_start_notifier(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) b43_op_sw_scan_start_notifier() argument 5173 b43_op_sw_scan_complete_notifier(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_sw_scan_complete_notifier() argument
|
/linux-4.4.14/drivers/net/wireless/b43legacy/ |
H A D | main.c | 1058 dev->wl->vif, b43legacy_write_probe_resp_plcp() 1124 dev->wl->vif, b43legacy_generate_probe_resp() 1273 beacon = ieee80211_beacon_get(wl->hw, wl->vif); b43legacy_update_templates() 2538 struct ieee80211_vif *vif, u16 queue, b43legacy_op_conf_tx() 2838 struct ieee80211_vif *vif, b43legacy_op_bss_info_changed() 2847 B43legacy_WARN_ON(wl->vif != vif); b43legacy_op_bss_info_changed() 3409 struct ieee80211_vif *vif) b43legacy_op_add_interface() 3418 if (vif->type != NL80211_IFTYPE_AP && b43legacy_op_add_interface() 3419 vif->type != NL80211_IFTYPE_STATION && b43legacy_op_add_interface() 3420 vif->type != NL80211_IFTYPE_WDS && b43legacy_op_add_interface() 3421 vif->type != NL80211_IFTYPE_ADHOC) b43legacy_op_add_interface() 3428 b43legacydbg(wl, "Adding Interface type %d\n", vif->type); b43legacy_op_add_interface() 3432 wl->vif = vif; b43legacy_op_add_interface() 3433 wl->if_type = vif->type; b43legacy_op_add_interface() 3434 memcpy(wl->mac_addr, vif->addr, ETH_ALEN); b43legacy_op_add_interface() 3451 struct ieee80211_vif *vif) b43legacy_op_remove_interface() 3457 b43legacydbg(wl, "Removing Interface type %d\n", vif->type); b43legacy_op_remove_interface() 3462 B43legacy_WARN_ON(wl->vif != vif); b43legacy_op_remove_interface() 3463 wl->vif = NULL; b43legacy_op_remove_interface() 2537 b43legacy_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) b43legacy_op_conf_tx() argument 2837 b43legacy_op_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) b43legacy_op_bss_info_changed() argument 3408 b43legacy_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43legacy_op_add_interface() argument 3450 b43legacy_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43legacy_op_remove_interface() argument
|
H A D | xmit.c | 230 info->control.vif, generate_txhdr_fw3() 322 info->control.vif, generate_txhdr_fw3() 331 info->control.vif, generate_txhdr_fw3()
|
/linux-4.4.14/arch/sh/boards/mach-highlander/ |
H A D | setup.c | 38 .vif = 1, 68 .vif = 1,
|