/linux-4.1.27/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(unlikely(!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() 3238 struct ath6kl_vif *vif = ath6kl_vif_from_wdev(wdev); ath6kl_mgmt_frame_register() local 3248 vif->probe_req_report = reg; ath6kl_mgmt_frame_register() 3257 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_sscan_start() local 3273 if (vif->sme_state != SME_DISCONNECTED) ath6kl_cfg80211_sscan_start() 3276 ath6kl_cfg80211_scan_complete_event(vif, true); ath6kl_cfg80211_sscan_start() 3278 ret = ath6kl_set_probed_ssids(ar, vif, request->ssids, ath6kl_cfg80211_sscan_start() 3286 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3291 ret = ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3306 ret = ath6kl_wmi_set_rssi_filter_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3317 ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3319 vif->bg_scan_period, 0, 0, 0, 3, 0, 0, 0); ath6kl_cfg80211_sscan_start() 3322 ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_sscan_start() 3331 ret = ath6kl_wmi_enable_sched_scan_cmd(ar->wmi, vif->fw_vif_idx, true); ath6kl_cfg80211_sscan_start() 3335 set_bit(SCHED_SCANNING, &vif->flags); ath6kl_cfg80211_sscan_start() 3343 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_sscan_stop() local 3346 stopped = __ath6kl_cfg80211_sscan_stop(vif); ath6kl_cfg80211_sscan_stop() 3360 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_set_bitrate() local 3362 return ath6kl_wmi_set_bitrate_mask(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_bitrate() 3371 struct ath6kl_vif *vif = netdev_priv(dev); ath6kl_cfg80211_set_txe_config() local 3373 if (vif->nw_type != INFRA_NETWORK || ath6kl_cfg80211_set_txe_config() 3377 if (vif->sme_state != SME_CONNECTED) ath6kl_cfg80211_set_txe_config() 3381 vif->txe_intvl = intvl; ath6kl_cfg80211_set_txe_config() 3383 return ath6kl_wmi_set_txe_notify(ar->wmi, vif->fw_vif_idx, ath6kl_cfg80211_set_txe_config() 3456 void ath6kl_cfg80211_stop(struct ath6kl_vif *vif) ath6kl_cfg80211_stop() argument 3458 ath6kl_cfg80211_sscan_disable(vif); ath6kl_cfg80211_stop() 3460 switch (vif->sme_state) { ath6kl_cfg80211_stop() 3464 cfg80211_connect_result(vif->ndev, vif->bssid, NULL, 0, ath6kl_cfg80211_stop() 3470 cfg80211_disconnected(vif->ndev, 0, NULL, 0, GFP_KERNEL); ath6kl_cfg80211_stop() 3474 if (vif->ar->state != ATH6KL_STATE_RECOVERY && ath6kl_cfg80211_stop() 3475 (test_bit(CONNECTED, &vif->flags) || ath6kl_cfg80211_stop() 3476 test_bit(CONNECT_PEND, &vif->flags))) ath6kl_cfg80211_stop() 3477 ath6kl_wmi_disconnect_cmd(vif->ar->wmi, vif->fw_vif_idx); ath6kl_cfg80211_stop() 3479 vif->sme_state = SME_DISCONNECTED; ath6kl_cfg80211_stop() 3480 clear_bit(CONNECTED, &vif->flags); ath6kl_cfg80211_stop() 3481 clear_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_stop() 3484 netif_stop_queue(vif->ndev); ath6kl_cfg80211_stop() 3485 netif_carrier_off(vif->ndev); ath6kl_cfg80211_stop() 3488 if (vif->ar->state != ATH6KL_STATE_RECOVERY && ath6kl_cfg80211_stop() 3489 ath6kl_wmi_scanparams_cmd(vif->ar->wmi, vif->fw_vif_idx, 0xFFFF, ath6kl_cfg80211_stop() 3493 ath6kl_cfg80211_scan_complete_event(vif, true); ath6kl_cfg80211_stop() 3498 struct ath6kl_vif *vif; ath6kl_cfg80211_stop_all() local 3500 vif = ath6kl_vif_first(ar); ath6kl_cfg80211_stop_all() 3501 if (!vif && ar->state != ATH6KL_STATE_RECOVERY) { ath6kl_cfg80211_stop_all() 3515 list_for_each_entry(vif, &ar->vif_list, list) ath6kl_cfg80211_stop_all() 3516 ath6kl_cfg80211_stop(vif); ath6kl_cfg80211_stop_all() 3563 static int ath6kl_cfg80211_vif_init(struct ath6kl_vif *vif) ath6kl_cfg80211_vif_init() argument 3565 vif->aggr_cntxt = aggr_init(vif); ath6kl_cfg80211_vif_init() 3566 if (!vif->aggr_cntxt) { ath6kl_cfg80211_vif_init() 3571 setup_timer(&vif->disconnect_timer, disconnect_timer_handler, ath6kl_cfg80211_vif_init() 3572 (unsigned long) vif->ndev); ath6kl_cfg80211_vif_init() 3573 setup_timer(&vif->sched_scan_timer, ath6kl_wmi_sscan_timer, ath6kl_cfg80211_vif_init() 3574 (unsigned long) vif); ath6kl_cfg80211_vif_init() 3576 set_bit(WMM_ENABLED, &vif->flags); ath6kl_cfg80211_vif_init() 3577 spin_lock_init(&vif->if_lock); ath6kl_cfg80211_vif_init() 3579 INIT_LIST_HEAD(&vif->mc_filter); ath6kl_cfg80211_vif_init() 3584 void ath6kl_cfg80211_vif_stop(struct ath6kl_vif *vif, bool wmi_ready) ath6kl_cfg80211_vif_stop() argument 3589 netif_stop_queue(vif->ndev); ath6kl_cfg80211_vif_stop() 3591 clear_bit(WLAN_ENABLED, &vif->flags); ath6kl_cfg80211_vif_stop() 3594 discon_issued = test_bit(CONNECTED, &vif->flags) || ath6kl_cfg80211_vif_stop() 3595 test_bit(CONNECT_PEND, &vif->flags); ath6kl_cfg80211_vif_stop() 3596 ath6kl_disconnect(vif); ath6kl_cfg80211_vif_stop() 3597 del_timer(&vif->disconnect_timer); ath6kl_cfg80211_vif_stop() 3600 ath6kl_disconnect_event(vif, DISCONNECT_CMD, ath6kl_cfg80211_vif_stop() 3601 (vif->nw_type & AP_NETWORK) ? ath6kl_cfg80211_vif_stop() 3602 bcast_mac : vif->bssid, ath6kl_cfg80211_vif_stop() 3606 if (vif->scan_req) { ath6kl_cfg80211_vif_stop() 3607 cfg80211_scan_done(vif->scan_req, true); ath6kl_cfg80211_vif_stop() 3608 vif->scan_req = NULL; ath6kl_cfg80211_vif_stop() 3612 ath6kl_cfg80211_sta_bmiss_enhance(vif, false); ath6kl_cfg80211_vif_stop() 3615 void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif) ath6kl_cfg80211_vif_cleanup() argument 3617 struct ath6kl *ar = vif->ar; ath6kl_cfg80211_vif_cleanup() 3620 aggr_module_destroy(vif->aggr_cntxt); ath6kl_cfg80211_vif_cleanup() 3622 ar->avail_idx_map |= BIT(vif->fw_vif_idx); ath6kl_cfg80211_vif_cleanup() 3624 if (vif->nw_type == ADHOC_NETWORK) ath6kl_cfg80211_vif_cleanup() 3627 list_for_each_entry_safe(mc_filter, tmp, &vif->mc_filter, list) { ath6kl_cfg80211_vif_cleanup() 3632 unregister_netdevice(vif->ndev); ath6kl_cfg80211_vif_cleanup() 3643 struct ath6kl_vif *vif; ath6kl_interface_add() local 3645 ndev = alloc_netdev(sizeof(*vif), name, name_assign_type, ether_setup); ath6kl_interface_add() 3649 vif = netdev_priv(ndev); ath6kl_interface_add() 3650 ndev->ieee80211_ptr = &vif->wdev; ath6kl_interface_add() 3651 vif->wdev.wiphy = ar->wiphy; ath6kl_interface_add() 3652 vif->ar = ar; ath6kl_interface_add() 3653 vif->ndev = ndev; ath6kl_interface_add() 3654 SET_NETDEV_DEV(ndev, wiphy_dev(vif->wdev.wiphy)); ath6kl_interface_add() 3655 vif->wdev.netdev = ndev; ath6kl_interface_add() 3656 vif->wdev.iftype = type; ath6kl_interface_add() 3657 vif->fw_vif_idx = fw_vif_idx; ath6kl_interface_add() 3658 vif->nw_type = nw_type; ath6kl_interface_add() 3659 vif->next_mode = nw_type; ath6kl_interface_add() 3660 vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL; ath6kl_interface_add() 3661 vif->bmiss_time_t = ATH6KL_DEFAULT_BMISS_TIME; ath6kl_interface_add() 3662 vif->bg_scan_period = 0; ath6kl_interface_add() 3663 vif->htcap[IEEE80211_BAND_2GHZ].ht_enable = true; ath6kl_interface_add() 3664 vif->htcap[IEEE80211_BAND_5GHZ].ht_enable = true; ath6kl_interface_add() 3677 ath6kl_init_control_info(vif); ath6kl_interface_add() 3679 if (ath6kl_cfg80211_vif_init(vif)) ath6kl_interface_add() 3686 vif->sme_state = SME_DISCONNECTED; ath6kl_interface_add() 3687 set_bit(WLAN_ENABLED, &vif->flags); ath6kl_interface_add() 3694 list_add_tail(&vif->list, &ar->vif_list); ath6kl_interface_add() 3697 return &vif->wdev; ath6kl_interface_add() 3700 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 */ 910 void ath6kl_init_profile_info(struct ath6kl_vif *vif); 917 struct aggr_info *aggr_init(struct ath6kl_vif *vif); 918 void aggr_conn_init(struct ath6kl_vif *vif, struct aggr_info *aggr_info, 929 struct ath6kl_sta *ath6kl_find_sta(struct ath6kl_vif *vif, u8 *node_addr); 936 void ath6kl_connect_event(struct ath6kl_vif *vif, u16 channel, 941 void ath6kl_connect_ap_mode_bss(struct ath6kl_vif *vif, u16 channel); 942 void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr, 945 void ath6kl_disconnect_event(struct ath6kl_vif *vif, u8 reason, 948 void ath6kl_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, bool ismcast); 950 void ath6kl_scan_complete_evt(struct ath6kl_vif *vif, int status); 951 void ath6kl_tgt_stats_event(struct ath6kl_vif *vif, u8 *ptr, u32 len); 955 void ath6kl_pspoll_event(struct ath6kl_vif *vif, u8 aid); 957 void ath6kl_dtimexpiry_event(struct ath6kl_vif *vif); 958 void ath6kl_disconnect(struct ath6kl_vif *vif); 959 void aggr_recv_delba_req_evt(struct ath6kl_vif *vif, u8 tid); 960 void aggr_recv_addba_req_evt(struct ath6kl_vif *vif, u8 tid, u16 seq_no, 964 void ath6kl_init_control_info(struct ath6kl_vif *vif); 966 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() 1109 "found vif max ie %d\n", ar->vif_max); ath6kl_fetch_fw_apin() 1864 struct ath6kl_vif *vif, *tmp_vif; ath6kl_stop_txrx() local 1878 list_for_each_entry_safe(vif, tmp_vif, &ar->vif_list, list) { ath6kl_stop_txrx() 1879 list_del(&vif->list); ath6kl_stop_txrx() 1881 ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag)); ath6kl_stop_txrx() 1883 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 | 542 struct ath6kl_vif *vif; read_file_tgt_stats() local 550 vif = ath6kl_vif_first(ar); read_file_tgt_stats() 551 if (!vif) read_file_tgt_stats() 554 tgt_stats = &vif->target_stats; read_file_tgt_stats() 565 set_bit(STATS_UPDATE_PEND, &vif->flags); read_file_tgt_stats() 575 &vif->flags), WMI_TIMEOUT); read_file_tgt_stats() 1386 struct ath6kl_vif *vif; ath6kl_create_qos_write() local 1394 vif = ath6kl_vif_first(ar); ath6kl_create_qos_write() 1395 if (!vif) ath6kl_create_qos_write() 1547 ath6kl_wmi_create_pstream_cmd(ar->wmi, vif->fw_vif_idx, &pstream); ath6kl_create_qos_write() 1564 struct ath6kl_vif *vif; ath6kl_delete_qos_write() local 1571 vif = ath6kl_vif_first(ar); ath6kl_delete_qos_write() 1572 if (!vif) ath6kl_delete_qos_write() 1593 ath6kl_wmi_delete_pstream_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_delete_qos_write() 1611 struct ath6kl_vif *vif; ath6kl_bgscan_int_write() local 1616 vif = ath6kl_vif_first(ar); ath6kl_bgscan_int_write() 1617 if (!vif) ath6kl_bgscan_int_write() 1631 vif->bg_scan_period = bgscan_int; ath6kl_bgscan_int_write() 1651 struct ath6kl_vif *vif; ath6kl_listen_int_write() local 1656 vif = ath6kl_vif_first(ar); ath6kl_listen_int_write() 1657 if (!vif) ath6kl_listen_int_write() 1671 vif->listen_intvl_t = listen_interval; ath6kl_listen_int_write() 1672 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, ath6kl_listen_int_write() 1673 vif->listen_intvl_t, 0); ath6kl_listen_int_write() 1683 struct ath6kl_vif *vif; ath6kl_listen_int_read() local 1687 vif = ath6kl_vif_first(ar); ath6kl_listen_int_read() 1688 if (!vif) ath6kl_listen_int_read() 1691 len = scnprintf(buf, sizeof(buf), "%u\n", vif->listen_intvl_t); ath6kl_listen_int_read()
|
/linux-4.1.27/drivers/net/xen-netback/ |
H A D | interface.c | 66 int xenvif_schedulable(struct xenvif *vif) xenvif_schedulable() argument 68 return netif_running(vif->dev) && xenvif_schedulable() 69 test_bit(VIF_STATUS_CONNECTED, &vif->status) && xenvif_schedulable() 70 !vif->disabled; xenvif_schedulable() 89 /* This vif is rogue, we pretend we've there is nothing to do xenvif_poll() 90 * for this vif to deschedule it from NAPI. But this interface xenvif_poll() 93 if (unlikely(queue->vif->disabled)) { xenvif_poll() 127 struct net_device *dev = queue->vif->dev; xenvif_queue_stopped() 134 struct net_device *dev = queue->vif->dev; xenvif_wake_queue() 141 struct xenvif *vif = netdev_priv(dev); xenvif_start_xmit() local 143 unsigned int num_queues = vif->num_queues; xenvif_start_xmit() 157 index, vif->dev->name); xenvif_start_xmit() 160 queue = &vif->queues[index]; xenvif_start_xmit() 165 !xenvif_schedulable(vif)) xenvif_start_xmit() 169 cb->expires = jiffies + vif->drain_timeout; xenvif_start_xmit() 177 vif->dev->stats.tx_dropped++; xenvif_start_xmit() 184 struct xenvif *vif = netdev_priv(dev); xenvif_get_stats() local 186 unsigned int num_queues = vif->num_queues; xenvif_get_stats() 193 if (vif->queues == NULL) xenvif_get_stats() 198 queue = &vif->queues[index]; xenvif_get_stats() 206 vif->dev->stats.rx_bytes = rx_bytes; xenvif_get_stats() 207 vif->dev->stats.rx_packets = rx_packets; xenvif_get_stats() 208 vif->dev->stats.tx_bytes = tx_bytes; xenvif_get_stats() 209 vif->dev->stats.tx_packets = tx_packets; xenvif_get_stats() 211 return &vif->dev->stats; xenvif_get_stats() 214 static void xenvif_up(struct xenvif *vif) xenvif_up() argument 217 unsigned int num_queues = vif->num_queues; xenvif_up() 221 queue = &vif->queues[queue_index]; xenvif_up() 230 static void xenvif_down(struct xenvif *vif) xenvif_down() argument 233 unsigned int num_queues = vif->num_queues; xenvif_down() 237 queue = &vif->queues[queue_index]; xenvif_down() 248 struct xenvif *vif = netdev_priv(dev); xenvif_open() local 249 if (test_bit(VIF_STATUS_CONNECTED, &vif->status)) xenvif_open() 250 xenvif_up(vif); xenvif_open() 257 struct xenvif *vif = netdev_priv(dev); xenvif_close() local 258 if (test_bit(VIF_STATUS_CONNECTED, &vif->status)) xenvif_close() 259 xenvif_down(vif); xenvif_close() 266 struct xenvif *vif = netdev_priv(dev); xenvif_change_mtu() local 267 int max = vif->can_sg ? 65535 - VLAN_ETH_HLEN : ETH_DATA_LEN; xenvif_change_mtu() 278 struct xenvif *vif = netdev_priv(dev); xenvif_fix_features() local 280 if (!vif->can_sg) xenvif_fix_features() 282 if (~(vif->gso_mask | vif->gso_prefix_mask) & GSO_BIT(TCPV4)) xenvif_fix_features() 284 if (~(vif->gso_mask | vif->gso_prefix_mask) & GSO_BIT(TCPV6)) xenvif_fix_features() 286 if (!vif->ip_csum) xenvif_fix_features() 288 if (!vif->ipv6_csum) xenvif_fix_features() 339 struct xenvif *vif = netdev_priv(dev); xenvif_get_ethtool_stats() local 340 unsigned int num_queues = vif->num_queues; xenvif_get_ethtool_stats() 347 void *vif_stats = &vif->queues[queue_index].stats; xenvif_get_ethtool_stats() 391 struct xenvif *vif; xenvif_alloc() local 394 snprintf(name, IFNAMSIZ - 1, "vif%u.%u", domid, handle); xenvif_alloc() 408 vif = netdev_priv(dev); xenvif_alloc() 410 vif->domid = domid; xenvif_alloc() 411 vif->handle = handle; xenvif_alloc() 412 vif->can_sg = 1; xenvif_alloc() 413 vif->ip_csum = 1; xenvif_alloc() 414 vif->dev = dev; xenvif_alloc() 415 vif->disabled = false; xenvif_alloc() 416 vif->drain_timeout = msecs_to_jiffies(rx_drain_timeout_msecs); xenvif_alloc() 417 vif->stall_timeout = msecs_to_jiffies(rx_stall_timeout_msecs); xenvif_alloc() 420 vif->queues = NULL; xenvif_alloc() 421 vif->num_queues = 0; xenvif_alloc() 423 spin_lock_init(&vif->lock); xenvif_alloc() 456 return vif; xenvif_alloc() 489 netdev_err(queue->vif->dev, "Could not reserve mmap_pages\n"); xenvif_init_queue() 504 void xenvif_carrier_on(struct xenvif *vif) xenvif_carrier_on() argument 507 if (!vif->can_sg && vif->dev->mtu > ETH_DATA_LEN) xenvif_carrier_on() 508 dev_set_mtu(vif->dev, ETH_DATA_LEN); xenvif_carrier_on() 509 netdev_update_features(vif->dev); xenvif_carrier_on() 510 set_bit(VIF_STATUS_CONNECTED, &vif->status); xenvif_carrier_on() 511 if (netif_running(vif->dev)) xenvif_carrier_on() 512 xenvif_up(vif); xenvif_carrier_on() 535 netif_napi_add(queue->vif->dev, &queue->napi, xenvif_poll, xenvif_connect() 541 queue->vif->domid, tx_evtchn, xenvif_interrupt, 0, xenvif_connect() 552 queue->vif->domid, tx_evtchn, xenvif_tx_interrupt, 0, xenvif_connect() 562 queue->vif->domid, rx_evtchn, xenvif_rx_interrupt, 0, xenvif_connect() 609 void xenvif_carrier_off(struct xenvif *vif) xenvif_carrier_off() argument 611 struct net_device *dev = vif->dev; xenvif_carrier_off() 614 if (test_and_clear_bit(VIF_STATUS_CONNECTED, &vif->status)) { xenvif_carrier_off() 617 xenvif_down(vif); xenvif_carrier_off() 622 void xenvif_disconnect(struct xenvif *vif) xenvif_disconnect() argument 625 unsigned int num_queues = vif->num_queues; xenvif_disconnect() 628 xenvif_carrier_off(vif); xenvif_disconnect() 631 queue = &vif->queues[queue_index]; xenvif_disconnect() 669 void xenvif_free(struct xenvif *vif) xenvif_free() argument 672 unsigned int num_queues = vif->num_queues; xenvif_free() 675 unregister_netdev(vif->dev); xenvif_free() 678 queue = &vif->queues[queue_index]; xenvif_free() 682 vfree(vif->queues); xenvif_free() 683 vif->queues = NULL; xenvif_free() 684 vif->num_queues = 0; xenvif_free() 686 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() 388 * and vif variables to the environment, for the benefit of the vif-* hotplug 402 if (!be->vif) netback_uevent() 405 return add_uevent_var(env, "vif=%s", be->vif->dev->name); netback_uevent() 414 struct xenvif *vif; backend_create_xenvif() local 416 if (be->vif != NULL) backend_create_xenvif() 425 vif = xenvif_alloc(&dev->dev, dev->otherend_id, handle); backend_create_xenvif() 426 if (IS_ERR(vif)) { backend_create_xenvif() 427 err = PTR_ERR(vif); backend_create_xenvif() 431 be->vif = vif; backend_create_xenvif() 439 if (be->vif) { backend_disconnect() 440 xen_unregister_watchers(be->vif); backend_disconnect() 442 xenvif_debugfs_delif(be->vif); backend_disconnect() 444 xenvif_disconnect(be->vif); backend_disconnect() 450 if (be->vif) backend_connect() 659 struct xenvif *vif = container_of(watch, struct xenvif, credit_watch); xen_net_rate_changed() local 660 struct xenbus_device *dev = xenvif_to_xenbus_device(vif); xen_net_rate_changed() 666 for (queue_index = 0; queue_index < vif->num_queues; queue_index++) { xen_net_rate_changed() 667 struct xenvif_queue *queue = &vif->queues[queue_index]; xen_net_rate_changed() 678 static int xen_register_watchers(struct xenbus_device *dev, struct xenvif *vif) xen_register_watchers() argument 684 if (vif->credit_watch.node) xen_register_watchers() 691 vif->credit_watch.node = node; xen_register_watchers() 692 vif->credit_watch.callback = xen_net_rate_changed; xen_register_watchers() 693 err = register_xenbus_watch(&vif->credit_watch); xen_register_watchers() 695 pr_err("Failed to set watcher %s\n", vif->credit_watch.node); xen_register_watchers() 697 vif->credit_watch.node = NULL; xen_register_watchers() 698 vif->credit_watch.callback = NULL; xen_register_watchers() 703 static void xen_unregister_watchers(struct xenvif *vif) xen_unregister_watchers() argument 705 if (vif->credit_watch.node) { xen_unregister_watchers() 706 unregister_xenbus_watch(&vif->credit_watch); xen_unregister_watchers() 707 kfree(vif->credit_watch.node); xen_unregister_watchers() 708 vif->credit_watch.node = NULL; xen_unregister_watchers() 769 err = xen_net_read_mac(dev, be->vif->fe_dev_addr); connect() 776 xen_unregister_watchers(be->vif); connect() 777 xen_register_watchers(dev, be->vif); connect() 781 be->vif->queues = vzalloc(requested_num_queues * connect() 783 be->vif->num_queues = requested_num_queues; connect() 784 be->vif->stalled_queues = requested_num_queues; connect() 787 queue = &be->vif->queues[queue_index]; connect() 788 queue->vif = be->vif; connect() 791 be->vif->dev->name, queue->id); connect() 801 be->vif->num_queues = queue_index; connect() 816 be->vif->num_queues = queue_index; connect() 822 xenvif_debugfs_addif(be->vif); connect() 829 netif_set_real_num_tx_queues(be->vif->dev, requested_num_queues); connect() 830 netif_set_real_num_rx_queues(be->vif->dev, requested_num_queues); connect() 833 xenvif_carrier_on(be->vif); connect() 842 netif_tx_wake_all_queues(be->vif->dev); connect() 847 if (be->vif->num_queues > 0) connect() 848 xenvif_disconnect(be->vif); /* Clean up existing queues */ connect() 849 vfree(be->vif->queues); connect() 850 be->vif->queues = NULL; connect() 851 be->vif->num_queues = 0; connect() 859 unsigned int num_queues = queue->vif->num_queues; connect_rings() 938 struct xenvif *vif = be->vif; read_xenbus_vif_flags() local 965 be->vif->drain_timeout = msecs_to_jiffies(30); read_xenbus_vif_flags() 966 be->vif->stall_timeout = 0; read_xenbus_vif_flags() 972 vif->can_sg = !!val; read_xenbus_vif_flags() 974 vif->gso_mask = 0; read_xenbus_vif_flags() 975 vif->gso_prefix_mask = 0; read_xenbus_vif_flags() 981 vif->gso_mask |= GSO_BIT(TCPV4); read_xenbus_vif_flags() 987 vif->gso_prefix_mask |= GSO_BIT(TCPV4); read_xenbus_vif_flags() 993 vif->gso_mask |= GSO_BIT(TCPV6); read_xenbus_vif_flags() 999 vif->gso_prefix_mask |= GSO_BIT(TCPV6); read_xenbus_vif_flags() 1001 if (vif->gso_mask & vif->gso_prefix_mask) { read_xenbus_vif_flags() 1012 vif->ip_csum = !val; read_xenbus_vif_flags() 1017 vif->ipv6_csum = !!val; read_xenbus_vif_flags() 1023 { "vif" },
|
H A D | netback.c | 122 #define callback_param(vif, pending_idx) \ 123 (vif->pending_tx_info[pending_idx].callback_struct) 184 netif_tx_stop_queue(netdev_get_tx_queue(queue->vif->dev, queue->id)); xenvif_rx_queue_tail() 209 netif_tx_wake_queue(netdev_get_tx_queue(queue->vif->dev, queue->id)); xenvif_rx_queue_maybe_wake() 321 copy_gop->dest.domid = queue->vif->domid; xenvif_gop_frag_copy() 346 if (*head && ((1 << gso_type) & queue->vif->gso_mask)) xenvif_gop_frag_copy() 370 struct xenvif *vif = netdev_priv(skb->dev); xenvif_gop_skb() local 391 if ((1 << gso_type) & vif->gso_prefix_mask) { xenvif_gop_skb() 403 if ((1 << gso_type) & vif->gso_mask) { xenvif_gop_skb() 446 static int xenvif_check_gop(struct xenvif *vif, int nr_meta_slots, xenvif_check_gop() argument 456 netdev_dbg(vif->dev, xenvif_check_gop() 458 copy_op->status, vif->domid); xenvif_check_gop() 541 queue->vif->gso_prefix_mask) { xenvif_rx_action() 559 status = xenvif_check_gop(queue->vif, xenvif_rx_action() 581 queue->vif->gso_mask) { xenvif_rx_action() 670 static void xenvif_fatal_tx_err(struct xenvif *vif) xenvif_fatal_tx_err() argument 672 netdev_err(vif->dev, "fatal error; disabling device\n"); xenvif_fatal_tx_err() 673 vif->disabled = true; xenvif_fatal_tx_err() 674 /* Disable the vif from queue 0's kthread */ xenvif_fatal_tx_err() 675 if (vif->queues) xenvif_fatal_tx_err() 676 xenvif_kick_thread(&vif->queues[0]); xenvif_fatal_tx_err() 696 netdev_err(queue->vif->dev, xenvif_count_requests() 699 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 707 netdev_err(queue->vif->dev, xenvif_count_requests() 710 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 723 netdev_dbg(queue->vif->dev, xenvif_count_requests() 746 netdev_dbg(queue->vif->dev, xenvif_count_requests() 756 netdev_err(queue->vif->dev, "Cross page boundary, txp->offset: %x, size: %u\n", xenvif_count_requests() 758 xenvif_fatal_tx_err(queue->vif); xenvif_count_requests() 792 txp->gref, queue->vif->domid); xenvif_tx_create_map_op() 852 netdev_err(queue->vif->dev, xenvif_get_requests() 881 netdev_err(queue->vif->dev, xenvif_grant_handle_set() 894 netdev_err(queue->vif->dev, xenvif_grant_handle_reset() 926 netdev_dbg(queue->vif->dev, xenvif_tx_check_gop() 970 netdev_dbg(queue->vif->dev, xenvif_tx_check_gop() 1074 netdev_err(queue->vif->dev, "Missing extra info\n"); xenvif_get_extras() 1075 xenvif_fatal_tx_err(queue->vif); xenvif_get_extras() 1084 netdev_err(queue->vif->dev, xenvif_get_extras() 1086 xenvif_fatal_tx_err(queue->vif); xenvif_get_extras() 1097 static int xenvif_set_skb_gso(struct xenvif *vif, xenvif_set_skb_gso() argument 1102 netdev_err(vif->dev, "GSO size must not be zero.\n"); xenvif_set_skb_gso() 1103 xenvif_fatal_tx_err(vif); xenvif_set_skb_gso() 1115 netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); xenvif_set_skb_gso() 1116 xenvif_fatal_tx_err(vif); xenvif_set_skb_gso() 1199 netdev_err(queue->vif->dev, xenvif_tx_build_gops() 1204 xenvif_fatal_tx_err(queue->vif); xenvif_tx_build_gops() 1242 netdev_dbg(queue->vif->dev, xenvif_tx_build_gops() 1250 netdev_err(queue->vif->dev, xenvif_tx_build_gops() 1254 xenvif_fatal_tx_err(queue->vif); xenvif_tx_build_gops() 1267 netdev_dbg(queue->vif->dev, xenvif_tx_build_gops() 1277 if (xenvif_set_skb_gso(queue->vif, skb, gso)) { xenvif_tx_build_gops() 1288 queue->tx_copy_ops[*copy_ops].source.domid = queue->vif->domid; xenvif_tx_build_gops() 1462 netdev_err(queue->vif->dev, xenvif_tx_submit() 1470 skb->dev = queue->vif->dev; xenvif_tx_submit() 1475 netdev_dbg(queue->vif->dev, xenvif_tx_submit() 1601 netdev_err(queue->vif->dev, "Unmap fail: nr_ops %tx ret %d\n", xenvif_tx_dealloc_action() 1605 netdev_err(queue->vif->dev, xenvif_tx_dealloc_action() 1738 netdev_err(queue->vif->dev, xenvif_idx_unmap() 1765 xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(queue->vif), xenvif_unmap_frontend_rings() 1768 xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(queue->vif), xenvif_unmap_frontend_rings() 1782 err = xenbus_map_ring_valloc(xenvif_to_xenbus_device(queue->vif), xenvif_map_frontend_rings() 1790 err = xenbus_map_ring_valloc(xenvif_to_xenbus_device(queue->vif), xenvif_map_frontend_rings() 1807 struct xenvif *vif = queue->vif; xenvif_queue_carrier_off() local 1812 spin_lock(&vif->lock); xenvif_queue_carrier_off() 1813 if (vif->stalled_queues++ == 0) { xenvif_queue_carrier_off() 1814 netdev_info(vif->dev, "Guest Rx stalled"); xenvif_queue_carrier_off() 1815 netif_carrier_off(vif->dev); xenvif_queue_carrier_off() 1817 spin_unlock(&vif->lock); xenvif_queue_carrier_off() 1822 struct xenvif *vif = queue->vif; xenvif_queue_carrier_on() local 1828 spin_lock(&vif->lock); xenvif_queue_carrier_on() 1829 if (--vif->stalled_queues == 0) { xenvif_queue_carrier_on() 1830 netdev_info(vif->dev, "Guest Rx ready"); xenvif_queue_carrier_on() 1831 netif_carrier_on(vif->dev); xenvif_queue_carrier_on() 1833 spin_unlock(&vif->lock); xenvif_queue_carrier_on() 1846 queue->last_rx_time + queue->vif->stall_timeout); xenvif_rx_queue_stalled() 1864 || (queue->vif->stall_timeout && xenvif_have_rx_work() 1868 || queue->vif->disabled; xenvif_have_rx_work() 1917 struct xenvif *vif = queue->vif; xenvif_kthread_guest_rx() local 1919 if (!vif->stall_timeout) xenvif_kthread_guest_rx() 1935 if (unlikely(vif->disabled && queue->id == 0)) { xenvif_kthread_guest_rx() 1936 xenvif_carrier_off(vif); xenvif_kthread_guest_rx() 1947 if (vif->stall_timeout) { xenvif_kthread_guest_rx() 2052 MODULE_ALIAS("xen-backend:vif");
|
H A D | common.h | 132 struct xenvif *vif; /* Parent VIF */ member in struct:xenvif_queue 209 /* This bit marks that the vif is connected */ 260 static inline struct xenbus_device *xenvif_to_xenbus_device(struct xenvif *vif) xenvif_to_xenbus_device() argument 262 return to_xenbus_device(vif->dev->dev.parent); xenvif_to_xenbus_device() 277 void xenvif_disconnect(struct xenvif *vif); 278 void xenvif_free(struct xenvif *vif); 283 int xenvif_schedulable(struct xenvif *vif); 298 void xenvif_carrier_off(struct xenvif *vif); 314 void xenvif_carrier_on(struct xenvif *vif);
|
/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/ |
H A D | mac-ctxt.c | 83 struct ieee80211_vif *vif; member in struct:iwl_mvm_mac_iface_iterator_data 96 struct ieee80211_vif *vif) iwl_mvm_mac_tsf_id_iter() 99 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_tsf_id_iter() 103 if (vif == data->vif) iwl_mvm_mac_tsf_id_iter() 122 switch (data->vif->type) { iwl_mvm_mac_tsf_id_iter() 132 if (vif->type != NL80211_IFTYPE_AP || iwl_mvm_mac_tsf_id_iter() 137 min_bi = min(data->vif->bss_conf.beacon_int, iwl_mvm_mac_tsf_id_iter() 138 vif->bss_conf.beacon_int); iwl_mvm_mac_tsf_id_iter() 143 if ((data->vif->bss_conf.beacon_int - iwl_mvm_mac_tsf_id_iter() 144 vif->bss_conf.beacon_int) % min_bi == 0) { iwl_mvm_mac_tsf_id_iter() 160 if ((vif->type != NL80211_IFTYPE_AP && iwl_mvm_mac_tsf_id_iter() 161 vif->type != NL80211_IFTYPE_STATION) || iwl_mvm_mac_tsf_id_iter() 166 min_bi = min(data->vif->bss_conf.beacon_int, iwl_mvm_mac_tsf_id_iter() 167 vif->bss_conf.beacon_int); iwl_mvm_mac_tsf_id_iter() 172 if ((data->vif->bss_conf.beacon_int - iwl_mvm_mac_tsf_id_iter() 173 vif->bss_conf.beacon_int) % min_bi == 0) { iwl_mvm_mac_tsf_id_iter() 202 * Get the mask of the queues used by the vif 204 u32 iwl_mvm_mac_get_queues_mask(struct ieee80211_vif *vif) iwl_mvm_mac_get_queues_mask() argument 208 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_get_queues_mask() 212 if (vif->hw_queue[ac] != IEEE80211_INVAL_HW_QUEUE) iwl_mvm_mac_get_queues_mask() 213 qmask |= BIT(vif->hw_queue[ac]); iwl_mvm_mac_get_queues_mask() 216 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_get_queues_mask() 217 qmask |= BIT(vif->cab_queue); iwl_mvm_mac_get_queues_mask() 223 struct ieee80211_vif *vif) iwl_mvm_iface_hw_queues_iter() 227 /* exclude the given vif */ iwl_mvm_iface_hw_queues_iter() 228 if (vif == data->exclude_vif) iwl_mvm_iface_hw_queues_iter() 231 data->used_hw_queues |= iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_iface_hw_queues_iter() 279 struct ieee80211_vif *vif) iwl_mvm_mac_iface_iterator() 282 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_iface_iterator() 285 if (vif == data->vif) { iwl_mvm_mac_iface_iterator() 299 iwl_mvm_mac_tsf_id_iter(_data, mac, vif); iwl_mvm_mac_iface_iterator() 303 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_recalc_tsf_id() 305 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_recalc_tsf_id() 308 .vif = vif, iwl_mvm_mac_ctxt_recalc_tsf_id() 326 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_allocate_resources() 328 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_allocate_resources() 331 .vif = vif, iwl_mvm_mac_ctxt_allocate_resources() 358 /* Currently, MAC ID 0 should be used only for the managed/IBSS vif */ iwl_mvm_mac_ctxt_allocate_resources() 359 switch (vif->type) { iwl_mvm_mac_ctxt_allocate_resources() 363 if (!vif->p2p) iwl_mvm_mac_ctxt_allocate_resources() 374 used_hw_queues = iwl_mvm_get_used_hw_queues(mvm, vif); iwl_mvm_mac_ctxt_allocate_resources() 379 * the vif being added already. iwl_mvm_mac_ctxt_allocate_resources() 418 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_ctxt_allocate_resources() 420 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 437 vif->hw_queue[ac] = queue; iwl_mvm_mac_ctxt_allocate_resources() 441 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_mac_ctxt_allocate_resources() 451 vif->cab_queue = queue; iwl_mvm_mac_ctxt_allocate_resources() 453 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 466 memset(vif->hw_queue, IEEE80211_INVAL_HW_QUEUE, sizeof(vif->hw_queue)); iwl_mvm_mac_ctxt_allocate_resources() 467 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_mvm_mac_ctxt_allocate_resources() 471 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_init() argument 474 iwl_mvm_get_wd_timeout(mvm, vif, false, false); iwl_mvm_mac_ctxt_init() 480 ret = iwl_mvm_mac_ctxt_allocate_resources(mvm, vif); iwl_mvm_mac_ctxt_init() 484 switch (vif->type) { iwl_mvm_mac_ctxt_init() 490 iwl_mvm_enable_ac_txq(mvm, vif->cab_queue, iwl_mvm_mac_ctxt_init() 495 iwl_mvm_enable_ac_txq(mvm, vif->hw_queue[ac], iwl_mvm_mac_ctxt_init() 504 void iwl_mvm_mac_ctxt_release(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_release() argument 510 switch (vif->type) { iwl_mvm_mac_ctxt_release() 515 iwl_mvm_disable_txq(mvm, vif->cab_queue, 0); iwl_mvm_mac_ctxt_release() 519 iwl_mvm_disable_txq(mvm, vif->hw_queue[ac], 0); iwl_mvm_mac_ctxt_release() 524 struct ieee80211_vif *vif, iwl_mvm_ack_rates() 529 unsigned long basic = vif->bss_conf.basic_rates; iwl_mvm_ack_rates() 610 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_set_ht_flags() 614 u8 protection_mode = vif->bss_conf.ht_operation_mode & iwl_mvm_mac_ctxt_set_ht_flags() 633 if (vif->bss_conf.chandef.width > NL80211_CHAN_WIDTH_20) iwl_mvm_mac_ctxt_set_ht_flags() 644 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_common() 649 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_common() 651 bool ht_enabled = !!(vif->bss_conf.ht_operation_mode & iwl_mvm_mac_ctxt_cmd_common() 654 const u8 *bssid = bssid_override ?: vif->bss_conf.bssid; iwl_mvm_mac_ctxt_cmd_common() 661 switch (vif->type) { iwl_mvm_mac_ctxt_cmd_common() 663 if (vif->p2p) iwl_mvm_mac_ctxt_cmd_common() 686 memcpy(cmd->node_addr, vif->addr, ETH_ALEN); iwl_mvm_mac_ctxt_cmd_common() 694 chanctx = rcu_dereference(vif->chanctx_conf); iwl_mvm_mac_ctxt_cmd_common() 695 iwl_mvm_ack_rates(mvm, vif, chanctx ? chanctx->def.chan->band iwl_mvm_mac_ctxt_cmd_common() 704 cpu_to_le32(vif->bss_conf.use_short_preamble ? iwl_mvm_mac_ctxt_cmd_common() 707 cpu_to_le32(vif->bss_conf.use_short_slot ? iwl_mvm_mac_ctxt_cmd_common() 724 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_ctxt_cmd_common() 728 if (vif->bss_conf.qos) iwl_mvm_mac_ctxt_cmd_common() 731 if (vif->bss_conf.use_cts_prot) iwl_mvm_mac_ctxt_cmd_common() 735 vif->bss_conf.use_cts_prot, iwl_mvm_mac_ctxt_cmd_common() 736 vif->bss_conf.ht_operation_mode); iwl_mvm_mac_ctxt_cmd_common() 737 if (vif->bss_conf.chandef.width != NL80211_CHAN_WIDTH_20_NOHT) iwl_mvm_mac_ctxt_cmd_common() 740 iwl_mvm_mac_ctxt_set_ht_flags(mvm, vif, cmd); iwl_mvm_mac_ctxt_cmd_common() 757 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_sta() 764 WARN_ON(vif->type != NL80211_IFTYPE_STATION); iwl_mvm_mac_ctxt_cmd_sta() 767 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action); iwl_mvm_mac_ctxt_cmd_sta() 769 if (vif->p2p) { iwl_mvm_mac_ctxt_cmd_sta() 771 &vif->bss_conf.p2p_noa_attr; iwl_mvm_mac_ctxt_cmd_sta() 781 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period && iwl_mvm_mac_ctxt_cmd_sta() 800 dtim_offs = vif->bss_conf.sync_dtim_count * iwl_mvm_mac_ctxt_cmd_sta() 801 vif->bss_conf.beacon_int; iwl_mvm_mac_ctxt_cmd_sta() 806 cpu_to_le64(vif->bss_conf.sync_tsf + dtim_offs); iwl_mvm_mac_ctxt_cmd_sta() 808 cpu_to_le32(vif->bss_conf.sync_device_ts + dtim_offs); iwl_mvm_mac_ctxt_cmd_sta() 825 ctxt_sta->bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_sta() 827 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_sta() 828 ctxt_sta->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_sta() 829 vif->bss_conf.dtim_period); iwl_mvm_mac_ctxt_cmd_sta() 831 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_sta() 832 vif->bss_conf.dtim_period)); iwl_mvm_mac_ctxt_cmd_sta() 835 ctxt_sta->assoc_id = cpu_to_le32(vif->bss_conf.aid); iwl_mvm_mac_ctxt_cmd_sta() 841 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_listener() 846 WARN_ON(vif->type != NL80211_IFTYPE_MONITOR); iwl_mvm_mac_ctxt_cmd_listener() 848 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_listener() 861 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_ibss() 864 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_ibss() 867 WARN_ON(vif->type != NL80211_IFTYPE_ADHOC); iwl_mvm_mac_ctxt_cmd_ibss() 869 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_ibss() 875 cmd.ibss.bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_ibss() 877 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_ibss() 889 static void iwl_mvm_go_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_go_iterator() argument 892 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_go_iterator() 894 if (vif->type == NL80211_IFTYPE_AP && vif->p2p && iwl_mvm_go_iterator() 900 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_p2p_device() 906 WARN_ON(vif->type != NL80211_IFTYPE_P2P_DEVICE); iwl_mvm_mac_ctxt_cmd_p2p_device() 908 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_p2p_device() 957 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_send_beacon() 960 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_send_beacon() 998 if (info->band == IEEE80211_BAND_5GHZ || vif->p2p) { iwl_mvm_mac_ctxt_send_beacon() 1008 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_mac_ctxt_send_beacon() 1026 struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_beacon_changed() 1031 WARN_ON(vif->type != NL80211_IFTYPE_AP && iwl_mvm_mac_ctxt_beacon_changed() 1032 vif->type != NL80211_IFTYPE_ADHOC); iwl_mvm_mac_ctxt_beacon_changed() 1034 beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL); iwl_mvm_mac_ctxt_beacon_changed() 1038 ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon); iwl_mvm_mac_ctxt_beacon_changed() 1045 struct ieee80211_vif *vif; member in struct:iwl_mvm_mac_ap_iterator_data 1052 struct ieee80211_vif *vif) iwl_mvm_mac_ap_iterator() 1056 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc) iwl_mvm_mac_ap_iterator() 1060 if (vif->p2p && data->beacon_device_ts) iwl_mvm_mac_ap_iterator() 1063 data->beacon_device_ts = vif->bss_conf.sync_device_ts; iwl_mvm_mac_ap_iterator() 1064 data->beacon_int = vif->bss_conf.beacon_int; iwl_mvm_mac_ap_iterator() 1071 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_fill_ap() 1075 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_cmd_fill_ap() 1078 .vif = vif, iwl_mvm_mac_ctxt_cmd_fill_ap() 1082 ctxt_ap->bi = cpu_to_le32(vif->bss_conf.beacon_int); iwl_mvm_mac_ctxt_cmd_fill_ap() 1084 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int)); iwl_mvm_mac_ctxt_cmd_fill_ap() 1085 ctxt_ap->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_fill_ap() 1086 vif->bss_conf.dtim_period); iwl_mvm_mac_ctxt_cmd_fill_ap() 1088 cpu_to_le32(iwl_mvm_reciprocal(vif->bss_conf.beacon_int * iwl_mvm_mac_ctxt_cmd_fill_ap() 1089 vif->bss_conf.dtim_period)); iwl_mvm_mac_ctxt_cmd_fill_ap() 1091 ctxt_ap->mcast_qid = cpu_to_le32(vif->cab_queue); iwl_mvm_mac_ctxt_cmd_fill_ap() 1128 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_ap() 1133 WARN_ON(vif->type != NL80211_IFTYPE_AP || vif->p2p); iwl_mvm_mac_ctxt_cmd_ap() 1136 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_ap() 1146 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.ap, iwl_mvm_mac_ctxt_cmd_ap() 1153 struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_cmd_go() 1157 struct ieee80211_p2p_noa_attr *noa = &vif->bss_conf.p2p_noa_attr; iwl_mvm_mac_ctxt_cmd_go() 1159 WARN_ON(vif->type != NL80211_IFTYPE_AP || !vif->p2p); iwl_mvm_mac_ctxt_cmd_go() 1162 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action); iwl_mvm_mac_ctxt_cmd_go() 1172 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.go.ap, iwl_mvm_mac_ctxt_cmd_go() 1184 static int iwl_mvm_mac_ctx_send(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_mac_ctx_send() argument 1188 switch (vif->type) { iwl_mvm_mac_ctx_send() 1190 return iwl_mvm_mac_ctxt_cmd_sta(mvm, vif, action, iwl_mvm_mac_ctx_send() 1195 if (!vif->p2p) iwl_mvm_mac_ctx_send() 1196 return iwl_mvm_mac_ctxt_cmd_ap(mvm, vif, action); iwl_mvm_mac_ctx_send() 1198 return iwl_mvm_mac_ctxt_cmd_go(mvm, vif, action); iwl_mvm_mac_ctx_send() 1201 return iwl_mvm_mac_ctxt_cmd_listener(mvm, vif, action); iwl_mvm_mac_ctx_send() 1203 return iwl_mvm_mac_ctxt_cmd_p2p_device(mvm, vif, action); iwl_mvm_mac_ctx_send() 1205 return iwl_mvm_mac_ctxt_cmd_ibss(mvm, vif, action); iwl_mvm_mac_ctx_send() 1213 int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_add() argument 1215 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_add() 1219 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_add() 1222 ret = iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_ADD, iwl_mvm_mac_ctxt_add() 1228 iwl_mvm_set_last_nonqos_seq(mvm, vif); iwl_mvm_mac_ctxt_add() 1234 int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_mac_ctxt_changed() argument 1237 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_changed() 1240 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_changed() 1243 return iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_MODIFY, iwl_mvm_mac_ctxt_changed() 1247 int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_remove() argument 1249 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_ctxt_remove() 1254 vif->addr, ieee80211_vif_type_p2p(vif))) iwl_mvm_mac_ctxt_remove() 1272 if (vif->type == NL80211_IFTYPE_MONITOR) iwl_mvm_mac_ctxt_remove() 1373 struct ieee80211_vif *vif) iwl_mvm_beacon_loss_iterator() 1376 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_loss_iterator() 1395 ieee80211_beacon_loss(vif); iwl_mvm_beacon_loss_iterator() 1410 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trigger)) iwl_mvm_beacon_loss_iterator() 95 iwl_mvm_mac_tsf_id_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_tsf_id_iter() argument 222 iwl_mvm_iface_hw_queues_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_iface_hw_queues_iter() argument 278 iwl_mvm_mac_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_iface_iterator() argument 302 iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_recalc_tsf_id() argument 325 iwl_mvm_mac_ctxt_allocate_resources(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_allocate_resources() argument 523 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 609 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 643 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 756 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 840 iwl_mvm_mac_ctxt_cmd_listener(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_listener() argument 860 iwl_mvm_mac_ctxt_cmd_ibss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_ibss() argument 899 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 956 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 1025 iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_mac_ctxt_beacon_changed() argument 1051 iwl_mvm_mac_ap_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mac_ap_iterator() argument 1070 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 1127 iwl_mvm_mac_ctxt_cmd_ap(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_ap() argument 1152 iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 action) iwl_mvm_mac_ctxt_cmd_go() argument 1372 iwl_mvm_beacon_loss_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_beacon_loss_iterator() argument
|
H A D | debugfs-vif.c | 69 struct ieee80211_vif *vif, iwl_dbgfs_update_pm() 72 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_update_pm() 79 int dtimper = vif->bss_conf.dtim_period ?: 1; iwl_dbgfs_update_pm() 80 int dtimper_msec = dtimper * vif->bss_conf.beacon_int; iwl_dbgfs_update_pm() 130 static ssize_t iwl_dbgfs_pm_params_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_pm_params_write() argument 133 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_pm_params_write() 186 iwl_dbgfs_update_pm(mvm, vif, param, val); iwl_dbgfs_pm_params_write() 197 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_pm_params_read() local 198 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_pm_params_read() 204 pos = iwl_mvm_power_mac_dbgfs_read(mvm, vif, buf, bufsz); iwl_dbgfs_pm_params_read() 213 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_mac_params_read() local 214 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_mac_params_read() 227 switch (ieee80211_vif_type_p2p(vif)) { iwl_dbgfs_mac_params_read() 253 vif->bss_conf.bssid); iwl_dbgfs_mac_params_read() 264 if (vif->type == NL80211_IFTYPE_STATION && iwl_dbgfs_mac_params_read() 281 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_dbgfs_mac_params_read() 294 static void iwl_dbgfs_update_bf(struct ieee80211_vif *vif, iwl_dbgfs_update_bf() argument 297 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_update_bf() 339 static ssize_t iwl_dbgfs_bf_params_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_bf_params_write() argument 342 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_bf_params_write() 426 iwl_dbgfs_update_bf(vif, param, value); iwl_dbgfs_bf_params_write() 428 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_dbgfs_bf_params_write() 430 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_dbgfs_bf_params_write() 440 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_bf_params_read() local 441 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_bf_params_read() 453 iwl_mvm_beacon_filter_debugfs_parameters(vif, &cmd); iwl_dbgfs_bf_params_read() 485 static ssize_t iwl_dbgfs_low_latency_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_low_latency_write() argument 488 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_low_latency_write() 500 iwl_mvm_update_low_latency(mvm, vif, value); iwl_dbgfs_low_latency_write() 510 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_low_latency_read() local 511 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_low_latency_read() 524 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_uapsd_misbehaving_read() local 525 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_uapsd_misbehaving_read() 533 static ssize_t iwl_dbgfs_uapsd_misbehaving_write(struct ieee80211_vif *vif, iwl_dbgfs_uapsd_misbehaving_write() argument 537 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_uapsd_misbehaving_write() 548 static ssize_t iwl_dbgfs_rx_phyinfo_write(struct ieee80211_vif *vif, char *buf, iwl_dbgfs_rx_phyinfo_write() argument 551 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_rx_phyinfo_write() 565 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_dbgfs_rx_phyinfo_write() 590 struct ieee80211_vif *vif = file->private_data; iwl_dbgfs_rx_phyinfo_read() local 591 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_dbgfs_rx_phyinfo_read() 604 if (!debugfs_create_file(#name, mode, parent, vif, \ 616 void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_register() argument 618 struct dentry *dbgfs_dir = vif->debugfs_dir; iwl_mvm_vif_dbgfs_register() 619 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_vif_dbgfs_register() 638 ((vif->type == NL80211_IFTYPE_STATION && !vif->p2p) || iwl_mvm_vif_dbgfs_register() 639 (vif->type == NL80211_IFTYPE_STATION && vif->p2p && iwl_mvm_vif_dbgfs_register() 652 if (vif->type == NL80211_IFTYPE_STATION && !vif->p2p && iwl_mvm_vif_dbgfs_register() 680 void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_clean() argument 682 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_vif_dbgfs_clean() 68 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 | power.c | 114 struct ieee80211_vif *vif, iwl_mvm_beacon_filter_set_cqm_params() 117 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_filter_set_cqm_params() 119 if (vif->bss_conf.cqm_rssi_thold) { iwl_mvm_beacon_filter_set_cqm_params() 121 cpu_to_le32(vif->bss_conf.cqm_rssi_hyst); iwl_mvm_beacon_filter_set_cqm_params() 124 cpu_to_le32(-vif->bss_conf.cqm_rssi_thold); iwl_mvm_beacon_filter_set_cqm_params() 167 struct ieee80211_vif *vif, iwl_mvm_power_configure_uapsd() 170 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_configure_uapsd() 260 struct ieee80211_vif *vif) iwl_mvm_power_allow_uapsd() 262 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_allow_uapsd() 264 if (!memcmp(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, iwl_mvm_power_allow_uapsd() 268 if (vif->p2p && iwl_mvm_power_allow_uapsd() 275 if (vif->p2p && iwl_mvm_power_allow_uapsd() 276 (vif->bss_conf.p2p_noa_attr.oppps_ctwindow & iwl_mvm_power_allow_uapsd() 311 static bool iwl_mvm_power_is_radar(struct ieee80211_vif *vif) iwl_mvm_power_is_radar() argument 318 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_power_is_radar() 330 struct ieee80211_vif *vif, iwl_mvm_power_build_cmd() 337 iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_build_cmd() 341 dtimper = vif->bss_conf.dtim_period; iwl_mvm_power_build_cmd() 342 bi = vif->bss_conf.beacon_int; iwl_mvm_power_build_cmd() 360 if (!vif->bss_conf.ps || iwl_mvm_vif_low_latency(mvmvif) || iwl_mvm_power_build_cmd() 366 if (vif->bss_conf.beacon_rate && iwl_mvm_power_build_cmd() 367 (vif->bss_conf.beacon_rate->bitrate == 10 || iwl_mvm_power_build_cmd() 368 vif->bss_conf.beacon_rate->bitrate == 60)) { iwl_mvm_power_build_cmd() 374 radar_detect = iwl_mvm_power_is_radar(vif); iwl_mvm_power_build_cmd() 399 if (iwl_mvm_power_allow_uapsd(mvm, vif)) iwl_mvm_power_build_cmd() 400 iwl_mvm_power_configure_uapsd(mvm, vif, cmd); iwl_mvm_power_build_cmd() 449 struct ieee80211_vif *vif) iwl_mvm_power_send_cmd() 453 iwl_mvm_power_build_cmd(mvm, vif, &cmd); iwl_mvm_power_send_cmd() 456 memcpy(&iwl_mvm_vif_from_mac80211(vif)->mac_pwr_cmd, &cmd, sizeof(cmd)); iwl_mvm_power_send_cmd() 489 void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_vif_assoc() argument 491 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_vif_assoc() 493 if (memcmp(vif->bss_conf.bssid, mvmvif->uapsd_misbehaving_bssid, iwl_mvm_power_vif_assoc() 499 struct ieee80211_vif *vif) iwl_mvm_power_uapsd_misbehav_ap_iterator() 502 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_uapsd_misbehav_ap_iterator() 508 memcpy(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, iwl_mvm_power_uapsd_misbehav_ap_iterator() 541 struct ieee80211_vif *vif) iwl_mvm_power_disable_pm_iterator() 543 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_disable_pm_iterator() 549 struct ieee80211_vif *vif) iwl_mvm_power_ps_disabled_iterator() 551 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_ps_disabled_iterator() 560 struct ieee80211_vif *vif) iwl_mvm_power_get_vifs_iterator() 562 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_get_vifs_iterator() 565 switch (ieee80211_vif_type_p2p(vif)) { iwl_mvm_power_get_vifs_iterator() 573 power_iterator->ap_vif = vif; iwl_mvm_power_get_vifs_iterator() 582 power_iterator->monitor_vif = vif; iwl_mvm_power_get_vifs_iterator() 591 power_iterator->p2p_vif = vif; iwl_mvm_power_get_vifs_iterator() 600 power_iterator->bss_vif = vif; iwl_mvm_power_get_vifs_iterator() 607 power_iterator->bf_vif = vif; iwl_mvm_power_get_vifs_iterator() 692 struct ieee80211_vif *vif, char *buf, iwl_mvm_power_mac_dbgfs_read() 695 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_power_mac_dbgfs_read() 766 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, iwl_mvm_beacon_filter_debugfs_parameters() argument 769 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_beacon_filter_debugfs_parameters() 801 struct ieee80211_vif *vif, _iwl_mvm_enable_beacon_filter() 806 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); _iwl_mvm_enable_beacon_filter() 809 if (mvmvif != mvm->bf_allowed_vif || !vif->bss_conf.dtim_period || _iwl_mvm_enable_beacon_filter() 810 vif->type != NL80211_IFTYPE_STATION || vif->p2p) _iwl_mvm_enable_beacon_filter() 813 iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, cmd); _iwl_mvm_enable_beacon_filter() 815 iwl_mvm_beacon_filter_debugfs_parameters(vif, cmd); _iwl_mvm_enable_beacon_filter() 826 struct ieee80211_vif *vif, iwl_mvm_enable_beacon_filter() 834 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, flags, false); iwl_mvm_enable_beacon_filter() 838 struct ieee80211_vif *vif, iwl_mvm_update_beacon_abort() 841 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_beacon_abort() 854 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, 0, false); iwl_mvm_update_beacon_abort() 858 struct ieee80211_vif *vif, iwl_mvm_disable_beacon_filter() 862 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_disable_beacon_filter() 865 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_disable_beacon_filter() 979 struct ieee80211_vif *vif, iwl_mvm_update_d0i3_power_mode() 983 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_d0i3_power_mode() 986 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_update_d0i3_power_mode() 989 if (!vif->bss_conf.assoc) iwl_mvm_update_d0i3_power_mode() 992 iwl_mvm_power_build_cmd(mvm, vif, &cmd); iwl_mvm_update_d0i3_power_mode() 995 int dtimper = vif->bss_conf.dtim_period ?: 1; iwl_mvm_update_d0i3_power_mode() 996 int dtimper_tu = dtimper * vif->bss_conf.beacon_int; iwl_mvm_update_d0i3_power_mode() 997 bool radar_detect = iwl_mvm_power_is_radar(vif); iwl_mvm_update_d0i3_power_mode() 1029 ret = _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd_bf, iwl_mvm_update_d0i3_power_mode() 1033 ret = iwl_mvm_enable_beacon_filter(mvm, vif, flags); iwl_mvm_update_d0i3_power_mode() 1035 ret = iwl_mvm_disable_beacon_filter(mvm, vif, flags); iwl_mvm_update_d0i3_power_mode() 113 iwl_mvm_beacon_filter_set_cqm_params(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_beacon_filter_cmd *cmd) iwl_mvm_beacon_filter_set_cqm_params() argument 166 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 259 iwl_mvm_power_allow_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_allow_uapsd() argument 329 iwl_mvm_power_build_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_mac_power_cmd *cmd) iwl_mvm_power_build_cmd() argument 448 iwl_mvm_power_send_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_power_send_cmd() argument 498 iwl_mvm_power_uapsd_misbehav_ap_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_power_uapsd_misbehav_ap_iterator() argument 540 iwl_mvm_power_disable_pm_iterator(void *_data, u8* mac, struct ieee80211_vif *vif) iwl_mvm_power_disable_pm_iterator() argument 548 iwl_mvm_power_ps_disabled_iterator(void *_data, u8* mac, struct ieee80211_vif *vif) iwl_mvm_power_ps_disabled_iterator() argument 559 iwl_mvm_power_get_vifs_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_power_get_vifs_iterator() argument 691 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 800 _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 825 iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 flags) iwl_mvm_enable_beacon_filter() argument 837 iwl_mvm_update_beacon_abort(struct iwl_mvm *mvm, struct ieee80211_vif *vif, bool enable) iwl_mvm_update_beacon_abort() argument 857 iwl_mvm_disable_beacon_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u32 flags) iwl_mvm_disable_beacon_filter() argument 978 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 | 146 * be the vif's ip address. in case there is not a single 150 * the LSB bytes of the vif's mac address 734 struct ieee80211_vif *vif, iwl_mvm_mac_ampdu_action() 792 ret = iwl_mvm_sta_tx_agg_start(mvm, vif, sta, tid, ssn); iwl_mvm_mac_ampdu_action() 795 ret = iwl_mvm_sta_tx_agg_stop(mvm, vif, sta, tid); iwl_mvm_mac_ampdu_action() 799 ret = iwl_mvm_sta_tx_agg_flush(mvm, vif, sta, tid); iwl_mvm_mac_ampdu_action() 802 ret = iwl_mvm_sta_tx_agg_oper(mvm, vif, sta, tid, buf_size); iwl_mvm_mac_ampdu_action() 822 struct ieee80211_vif *vif) iwl_mvm_cleanup_iterator() 825 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_cleanup_iterator() 1475 struct ieee80211_vif *vif, s8 tx_power) iwl_mvm_set_tx_power_old() 1479 .mac_context_id = iwl_mvm_vif_from_mac80211(vif)->id, iwl_mvm_set_tx_power_old() 1488 static int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_set_tx_power() argument 1494 cpu_to_le32(iwl_mvm_vif_from_mac80211(vif)->id), iwl_mvm_set_tx_power() 1499 return iwl_mvm_set_tx_power_old(mvm, vif, tx_power); iwl_mvm_set_tx_power() 1509 struct ieee80211_vif *vif) iwl_mvm_mac_add_interface() 1512 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_add_interface() 1540 ret = iwl_mvm_mac_ctxt_init(mvm, vif); iwl_mvm_mac_add_interface() 1545 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_add_interface() 1559 if (vif->type == NL80211_IFTYPE_AP || iwl_mvm_mac_add_interface() 1560 vif->type == NL80211_IFTYPE_ADHOC) { iwl_mvm_mac_add_interface() 1561 ret = iwl_mvm_alloc_bcast_sta(mvm, vif); iwl_mvm_mac_add_interface() 1567 iwl_mvm_vif_dbgfs_register(mvm, vif); iwl_mvm_mac_add_interface() 1571 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_mac_add_interface() 1580 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_mvm_mac_add_interface() 1585 vif->type == NL80211_IFTYPE_STATION && !vif->p2p) { iwl_mvm_mac_add_interface() 1587 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_add_interface() 1596 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_add_interface() 1605 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_mac_add_interface() 1609 ret = iwl_mvm_add_bcast_sta(mvm, vif); iwl_mvm_mac_add_interface() 1613 /* Save a pointer to p2p device vif, so it can later be used to iwl_mvm_mac_add_interface() 1615 mvm->p2p_device_vif = vif; iwl_mvm_mac_add_interface() 1618 iwl_mvm_vif_dbgfs_register(mvm, vif); iwl_mvm_mac_add_interface() 1622 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_mac_add_interface() 1628 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_add_interface() 1633 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_mac_add_interface() 1635 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_add_interface() 1638 iwl_mvm_mac_ctxt_release(mvm, vif); iwl_mvm_mac_add_interface() 1648 struct ieee80211_vif *vif) iwl_mvm_prepare_mac_removal() 1650 u32 tfd_msk = iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_prepare_mac_removal() 1654 * mac80211 first removes all the stations of the vif and iwl_mvm_prepare_mac_removal() 1655 * then removes the vif. When it removes a station it also iwl_mvm_prepare_mac_removal() 1657 * of all the stations of this vif are closed, and the queues iwl_mvm_prepare_mac_removal() 1659 * We still need to take care of the shared queues of the vif. iwl_mvm_prepare_mac_removal() 1682 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_prepare_mac_removal() 1701 struct ieee80211_vif *vif) iwl_mvm_mac_remove_interface() 1704 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_remove_interface() 1706 iwl_mvm_prepare_mac_removal(mvm, vif); iwl_mvm_mac_remove_interface() 1712 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | iwl_mvm_mac_remove_interface() 1716 iwl_mvm_vif_dbgfs_clean(mvm, vif); iwl_mvm_mac_remove_interface() 1722 if (vif->type == NL80211_IFTYPE_AP || iwl_mvm_mac_remove_interface() 1723 vif->type == NL80211_IFTYPE_ADHOC) { iwl_mvm_mac_remove_interface() 1725 if (vif == mvm->noa_vif) { iwl_mvm_mac_remove_interface() 1730 iwl_mvm_dealloc_bcast_sta(mvm, vif); iwl_mvm_mac_remove_interface() 1734 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_remove_interface() 1736 iwl_mvm_rm_bcast_sta(mvm, vif); iwl_mvm_mac_remove_interface() 1737 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_mac_remove_interface() 1742 if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE) iwl_mvm_mac_remove_interface() 1746 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_mac_remove_interface() 1749 iwl_mvm_mac_ctxt_release(mvm, vif); iwl_mvm_mac_remove_interface() 1764 struct ieee80211_vif *vif) iwl_mvm_mc_iface_iterator() 1775 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_mc_iface_iterator() 1776 !vif->bss_conf.assoc) iwl_mvm_mc_iface_iterator() 1780 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN); iwl_mvm_mc_iface_iterator() 1872 iwl_mvm_set_bcast_filter(struct ieee80211_vif *vif, iwl_mvm_set_bcast_filter() argument 1889 if (vif->bss_conf.arp_addr_cnt != 1) { cpu_to_le16() 1894 attr->val = vif->bss_conf.arp_addr_list[0]; 1897 attr->val = *(__be32 *)&vif->addr[2]; 1908 struct ieee80211_vif *vif) iwl_mvm_bcast_filter_iterator() 1913 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bcast_filter_iterator() 1926 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p || iwl_mvm_bcast_filter_iterator() 1927 !vif->bss_conf.assoc) iwl_mvm_bcast_filter_iterator() 1946 iwl_mvm_set_bcast_filter(vif, iwl_mvm_bcast_filter_iterator() 1992 /* configure and attach these filters for each associated sta vif */ iwl_mvm_bcast_filter_build_cmd() 2000 struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() 2015 struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() 2022 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed_station() 2026 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bss_info_changed_station() 2035 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); iwl_mvm_bss_info_changed_station() 2046 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, mvmvif->bssid); iwl_mvm_bss_info_changed_station() 2048 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); iwl_mvm_bss_info_changed_station() 2084 u32 dur = (11 * vif->bss_conf.beacon_int) / 10; iwl_mvm_bss_info_changed_station() 2085 iwl_mvm_protect_session(mvm, vif, dur, dur, iwl_mvm_bss_info_changed_station() 2089 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_bss_info_changed_station() 2090 iwl_mvm_power_vif_assoc(mvm, vif); iwl_mvm_bss_info_changed_station() 2091 if (vif->p2p) { iwl_mvm_bss_info_changed_station() 2093 iwl_mvm_update_smps(mvm, vif, iwl_mvm_bss_info_changed_station() 2102 WARN_ONCE(iwl_mvm_sf_update(mvm, vif, false), iwl_mvm_bss_info_changed_station() 2106 ret = iwl_mvm_rm_sta_id(mvm, vif, mvmvif->ap_sta_id); iwl_mvm_bss_info_changed_station() 2118 if (vif->p2p) iwl_mvm_bss_info_changed_station() 2122 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_bss_info_changed_station() 2126 vif->addr); iwl_mvm_bss_info_changed_station() 2130 iwl_mvm_configure_bcast_filter(mvm, vif); iwl_mvm_bss_info_changed_station() 2136 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, iwl_mvm_bss_info_changed_station() 2148 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_bss_info_changed_station() 2149 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); iwl_mvm_bss_info_changed_station() 2161 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); iwl_mvm_bss_info_changed_station() 2169 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_mvm_bss_info_changed_station() 2178 iwl_mvm_configure_bcast_filter(mvm, vif); iwl_mvm_bss_info_changed_station() 2183 struct ieee80211_vif *vif) iwl_mvm_start_ap_ibss() 2186 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_start_ap_ibss() 2200 ret = iwl_mvm_mac_ctxt_beacon_changed(mvm, vif); iwl_mvm_start_ap_ibss() 2208 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_start_ap_ibss() 2209 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); iwl_mvm_start_ap_ibss() 2212 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_start_ap_ibss() 2217 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_start_ap_ibss() 2223 ret = iwl_mvm_send_add_bcast_sta(mvm, vif); iwl_mvm_start_ap_ibss() 2237 /* Need to update the P2P Device MAC (only GO, IBSS is single vif) */ iwl_mvm_start_ap_ibss() 2238 if (vif->p2p && mvm->p2p_device_vif) iwl_mvm_start_ap_ibss() 2254 iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_start_ap_ibss() 2256 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_start_ap_ibss() 2258 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_start_ap_ibss() 2266 struct ieee80211_vif *vif) iwl_mvm_stop_ap_ibss() 2269 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stop_ap_ibss() 2271 iwl_mvm_prepare_mac_removal(mvm, vif); iwl_mvm_stop_ap_ibss() 2276 if (rcu_access_pointer(mvm->csa_vif) == vif) { iwl_mvm_stop_ap_ibss() 2283 if (rcu_access_pointer(mvm->csa_tx_blocked_vif) == vif) { iwl_mvm_stop_ap_ibss() 2295 /* Need to update the P2P Device MAC (only GO, IBSS is single vif) */ iwl_mvm_stop_ap_ibss() 2296 if (vif->p2p && mvm->p2p_device_vif) iwl_mvm_stop_ap_ibss() 2300 iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_stop_ap_ibss() 2301 iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_stop_ap_ibss() 2305 iwl_mvm_mac_ctxt_remove(mvm, vif); iwl_mvm_stop_ap_ibss() 2312 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed_ap_ibss() 2316 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bss_info_changed_ap_ibss() 2324 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL)) iwl_mvm_bss_info_changed_ap_ibss() 2325 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); iwl_mvm_bss_info_changed_ap_ibss() 2329 iwl_mvm_mac_ctxt_beacon_changed(mvm, vif)) iwl_mvm_bss_info_changed_ap_ibss() 2335 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); iwl_mvm_bss_info_changed_ap_ibss() 2341 struct ieee80211_vif *vif, iwl_mvm_bss_info_changed() 2360 switch (vif->type) { iwl_mvm_bss_info_changed() 2362 iwl_mvm_bss_info_changed_station(mvm, vif, bss_conf, changes); iwl_mvm_bss_info_changed() 2366 iwl_mvm_bss_info_changed_ap_ibss(mvm, vif, bss_conf, changes); iwl_mvm_bss_info_changed() 2419 struct ieee80211_vif *vif, iwl_mvm_mac_hw_scan() 2452 ret = iwl_mvm_scan_umac(mvm, vif, hw_req); iwl_mvm_mac_hw_scan() 2454 ret = iwl_mvm_unified_scan_lmac(mvm, vif, hw_req); iwl_mvm_mac_hw_scan() 2464 struct ieee80211_vif *vif) iwl_mvm_mac_cancel_hw_scan() 2518 struct ieee80211_vif *vif, iwl_mvm_mac_sta_notify() 2574 struct ieee80211_vif *vif, iwl_mvm_sta_pre_rcu_remove() 2595 static void iwl_mvm_check_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_check_uapsd() argument 2602 vif->driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD; iwl_mvm_check_uapsd() 2606 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; iwl_mvm_check_uapsd() 2610 struct ieee80211_vif *vif, iwl_mvm_mac_sta_state() 2616 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_sta_state() 2639 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_mac_sta_state() 2640 vif->bss_conf.beacon_int < 16) { iwl_mvm_mac_sta_state() 2643 sta->addr, vif->bss_conf.beacon_int); iwl_mvm_mac_sta_state() 2649 (vif->p2p || iwl_mvm_mac_sta_state() 2658 ret = iwl_mvm_add_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2660 iwl_mvm_recalc_tdls_state(mvm, vif, true); iwl_mvm_mac_sta_state() 2668 iwl_mvm_check_uapsd(mvm, vif, sta->addr); iwl_mvm_mac_sta_state() 2672 ret = iwl_mvm_update_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2685 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); iwl_mvm_mac_sta_state() 2690 WARN_ON(iwl_mvm_disable_beacon_filter(mvm, vif, 0)); iwl_mvm_mac_sta_state() 2700 ret = iwl_mvm_rm_sta(mvm, vif, sta); iwl_mvm_mac_sta_state() 2702 iwl_mvm_recalc_tdls_state(mvm, vif, false); iwl_mvm_mac_sta_state() 2731 struct ieee80211_vif *vif, iwl_mvm_sta_rc_update() 2736 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_sta_rc_update() 2738 iwl_mvm_sf_update(mvm, vif, false); iwl_mvm_sta_rc_update() 2742 struct ieee80211_vif *vif, u16 ac, iwl_mvm_mac_conf_tx() 2746 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_conf_tx() 2754 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_mac_conf_tx() 2758 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_mac_conf_tx() 2766 struct ieee80211_vif *vif) iwl_mvm_mac_mgd_prepare_tx() 2770 200 + vif->bss_conf.beacon_int); iwl_mvm_mac_mgd_prepare_tx() 2772 100 + vif->bss_conf.beacon_int); iwl_mvm_mac_mgd_prepare_tx() 2774 if (WARN_ON_ONCE(vif->bss_conf.assoc)) iwl_mvm_mac_mgd_prepare_tx() 2786 iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false); iwl_mvm_mac_mgd_prepare_tx() 2793 struct ieee80211_vif *vif, iwl_mvm_mac_sched_scan_start() 2818 if (!vif->bss_conf.idle) { iwl_mvm_mac_sched_scan_start() 2828 ret = iwl_mvm_scan_offload_start(mvm, vif, req, ies); iwl_mvm_mac_sched_scan_start() 2838 struct ieee80211_vif *vif) iwl_mvm_mac_sched_scan_stop() 2871 struct ieee80211_vif *vif, iwl_mvm_mac_set_key() 2902 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_mac_set_key() 2918 if ((vif->type == NL80211_IFTYPE_ADHOC || iwl_mvm_mac_set_key() 2919 vif->type == NL80211_IFTYPE_AP) && !sta) { iwl_mvm_mac_set_key() 2931 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, false); iwl_mvm_mac_set_key() 2950 ret = iwl_mvm_remove_sta_key(mvm, vif, sta, key); iwl_mvm_mac_set_key() 2961 struct ieee80211_vif *vif, iwl_mvm_mac_update_tkip_key() 2971 iwl_mvm_update_tkip_key(mvm, vif, keyconf, sta, iv32, phase1key); iwl_mvm_mac_update_tkip_key() 3012 struct ieee80211_vif *vif, iwl_mvm_send_aux_roc_cmd() 3016 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_aux_roc_cmd() 3038 memcpy(aux_roc_req.node_addr, vif->addr, ETH_ALEN); iwl_mvm_send_aux_roc_cmd() 3049 te_data->vif = vif; iwl_mvm_send_aux_roc_cmd() 3094 struct ieee80211_vif *vif, iwl_mvm_roc() 3100 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_roc() 3112 switch (vif->type) { iwl_mvm_roc() 3118 vif, duration); iwl_mvm_roc() 3128 IWL_ERR(mvm, "vif isn't P2P_DEVICE: %d\n", vif->type); iwl_mvm_roc() 3143 ret = iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_roc() 3152 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_roc() 3196 ret = iwl_mvm_binding_remove_vif(mvm, vif); iwl_mvm_roc() 3205 ret = iwl_mvm_binding_add_vif(mvm, vif); iwl_mvm_roc() 3214 ret = iwl_mvm_start_p2p_roc(mvm, vif, duration, type); iwl_mvm_roc() 3327 struct ieee80211_vif *vif, __iwl_mvm_assign_vif_chanctx() 3333 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_assign_vif_chanctx() 3340 switch (vif->type) { __iwl_mvm_assign_vif_chanctx() 3365 ret = iwl_mvm_binding_add_vif(mvm, vif); __iwl_mvm_assign_vif_chanctx() 3379 if (vif->type == NL80211_IFTYPE_MONITOR) { __iwl_mvm_assign_vif_chanctx() 3387 if (vif->type == NL80211_IFTYPE_AP) { __iwl_mvm_assign_vif_chanctx() 3389 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); __iwl_mvm_assign_vif_chanctx() 3392 if (switching_chanctx && vif->type == NL80211_IFTYPE_STATION) { __iwl_mvm_assign_vif_chanctx() 3393 u32 duration = 2 * vif->bss_conf.beacon_int; __iwl_mvm_assign_vif_chanctx() 3406 iwl_mvm_protect_session(mvm, vif, duration, duration, __iwl_mvm_assign_vif_chanctx() 3407 vif->bss_conf.beacon_int / 2, __iwl_mvm_assign_vif_chanctx() 3418 iwl_mvm_binding_remove_vif(mvm, vif); __iwl_mvm_assign_vif_chanctx() 3426 struct ieee80211_vif *vif, iwl_mvm_assign_vif_chanctx() 3433 ret = __iwl_mvm_assign_vif_chanctx(mvm, vif, ctx, false); iwl_mvm_assign_vif_chanctx() 3440 struct ieee80211_vif *vif, __iwl_mvm_unassign_vif_chanctx() 3444 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_unassign_vif_chanctx() 3451 switch (vif->type) { __iwl_mvm_unassign_vif_chanctx() 3469 rcu_assign_pointer(mvm->csa_tx_blocked_vif, vif); __iwl_mvm_unassign_vif_chanctx() 3477 disabled_vif = vif; __iwl_mvm_unassign_vif_chanctx() 3479 iwl_mvm_mac_ctxt_changed(mvm, vif, true, NULL); __iwl_mvm_unassign_vif_chanctx() 3486 iwl_mvm_binding_remove_vif(mvm, vif); __iwl_mvm_unassign_vif_chanctx() 3494 struct ieee80211_vif *vif, iwl_mvm_unassign_vif_chanctx() 3500 __iwl_mvm_unassign_vif_chanctx(mvm, vif, ctx, false); iwl_mvm_unassign_vif_chanctx() 3511 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); iwl_mvm_switch_vif_chanctx_swap() 3520 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, iwl_mvm_switch_vif_chanctx_swap() 3543 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, iwl_mvm_switch_vif_chanctx_swap() 3568 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); iwl_mvm_switch_vif_chanctx_reassign() 3570 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, iwl_mvm_switch_vif_chanctx_reassign() 3581 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, iwl_mvm_switch_vif_chanctx_reassign() 3607 /* we only support a single-vif right now */ iwl_mvm_switch_vif_chanctx() 3633 if (!mvm_sta || !mvm_sta->vif) { iwl_mvm_set_tim() 3634 IWL_ERR(mvm, "Station is not associated to a vif\n"); iwl_mvm_set_tim() 3638 return iwl_mvm_mac_ctxt_beacon_changed(mvm, mvm_sta->vif); iwl_mvm_set_tim() 3649 struct ieee80211_vif *vif, __iwl_mvm_mac_testmode_cmd() 3665 if (!vif || vif->type != NL80211_IFTYPE_AP || !vif->p2p || __iwl_mvm_mac_testmode_cmd() 3666 !vif->bss_conf.enable_beacon || __iwl_mvm_mac_testmode_cmd() 3671 if (noa_duration >= vif->bss_conf.beacon_int) __iwl_mvm_mac_testmode_cmd() 3675 mvm->noa_vif = vif; __iwl_mvm_mac_testmode_cmd() 3679 /* must be associated client vif - ignore authorized */ __iwl_mvm_mac_testmode_cmd() 3680 if (!vif || vif->type != NL80211_IFTYPE_STATION || __iwl_mvm_mac_testmode_cmd() 3681 !vif->bss_conf.assoc || !vif->bss_conf.dtim_period || __iwl_mvm_mac_testmode_cmd() 3686 return iwl_mvm_enable_beacon_filter(mvm, vif, 0); __iwl_mvm_mac_testmode_cmd() 3687 return iwl_mvm_disable_beacon_filter(mvm, vif, 0); __iwl_mvm_mac_testmode_cmd() 3694 struct ieee80211_vif *vif, iwl_mvm_mac_testmode_cmd() 3701 err = __iwl_mvm_mac_testmode_cmd(mvm, vif, data, len); iwl_mvm_mac_testmode_cmd() 3709 struct ieee80211_vif *vif, iwl_mvm_channel_switch() 3723 struct ieee80211_vif *vif, iwl_mvm_pre_channel_switch() 3728 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_pre_channel_switch() 3739 iwl_fw_dbg_trigger_simple_stop(mvm, vif, FW_DBG_TRIGGER_CHANNEL_SWITCH); iwl_mvm_pre_channel_switch() 3741 switch (vif->type) { iwl_mvm_pre_channel_switch() 3752 rcu_assign_pointer(mvm->csa_vif, vif); iwl_mvm_pre_channel_switch() 3767 ((vif->bss_conf.beacon_int * (chsw->count - 1) - iwl_mvm_pre_channel_switch() 3771 iwl_mvm_csa_client_absent(mvm, vif); iwl_mvm_pre_channel_switch() 3773 iwl_mvm_schedule_csa_period(mvm, vif, vif->bss_conf.beacon_int, iwl_mvm_pre_channel_switch() 3776 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); iwl_mvm_pre_channel_switch() 3802 struct ieee80211_vif *vif) iwl_mvm_post_channel_switch() 3804 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_post_channel_switch() 3816 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_post_channel_switch() 3829 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_post_channel_switch() 3831 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); iwl_mvm_post_channel_switch() 3835 iwl_mvm_stop_session_protection(mvm, vif); iwl_mvm_post_channel_switch() 3849 struct ieee80211_vif *vif, u32 queues, bool drop) iwl_mvm_mac_flush() 3858 if (!vif || vif->type != NL80211_IFTYPE_STATION) iwl_mvm_mac_flush() 3862 mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_flush() 3872 if (mvmsta->vif != vif) iwl_mvm_mac_flush() 3946 struct ieee80211_vif *vif, iwl_mvm_mac_sta_statistics() 3951 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_mac_sta_statistics() 3959 if (!(vif->driver_flags & IEEE80211_VIF_BEACON_FILTER)) iwl_mvm_mac_sta_statistics() 3962 if (!vif->bss_conf.assoc) iwl_mvm_mac_sta_statistics() 3986 struct ieee80211_vif *vif, iwl_mvm_mac_event_callback() 4005 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_mac_event_callback() 733 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) iwl_mvm_mac_ampdu_action() argument 821 iwl_mvm_cleanup_iterator(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_cleanup_iterator() argument 1474 iwl_mvm_set_tx_power_old(struct iwl_mvm *mvm, struct ieee80211_vif *vif, s8 tx_power) iwl_mvm_set_tx_power_old() argument 1508 iwl_mvm_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_add_interface() argument 1647 iwl_mvm_prepare_mac_removal(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_prepare_mac_removal() argument 1700 iwl_mvm_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_remove_interface() argument 1763 iwl_mvm_mc_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_mc_iface_iterator() argument 1907 iwl_mvm_bcast_filter_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bcast_filter_iterator() argument 1999 iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() argument 2014 iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_configure_bcast_filter() argument 2021 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 2182 iwl_mvm_start_ap_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_start_ap_ibss() argument 2265 iwl_mvm_stop_ap_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_stop_ap_ibss() argument 2311 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 2340 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 2418 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 2463 iwl_mvm_mac_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_cancel_hw_scan() argument 2517 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 2573 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 2609 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 2730 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 2741 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 2765 iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_mgd_prepare_tx() argument 2792 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 2837 iwl_mvm_mac_sched_scan_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_sched_scan_stop() argument 2869 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 2960 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 3010 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 3093 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 3326 __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 3425 iwl_mvm_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) iwl_mvm_assign_vif_chanctx() argument 3439 __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 3493 iwl_mvm_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) iwl_mvm_unassign_vif_chanctx() argument 3648 __iwl_mvm_mac_testmode_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, void *data, int len) __iwl_mvm_mac_testmode_cmd() argument 3693 iwl_mvm_mac_testmode_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void *data, int len) iwl_mvm_mac_testmode_cmd() argument 3708 iwl_mvm_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *chsw) iwl_mvm_channel_switch() argument 3722 iwl_mvm_pre_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *chsw) iwl_mvm_pre_channel_switch() argument 3801 iwl_mvm_post_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_post_channel_switch() argument 3848 iwl_mvm_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) iwl_mvm_mac_flush() argument 3945 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 3985 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() 187 void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_recalc_tdls_state() argument 190 int tdls_sta_cnt = iwl_mvm_tdls_sta_count(mvm, vif); iwl_mvm_recalc_tdls_state() 197 iwl_mvm_tdls_config(mvm, vif); iwl_mvm_recalc_tdls_state() 205 struct ieee80211_vif *vif) iwl_mvm_mac_mgd_protect_tdls_discover() 208 u32 duration = 2 * vif->bss_conf.dtim_period * vif->bss_conf.beacon_int; iwl_mvm_mac_mgd_protect_tdls_discover() 219 iwl_mvm_protect_session(mvm, vif, duration, duration, 100, true); iwl_mvm_mac_mgd_protect_tdls_discover() 272 struct ieee80211_vif *vif; iwl_mvm_rx_tdls_notif() local 293 vif = mvmsta->vif; iwl_mvm_rx_tdls_notif() 299 delay = TU_TO_MS(vif->bss_conf.dtim_period * vif->bss_conf.beacon_int); iwl_mvm_rx_tdls_notif() 394 struct ieee80211_vif *vif, iwl_mvm_tdls_config_channel_switch() 428 sta = ieee80211_find_sta(vif, peer); iwl_mvm_tdls_config_channel_switch() 446 rcu_dereference(vif->chanctx_conf); iwl_mvm_tdls_config_channel_switch() 467 cpu_to_le32(TU_TO_US(vif->bss_conf.dtim_period * iwl_mvm_tdls_config_channel_switch() 468 vif->bss_conf.beacon_int) / 2); iwl_mvm_tdls_config_channel_switch() 520 struct ieee80211_vif *vif; iwl_mvm_tdls_ch_switch_work() local 542 vif = mvmsta->vif; iwl_mvm_tdls_ch_switch_work() 543 ret = iwl_mvm_tdls_config_channel_switch(mvm, vif, iwl_mvm_tdls_ch_switch_work() 556 delay = TU_TO_MS(vif->bss_conf.dtim_period * vif->bss_conf.beacon_int); iwl_mvm_tdls_ch_switch_work() 565 struct ieee80211_vif *vif, iwl_mvm_tdls_channel_switch() 589 ret = iwl_mvm_tdls_config_channel_switch(mvm, vif, iwl_mvm_tdls_channel_switch() 598 * Mark the peer as "in tdls switch" for this vif. We only allow a iwl_mvm_tdls_channel_switch() 599 * single such peer per vif. iwl_mvm_tdls_channel_switch() 618 delay = 2 * TU_TO_MS(vif->bss_conf.dtim_period * iwl_mvm_tdls_channel_switch() 619 vif->bss_conf.beacon_int); iwl_mvm_tdls_channel_switch() 629 struct ieee80211_vif *vif, iwl_mvm_tdls_cancel_channel_switch() 671 msleep(TU_TO_MS(vif->bss_conf.dtim_period * iwl_mvm_tdls_cancel_channel_switch() 672 vif->bss_conf.beacon_int)); iwl_mvm_tdls_cancel_channel_switch() 682 struct ieee80211_vif *vif, iwl_mvm_tdls_recv_channel_switch() 722 iwl_mvm_tdls_config_channel_switch(mvm, vif, type, params->sta->addr, iwl_mvm_tdls_recv_channel_switch() 732 delay = vif->bss_conf.dtim_period * vif->bss_conf.beacon_int * iwl_mvm_tdls_recv_channel_switch() 204 iwl_mvm_mac_mgd_protect_tdls_discover(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwl_mvm_mac_mgd_protect_tdls_discover() argument 393 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 564 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 628 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 681 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 | 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 | sta.c | 82 /* d0i3/d3 assumes the AP's sta_id (of sta vif) is 0. reserve it. */ iwl_mvm_find_free_sta_id() 260 struct ieee80211_vif *vif, iwl_mvm_add_sta() 263 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_add_sta() 271 ieee80211_vif_type_p2p(vif)); iwl_mvm_add_sta() 283 mvm_sta->vif = vif; iwl_mvm_add_sta() 300 if (vif->hw_queue[i] != IEEE80211_INVAL_HW_QUEUE) iwl_mvm_add_sta() 301 mvm_sta->tfd_queue_msk |= BIT(vif->hw_queue[i]); iwl_mvm_add_sta() 316 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_add_sta() 335 struct ieee80211_vif *vif, iwl_mvm_update_sta() 482 struct ieee80211_vif *vif, iwl_mvm_rm_sta() 485 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_rm_sta() 491 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_rm_sta() 507 if (vif->bss_conf.assoc) iwl_mvm_rm_sta() 564 struct ieee80211_vif *vif, iwl_mvm_rm_sta_id() 674 * Send the add station command for the vif's broadcast station. 678 * @vif: the interface to which the broadcast station is added 681 int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_send_add_bcast_sta() argument 683 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_add_bcast_sta() 690 if (vif->type == NL80211_IFTYPE_ADHOC) iwl_mvm_send_add_bcast_sta() 691 baddr = vif->bss_conf.bssid; iwl_mvm_send_add_bcast_sta() 702 int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_send_rm_bcast_sta() argument 704 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_send_rm_bcast_sta() 715 int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_alloc_bcast_sta() argument 717 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_alloc_bcast_sta() 722 qmask = iwl_mvm_mac_get_queues_mask(vif); iwl_mvm_alloc_bcast_sta() 729 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_alloc_bcast_sta() 730 qmask &= ~BIT(vif->cab_queue); iwl_mvm_alloc_bcast_sta() 733 ieee80211_vif_type_p2p(vif)); iwl_mvm_alloc_bcast_sta() 736 /* Allocate a new station entry for the broadcast station to the given vif, 741 * @vif: the interface to which the broadcast station is added 743 int iwl_mvm_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_add_bcast_sta() argument 745 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_add_bcast_sta() 751 ret = iwl_mvm_alloc_bcast_sta(mvm, vif); iwl_mvm_add_bcast_sta() 755 ret = iwl_mvm_send_add_bcast_sta(mvm, vif); iwl_mvm_add_bcast_sta() 763 void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_dealloc_bcast_sta() argument 765 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_dealloc_bcast_sta() 774 int iwl_mvm_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_rm_bcast_sta() argument 780 ret = iwl_mvm_send_rm_bcast_sta(mvm, vif); iwl_mvm_rm_bcast_sta() 782 iwl_mvm_dealloc_bcast_sta(mvm, vif); iwl_mvm_rm_bcast_sta() 915 int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_start() argument 954 mvm->queue_to_mac80211[txq_id] = vif->hw_queue[tid_to_mac80211_ac[tid]]; iwl_mvm_sta_tx_agg_start() 968 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_start() 978 int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_oper() argument 984 iwl_mvm_get_wd_timeout(mvm, vif, sta->tdls, false); iwl_mvm_sta_tx_agg_oper() 1027 int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_stop() argument 1041 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1074 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1091 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_sta_tx_agg_stop() 1109 int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sta_tx_agg_flush() argument 1165 static u8 iwl_mvm_get_key_sta_id(struct ieee80211_vif *vif, iwl_mvm_get_key_sta_id() argument 1168 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_key_sta_id() 1181 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_get_key_sta_id() 1302 struct ieee80211_vif *vif, iwl_mvm_get_mac_addr() 1305 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_mac_addr() 1310 if (vif->type == NL80211_IFTYPE_STATION && iwl_mvm_get_mac_addr() 1323 struct ieee80211_vif *vif, __iwl_mvm_set_sta_key() 1336 addr = iwl_mvm_get_mac_addr(mvm, vif, sta); __iwl_mvm_set_sta_key() 1396 struct ieee80211_vif *vif, iwl_mvm_set_sta_key() 1408 sta_id = iwl_mvm_get_key_sta_id(vif, sta); iwl_mvm_set_sta_key() 1432 if (WARN_ON_ONCE(iwl_mvm_sta_from_mac80211(sta)->vif != vif)) iwl_mvm_set_sta_key() 1446 ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf, mcast); iwl_mvm_set_sta_key() 1460 ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf, !mcast); iwl_mvm_set_sta_key() 1475 struct ieee80211_vif *vif, iwl_mvm_remove_sta_key() 1486 sta_id = iwl_mvm_get_key_sta_id(vif, sta); iwl_mvm_remove_sta_key() 1520 if (WARN_ON_ONCE(iwl_mvm_sta_from_mac80211(sta)->vif != vif)) iwl_mvm_remove_sta_key() 1536 struct ieee80211_vif *vif, iwl_mvm_update_tkip_key() 1542 u8 sta_id = iwl_mvm_get_key_sta_id(vif, sta); iwl_mvm_update_tkip_key() 1755 void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_csa_client_absent() argument 1757 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_csa_client_absent() 259 iwl_mvm_add_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_add_sta() argument 334 iwl_mvm_update_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_update_sta() argument 481 iwl_mvm_rm_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_rm_sta() argument 563 iwl_mvm_rm_sta_id(struct iwl_mvm *mvm, struct ieee80211_vif *vif, u8 sta_id) iwl_mvm_rm_sta_id() argument 1301 iwl_mvm_get_mac_addr(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwl_mvm_get_mac_addr() argument 1322 __iwl_mvm_set_sta_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *keyconf, bool mcast) __iwl_mvm_set_sta_key() argument 1395 iwl_mvm_set_sta_key(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_sta *sta, struct ieee80211_key_conf *keyconf, bool have_key_offset) iwl_mvm_set_sta_key() argument 1474 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 1535 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 | 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() 332 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, true); iwl_mvm_wowlan_program_keys() 394 static void iwl_mvm_build_tcp_packet(struct ieee80211_vif *vif, iwl_mvm_build_tcp_packet() argument 419 memcpy(pkt->eth.h_source, vif->addr, ETH_ALEN); iwl_mvm_build_tcp_packet() 432 memcpy(pkt->eth.h_dest, vif->addr, ETH_ALEN); iwl_mvm_build_tcp_packet() 513 struct ieee80211_vif *vif, iwl_mvm_send_remote_wake_cfg() 539 vif, tcp, cfg->syn_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 546 vif, tcp, cfg->synack_rx.data, cfg->synack_rx.rx_mask, iwl_mvm_send_remote_wake_cfg() 553 vif, tcp, cfg->keepalive_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 577 vif, tcp, cfg->keepalive_ack_rx.data, iwl_mvm_send_remote_wake_cfg() 585 vif, tcp, cfg->wake_rx.data, cfg->wake_rx.rx_mask, iwl_mvm_send_remote_wake_cfg() 593 vif, tcp, cfg->fin_tx.data, NULL, iwl_mvm_send_remote_wake_cfg() 604 static int iwl_mvm_d3_reprogram(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_d3_reprogram() argument 607 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_d3_reprogram() 621 ctx = rcu_dereference(vif->chanctx_conf); iwl_mvm_d3_reprogram() 639 if (WARN_ON(!vif->bss_conf.assoc)) iwl_mvm_d3_reprogram() 642 ret = iwl_mvm_mac_ctxt_add(mvm, vif); iwl_mvm_d3_reprogram() 678 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); iwl_mvm_d3_reprogram() 704 struct ieee80211_vif *vif) iwl_mvm_get_last_nonqos_seq() 706 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_get_last_nonqos_seq() 740 void iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_set_last_nonqos_seq() argument 742 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_set_last_nonqos_seq() 795 struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, iwl_mvm_get_wowlan_config() 807 ret = iwl_mvm_get_last_nonqos_seq(mvm, vif); iwl_mvm_get_wowlan_config() 858 struct ieee80211_vif *vif, struct iwl_mvm_vif *mvmvif, iwl_mvm_wowlan_config() 874 ret = iwl_mvm_d3_reprogram(mvm, vif, ap_sta); iwl_mvm_wowlan_config() 889 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_wowlan_config() 949 ret = iwl_mvm_send_proto_offload(mvm, vif, false, 0); iwl_mvm_wowlan_config() 953 ret = iwl_mvm_send_remote_wake_cfg(mvm, vif, wowlan->tcp); iwl_mvm_wowlan_config() 964 struct ieee80211_vif *vif) iwl_mvm_netdetect_config() 984 ret = iwl_mvm_scan_offload_start(mvm, vif, nd_config, &mvm->nd_ies); iwl_mvm_netdetect_config() 1027 struct ieee80211_vif *vif = NULL; __iwl_mvm_suspend() local 1058 vif = iwl_mvm_get_bss_vif(mvm); __iwl_mvm_suspend() 1059 if (IS_ERR_OR_NULL(vif)) { __iwl_mvm_suspend() 1064 mvmvif = iwl_mvm_vif_from_mac80211(vif); __iwl_mvm_suspend() 1074 mvm, wowlan, wowlan->nd_config ?: mvm->nd_config, vif); __iwl_mvm_suspend() 1091 vif, mvmvif, ap_sta); __iwl_mvm_suspend() 1095 vif, mvmvif, ap_sta); __iwl_mvm_suspend() 1201 struct ieee80211_vif *vif, iwl_mvm_report_wakeup_reasons() 1301 if (ieee80211_data_to_8023(pkt, vif->addr, vif->type)) iwl_mvm_report_wakeup_reasons() 1326 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwl_mvm_report_wakeup_reasons() 1407 struct ieee80211_vif *vif, iwl_mvm_d3_update_gtks() 1474 struct ieee80211_vif *vif, iwl_mvm_setup_connection_keep() 1477 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_setup_connection_keep() 1485 if (!status || !vif->bss_conf.bssid) iwl_mvm_setup_connection_keep() 1493 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_setup_connection_keep() 1508 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_setup_connection_keep() 1537 key = ieee80211_gtk_rekey_add(vif, &conf.conf); iwl_mvm_setup_connection_keep() 1546 ieee80211_gtk_rekey_notify(vif, vif->bss_conf.bssid, iwl_mvm_setup_connection_keep() 1559 iwl_mvm_get_wakeup_status(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_get_wakeup_status() argument 1584 ieee80211_report_wowlan_wakeup(vif, &wakeup, iwl_mvm_get_wakeup_status() 1633 struct ieee80211_vif *vif) iwl_mvm_query_wakeup_reasons() 1642 fw_status = iwl_mvm_get_wakeup_status(mvm, vif); iwl_mvm_query_wakeup_reasons() 1675 iwl_mvm_report_wakeup_reasons(mvm, vif, &status); iwl_mvm_query_wakeup_reasons() 1677 keep = iwl_mvm_setup_connection_keep(mvm, vif, fw_status); iwl_mvm_query_wakeup_reasons() 1739 struct ieee80211_vif *vif) iwl_mvm_query_netdetect_reasons() 1752 fw_status = iwl_mvm_get_wakeup_status(mvm, vif); iwl_mvm_query_netdetect_reasons() 1821 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwl_mvm_query_netdetect_reasons() 1851 struct ieee80211_vif *vif) iwl_mvm_d3_disconnect_iter() 1854 if (data == vif) iwl_mvm_d3_disconnect_iter() 1857 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_d3_disconnect_iter() 1858 ieee80211_resume_disconnect(vif); iwl_mvm_d3_disconnect_iter() 1863 struct ieee80211_vif *vif = NULL; __iwl_mvm_resume() local 1870 /* get the BSS vif pointer again */ __iwl_mvm_resume() 1871 vif = iwl_mvm_get_bss_vif(mvm); __iwl_mvm_resume() 1872 if (IS_ERR_OR_NULL(vif)) __iwl_mvm_resume() 1894 iwl_mvm_query_netdetect_reasons(mvm, vif); __iwl_mvm_resume() 1898 keep = iwl_mvm_query_wakeup_reasons(mvm, vif); __iwl_mvm_resume() 1901 mvm->keep_vif = vif; __iwl_mvm_resume() 1915 iwl_mvm_d3_disconnect_iter, keep ? vif : NULL); __iwl_mvm_resume() 2015 struct ieee80211_vif *vif) iwl_mvm_d3_test_disconn_work_iter() 2018 if (_data == vif) iwl_mvm_d3_test_disconn_work_iter() 2021 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_d3_test_disconn_work_iter() 2022 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 512 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 703 iwl_mvm_get_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_get_last_nonqos_seq() argument 792 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 855 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 961 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 1200 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 1406 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 1473 iwl_mvm_setup_connection_keep(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_wowlan_status *status) iwl_mvm_setup_connection_keep() argument 1632 iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_query_wakeup_reasons() argument 1738 iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_query_netdetect_reasons() argument 1850 iwl_mvm_d3_disconnect_iter(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_d3_disconnect_iter() argument 2014 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 442 iwl_mvm_vif_from_mac80211(struct ieee80211_vif *vif) iwl_mvm_vif_from_mac80211() argument 444 return (void *)vif->drv_priv; iwl_mvm_vif_from_mac80211() 1126 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1127 void iwl_mvm_mac_ctxt_release(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1128 int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1129 int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1131 int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1132 u32 iwl_mvm_mac_get_queues_mask(struct ieee80211_vif *vif); 1134 struct ieee80211_vif *vif); 1142 struct ieee80211_vif *vif); 1147 int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1148 int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1170 struct ieee80211_vif *vif, 1180 struct ieee80211_vif *vif, 1183 struct ieee80211_vif *vif, 1189 int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1191 int iwl_mvm_sched_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1201 void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1202 void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1210 iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_register() argument 1214 iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_vif_dbgfs_clean() argument 1231 int iwl_mvm_power_mac_dbgfs_read(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1234 void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1257 struct ieee80211_vif *vif, 1260 struct ieee80211_vif *vif, 1263 struct ieee80211_vif *vif, int idx); 1267 struct ieee80211_vif *vif); 1270 iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_set_last_nonqos_seq() argument 1277 struct ieee80211_vif *vif, 1296 void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1316 void iwl_mvm_bt_rssi_event_old(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1331 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, 1335 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, iwl_mvm_beacon_filter_debugfs_parameters() argument 1340 struct ieee80211_vif *vif, 1343 struct ieee80211_vif *vif, 1346 struct ieee80211_vif *vif, 1349 void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1355 int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1442 int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1453 int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 1455 void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1458 struct ieee80211_vif *vif); 1460 struct ieee80211_vif *vif, 1465 struct ieee80211_vif *vif, 1468 struct ieee80211_vif *vif, 1490 struct ieee80211_vif *vif, 1492 void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 1496 struct ieee80211_vif *vif) iwl_fw_dbg_trigger_vif_match() 1500 return trig_vif == IWL_FW_DBG_CONF_VIF_ANY || vif->type == trig_vif; iwl_fw_dbg_trigger_vif_match() 1514 struct ieee80211_vif *vif, iwl_fw_dbg_trigger_check_stop() 1517 if (vif && !iwl_fw_dbg_trigger_vif_match(trig, vif)) iwl_fw_dbg_trigger_check_stop() 1525 struct ieee80211_vif *vif, iwl_fw_dbg_trigger_simple_stop() 1534 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trigger)) iwl_fw_dbg_trigger_simple_stop() 1495 iwl_fw_dbg_trigger_vif_match(struct iwl_fw_dbg_trigger_tlv *trig, struct ieee80211_vif *vif) iwl_fw_dbg_trigger_vif_match() argument 1513 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 1524 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 | 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() 502 struct ieee80211_vif *vif, iwl_mvm_time_event_send_add() 520 te_data->vif = vif; iwl_mvm_time_event_send_add() 563 struct ieee80211_vif *vif, iwl_mvm_protect_session() 567 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_protect_session() 594 iwl_mvm_stop_session_protection(mvm, vif); iwl_mvm_protect_session() 616 iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); iwl_mvm_protect_session() 630 if (iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd)) { iwl_mvm_protect_session() 734 struct ieee80211_vif *vif) iwl_mvm_stop_session_protection() 736 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stop_session_protection() 743 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_start_p2p_roc() argument 746 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_start_p2p_roc() 795 return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd); iwl_mvm_start_p2p_roc() 817 if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_stop_roc() 818 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); iwl_mvm_stop_roc() 832 mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); iwl_mvm_stop_roc() 853 struct ieee80211_vif *vif, iwl_mvm_schedule_csa_period() 856 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_schedule_csa_period() 879 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 501 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 562 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 733 iwl_mvm_stop_session_protection(struct iwl_mvm *mvm, struct ieee80211_vif *vif) iwl_mvm_stop_session_protection() argument 852 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.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() 518 struct ieee80211_vif *vif, iwl_mvm_bt_coex_enable_rssi_event() 521 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_coex_enable_rssi_event() 532 struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() 534 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_notif_iterator() 545 switch (vif->type) { iwl_mvm_bt_notif_iterator() 556 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_notif_iterator() 561 if (vif->type == NL80211_IFTYPE_STATION) { iwl_mvm_bt_notif_iterator() 563 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 567 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 579 if (!vif->bss_conf.assoc) iwl_mvm_bt_notif_iterator() 591 if (vif->type == NL80211_IFTYPE_STATION) iwl_mvm_bt_notif_iterator() 592 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX, iwl_mvm_bt_notif_iterator() 603 if (vif->type == NL80211_IFTYPE_AP) { iwl_mvm_bt_notif_iterator() 618 /* there is low latency vif - we will be secondary */ iwl_mvm_bt_notif_iterator() 625 * STA / P2P Client, try to be primary if first vif. If we are in low iwl_mvm_bt_notif_iterator() 641 if (iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT || iwl_mvm_bt_notif_iterator() 642 mvm->cfg->bt_shared_single_ant || !vif->bss_conf.assoc || iwl_mvm_bt_notif_iterator() 645 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0); iwl_mvm_bt_notif_iterator() 664 iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, true, ave_rssi); iwl_mvm_bt_notif_iterator() 774 struct ieee80211_vif *vif) iwl_mvm_bt_rssi_iterator() 776 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_iterator() 786 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_rssi_iterator() 795 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_bt_rssi_iterator() 809 void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_bt_rssi_event() argument 812 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_event() 819 iwl_mvm_bt_rssi_event_old(mvm, vif, rssi_event); iwl_mvm_bt_rssi_event() 840 IWL_DEBUG_COEX(mvm, "RSSI for %pM is now %s\n", vif->bss_conf.bssid, iwl_mvm_bt_rssi_event() 848 iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT) iwl_mvm_bt_rssi_event() 869 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); iwl_mvm_coex_agg_time_limit() 883 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_coex_agg_time_limit() 896 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); iwl_mvm_bt_coex_is_mimo_allowed() 917 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_bt_coex_is_mimo_allowed() 517 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 531 iwl_mvm_bt_notif_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bt_notif_iterator() argument 773 iwl_mvm_bt_rssi_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bt_rssi_iterator() 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() 1095 struct ieee80211_vif *vif) iwl_mvm_bt_rssi_iterator() 1097 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_iterator() 1107 chanctx_conf = rcu_dereference(vif->chanctx_conf); iwl_mvm_bt_rssi_iterator() 1116 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_bt_rssi_iterator() 1130 void iwl_mvm_bt_rssi_event_old(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_bt_rssi_event_old() argument 1133 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_bt_rssi_event_old() 1156 IWL_DEBUG_COEX(mvm, "RSSI for %pM is now %s\n", vif->bss_conf.bssid, iwl_mvm_bt_rssi_event_old() 1164 iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT) iwl_mvm_bt_rssi_event_old() 1197 lut_type = iwl_get_coex_type(mvm, mvmsta->vif); iwl_mvm_coex_agg_time_limit_old() 1226 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 1094 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 | 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, 388 int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 390 int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 392 int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 394 int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 400 int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 401 int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 402 int iwl_mvm_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 403 int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 404 int iwl_mvm_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 405 void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 425 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); 167 * @vif: the virtual interface for which the roc is requested. It is assumed 168 * that the vif type is NL80211_IFTYPE_P2P_DEVICE 170 * channel that is bound to the vif. 181 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 197 * @vif: the vif to which the time event belongs 224 * @vif: the virtual interface for which the channel switch is issued 232 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 | utils.c | 747 void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_update_smps() argument 761 if (vif->type == NL80211_IFTYPE_AP) iwl_mvm_update_smps() 766 mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_smps() 777 ieee80211_request_smps(vif, smps_mode); iwl_mvm_update_smps() 815 struct ieee80211_vif *vif) iwl_mvm_diversity_iter() 817 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_diversity_iter() 847 int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_update_low_latency() argument 850 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_update_low_latency() 869 static void iwl_mvm_ll_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_ll_iter() argument 873 if (iwl_mvm_vif_low_latency(iwl_mvm_vif_from_mac80211(vif))) iwl_mvm_ll_iter() 889 struct ieee80211_vif *vif; member in struct:iwl_bss_iter_data 894 struct ieee80211_vif *vif) iwl_mvm_bss_iface_iterator() 898 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) iwl_mvm_bss_iface_iterator() 901 if (data->vif) { iwl_mvm_bss_iface_iterator() 906 data->vif = vif; iwl_mvm_bss_iface_iterator() 922 return bss_iter_data.vif; iwl_mvm_get_bss_vif() 926 struct ieee80211_vif *vif, iwl_mvm_get_wd_timeout() 947 if (WARN_ON(!vif)) iwl_mvm_get_wd_timeout() 950 switch (ieee80211_vif_type_p2p(vif)) { iwl_mvm_get_wd_timeout() 969 void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_connection_loss() argument 980 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) iwl_mvm_connection_loss() 990 ieee80211_connection_loss(vif); iwl_mvm_connection_loss() 814 iwl_mvm_diversity_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_diversity_iter() argument 893 iwl_mvm_bss_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_bss_iface_iterator() argument 925 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 | ops.c | 976 struct ieee80211_vif *vif, iwl_mvm_disallow_offloading() 979 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_disallow_offloading() 985 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION || iwl_mvm_disallow_offloading() 1028 struct ieee80211_vif *vif) iwl_mvm_enter_d0i3_iterator() 1032 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_enter_d0i3_iterator() 1035 IWL_DEBUG_RPM(mvm, "entering D0i3 - vif %pM\n", vif->addr); iwl_mvm_enter_d0i3_iterator() 1036 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_enter_d0i3_iterator() 1037 !vif->bss_conf.assoc) iwl_mvm_enter_d0i3_iterator() 1045 if (iwl_mvm_disallow_offloading(mvm, vif, data)) iwl_mvm_enter_d0i3_iterator() 1048 iwl_mvm_update_d0i3_power_mode(mvm, vif, true, flags); iwl_mvm_enter_d0i3_iterator() 1049 iwl_mvm_send_proto_offload(mvm, vif, data->disable_offloading, flags); iwl_mvm_enter_d0i3_iterator() 1154 struct ieee80211_vif *vif) iwl_mvm_exit_d0i3_iterator() 1159 IWL_DEBUG_RPM(mvm, "exiting D0i3 - vif %pM\n", vif->addr); iwl_mvm_exit_d0i3_iterator() 1160 if (vif->type != NL80211_IFTYPE_STATION || iwl_mvm_exit_d0i3_iterator() 1161 !vif->bss_conf.assoc) iwl_mvm_exit_d0i3_iterator() 1164 iwl_mvm_update_d0i3_power_mode(mvm, vif, false, flags); iwl_mvm_exit_d0i3_iterator() 1168 struct ieee80211_vif *vif) iwl_mvm_d0i3_disconnect_iter() 1171 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_d0i3_disconnect_iter() 1173 if (vif->type == NL80211_IFTYPE_STATION && vif->bss_conf.assoc && iwl_mvm_d0i3_disconnect_iter() 1175 iwl_mvm_connection_loss(mvm, vif, "D0i3"); iwl_mvm_d0i3_disconnect_iter() 975 iwl_mvm_disallow_offloading(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct iwl_d0i3_iter_data *iter_data) iwl_mvm_disallow_offloading() argument 1027 iwl_mvm_enter_d0i3_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_enter_d0i3_iterator() argument 1153 iwl_mvm_exit_d0i3_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_exit_d0i3_iterator() argument 1167 iwl_mvm_d0i3_disconnect_iter(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_d0i3_disconnect_iter() argument
|
H A D | rx.c | 362 iwl_fw_dbg_trigger_check_stop(mvm, mvmsta->vif, iwl_mvm_rx_rx_mpdu() 453 struct ieee80211_vif *vif) iwl_mvm_stat_iterator() 459 int thold = vif->bss_conf.cqm_rssi_thold; iwl_mvm_stat_iterator() 460 int hyst = vif->bss_conf.cqm_rssi_hyst; iwl_mvm_stat_iterator() 462 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_stat_iterator() 478 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_stat_iterator() 498 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_HIGH); iwl_mvm_stat_iterator() 505 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_LOW); iwl_mvm_stat_iterator() 509 if (!(vif->driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) iwl_mvm_stat_iterator() 520 vif, iwl_mvm_stat_iterator() 529 vif, iwl_mvm_stat_iterator() 452 iwl_mvm_stat_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_stat_iterator() argument
|
H A D | scan.c | 196 struct ieee80211_vif *vif) iwl_mvm_scan_condition_iterator() 198 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); iwl_mvm_scan_condition_iterator() 201 if (vif->type != NL80211_IFTYPE_P2P_DEVICE && mvmvif->phy_ctxt && iwl_mvm_scan_condition_iterator() 207 struct ieee80211_vif *vif, iwl_mvm_scan_calc_params() 250 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { iwl_mvm_scan_calc_params() 519 struct ieee80211_vif *vif, iwl_mvm_scan_offload_start() 529 ret = iwl_mvm_sched_scan_umac(mvm, vif, req, ies); iwl_mvm_scan_offload_start() 535 ret = iwl_mvm_unified_sched_scan_lmac(mvm, vif, req, ies); iwl_mvm_scan_offload_start() 710 iwl_mvm_build_unified_scan_probe(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_build_unified_scan_probe() argument 727 memcpy(frame->sa, vif->addr, ETH_ALEN); iwl_mvm_build_unified_scan_probe() 784 struct ieee80211_vif *vif, iwl_mvm_unified_scan_lmac() 818 iwl_mvm_scan_calc_params(mvm, vif, req->req.n_ssids, req->req.flags, iwl_mvm_unified_scan_lmac() 878 iwl_mvm_build_unified_scan_probe(mvm, vif, &req->ies, preq, iwl_mvm_unified_scan_lmac() 900 struct ieee80211_vif *vif, iwl_mvm_unified_sched_scan_lmac() 932 iwl_mvm_scan_calc_params(mvm, vif, req->n_ssids, 0, ¶ms); iwl_mvm_unified_sched_scan_lmac() 997 iwl_mvm_build_unified_scan_probe(mvm, vif, ies, preq, iwl_mvm_unified_sched_scan_lmac() 1275 int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_scan_umac() argument 1311 iwl_mvm_scan_calc_params(mvm, vif, req->req.n_ssids, req->req.flags, iwl_mvm_scan_umac() 1347 iwl_mvm_build_unified_scan_probe(mvm, vif, &req->ies, &sec_part->preq, iwl_mvm_scan_umac() 1370 int iwl_mvm_sched_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, iwl_mvm_sched_scan_umac() argument 1407 iwl_mvm_scan_calc_params(mvm, vif, req->n_ssids, req->flags, iwl_mvm_sched_scan_umac() 1461 iwl_mvm_build_unified_scan_probe(mvm, vif, ies, &sec_part->preq, iwl_mvm_sched_scan_umac() 195 iwl_mvm_scan_condition_iterator(void *data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_scan_condition_iterator() argument 206 iwl_mvm_scan_calc_params(struct iwl_mvm *mvm, struct ieee80211_vif *vif, int n_ssids, u32 flags, struct iwl_mvm_scan_params *params) iwl_mvm_scan_calc_params() argument 518 iwl_mvm_scan_offload_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct cfg80211_sched_scan_request *req, struct ieee80211_scan_ies *ies) iwl_mvm_scan_offload_start() argument 783 iwl_mvm_unified_scan_lmac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct ieee80211_scan_request *req) iwl_mvm_unified_scan_lmac() argument 899 iwl_mvm_unified_sched_scan_lmac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct cfg80211_sched_scan_request *req, struct ieee80211_scan_ies *ies) iwl_mvm_unified_sched_scan_lmac() argument
|
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 | tx.c | 327 (!info->control.vif || iwl_mvm_tx_skb_non_sta() 328 info->hw_queue != info->control.vif->cab_queue))) iwl_mvm_tx_skb_non_sta() 338 info->control.vif->type == NL80211_IFTYPE_STATION) iwl_mvm_tx_skb_non_sta() 346 if (info->control.vif && iwl_mvm_tx_skb_non_sta() 347 (info->control.vif->type == NL80211_IFTYPE_P2P_DEVICE || iwl_mvm_tx_skb_non_sta() 348 info->control.vif->type == NL80211_IFTYPE_AP)) { iwl_mvm_tx_skb_non_sta() 350 iwl_mvm_vif_from_mac80211(info->control.vif); iwl_mvm_tx_skb_non_sta() 488 struct ieee80211_vif *vif = mvmsta->vif; iwl_mvm_check_ratid_empty() local 512 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_check_ratid_empty() 528 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); iwl_mvm_check_ratid_empty() 782 if (mvmsta && mvmsta->vif->type == NL80211_IFTYPE_AP) { iwl_mvm_rx_tx_cmd_single() 1036 if (mvmsta->vif) iwl_mvm_rx_ba_notif() 1038 rcu_dereference(mvmsta->vif->chanctx_conf); iwl_mvm_rx_ba_notif()
|
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 | 263 struct ieee80211_vif *vif) iwl_mvm_tt_smps_iterator() 275 if (vif->type != NL80211_IFTYPE_STATION) iwl_mvm_tt_smps_iterator() 278 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, smps_mode); iwl_mvm_tt_smps_iterator() 262 iwl_mvm_tt_smps_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) iwl_mvm_tt_smps_iterator() argument
|
H A D | rs.c | 179 mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); rs_mimo_allow() 180 if (iwl_mvm_vif_low_latency(mvmvif) && mvmsta->vif->p2p) rs_mimo_allow() 1340 if (!iwl_mvm_sta_from_mac80211(sta)->vif) rs_mac80211_tx_status() 1899 static bool rs_tpc_allowed(struct iwl_mvm *mvm, struct ieee80211_vif *vif, rs_tpc_allowed() argument 1904 bool sta_ps_disabled = (vif->type == NL80211_IFTYPE_STATION && rs_tpc_allowed() 1905 !vif->bss_conf.ps); rs_tpc_allowed() 2003 struct ieee80211_vif *vif = mvm_sta->vif; rs_tpc_perform() local 2025 chanctx_conf = rcu_dereference(vif->chanctx_conf); rs_tpc_perform() 2032 if (!rs_tpc_allowed(mvm, vif, rate, band)) { rs_tpc_perform() 2575 if (sta && !iwl_mvm_sta_from_mac80211(sta)->vif) { rs_get_rate() 2576 /* if vif isn't initialized mvm doesn't know about rs_get_rate() 2853 if (IWL_MVM_RS_DISABLE_P2P_MIMO && sta_priv->vif->p2p) iwl_mvm_rs_rate_init() 2900 if (!iwl_mvm_sta_from_mac80211(sta)->vif) rs_rate_update() 3089 enum nl80211_iftype viftype = ieee80211_vif_type_p2p(sta->vif); rs_bfer_priority() 3233 mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif); rs_fill_lq_cmd() 3254 if (mvmsta->vif->p2p) rs_fill_lq_cmd() 3683 if (!mvmsta->vif) rs_add_debugfs()
|
H A D | testmode.h | 89 * @IWL_MVM_TM_CMD_SET_NOA: set NoA on GO vif for testing
|
/linux-4.1.27/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) 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() 234 if (NL80211_IFTYPE_STATION == vif->type) wcn36xx_smd_set_sta_params() 622 struct ieee80211_vif *vif, int ch) wcn36xx_smd_switch_channel() 633 memcpy(msg_body.self_sta_mac_addr, vif->addr, ETH_ALEN); wcn36xx_smd_switch_channel() 710 struct ieee80211_vif *vif, wcn36xx_smd_add_sta_self_rsp() 715 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_add_sta_self_rsp() 738 int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_add_sta_self() argument 746 memcpy(&msg_body.self_addr, vif->addr, ETH_ALEN); wcn36xx_smd_add_sta_self() 760 vif, wcn36xx_smd_add_sta_self() 847 int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch) wcn36xx_smd_join() argument 856 memcpy(&msg_body.self_sta_mac_addr, vif, ETH_ALEN); wcn36xx_smd_join() 1005 int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_config_sta() argument 1017 wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params); wcn36xx_smd_config_sta() 1158 struct ieee80211_vif *vif, wcn36xx_smd_config_bss_rsp() 1164 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_config_bss_rsp() 1199 int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_config_bss() argument 1206 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_config_bss() 1219 memcpy(bss->self_mac_addr, vif->addr, ETH_ALEN); wcn36xx_smd_config_bss() 1221 if (vif->type == NL80211_IFTYPE_STATION) { wcn36xx_smd_config_bss() 1227 } else if (vif->type == NL80211_IFTYPE_AP || wcn36xx_smd_config_bss() 1228 vif->type == NL80211_IFTYPE_MESH_POINT) { wcn36xx_smd_config_bss() 1234 } else if (vif->type == NL80211_IFTYPE_ADHOC) { wcn36xx_smd_config_bss() 1240 wcn36xx_warn("Unknown type for bss config: %d\n", vif->type); wcn36xx_smd_config_bss() 1243 if (vif->type == NL80211_IFTYPE_STATION) wcn36xx_smd_config_bss() 1248 bss->short_slot_time_supported = vif->bss_conf.use_short_slot; wcn36xx_smd_config_bss() 1253 bss->beacon_interval = vif->bss_conf.beacon_int; wcn36xx_smd_config_bss() 1256 wcn36xx_smd_set_bss_ht_params(vif, sta, bss); wcn36xx_smd_config_bss() 1268 wcn36xx_smd_set_sta_params(wcn, vif, sta, sta_params); wcn36xx_smd_config_bss() 1277 bss->hidden_ssid = vif->bss_conf.hidden_ssid; wcn36xx_smd_config_bss() 1317 vif, wcn36xx_smd_config_bss() 1329 int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_delete_bss() argument 1332 struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_delete_bss() 1359 int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif, wcn36xx_smd_send_beacon() argument 1382 memcpy(msg_body.bssid, vif->addr, ETH_ALEN); wcn36xx_smd_send_beacon() 1385 if (vif->type == NL80211_IFTYPE_MESH_POINT) wcn36xx_smd_send_beacon() 1413 struct ieee80211_vif *vif, wcn36xx_smd_update_proberesp_tmpl() 1432 memcpy(msg.bssid, vif->addr, ETH_ALEN); wcn36xx_smd_update_proberesp_tmpl() 1597 int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_enter_bmps() argument 1600 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_enter_bmps() 1607 msg_body.tbtt = vif->bss_conf.sync_tsf; wcn36xx_smd_enter_bmps() 1627 int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn, struct ieee80211_vif *vif) wcn36xx_smd_exit_bmps() argument 1630 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_exit_bmps() 1687 struct ieee80211_vif *vif, wcn36xx_smd_keep_alive_req() 1691 struct wcn36xx_vif *vif_priv = (struct wcn36xx_vif *)vif->drv_priv; wcn36xx_smd_keep_alive_req() 1985 struct ieee80211_vif *vif = NULL; wcn36xx_smd_missed_beacon_ind() local 1993 vif = container_of((void *)tmp, wcn36xx_smd_missed_beacon_ind() 1996 ieee80211_connection_loss(vif); wcn36xx_smd_missed_beacon_ind() 2010 vif = container_of((void *)tmp, wcn36xx_smd_missed_beacon_ind() 2013 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 621 wcn36xx_smd_switch_channel(struct wcn36xx *wcn, struct ieee80211_vif *vif, int ch) wcn36xx_smd_switch_channel() argument 709 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 1157 wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn, struct ieee80211_vif *vif, void *buf, size_t len) wcn36xx_smd_config_bss_rsp() argument 1412 wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn, struct ieee80211_vif *vif, struct sk_buff *skb) wcn36xx_smd_update_proberesp_tmpl() argument 1686 wcn36xx_smd_keep_alive_req(struct wcn36xx *wcn, struct ieee80211_vif *vif, int packet_type) wcn36xx_smd_keep_alive_req() argument
|
/linux-4.1.27/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() 189 if (iter->vif.type == NL80211_IFTYPE_MONITOR && ieee80211_verify_mac() 193 m = iter->vif.addr; ieee80211_verify_mac() 218 if (sdata->vif.type == NL80211_IFTYPE_MONITOR && ieee80211_change_mac() 229 memcpy(sdata->vif.addr, sa->sa_data, ETH_ALEN); ieee80211_change_mac() 265 if ((sdata->vif.type == NL80211_IFTYPE_OCB && ieee80211_check_concurrent_iface() 266 nsdata->vif.type != NL80211_IFTYPE_MONITOR) || ieee80211_check_concurrent_iface() 267 (sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_check_concurrent_iface() 268 nsdata->vif.type == NL80211_IFTYPE_OCB)) ieee80211_check_concurrent_iface() 282 nsdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_check_concurrent_iface() 288 if (nsdata->vif.csa_active) ieee80211_check_concurrent_iface() 295 if (!ether_addr_equal(sdata->vif.addr, ieee80211_check_concurrent_iface() 296 nsdata->vif.addr)) ieee80211_check_concurrent_iface() 303 nsdata->vif.type)) ieee80211_check_concurrent_iface() 310 nsdata->vif.type == NL80211_IFTYPE_AP) ieee80211_check_concurrent_iface() 329 if (WARN_ON_ONCE(sdata->vif.hw_queue[i] == ieee80211_check_queues() 332 if (WARN_ON_ONCE(sdata->vif.hw_queue[i] >= ieee80211_check_queues() 342 sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE; ieee80211_check_queues() 346 if (WARN_ON_ONCE(sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE)) ieee80211_check_queues() 349 if (WARN_ON_ONCE(sdata->vif.cab_queue >= n_queues)) ieee80211_check_queues() 382 sdata->vif.hw_queue[i] = IEEE80211_INVAL_HW_QUEUE; ieee80211_set_default_queues() 384 sdata->vif.hw_queue[i] = i; ieee80211_set_default_queues() 386 sdata->vif.hw_queue[i] = 0; ieee80211_set_default_queues() 388 sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE; ieee80211_set_default_queues() 410 sdata->vif.type = NL80211_IFTYPE_MONITOR; ieee80211_add_virtual_monitor() 500 switch (sdata->vif.type) { ieee80211_do_open() 521 sdata->vif.cab_queue = master->vif.cab_queue; ieee80211_do_open() 522 memcpy(sdata->vif.hw_queue, master->vif.hw_queue, ieee80211_do_open() 523 sizeof(sdata->vif.hw_queue)); ieee80211_do_open() 524 sdata->vif.bss_conf.chandef = master->vif.bss_conf.chandef; ieee80211_do_open() 580 switch (sdata->vif.type) { ieee80211_do_open() 629 ieee80211_vif_type_p2p(&sdata->vif)); ieee80211_do_open() 634 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_open() 639 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_do_open() 643 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) ieee80211_do_open() 647 switch (sdata->vif.type) { ieee80211_do_open() 673 if (sdata->vif.type == NL80211_IFTYPE_WDS) { ieee80211_do_open() 694 } 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() 845 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_stop() 848 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_do_stop() 867 sdata->vif.csa_active = false; ieee80211_do_stop() 868 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_do_stop() 883 chandef = sdata->vif.bss_conf.chandef; ieee80211_do_stop() 894 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_do_stop() 902 } else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_do_stop() 920 switch (sdata->vif.type) { ieee80211_do_stop() 925 RCU_INIT_POINTER(sdata->vif.chanctx_conf, NULL); ieee80211_do_stop() 972 if (info->control.vif == &sdata->vif) { ieee80211_do_stop() 980 if (sdata->vif.txq) { ieee80211_do_stop() 981 struct txq_info *txqi = to_txq_info(sdata->vif.txq); ieee80211_do_stop() 1005 switch (sdata->vif.type) { ieee80211_do_stop() 1103 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_teardown_sdata() 1197 ieee80211_start_tx_ba_cb(&sdata->vif, ra_tid->ra, ieee80211_iface_work() 1201 ieee80211_stop_tx_ba_cb(&sdata->vif, ra_tid->ra, ieee80211_iface_work() 1282 } else switch (sdata->vif.type) { ieee80211_iface_work() 1290 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_iface_work() 1303 switch (sdata->vif.type) { ieee80211_iface_work() 1311 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_iface_work() 1344 sdata->vif.type = type; ieee80211_setup_sdata() 1345 sdata->vif.p2p = false; ieee80211_setup_sdata() 1351 sdata->vif.bss_conf.idle = true; ieee80211_setup_sdata() 1371 sdata->vif.type = type; ieee80211_setup_sdata() 1372 sdata->vif.p2p = true; ieee80211_setup_sdata() 1379 sdata->vif.bss_conf.bssid = sdata->vif.addr; ieee80211_setup_sdata() 1384 sdata->vif.type = type; ieee80211_setup_sdata() 1385 sdata->vif.p2p = true; ieee80211_setup_sdata() 1388 sdata->vif.bss_conf.bssid = sdata->u.mgd.bssid; ieee80211_setup_sdata() 1392 sdata->vif.bss_conf.bssid = bssid_wildcard; ieee80211_setup_sdata() 1396 sdata->vif.bss_conf.bssid = sdata->u.ibss.bssid; ieee80211_setup_sdata() 1400 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_setup_sdata() 1410 sdata->vif.bss_conf.bssid = NULL; ieee80211_setup_sdata() 1414 sdata->vif.bss_conf.bssid = sdata->vif.addr; ieee80211_setup_sdata() 1438 switch (sdata->vif.type) { ieee80211_runtime_change_iftype() 1488 type = ieee80211_vif_type_p2p(&sdata->vif); ieee80211_runtime_change_iftype() 1512 if (type == ieee80211_vif_type_p2p(&sdata->vif)) ieee80211_if_change_type() 1558 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_assign_perm_addr() 1560 memcpy(perm_addr, sdata->vif.addr, ETH_ALEN); ieee80211_assign_perm_addr() 1569 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) ieee80211_assign_perm_addr() 1573 memcpy(perm_addr, sdata->vif.addr, ETH_ALEN); ieee80211_assign_perm_addr() 1585 sdata->vif.addr)) { ieee80211_assign_perm_addr() 1620 if (sdata->vif.type == NL80211_IFTYPE_MONITOR) ieee80211_assign_perm_addr() 1622 m = sdata->vif.addr; ieee80211_assign_perm_addr() 1645 if (ether_addr_equal(tmp_addr, sdata->vif.addr)) { ieee80211_assign_perm_addr() 1690 memcpy(sdata->vif.addr, wdev->address, ETH_ALEN); ieee80211_if_add() 1735 memcpy(sdata->vif.addr, ndev->dev_addr, ETH_ALEN); ieee80211_if_add() 1856 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_remove_interfaces()
|
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() 147 if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN || drv_add_interface() 148 (sdata->vif.type == NL80211_IFTYPE_MONITOR && drv_add_interface() 154 ret = local->ops->add_interface(&local->hw, &sdata->vif); drv_add_interface() 175 ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); drv_change_interface() 189 local->ops->remove_interface(&local->hw, &sdata->vif); drv_remove_interface() 215 sdata->vif.type != NL80211_IFTYPE_AP && drv_bss_info_changed() 216 sdata->vif.type != NL80211_IFTYPE_ADHOC && drv_bss_info_changed() 217 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && drv_bss_info_changed() 218 sdata->vif.type != NL80211_IFTYPE_OCB)) drv_bss_info_changed() 221 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || drv_bss_info_changed() 222 sdata->vif.type == NL80211_IFTYPE_MONITOR)) drv_bss_info_changed() 230 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); drv_bss_info_changed() 289 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); drv_set_key() 311 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, drv_update_tkip_key() 328 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); drv_hw_scan() 342 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); drv_cancel_hw_scan() 360 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, drv_sched_scan_start() 377 ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); drv_sched_scan_stop() 391 local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); drv_sw_scan_start() 402 local->ops->sw_scan_complete(&local->hw, &sdata->vif); drv_sw_scan_complete() 483 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); drv_sta_notify() 501 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); drv_sta_add() 520 local->ops->sta_remove(&local->hw, &sdata->vif, sta); drv_sta_remove() 538 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, drv_sta_add_debugfs() 553 local->ops->sta_remove_debugfs(&local->hw, &sdata->vif, drv_sta_remove_debugfs() 570 local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, drv_sta_pre_rcu_remove() 592 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, drv_sta_state() 616 (sdata->vif.type != NL80211_IFTYPE_ADHOC && drv_sta_rc_update() 617 sdata->vif.type != NL80211_IFTYPE_MESH_POINT)); drv_sta_rc_update() 621 local->ops->sta_rc_update(&local->hw, &sdata->vif, drv_sta_rc_update() 637 local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); drv_sta_rate_tbl_update() 653 local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); drv_sta_statistics() 676 ret = local->ops->conf_tx(&local->hw, &sdata->vif, drv_conf_tx() 694 ret = local->ops->get_tsf(&local->hw, &sdata->vif); drv_get_tsf() 710 local->ops->set_tsf(&local->hw, &sdata->vif, tsf); drv_set_tsf() 724 local->ops->reset_tsf(&local->hw, &sdata->vif); drv_reset_tsf() 758 ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, drv_ampdu_action() 793 struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; drv_flush() local 802 local->ops->flush(&local->hw, vif, queues, drop); drv_flush() 813 local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); drv_channel_switch() 851 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, drv_remain_on_channel() 925 &sdata->vif, mask); drv_set_bitrate_mask() 940 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); drv_set_rekey_data() 950 local->ops->event_callback(&local->hw, &sdata->vif, event); drv_event_callback() 991 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); drv_mgd_prepare_tx() 995 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif); drv_mgd_prepare_tx() 1007 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); drv_mgd_protect_tdls_discover() 1011 local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); drv_mgd_protect_tdls_discover() 1068 &sdata->vif, drv_assign_vif_chanctx() 1087 &sdata->vif, drv_unassign_vif_chanctx() 1154 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); drv_start_ap() 1156 ret = local->ops->start_ap(&local->hw, &sdata->vif); drv_start_ap() 1169 local->ops->stop_ap(&local->hw, &sdata->vif); drv_stop_ap() 1197 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, drv_set_default_unicast_key() 1209 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); drv_ipv6_addr_change() 1222 local->ops->channel_switch_beacon(&local->hw, &sdata->vif, drv_channel_switch_beacon() 1239 ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, drv_pre_channel_switch() 1256 ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); drv_post_channel_switch() 1270 trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); drv_join_ibss() 1272 ret = local->ops->join_ibss(&local->hw, &sdata->vif); drv_join_ibss() 1286 local->ops->leave_ibss(&local->hw, &sdata->vif); drv_leave_ibss() 1311 ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); drv_get_txpower() 1334 ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, drv_tdls_channel_switch() 1354 local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); drv_tdls_cancel_channel_switch() 1365 local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, drv_tdls_recv_channel_switch() 1373 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); drv_wake_tx_queue()
|
H A D | tx.c | 54 chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf); ieee80211_duration() 139 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i)) ieee80211_duration() 179 tx->sdata->vif.bss_conf.use_short_preamble, ieee80211_duration() 189 tx->sdata->vif.bss_conf.use_short_preamble, ieee80211_duration() 227 if (tx->sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_tx_h_dynamic_ps() 298 if (tx->sdata->vif.type == NL80211_IFTYPE_OCB) ieee80211_tx_h_check_assoc() 301 if (tx->sdata->vif.type == NL80211_IFTYPE_WDS) ieee80211_tx_h_check_assoc() 321 } else if (unlikely(tx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_tx_h_check_assoc() 348 if (sdata->vif.type == NL80211_IFTYPE_AP) purge_old_ps_buffers() 350 else if (ieee80211_vif_is_mesh(&sdata->vif)) purge_old_ps_buffers() 401 if (tx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_tx_h_multicast_ps_buf() 402 tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_tx_h_multicast_ps_buf() 407 } else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) { ieee80211_tx_h_multicast_ps_buf() 422 info->hw_queue = tx->sdata->vif.cab_queue; ieee80211_tx_h_multicast_ps_buf() 517 info->control.vif = &tx->sdata->vif; ieee80211_tx_h_unicast_ps_buf() 665 txrc.bss_conf = &tx->sdata->vif.bss_conf; ieee80211_tx_h_rate_ctrl() 678 txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_tx_h_rate_ctrl() 679 tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || ieee80211_tx_h_rate_ctrl() 680 tx->sdata->vif.type == NL80211_IFTYPE_ADHOC); ieee80211_tx_h_rate_ctrl() 688 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot; ieee80211_tx_h_rate_ctrl() 696 if (tx->sdata->vif.bss_conf.use_short_preamble && ieee80211_tx_h_rate_ctrl() 791 if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) ieee80211_tx_h_sequence() 1106 info->control.vif = &tx->sdata->vif; ieee80211_tx_prep_agg() 1161 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_tx_prepare() 1219 struct ieee80211_vif *vif, ieee80211_drv_tx() 1224 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_drv_tx() 1243 } else if (vif) { ieee80211_drv_tx() 1244 txq = vif->txq; ieee80211_drv_tx() 1269 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); ieee80211_tx_dequeue() 1286 ieee80211_propagate_queue_wake(local, sdata->vif.hw_queue[ac]); ieee80211_tx_dequeue() 1309 struct ieee80211_vif *vif, ieee80211_tx_frags() 1370 info->control.vif = vif; skb_queue_walk_safe() 1373 ieee80211_drv_tx(local, vif, sta, skb); skb_queue_walk_safe() 1388 struct ieee80211_vif *vif; __ieee80211_tx() local 1400 sdata = vif_to_sdata(info->control.vif); __ieee80211_tx() 1409 switch (sdata->vif.type) { __ieee80211_tx() 1412 vif = &sdata->vif; __ieee80211_tx() 1417 vif = &sdata->vif; __ieee80211_tx() 1419 vif->hw_queue[skb_get_queue_mapping(skb)]; __ieee80211_tx() 1424 vif = NULL; __ieee80211_tx() 1431 vif = &sdata->vif; __ieee80211_tx() 1435 result = ieee80211_tx_frags(local, vif, pubsta, skbs, __ieee80211_tx() 1502 struct ieee80211_vif *vif, struct sk_buff *skb, ieee80211_tx_prepare_skb() 1505 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_tx_prepare_skb() 1514 info->control.vif = vif; ieee80211_tx_prepare_skb() 1515 info->hw_queue = vif->hw_queue[skb_get_queue_mapping(skb)]; ieee80211_tx_prepare_skb() 1573 sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; ieee80211_tx() 1639 info->control.vif = &sdata->vif; ieee80211_xmit() 1641 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_xmit() 1827 if (tmp_sdata->vif.type == NL80211_IFTYPE_MONITOR || ieee80211_monitor_start_xmit() 1828 tmp_sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_monitor_start_xmit() 1829 tmp_sdata->vif.type == NL80211_IFTYPE_WDS) ieee80211_monitor_start_xmit() 1831 if (ether_addr_equal(tmp_sdata->vif.addr, hdr->addr2)) { ieee80211_monitor_start_xmit() 1837 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_monitor_start_xmit() 1842 rcu_dereference(tmp_sdata->vif.chanctx_conf); ieee80211_monitor_start_xmit() 1869 sdata->vif.type)) ieee80211_monitor_start_xmit() 1900 switch (sdata->vif.type) { ieee80211_lookup_ra_sta() 2020 switch (sdata->vif.type) { ieee80211_build_hdr() 2026 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2035 chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf); ieee80211_build_hdr() 2045 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_build_hdr() 2046 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2054 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2063 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2102 if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) && ieee80211_build_hdr() 2123 mesh_da, sdata->vif.addr); ieee80211_build_hdr() 2136 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_build_hdr() 2160 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); ieee80211_build_hdr() 2172 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); 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() 2216 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_build_hdr() 2231 if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_build_hdr() 2232 (sdata->vif.type != NL80211_IFTYPE_OCB) && ieee80211_build_hdr() 2235 !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) { ieee80211_build_hdr() 2501 sdata = vif_to_sdata(info->control.vif); ieee80211_tx_pending_skb() 2504 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_tx_pending_skb() 2552 if (WARN_ON(!info->control.vif)) { ieee80211_tx_pending() 2594 ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1; __ieee80211_beacon_add_tim() 2603 *pos++ = sdata->vif.bss_conf.dtim_period; __ieee80211_beacon_add_tim() 2675 switch (sdata->vif.type) { ieee80211_set_csa() 2706 if (sdata->vif.type == NL80211_IFTYPE_AP && resp) ieee80211_set_csa() 2712 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif) ieee80211_csa_update_counter() argument 2714 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_update_counter() 2720 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_csa_update_counter() 2722 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_csa_update_counter() 2724 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_csa_update_counter() 2742 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif) ieee80211_csa_is_complete() argument 2744 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_is_complete() 2754 if (vif->type == NL80211_IFTYPE_AP) { ieee80211_csa_is_complete() 2762 } else if (vif->type == NL80211_IFTYPE_ADHOC) { ieee80211_csa_is_complete() 2771 } else if (vif->type == NL80211_IFTYPE_MESH_POINT) { ieee80211_csa_is_complete() 2802 struct ieee80211_vif *vif, __ieee80211_beacon_get() 2818 sdata = vif_to_sdata(vif); __ieee80211_beacon_get() 2819 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); __ieee80211_beacon_get() 2827 if (sdata->vif.type == NL80211_IFTYPE_AP) { __ieee80211_beacon_get() 2834 ieee80211_csa_update_counter(vif); __ieee80211_beacon_get() 2870 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { __ieee80211_beacon_get() 2880 ieee80211_csa_update_counter(vif); __ieee80211_beacon_get() 2896 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { __ieee80211_beacon_get() 2910 ieee80211_csa_update_counter(vif); __ieee80211_beacon_get() 2967 txrc.bss_conf = &sdata->vif.bss_conf; __ieee80211_beacon_get() 2978 info->control.vif = vif; __ieee80211_beacon_get() 2991 struct ieee80211_vif *vif, ieee80211_beacon_get_template() 2994 return __ieee80211_beacon_get(hw, vif, offs, true); ieee80211_beacon_get_template() 2999 struct ieee80211_vif *vif, ieee80211_beacon_get_tim() 3003 struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false); ieee80211_beacon_get_tim() 3016 struct ieee80211_vif *vif) ieee80211_proberesp_get() 3022 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_proberesp_get() 3024 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_proberesp_get() 3050 struct ieee80211_vif *vif) ieee80211_pspoll_get() 3058 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_pspoll_get() 3061 sdata = vif_to_sdata(vif); ieee80211_pspoll_get() 3081 memcpy(pspoll->ta, vif->addr, ETH_ALEN); ieee80211_pspoll_get() 3088 struct ieee80211_vif *vif) ieee80211_nullfunc_get() 3096 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_nullfunc_get() 3099 sdata = vif_to_sdata(vif); ieee80211_nullfunc_get() 3116 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN); ieee80211_nullfunc_get() 3162 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ieee80211_rts_get() argument 3171 rts->duration = ieee80211_rts_duration(hw, vif, frame_len, ieee80211_rts_get() 3178 void ieee80211_ctstoself_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ieee80211_ctstoself_get() argument 3187 cts->duration = ieee80211_ctstoself_duration(hw, vif, ieee80211_ctstoself_get() 3195 struct ieee80211_vif *vif) ieee80211_get_buffered_bc() 3205 sdata = vif_to_sdata(vif); ieee80211_get_buffered_bc() 3208 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_get_buffered_bc() 3213 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_get_buffered_bc() 3221 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_get_buffered_bc() 3246 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_get_buffered_bc() 3278 switch (sdata->vif.type) { ieee80211_reserve_tid() 3314 queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]); ieee80211_reserve_tid() 3339 switch (sdata->vif.type) { ieee80211_unreserve_tid() 1218 ieee80211_drv_tx(struct ieee80211_local *local, struct ieee80211_vif *vif, struct ieee80211_sta *pubsta, struct sk_buff *skb) ieee80211_drv_tx() argument 1308 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 1501 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 2801 __ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs, bool is_template) __ieee80211_beacon_get() argument 2990 ieee80211_beacon_get_template(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs) ieee80211_beacon_get_template() argument 2998 ieee80211_beacon_get_tim(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 *tim_offset, u16 *tim_length) ieee80211_beacon_get_tim() argument 3015 ieee80211_proberesp_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_proberesp_get() argument 3049 ieee80211_pspoll_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_pspoll_get() argument 3087 ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_nullfunc_get() argument 3194 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_get_buffered_bc() argument
|
H A D | debugfs_netdev.c | 191 IEEE80211_IF_FILE(txpower, vif.bss_conf.txpower, DEC); 202 sdata->vif.hw_queue[IEEE80211_AC_VO], ieee80211_if_fmt_hw_queues() 203 sdata->vif.hw_queue[IEEE80211_AC_VI], ieee80211_if_fmt_hw_queues() 204 sdata->vif.hw_queue[IEEE80211_AC_BE], ieee80211_if_fmt_hw_queues() 205 sdata->vif.hw_queue[IEEE80211_AC_BK]); ieee80211_if_fmt_hw_queues() 207 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_if_fmt_hw_queues() 209 sdata->vif.cab_queue); ieee80211_if_fmt_hw_queues() 238 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_set_smps() 239 sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_set_smps() 243 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_set_smps() 262 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_if_fmt_smps() 266 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_if_fmt_smps() 315 switch (sdata->vif.type) { ieee80211_if_parse_tkip_mic_test() 320 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 321 memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 333 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_if_parse_tkip_mic_test() 361 if (!ieee80211_sdata_running(sdata) || !sdata->vif.bss_conf.assoc) ieee80211_if_parse_beacon_loss() 364 ieee80211_beacon_loss(&sdata->vif); ieee80211_if_parse_beacon_loss() 557 debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \ 616 sdata->vif.debugfs_dir); add_mesh_stats() 632 sdata->vif.debugfs_dir); add_mesh_config() 669 if (!sdata->vif.debugfs_dir) add_files() 678 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) add_files() 681 switch (sdata->vif.type) { add_files() 711 sdata->vif.debugfs_dir = debugfs_create_dir(buf, ieee80211_debugfs_add_netdev() 713 if (sdata->vif.debugfs_dir) ieee80211_debugfs_add_netdev() 715 sdata->vif.debugfs_dir); ieee80211_debugfs_add_netdev() 721 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_remove_netdev() 724 debugfs_remove_recursive(sdata->vif.debugfs_dir); ieee80211_debugfs_remove_netdev() 725 sdata->vif.debugfs_dir = NULL; ieee80211_debugfs_remove_netdev() 734 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() 274 width = vif->bss_conf.chandef.width; ieee80211_get_chanctx_max_required_bw() 288 if (sdata && rcu_access_pointer(sdata->vif.chanctx_conf) == conf) ieee80211_get_chanctx_max_required_bw() 424 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_chanctx_radar_required() 571 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_recalc_chanctx_chantype() 573 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_recalc_chanctx_chantype() 577 compat = &sdata->vif.bss_conf.chandef; ieee80211_recalc_chanctx_chantype() 580 &sdata->vif.bss_conf.chandef, compat); ieee80211_recalc_chanctx_chantype() 624 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_assign_vif_chanctx() 646 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_assign_vif_chanctx() 648 sdata->vif.bss_conf.idle = !conf; ieee80211_assign_vif_chanctx() 662 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE && ieee80211_assign_vif_chanctx() 663 sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_assign_vif_chanctx() 688 if (rcu_access_pointer(sdata->vif.chanctx_conf) != ieee80211_recalc_smps_chanctx() 692 switch (sdata->vif.type) { ieee80211_recalc_smps_chanctx() 737 rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf) ieee80211_recalc_smps_chanctx() 769 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP)) __ieee80211_vif_copy_chanctx_to_vlans() 780 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_copy_chanctx_to_vlans() 788 rcu_assign_pointer(vlan->vif.chanctx_conf, conf); __ieee80211_vif_copy_chanctx_to_vlans() 864 * Another vif already requested this context ieee80211_vif_reserve_chanctx() 937 switch (sdata->vif.type) { ieee80211_vif_chanctx_reservation_complete() 968 sdata->vif.bss_conf.chandef = *chandef; ieee80211_vif_update_chandef() 970 if (sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_vif_update_chandef() 974 vlan->vif.bss_conf.chandef = *chandef; ieee80211_vif_update_chandef() 1011 vif_chsw[0].vif = &sdata->vif; ieee80211_vif_use_reserved_reassign() 1028 rcu_assign_pointer(sdata->vif.chanctx_conf, &new_ctx->conf); ieee80211_vif_use_reserved_reassign() 1030 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_vif_use_reserved_reassign() 1036 if (sdata->vif.bss_conf.chandef.width != sdata->reserved_chandef.width) ieee80211_vif_use_reserved_reassign() 1174 vif_chsw[i].vif = &sdata->vif; ieee80211_chsw_switch_vifs() 1373 rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf); ieee80211_vif_use_reserved_switch() 1375 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_vif_use_reserved_switch() 1381 if (sdata->vif.bss_conf.chandef.width != ieee80211_vif_use_reserved_switch() 1490 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_release_channel() 1657 if (cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef)) { ieee80211_vif_change_bandwidth() 1663 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) { ieee80211_vif_change_bandwidth() 1668 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_vif_change_bandwidth() 1731 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->bss)) ieee80211_vif_vlan_copy_chanctx() 1738 conf = rcu_dereference_protected(ap->vif.chanctx_conf, ieee80211_vif_vlan_copy_chanctx() 1740 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_vif_vlan_copy_chanctx()
|
H A D | cfg.c | 75 if (sdata->vif.type == NL80211_IFTYPE_MONITOR && flags) { ieee80211_change_iface() 175 cs = ieee80211_cs_get(local, params->cipher, sdata->vif.type); ieee80211_add_key() 191 if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_add_key() 212 switch (sdata->vif.type) { ieee80211_add_key() 454 int shift = ieee80211_vif_get_shift(&sta->sdata->vif); sta_set_rate_info_tx() 487 int shift = ieee80211_vif_get_shift(&sta->sdata->vif); sta_set_rate_info_rx() 760 sdata->vif.type); ieee80211_start_ap() 770 vlan->vif.type); ieee80211_start_ap() 773 sdata->vif.bss_conf.beacon_int = params->beacon_interval; ieee80211_start_ap() 774 sdata->vif.bss_conf.dtim_period = params->dtim_period; ieee80211_start_ap() 775 sdata->vif.bss_conf.enable_beacon = true; ieee80211_start_ap() 777 sdata->vif.bss_conf.ssid_len = params->ssid_len; ieee80211_start_ap() 779 memcpy(sdata->vif.bss_conf.ssid, params->ssid, ieee80211_start_ap() 781 sdata->vif.bss_conf.hidden_ssid = ieee80211_start_ap() 784 memset(&sdata->vif.bss_conf.p2p_noa_attr, 0, ieee80211_start_ap() 785 sizeof(sdata->vif.bss_conf.p2p_noa_attr)); ieee80211_start_ap() 786 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow = ieee80211_start_ap() 789 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_start_ap() 833 if (sdata->vif.csa_active) ieee80211_change_beacon() 865 sdata->vif.csa_active = false; ieee80211_stop_ap() 893 sdata->vif.bss_conf.enable_beacon = false; ieee80211_stop_ap() 894 sdata->vif.bss_conf.ssid_len = 0; ieee80211_stop_ap() 899 chandef = sdata->vif.bss_conf.chandef; ieee80211_stop_ap() 1039 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_apply_parameters() 1126 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef, sta_apply_parameters() 1149 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_apply_parameters() 1229 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_add_station() 1230 sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_add_station() 1235 if (ether_addr_equal(mac, sdata->vif.addr)) ieee80211_add_station() 1269 layer2_update = sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_add_station() 1270 sdata->vif.type == NL80211_IFTYPE_AP; ieee80211_add_station() 1319 switch (sdata->vif.type) { ieee80211_change_station() 1368 if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_change_station() 1393 if ((sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_change_station() 1394 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_change_station() 1404 sta->sdata->vif.bss_conf.bssid); ieee80211_change_station() 1407 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_change_station() 1677 memcpy(sdata->vif.bss_conf.mcast_rate, setup->mcast_rate, copy_mesh_setup() 1679 sdata->vif.bss_conf.basic_rates = setup->basic_rates; copy_mesh_setup() 1681 sdata->vif.bss_conf.beacon_int = setup->beacon_interval; copy_mesh_setup() 1682 sdata->vif.bss_conf.dtim_period = setup->dtim_period; copy_mesh_setup() 1773 sdata->vif.bss_conf.ht_operation_mode = nconf->ht_opmode; ieee80211_update_mesh_config() 1852 sdata->vif.bss_conf.use_cts_prot = params->use_cts_prot; ieee80211_change_bss() 1856 sdata->vif.bss_conf.use_short_preamble = ieee80211_change_bss() 1861 if (!sdata->vif.bss_conf.use_short_slot && ieee80211_change_bss() 1863 sdata->vif.bss_conf.use_short_slot = true; ieee80211_change_bss() 1868 sdata->vif.bss_conf.use_short_slot = ieee80211_change_bss() 1874 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef, ieee80211_change_bss() 1878 &sdata->vif.bss_conf.basic_rates); ieee80211_change_bss() 1890 sdata->vif.bss_conf.ht_operation_mode = ieee80211_change_bss() 1896 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &= ieee80211_change_bss() 1898 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_change_bss() 1904 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |= ieee80211_change_bss() 1908 sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &= ieee80211_change_bss() 1980 switch (ieee80211_vif_type_p2p(&sdata->vif)) { ieee80211_scan() 2090 memcpy(sdata->vif.bss_conf.mcast_rate, rate, ieee80211_set_mcast_rate() 2169 if (txp_type != sdata->vif.bss_conf.txpower_type) { ieee80211_set_tx_power() 2171 sdata->vif.bss_conf.txpower_type = txp_type; ieee80211_set_tx_power() 2195 if (txp_type != sdata->vif.bss_conf.txpower_type) ieee80211_set_tx_power() 2197 sdata->vif.bss_conf.txpower_type = txp_type; ieee80211_set_tx_power() 2219 *dbm = sdata->vif.bss_conf.txpower; ieee80211_get_tx_power() 2247 struct ieee80211_vif *vif = NULL; ieee80211_testmode_cmd() local 2257 vif = &sdata->vif; ieee80211_testmode_cmd() 2260 return local->ops->testmode_cmd(&local->hw, vif, data, len); ieee80211_testmode_cmd() 2283 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP)) __ieee80211_request_smps_ap() 2286 if (sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) __ieee80211_request_smps_ap() 2342 sdata->vif.bss_conf.bssid); __ieee80211_request_smps_ap() 2361 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) __ieee80211_request_smps_mgd() 2377 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() 2448 sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI) ieee80211_set_cqm_rssi_config() 2866 void ieee80211_csa_finish(struct ieee80211_vif *vif) ieee80211_csa_finish() argument 2868 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_csa_finish() 2880 switch (sdata->vif.type) { ieee80211_set_after_csa_beacon() 2925 * with multi-vif. once reservation is complete it will re-schedule the __ieee80211_csa_finalize() 2932 * with multi-vif csa driver may call ieee80211_csa_finish() __ieee80211_csa_finalize() 2942 if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef, __ieee80211_csa_finalize() 2946 sdata->vif.csa_active = false; __ieee80211_csa_finalize() 2990 if (!sdata->vif.csa_active) ieee80211_csa_finalize_work() 3011 switch (sdata->vif.type) { ieee80211_set_csa_beacon() 3058 if (!sdata->vif.bss_conf.ibss_joined) ieee80211_set_csa_beacon() 3098 if (params->chandef.width != sdata->vif.bss_conf.chandef.width) ieee80211_set_csa_beacon() 3102 if (sdata->vif.bss_conf.chandef.chan->band != ieee80211_set_csa_beacon() 3159 &sdata->vif.bss_conf.chandef)) __ieee80211_channel_switch() 3163 if (sdata->vif.csa_active) __ieee80211_channel_switch() 3167 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_channel_switch() 3211 sdata->vif.csa_active = true; __ieee80211_channel_switch() 3270 switch (sdata->vif.type) { ieee80211_mgmt_tx() 3272 if (!sdata->vif.bss_conf.ibss_joined) ieee80211_mgmt_tx() 3277 if (ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_mgmt_tx() 3285 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_mgmt_tx() 3286 !ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_mgmt_tx() 3325 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_mgmt_tx() 3357 if (sdata->vif.csa_active && ieee80211_mgmt_tx() 3358 (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_mgmt_tx() 3359 sdata->vif.type == NL80211_IFTYPE_MESH_POINT || ieee80211_mgmt_tx() 3360 sdata->vif.type == NL80211_IFTYPE_ADHOC) && ieee80211_mgmt_tx() 3367 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_mgmt_tx() 3369 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_mgmt_tx() 3371 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_mgmt_tx() 3490 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_probe_client() 3529 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_probe_client() 3530 memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_probe_client() 3563 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_cfg_get_channel() 3565 *chandef = sdata->vif.bss_conf.chandef; ieee80211_cfg_get_channel() 3569 sdata->vif.type == NL80211_IFTYPE_MONITOR) { ieee80211_cfg_get_channel() 3636 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_add_tx_ts()
|
H A D | util.c | 179 struct ieee80211_vif *vif, ieee80211_generic_frame_duration() 190 if (vif) { ieee80211_generic_frame_duration() 191 sdata = vif_to_sdata(vif); ieee80211_generic_frame_duration() 192 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_generic_frame_duration() 195 shift = ieee80211_vif_get_shift(vif); ieee80211_generic_frame_duration() 206 struct ieee80211_vif *vif, size_t frame_len, ieee80211_rts_duration() 224 if (vif) { ieee80211_rts_duration() 225 sdata = vif_to_sdata(vif); ieee80211_rts_duration() 226 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_rts_duration() 229 shift = ieee80211_vif_get_shift(vif); ieee80211_rts_duration() 249 struct ieee80211_vif *vif, ieee80211_ctstoself_duration() 267 if (vif) { ieee80211_ctstoself_duration() 268 sdata = vif_to_sdata(vif); ieee80211_ctstoself_duration() 269 short_preamble = sdata->vif.bss_conf.use_short_preamble; ieee80211_ctstoself_duration() 272 shift = ieee80211_vif_get_shift(vif); ieee80211_ctstoself_duration() 304 if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE && ieee80211_propagate_queue_wake() 305 local->queue_stop_reasons[sdata->vif.cab_queue] != 0) ieee80211_propagate_queue_wake() 309 int ac_queue = sdata->vif.hw_queue[ac]; ieee80211_propagate_queue_wake() 317 (sdata->vif.cab_queue == queue && ieee80211_propagate_queue_wake() 411 if (sdata->vif.hw_queue[ac] == queue || __ieee80211_stop_queue() 412 sdata->vif.cab_queue == queue) __ieee80211_stop_queue() 447 if (WARN_ON(!info->control.vif)) { ieee80211_add_pending_skb() 473 if (WARN_ON(!info->control.vif)) { ieee80211_add_pending_skbs() 573 queues |= BIT(sdata->vif.hw_queue[ac]); ieee80211_get_vif_queues() 574 if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE) ieee80211_get_vif_queues() 575 queues |= BIT(sdata->vif.cab_queue); ieee80211_get_vif_queues() 636 struct ieee80211_vif *vif), __iterate_interfaces() 643 switch (sdata->vif.type) { __iterate_interfaces() 657 iterator(data, sdata->vif.addr, __iterate_interfaces() 658 &sdata->vif); __iterate_interfaces() 667 iterator(data, sdata->vif.addr, &sdata->vif); __iterate_interfaces() 673 struct ieee80211_vif *vif), ieee80211_iterate_interfaces() 687 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces_atomic() 702 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces_rtnl() 749 return &sdata->vif; wdev_to_ieee80211_vif() 753 struct wireless_dev *ieee80211_vif_to_wdev(struct ieee80211_vif *vif) ieee80211_vif_to_wdev() argument 755 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_vif_to_wdev() 1170 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_set_wmm_default() 1181 enable_qos = (sdata->vif.type != NL80211_IFTYPE_STATION); ieee80211_set_wmm_default() 1183 is_ocb = (sdata->vif.type == NL80211_IFTYPE_OCB); ieee80211_set_wmm_default() 1257 if (sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_set_wmm_default() 1258 sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE) { ieee80211_set_wmm_default() 1259 sdata->vif.bss_conf.qos = enable_qos; ieee80211_set_wmm_default() 1290 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_auth() 1322 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_deauth_disassoc() 1339 if (sdata->vif.type != NL80211_IFTYPE_STATION || ieee80211_send_deauth_disassoc() 1580 chandef.width = sdata->vif.bss_conf.chandef.width; ieee80211_build_probe_req() 1640 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_sta_get_rates() 1641 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_sta_get_rates() 1742 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_assign_chanctx() 1832 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_reconfig() 1833 sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_reconfig() 1847 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_reconfig() 1848 sdata->vif.type != NL80211_IFTYPE_MONITOR && ieee80211_reconfig() 1884 if (sta->sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_reconfig() 1897 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_reconfig() 1898 sdata->vif.type == NL80211_IFTYPE_MONITOR || ieee80211_reconfig() 1933 switch (sdata->vif.type) { ieee80211_reconfig() 1957 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_reconfig() 1966 if (sdata->vif.bss_conf.enable_beacon) { ieee80211_reconfig() 1997 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_reconfig() 2014 if (sta->sdata->vif.type != NL80211_IFTYPE_AP) ieee80211_reconfig() 2121 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_reconfig() 2133 void ieee80211_resume_disconnect(struct ieee80211_vif *vif) ieee80211_resume_disconnect() argument 2139 if (WARN_ON(!vif)) ieee80211_resume_disconnect() 2142 sdata = vif_to_sdata(vif); ieee80211_resume_disconnect() 2148 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_resume_disconnect() 2168 chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_recalc_smps() 2188 chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_recalc_min_chandef() 2216 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) _ieee80211_enable_rssi_reports() 2228 void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif, ieee80211_enable_rssi_reports() argument 2232 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_enable_rssi_reports() 2242 void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif) ieee80211_disable_rssi_reports() argument 2244 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_disable_rssi_reports() 2482 u32 basic_rates = sdata->vif.bss_conf.basic_rates; ieee80211_add_srates_ie() 2485 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_add_srates_ie() 2486 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_add_srates_ie() 2527 u32 basic_rates = sdata->vif.bss_conf.basic_rates; ieee80211_add_ext_srates_ie() 2530 rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); ieee80211_add_ext_srates_ie() 2531 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_add_ext_srates_ie() 2568 int ieee80211_ave_rssi(struct ieee80211_vif *vif) ieee80211_ave_rssi() argument 2570 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_ave_rssi() 2573 if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) { ieee80211_ave_rssi() 2696 chandef = sdata->vif.bss_conf.chandef; ieee80211_dfs_cac_cancel() 2841 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_send_action_csa() 2842 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_send_action_csa() 2859 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_action_csa() 2860 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_send_action_csa() 2861 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_action_csa() 2889 if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_send_action_csa() 3130 u16 beacon_int = sdata->vif.bss_conf.beacon_int * 1024; ieee80211_recalc_dtim() 3131 u8 dtim_period = sdata->vif.bss_conf.dtim_period; ieee80211_recalc_dtim() 3138 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_recalc_dtim() 3139 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_recalc_dtim() 3144 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { ieee80211_recalc_dtim() 3190 radar_detect |= BIT(sdata->vif.bss_conf.chandef.width); ieee80211_chanctx_radar_detect() 3336 txqi->txq.vif = &sdata->vif; ieee80211_init_tx_queue() 3343 sdata->vif.txq = &txqi->txq; ieee80211_init_tx_queue() 178 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 205 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 248 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 633 __iterate_interfaces(struct ieee80211_local *local, u32 iter_flags, void (*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) __iterate_interfaces() argument 670 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 684 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 699 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 | 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 | pm.c | 76 if (sdata->vif.type != NL80211_IFTYPE_STATION) __ieee80211_suspend() 117 switch (sdata->vif.type) { __ieee80211_suspend() 171 void ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, ieee80211_report_wowlan_wakeup() argument 175 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_report_wowlan_wakeup()
|
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 if (!cfg80211_chandef_compatible(&sdata->vif.bss_conf.chandef, mesh_matches_local() 397 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); mesh_add_ds_params_ie() 423 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT || mesh_add_ht_cap_ie() 424 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 || mesh_add_ht_cap_ie() 425 sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10) mesh_add_ht_cap_ie() 444 cfg80211_get_chandef_type(&sdata->vif.bss_conf.chandef); mesh_add_ht_oper_ie() 450 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); 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() 626 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_mesh_build_beacon() 665 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_mesh_build_beacon() 666 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_mesh_build_beacon() 669 cpu_to_le16(sdata->vif.bss_conf.beacon_int); ieee80211_mesh_build_beacon() 800 sdata->vif.bss_conf.ht_operation_mode = ieee80211_start_mesh() 802 sdata->vif.bss_conf.enable_beacon = true; ieee80211_start_mesh() 828 sdata->vif.bss_conf.enable_beacon = false; ieee80211_stop_mesh() 871 switch (sdata->vif.bss_conf.chandef.width) { ieee80211_mesh_process_chnswitch() 884 sta_flags, sdata->vif.addr, ieee80211_mesh_process_chnswitch() 898 sdata->vif.addr, ieee80211_mesh_process_chnswitch() 918 &sdata->vif.bss_conf.chandef)) { ieee80211_mesh_process_chnswitch() 972 if ((!ether_addr_equal(mgmt->da, sdata->vif.addr) && ieee80211_mesh_rx_probe_req() 1022 !ether_addr_equal(mgmt->da, sdata->vif.addr)) ieee80211_mesh_rx_bcn_presp() 1056 !sdata->vif.csa_active) ieee80211_mesh_rx_bcn_presp() 1083 sdata->vif.bss_conf.chandef.chan->center_freq); ieee80211_mesh_finish_csa() 1140 memcpy(mgmt_fwd->sa, sdata->vif.addr, ETH_ALEN); mesh_fwd_csa_frame() 1141 memcpy(mgmt_fwd->bssid, sdata->vif.addr, ETH_ALEN); mesh_fwd_csa_frame() 1176 if (!sdata->vif.csa_active && mesh_rx_csa_frame() 1259 if (sdata->vif.bss_conf.enable_beacon && mesh_bss_info_changed() 1337 sdata->vif.bss_conf.bssid = zero_addr; ieee80211_mesh_init_sdata()
|
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() 202 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_resp() 203 if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_send_addba_resp() 204 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || ieee80211_send_addba_resp() 205 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_send_addba_resp() 206 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); ieee80211_send_addba_resp() 207 else if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_send_addba_resp() 209 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_send_addba_resp() 386 void ieee80211_start_rx_ba_session_offl(struct ieee80211_vif *vif, ieee80211_start_rx_ba_session_offl() argument 389 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_rx_ba_session_offl() 407 void ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, ieee80211_stop_rx_ba_session_offl() argument 410 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_rx_ba_session_offl()
|
H A D | ibss.c | 79 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_ibss_build_presp() 246 if (sdata->vif.bss_conf.ibss_joined) { __ieee80211_sta_join_ibss() 247 sdata->vif.bss_conf.ibss_joined = false; __ieee80211_sta_join_ibss() 248 sdata->vif.bss_conf.ibss_creator = false; __ieee80211_sta_join_ibss() 249 sdata->vif.bss_conf.enable_beacon = false; __ieee80211_sta_join_ibss() 325 sdata->vif.bss_conf.enable_beacon = true; __ieee80211_sta_join_ibss() 326 sdata->vif.bss_conf.beacon_int = beacon_int; __ieee80211_sta_join_ibss() 327 sdata->vif.bss_conf.basic_rates = basic_rates; __ieee80211_sta_join_ibss() 328 sdata->vif.bss_conf.ssid_len = ifibss->ssid_len; __ieee80211_sta_join_ibss() 329 memcpy(sdata->vif.bss_conf.ssid, ifibss->ssid, ifibss->ssid_len); __ieee80211_sta_join_ibss() 350 sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; __ieee80211_sta_join_ibss() 361 sdata->vif.bss_conf.ibss_joined = true; __ieee80211_sta_join_ibss() 362 sdata->vif.bss_conf.ibss_creator = creator; __ieee80211_sta_join_ibss() 366 sdata->vif.bss_conf.ibss_joined = false; __ieee80211_sta_join_ibss() 367 sdata->vif.bss_conf.ibss_creator = false; __ieee80211_sta_join_ibss() 368 sdata->vif.bss_conf.enable_beacon = false; __ieee80211_sta_join_ibss() 369 sdata->vif.bss_conf.ssid_len = 0; __ieee80211_sta_join_ibss() 443 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_sta_join_ibss() 516 sdata->vif.bss_conf.beacon_int, ieee80211_ibss_csa_beacon() 517 sdata->vif.bss_conf.basic_rates, ieee80211_ibss_csa_beacon() 636 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); __acquires() 722 sdata->vif.bss_conf.ibss_joined = false; ieee80211_ibss_disconnect() 723 sdata->vif.bss_conf.ibss_creator = false; ieee80211_ibss_disconnect() 724 sdata->vif.bss_conf.enable_beacon = false; ieee80211_ibss_disconnect() 725 sdata->vif.bss_conf.ssid_len = 0; ieee80211_ibss_disconnect() 882 &sdata->vif.bss_conf.chandef)) { ieee80211_ibss_process_chanswitch() 933 if (!sdata->vif.csa_active) ieee80211_rx_mgmt_spectrum_mgmt() 996 if (sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_update_sta_info() 1144 if (sdata->vif.csa_active || ieee80211_rx_bss_info() 1221 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_ibss_rx_no_sta() 1325 bssid[i] ^= sdata->vif.addr[i]; ieee80211_sta_create_ibss() 1337 __ieee80211_sta_join_ibss(sdata, bssid, sdata->vif.bss_conf.beacon_int, ieee80211_sta_create_ibss() 1727 if (sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_ibss_notify_scan_completed() 1787 memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate, ieee80211_ibss_join() 1790 sdata->vif.bss_conf.beacon_int = params->beacon_interval; ieee80211_ibss_join() 1823 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() 113 void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn) ieee80211_send_bar() argument 115 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_send_bar() 131 memcpy(bar->ta, sdata->vif.addr, ETH_ALEN); ieee80211_send_bar() 166 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __acquires() 181 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __releases() 237 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; __acquires() 574 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_start_tx_ba_session() 575 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_start_tx_ba_session() 576 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_start_tx_ba_session() 577 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_start_tx_ba_session() 578 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_start_tx_ba_session() 600 if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && ieee80211_start_tx_ba_session() 718 void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) ieee80211_start_tx_ba_cb() argument 720 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_tx_ba_cb() 760 void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, ieee80211_start_tx_ba_cb_irqsafe() argument 763 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_start_tx_ba_cb_irqsafe() 837 void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid) ieee80211_stop_tx_ba_cb() argument 839 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_tx_ba_cb() 891 void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, ieee80211_stop_tx_ba_cb_irqsafe() argument 894 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_stop_tx_ba_cb_irqsafe()
|
H A D | mlme.c | 118 if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER) ieee80211_sta_reset_beacon_monitor() 307 cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef)) ieee80211_determine_chantype() 375 if (sdata->vif.bss_conf.ht_operation_mode != ht_opmode) { ieee80211_config_bw() 377 sdata->vif.bss_conf.ht_operation_mode = ht_opmode; ieee80211_config_bw() 380 chan = sdata->vif.bss_conf.chandef.chan; ieee80211_config_bw() 405 if (cfg80211_chandef_identical(&chandef, &sdata->vif.bss_conf.chandef)) ieee80211_config_bw() 615 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_send_assoc() 624 shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_send_assoc() 691 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_send_assoc() 902 skb = ieee80211_pspoll_get(&local->hw, &sdata->vif); ieee80211_send_pspoll() 921 skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif); ieee80211_send_nullfunc() 948 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) ieee80211_send_4addr_nullfunc() 963 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_send_4addr_nullfunc() 965 memcpy(nullfunc->addr4, sdata->vif.addr, ETH_ALEN); ieee80211_send_4addr_nullfunc() 990 if (!sdata->vif.csa_active) ieee80211_chswitch_work() 995 * with multi-vif. once reservation is complete it will re-schedule the ieee80211_chswitch_work() 1002 * with multi-vif csa driver may call ieee80211_csa_finish() ieee80211_chswitch_work() 1022 if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef, ieee80211_chswitch_work() 1053 WARN_ON(!sdata->vif.csa_active); ieee80211_chswitch_post_beacon() 1061 sdata->vif.csa_active = false; ieee80211_chswitch_post_beacon() 1076 void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success) ieee80211_chswitch_done() argument 1078 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_chswitch_done() 1126 if (sdata->vif.csa_active) ieee80211_sta_process_chanswitch() 1154 &sdata->vif.bss_conf.chandef)) { ieee80211_sta_process_chanswitch() 1166 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_sta_process_chanswitch() 1170 "no channel context assigned to vif?, disconnecting\n"); ieee80211_sta_process_chanswitch() 1205 sdata->vif.csa_active = true; ieee80211_sta_process_chanswitch() 1461 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_recalc_ps() 1462 /* If an AP vif is found, then disable PS ieee80211_recalc_ps() 1469 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_recalc_ps() 1482 found->vif.bss_conf.beacon_int); ieee80211_recalc_ps() 1529 if (sdata->vif.bss_conf.ps != ps_allowed) { ieee80211_recalc_ps_vif() 1530 sdata->vif.bss_conf.ps = ps_allowed; ieee80211_recalc_ps_vif() 1635 struct cfg80211_chan_def chandef = sdata->vif.bss_conf.chandef; ieee80211_dfs_cac_timer_work() 1834 sdata->vif.bss_conf.qos = true; ieee80211_sta_wmm_params() 1856 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_handle_bss_capability() 1898 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_set_associated() 1912 if (sdata->vif.p2p) { ieee80211_set_associated() 1957 if (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI && ieee80211_set_associated() 2009 /* disable per-vif ps */ ieee80211_set_disassoc() 2044 sdata->vif.bss_conf.assoc = false; ieee80211_set_disassoc() 2047 memset(&sdata->vif.bss_conf.p2p_noa_attr, 0, ieee80211_set_disassoc() 2048 sizeof(sdata->vif.bss_conf.p2p_noa_attr)); ieee80211_set_disassoc() 2062 if (sdata->vif.bss_conf.arp_addr_cnt) ieee80211_set_disassoc() 2065 sdata->vif.bss_conf.qos = false; ieee80211_set_disassoc() 2080 sdata->vif.bss_conf.dtim_period = 0; ieee80211_set_disassoc() 2081 sdata->vif.bss_conf.beacon_rate = NULL; ieee80211_set_disassoc() 2089 sdata->vif.csa_active = false; ieee80211_set_disassoc() 2249 ieee80211_send_probe_req(sdata, sdata->vif.addr, dst, ieee80211_mgd_probe_ap_send() 2286 ieee80211_cqm_beacon_loss_notify(&sdata->vif, GFP_KERNEL); ieee80211_mgd_probe_ap() 2321 struct ieee80211_vif *vif) ieee80211_ap_probereq_get() 2323 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_ap_probereq_get() 2330 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION)) ieee80211_ap_probereq_get() 2351 skb = ieee80211_build_probe_req(sdata, sdata->vif.addr, cbss->bssid, ieee80211_ap_probereq_get() 2395 sdata->vif.csa_active = false; __ieee80211_disconnect() 2444 void ieee80211_beacon_loss(struct ieee80211_vif *vif) ieee80211_beacon_loss() argument 2446 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_beacon_loss() 2456 void ieee80211_connection_loss(struct ieee80211_vif *vif) ieee80211_connection_loss() argument 2458 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_connection_loss() 2830 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_assoc_success() 3180 sdata->vif.bss_conf.beacon_rate = bss->beacon_rate; ieee80211_rx_bss_info() 3199 if (!ether_addr_equal(mgmt->da, sdata->vif.addr)) ieee80211_rx_mgmt_probe_resp() 3255 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; ieee80211_rx_mgmt_beacon() 3277 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_rx_mgmt_beacon() 3303 sdata->vif.bss_conf.sync_tsf = ieee80211_rx_mgmt_beacon() 3305 sdata->vif.bss_conf.sync_device_ts = ieee80211_rx_mgmt_beacon() 3308 sdata->vif.bss_conf.sync_dtim_count = ieee80211_rx_mgmt_beacon() 3311 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_rx_mgmt_beacon() 3369 !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) { ieee80211_rx_mgmt_beacon() 3378 &sdata->vif, ieee80211_rx_mgmt_beacon() 3385 &sdata->vif, ieee80211_rx_mgmt_beacon() 3436 if (sdata->vif.p2p) { ieee80211_rx_mgmt_beacon() 3477 sdata->vif.bss_conf.sync_tsf = ieee80211_rx_mgmt_beacon() 3479 sdata->vif.bss_conf.sync_device_ts = ieee80211_rx_mgmt_beacon() 3482 sdata->vif.bss_conf.sync_dtim_count = ieee80211_rx_mgmt_beacon() 3485 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_rx_mgmt_beacon() 3740 ieee80211_send_probe_req(sdata, sdata->vif.addr, NULL, ieee80211_probe_auth() 3963 if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) ieee80211_sta_bcn_mon_timer() 3978 if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) ieee80211_sta_conn_mon_timer() 3997 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_restart_sta_timer() 4358 int shift = ieee80211_vif_get_shift(&sdata->vif); ieee80211_prep_connection() 4362 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_prep_connection() 4393 sdata->vif.bss_conf.basic_rates = basic_rates; ieee80211_prep_connection() 4405 sdata->vif.bss_conf.beacon_int = cbss->beacon_interval; ieee80211_prep_connection() 4411 sdata->vif.bss_conf.sync_tsf = ies->tsf; ieee80211_prep_connection() 4412 sdata->vif.bss_conf.sync_device_ts = ieee80211_prep_connection() 4417 sdata->vif.bss_conf.sync_dtim_count = tim_ie[2]; ieee80211_prep_connection() 4419 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4424 sdata->vif.bss_conf.sync_tsf = ies->tsf; ieee80211_prep_connection() 4425 sdata->vif.bss_conf.sync_device_ts = ieee80211_prep_connection() 4427 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4429 sdata->vif.bss_conf.sync_tsf = 0; ieee80211_prep_connection() 4430 sdata->vif.bss_conf.sync_device_ts = 0; ieee80211_prep_connection() 4431 sdata->vif.bss_conf.sync_dtim_count = 0; ieee80211_prep_connection() 4802 if (WARN((sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD) && ieee80211_mgd_assoc() 4805 sdata->vif.driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD; ieee80211_mgd_assoc() 4808 (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD)) { ieee80211_mgd_assoc() 4840 sdata->vif.type); ieee80211_mgd_assoc() 4883 sdata->vif.bss_conf.sync_tsf = beacon_ies->tsf; ieee80211_mgd_assoc() 4884 sdata->vif.bss_conf.sync_device_ts = ieee80211_mgd_assoc() 4886 sdata->vif.bss_conf.sync_dtim_count = dtim_count; ieee80211_mgd_assoc() 5050 void ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif, ieee80211_cqm_rssi_notify() argument 5054 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_cqm_rssi_notify() 5062 void ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp) ieee80211_cqm_beacon_loss_notify() argument 5064 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_cqm_beacon_loss_notify() 2320 ieee80211_ap_probereq_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_ap_probereq_get() argument
|
H A D | sta_info.c | 95 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || __cleanup_single_sta() 96 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) __cleanup_single_sta() 98 else if (ieee80211_vif_is_mesh(&sdata->vif)) __cleanup_single_sta() 126 if (ieee80211_vif_is_mesh(&sdata->vif)) __cleanup_single_sta() 315 if (ieee80211_vif_is_mesh(&sdata->vif) && sta_info_alloc() 373 if (sdata->vif.type == NL80211_IFTYPE_AP || sta_info_alloc() 374 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { sta_info_alloc() 422 if (WARN_ON(ether_addr_equal(sta->sta.addr, sdata->vif.addr) || sta_info_insert_check() 452 if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { sta_info_insert_drv_state() 524 if (ieee80211_vif_is_mesh(&sdata->vif)) __acquires() 629 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || __sta_info_recalc_tim() 630 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { __sta_info_recalc_tim() 637 } else if (ieee80211_vif_is_mesh(&sta->sdata->vif)) { __sta_info_recalc_tim() 722 sta->sdata->vif.bss_conf.beacon_int * sta_info_buffer_expired() 816 !ieee80211_vif_is_mesh(&sta->sdata->vif)) sta_info_cleanup_expire_buffered() 868 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN && __sta_info_destroy_part1() 1028 WARN_ON(vlans && sdata->vif.type != NL80211_IFTYPE_AP); __sta_info_flush() 1067 if (ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_sta_expire() 1095 !ether_addr_equal(sta->sdata->vif.addr, localaddr)) for_each_sta_info() 1106 struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_vif *vif, ieee80211_find_sta() argument 1111 if (!vif) ieee80211_find_sta() 1114 sta = sta_info_get_bss(vif_to_sdata(vif), addr); ieee80211_find_sta() 1135 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_sta_ps_deliver_wakeup() 1139 if (sdata->vif.type == NL80211_IFTYPE_AP) ieee80211_sta_ps_deliver_wakeup() 1141 else if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_sta_ps_deliver_wakeup() 1203 if (!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_sta_ps_deliver_wakeup() 1213 sdata->vif.bss_conf.bssid); ieee80211_sta_ps_deliver_wakeup() 1260 memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_send_null_response() 1261 memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN); ieee80211_send_null_response() 1295 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_send_null_response() 1737 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_info_move_state() 1738 (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sta_info_move_state() 1746 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_info_move_state() 1747 (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sta_info_move_state() 1815 if (sdata->vif.type == NL80211_IFTYPE_STATION) sta_set_sinfo() 1870 if (sdata->vif.type == NL80211_IFTYPE_STATION && sta_set_sinfo() 1871 !(sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER)) { sta_set_sinfo() 1874 sinfo->rx_beacon_signal_avg = ieee80211_ave_rssi(&sdata->vif); sta_set_sinfo() 1945 if (ieee80211_vif_is_mesh(&sdata->vif)) { sta_set_sinfo() 1968 if (sdata->vif.bss_conf.use_cts_prot) sta_set_sinfo() 1970 if (sdata->vif.bss_conf.use_short_preamble) sta_set_sinfo() 1972 if (sdata->vif.bss_conf.use_short_slot) sta_set_sinfo() 1974 sinfo->bss_param.dtim_period = sdata->vif.bss_conf.dtim_period; sta_set_sinfo() 1975 sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; sta_set_sinfo()
|
H A D | rx.c | 514 if (sdata->vif.type != NL80211_IFTYPE_MONITOR) ieee80211_rx_monitor() 698 char *dev_addr = rx->sdata->vif.addr; ieee80211_rx_mesh_check() 1108 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_h_check() 1113 rx->sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_check() 1114 rx->sdata->vif.type != NL80211_IFTYPE_WDS && ieee80211_rx_h_check() 1115 rx->sdata->vif.type != NL80211_IFTYPE_OCB && ieee80211_rx_h_check() 1122 if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_rx_h_check() 1137 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_rx_h_check() 1190 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || sta_ps_start() 1191 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) sta_ps_start() 1271 if (sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_uapsd_and_pspoll() 1272 sdata->vif.type != NL80211_IFTYPE_AP_VLAN) ieee80211_rx_h_uapsd_and_pspoll() 1355 if (rx->sdata->vif.type == NL80211_IFTYPE_ADHOC) { ieee80211_rx_h_sta_process() 1369 } else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) { ieee80211_rx_h_sta_process() 1392 if (rx->sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_rx_h_sta_process() 1422 (rx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_sta_process() 1423 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_rx_h_sta_process() 1440 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_h_sta_process() 1458 (rx->sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_sta_process() 1459 (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_sta_process() 2010 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) __ieee80211_data_to_8023() 2013 if (sdata->vif.type == NL80211_IFTYPE_STATION && __ieee80211_data_to_8023() 2023 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta) __ieee80211_data_to_8023() 2026 ret = ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type); __ieee80211_data_to_8023() 2053 (ether_addr_equal(ehdr->h_dest, rx->sdata->vif.addr) || ieee80211_frame_allowed() 2083 if ((sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_deliver_skb() 2084 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && ieee80211_deliver_skb() 2087 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) { ieee80211_deliver_skb() 2183 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_amsdu() 2188 ((rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_amsdu() 2190 (rx->sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_rx_h_amsdu() 2201 rx->sdata->vif.type, ieee80211_rx_h_amsdu() 2297 ether_addr_equal(sdata->vif.addr, hdr->addr3)) ieee80211_rx_h_mesh_fwding() 2327 info->control.vif = &rx->sdata->vif; ieee80211_rx_h_mesh_fwding() 2331 memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN); ieee80211_rx_h_mesh_fwding() 2390 sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_rx_h_data() 2426 if (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_data() 2513 if (!ether_addr_equal(mgmt->da, sdata->vif.addr)) { ieee80211_process_sa_query_req() 2537 memcpy(resp->sa, sdata->vif.addr, ETH_ALEN); ieee80211_process_sa_query_req() 2568 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && ieee80211_rx_h_mgmt_check() 2621 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2622 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2623 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2624 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2625 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2700 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2714 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2715 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2716 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2717 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2718 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2745 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2746 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && ieee80211_rx_h_action() 2747 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && ieee80211_rx_h_action() 2748 sdata->vif.type != NL80211_IFTYPE_AP && ieee80211_rx_h_action() 2749 sdata->vif.type != NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2791 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2802 if (sdata->vif.type != NL80211_IFTYPE_STATION && ieee80211_rx_h_action() 2803 sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_action() 2804 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_action() 2807 if (sdata->vif.type == NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2809 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) ieee80211_rx_h_action() 2811 else if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_action() 2830 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_action() 2845 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2853 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2863 if (!ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_rx_h_action() 2947 (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_rx_h_action_return() 2948 sdata->vif.type == NL80211_IFTYPE_AP_VLAN)) ieee80211_rx_h_action_return() 2965 memcpy(nmgmt->sa, rx->sdata->vif.addr, ETH_ALEN); ieee80211_rx_h_action_return() 2969 if (rx->sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) { ieee80211_rx_h_action_return() 2996 if (!ieee80211_vif_is_mesh(&sdata->vif) && ieee80211_rx_h_mgmt() 2997 sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_mgmt() 2998 sdata->vif.type != NL80211_IFTYPE_OCB && ieee80211_rx_h_mgmt() 2999 sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_mgmt() 3017 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_rx_h_mgmt() 3022 if (sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_rx_h_mgmt() 3023 sdata->vif.type != NL80211_IFTYPE_MESH_POINT) ieee80211_rx_h_mgmt() 3085 if (sdata->vif.type != NL80211_IFTYPE_MONITOR || ieee80211_rx_cooked_monitor() 3185 if (ieee80211_vif_is_mesh(&rx->sdata->vif)) ieee80211_rx_handlers() 3278 u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type); prepare_for_handlers() 3281 switch (sdata->vif.type) { prepare_for_handlers() 3286 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { prepare_for_handlers() 3296 if (ether_addr_equal(sdata->vif.addr, hdr->addr2) || prepare_for_handlers() 3304 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { prepare_for_handlers() 3347 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { prepare_for_handlers() 3357 if (!ether_addr_equal(sdata->vif.addr, hdr->addr1)) prepare_for_handlers() 3359 } else if (!ieee80211_bssid_match(bssid, sdata->vif.addr)) { prepare_for_handlers() 3367 !ether_addr_equal(sdata->vif.addr, hdr->addr1)) prepare_for_handlers() 3397 if (!ether_addr_equal(sdata->vif.addr, hdr->addr1) && prepare_for_handlers() 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 | 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 | 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() 680 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_enable_keys() 702 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_reset_crypto_tx_tailroom() 711 struct ieee80211_vif *vif, ieee80211_iter_keys() 713 struct ieee80211_vif *vif, ieee80211_iter_keys() 726 if (vif) { ieee80211_iter_keys() 727 sdata = vif_to_sdata(vif); ieee80211_iter_keys() 729 iter(hw, &sdata->vif, ieee80211_iter_keys() 736 iter(hw, &sdata->vif, ieee80211_iter_keys() 780 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_free_keys() 790 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_free_keys() 804 if (sdata->vif.type == NL80211_IFTYPE_AP) { ieee80211_free_keys() 873 void ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const u8 *bssid, ieee80211_gtk_rekey_notify() argument 876 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_gtk_rekey_notify() 1140 ieee80211_gtk_rekey_add(struct ieee80211_vif *vif, ieee80211_gtk_rekey_add() argument 1143 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_gtk_rekey_add() 1151 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) ieee80211_gtk_rekey_add() 710 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 | 131 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_path_sel_frame_tx() 133 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); mesh_path_sel_frame_tx() 219 info->control.vif = &sdata->vif; prepare_frame_for_deferred_tx() 268 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_path_error_tx() 270 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); mesh_path_error_tx() 424 if (ether_addr_equal(orig_addr, sdata->vif.addr)) { hwmp_route_info_get() 538 if (ether_addr_equal(target_addr, sdata->vif.addr)) { hwmp_preq_frame_process() 557 target_addr = sdata->vif.addr; hwmp_preq_frame_process() 661 if (ether_addr_equal(orig_addr, sdata->vif.addr)) hwmp_prep_frame_process() 780 if (ether_addr_equal(orig_addr, sdata->vif.addr)) hwmp_rann_frame_process() 1043 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn, mesh_path_start_discovery() 1141 ether_addr_equal(sdata->vif.addr, hdr->addr4) && mesh_nexthop_lookup() 1149 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); mesh_nexthop_lookup() 1203 mesh_path_sel_frame_tx(MPATH_RANN, flags, sdata->vif.addr, mesh_path_tx_root_frame() 1214 mesh_path_sel_frame_tx(MPATH_PREQ, flags, sdata->vif.addr, mesh_path_tx_root_frame()
|
H A D | rate.c | 282 if (ieee80211_vif_is_mesh(&sta->sdata->vif)) rate_control_send_low() 431 static void rate_fixup_ratelist(struct ieee80211_vif *vif, rate_fixup_ratelist() argument 451 u32 basic_rates = vif->bss_conf.basic_rates; rate_fixup_ratelist() 594 ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef); rate_control_apply_mask() 620 chan_width = sdata->vif.bss_conf.chandef.width; rate_control_apply_mask() 631 void ieee80211_get_tx_rates(struct ieee80211_vif *vif, ieee80211_get_tx_rates() argument 644 if (!vif) ieee80211_get_tx_rates() 647 sdata = vif_to_sdata(vif); ieee80211_get_tx_rates() 658 rate_fixup_ratelist(vif, sband, info, dest, max_rates); ieee80211_get_tx_rates() 691 ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb, rate_control_get_rate()
|
H A D | debugfs_key.c | 353 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_key_update_default() 367 sdata->vif.debugfs_dir, buf); ieee80211_debugfs_key_update_default() 379 sdata->vif.debugfs_dir, buf); ieee80211_debugfs_key_update_default() 388 if (!sdata->vif.debugfs_dir) ieee80211_debugfs_key_add_mgmt_default() 397 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() 175 ieee80211_send_bar(&sta->sdata->vif, addr, tid, tid_tx->failed_bar_ssn); ieee80211_check_pending_bar() 214 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_frame_acked() 224 } else if (sdata->vif.type == NL80211_IFTYPE_AP || ieee80211_frame_acked() 225 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ieee80211_frame_acked() 680 if (!ether_addr_equal(hdr->addr2, sta->sdata->vif.addr)) ieee80211_tx_status() 683 shift = ieee80211_vif_get_shift(&sta->sdata->vif); ieee80211_tx_status() 700 if (ieee80211_vif_is_mesh(&sta->sdata->vif) && ieee80211_tx_status() 720 ieee80211_send_bar(&sta->sdata->vif, hdr->addr1, ieee80211_tx_status() 766 if (ieee80211_vif_is_mesh(&sta->sdata->vif)) ieee80211_tx_status() 772 if ((sta->sdata->vif.type == NL80211_IFTYPE_STATION) && ieee80211_tx_status() 876 if (sdata->vif.type == NL80211_IFTYPE_MONITOR) { ieee80211_tx_status()
|
H A D | ethtool.c | 105 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_get_stats() 151 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); ieee80211_get_stats()
|
H A D | rate.h | 86 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); rate_control_rate_init() 112 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); rate_control_rate_update()
|
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 | vht.c | 36 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_apply_vhtcap_overrides() 148 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_vht_cap_ie_to_sta_vht_cap() 312 bw = ieee80211_chan_width_to_rx_bw(sdata->vif.bss_conf.chandef.width); ieee80211_sta_cur_vht_bw()
|
H A D | tdls.c | 145 if (!ieee80211_chandef_to_operating_class(&sdata->vif.bss_conf.chandef, ieee80211_tdls_add_oper_classes() 197 init_addr = sdata->vif.addr; ieee80211_tdls_add_link_ie() 201 rsp_addr = sdata->vif.addr; ieee80211_tdls_add_link_ie() 531 rcu_dereference(sdata->vif.chanctx_conf); ieee80211_tdls_add_setup_cfm_ies() 547 rcu_dereference(sdata->vif.chanctx_conf); ieee80211_tdls_add_setup_cfm_ies() 681 memcpy(tf->sa, sdata->vif.addr, ETH_ALEN); ieee80211_prep_tdls_encap_data() 763 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); ieee80211_prep_tdls_direct() 1119 if (sdata->vif.type != NL80211_IFTYPE_STATION || ieee80211_tdls_mgmt() 1178 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_tdls_oper() 1243 void ieee80211_tdls_oper_request(struct ieee80211_vif *vif, const u8 *peer, ieee80211_tdls_oper_request() argument 1247 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); ieee80211_tdls_oper_request() 1249 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc) { ieee80211_tdls_oper_request() 1535 !memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN); ieee80211_process_tdls_channel_switch_resp() 1655 !memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN); ieee80211_process_tdls_channel_switch_req()
|
H A D | main.c | 150 if (!rcu_access_pointer(sdata->vif.chanctx_conf)) ieee80211_hw_conf_chan() 152 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_hw_conf_chan() 154 power = min(power, sdata->vif.bss_conf.txpower); ieee80211_hw_conf_chan() 205 if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN) ieee80211_bss_info_change_notify() 208 drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed); ieee80211_bss_info_change_notify() 213 sdata->vif.bss_conf.use_cts_prot = false; ieee80211_reset_erp_info() 214 sdata->vif.bss_conf.use_short_preamble = false; ieee80211_reset_erp_info() 215 sdata->vif.bss_conf.use_short_slot = false; ieee80211_reset_erp_info() 317 bss_conf = &sdata->vif.bss_conf; ieee80211_ifa_changed() 320 if (sdata->vif.type != NL80211_IFTYPE_STATION) ieee80211_ifa_changed() 374 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)" 104 memcpy(__entry->addr, sdata->vif.addr, ETH_ALEN); 1428 struct trace_vif_entry vif; member in struct:trace_switch_entry 1462 sdata = container_of(vifs[i].vif, 1464 vif); 1466 SWITCH_ENTRY_ASSIGN(vif.vif_type, vif->type); 1467 SWITCH_ENTRY_ASSIGN(vif.p2p, vif->p2p); 1468 strncpy(local_vifs[i].vif.vif_name, 1470 sizeof(local_vifs[i].vif.vif_name));
|
H A D | mesh_plink.c | 135 if (sdata->vif.bss_conf.use_short_slot != short_slot) { mesh_set_short_slot_time() 136 sdata->vif.bss_conf.use_short_slot = short_slot; mesh_set_short_slot_time() 139 sdata->vif.addr, short_slot); mesh_set_short_slot_time() 161 switch (sdata->vif.bss_conf.chandef.width) { mesh_set_ht_prot_mode() 194 sdata->vif.bss_conf.chandef.width > NL80211_CHAN_WIDTH_20) mesh_set_ht_prot_mode() 199 if (sdata->vif.bss_conf.ht_operation_mode == ht_opmode) mesh_set_ht_prot_mode() 202 sdata->vif.bss_conf.ht_operation_mode = ht_opmode; mesh_set_ht_prot_mode() 294 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); mesh_plink_frame_tx() 295 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()
|
H A D | scan.c | 197 (ether_addr_equal(mgmt->da, sdata1->vif.addr) || ieee80211_scan_rx() 200 (ether_addr_equal(mgmt->da, sdata2->vif.addr) || ieee80211_scan_rx() 451 if (sdata->vif.type == NL80211_IFTYPE_STATION && ieee80211_can_scan() 581 memcpy(local->scan_addr, sdata->vif.addr, ETH_ALEN); __ieee80211_start_scan() 680 if (sdata->vif.type == NL80211_IFTYPE_STATION) { ieee80211_scan_state_decision()
|
/linux-4.1.27/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() 2078 struct ieee80211_vif *vif; wlcore_channel_switch_work() local 2097 vif = wl12xx_wlvif_to_vif(wlvif); wlcore_channel_switch_work() 2098 ieee80211_chswitch_done(vif, false); wlcore_channel_switch_work() 2115 struct ieee80211_vif *vif; wlcore_connection_loss_work() local 2133 vif = wl12xx_wlvif_to_vif(wlvif); wlcore_connection_loss_work() 2134 ieee80211_connection_loss(vif); wlcore_connection_loss_work() 2246 static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif) wl12xx_init_vif_data() argument 2248 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_init_vif_data() 2254 switch (ieee80211_vif_type_p2p(vif)) { wl12xx_init_vif_data() 2432 /* increase the vif count if this is a new vif */ wl12xx_need_fw_change() 2469 /* current vif */ 2470 struct ieee80211_vif *vif; member in struct:wlcore_hw_queue_iter_data 2471 /* is the current vif among those iterated */ 2476 struct ieee80211_vif *vif) wlcore_hw_queue_iter() 2480 if (WARN_ON_ONCE(vif->hw_queue[0] == IEEE80211_INVAL_HW_QUEUE)) wlcore_hw_queue_iter() 2483 if (iter_data->cur_running || vif == iter_data->vif) { wlcore_hw_queue_iter() 2488 __set_bit(vif->hw_queue[0] / NUM_TX_QUEUES, iter_data->hw_queue_map); wlcore_hw_queue_iter() 2494 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_allocate_hw_queue_base() local 2498 iter_data.vif = vif; wlcore_allocate_hw_queue_base() 2505 /* the current vif is already running in mac80211 (resume/recovery) */ wlcore_allocate_hw_queue_base() 2507 wlvif->hw_queue_base = vif->hw_queue[0]; wlcore_allocate_hw_queue_base() 2528 vif->hw_queue[i] = wlvif->hw_queue_base + i; wlcore_allocate_hw_queue_base() 2534 vif->cab_queue = NUM_TX_QUEUES * WLCORE_NUM_MAC_ADDRESSES + wlcore_allocate_hw_queue_base() 2537 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; wlcore_allocate_hw_queue_base() 2543 struct ieee80211_vif *vif) wl1271_op_add_interface() 2546 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_add_interface() 2556 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | wl1271_op_add_interface() 2561 ieee80211_vif_type_p2p(vif), vif->addr); wl1271_op_add_interface() 2563 wl12xx_get_vif_count(hw, vif, &vif_count); wl1271_op_add_interface() 2582 ret = wl12xx_init_vif_data(wl, vif); wl1271_op_add_interface() 2614 memcpy(wl->addresses[0].addr, vif->addr, ETH_ALEN); wl1271_op_add_interface() 2621 ret = wl12xx_cmd_role_enable(wl, vif->addr, wl1271_op_add_interface() 2626 ret = wl1271_init_vif_specific(wl, vif); wl1271_op_add_interface() 2646 struct ieee80211_vif *vif, __wl1271_op_remove_interface() 2649 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); __wl1271_op_remove_interface() 2682 if (wl->roc_vif == vif) { __wl1271_op_remove_interface() 2782 struct ieee80211_vif *vif) wl1271_op_remove_interface() 2785 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_remove_interface() 2789 wl12xx_get_vif_count(hw, vif, &vif_count); wl1271_op_remove_interface() 2797 * wl->vif can be null here if someone shuts down the interface wl1271_op_remove_interface() 2804 __wl1271_op_remove_interface(wl, vif, true); wl12xx_for_each_wlvif() 2818 struct ieee80211_vif *vif, wl12xx_op_change_interface() 2825 wl1271_op_remove_interface(hw, vif); wl12xx_op_change_interface() 2827 vif->type = new_type; wl12xx_op_change_interface() 2828 vif->p2p = p2p; wl12xx_op_change_interface() 2829 ret = wl1271_op_add_interface(hw, vif); wl12xx_op_change_interface() 2901 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_set_ssid() local 2909 skb = ieee80211_ap_probereq_get(wl->hw, vif); wlcore_set_ssid() 3046 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wlcore_unset_assoc() local 3049 ieee80211_chswitch_done(vif, false); wlcore_unset_assoc() 3414 struct ieee80211_vif *vif, wlcore_op_set_key() 3444 ret = wlcore_hw_set_key(wl, cmd, vif, sta, key_conf); wlcore_op_set_key() 3458 struct ieee80211_vif *vif, wlcore_set_key() 3462 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_set_key() 3565 struct ieee80211_vif *vif, wl1271_op_set_default_key_idx() 3569 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_set_default_key_idx() 3636 struct ieee80211_vif *vif, wl1271_op_hw_scan() 3675 ret = wlcore_scan(hw->priv, vif, ssid, len, req); wl1271_op_hw_scan() 3685 struct ieee80211_vif *vif) wl1271_op_cancel_hw_scan() 3688 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_cancel_hw_scan() 3732 struct ieee80211_vif *vif, wl1271_op_sched_scan_start() 3737 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_sched_scan_start() 3767 struct ieee80211_vif *vif) wl1271_op_sched_scan_stop() 3770 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_sched_scan_stop() 3883 struct ieee80211_vif *vif) wl1271_ap_set_probe_resp_tmpl() 3885 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_set_probe_resp_tmpl() 3889 skb = ieee80211_proberesp_get(wl->hw, vif); wl1271_ap_set_probe_resp_tmpl() 3911 struct ieee80211_vif *vif, wl1271_ap_set_probe_resp_tmpl_legacy() 3916 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_ap_set_probe_resp_tmpl_legacy() 3917 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; wl1271_ap_set_probe_resp_tmpl_legacy() 3969 struct ieee80211_vif *vif, wl1271_bss_erp_info_changed() 3973 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_erp_info_changed() 4012 struct ieee80211_vif *vif, wlcore_set_beacon_template() 4015 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_set_beacon_template() 4020 struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif); wlcore_set_beacon_template() 4078 ret = wl1271_ap_set_probe_resp_tmpl_legacy(wl, vif, wlcore_set_beacon_template() 4098 struct ieee80211_vif *vif, wl1271_bss_beacon_info_changed() 4102 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_beacon_info_changed() 4116 wl1271_ap_set_probe_resp_tmpl(wl, rate, vif); wl1271_bss_beacon_info_changed() 4120 ret = wlcore_set_beacon_template(wl, vif, is_ap); wl1271_bss_beacon_info_changed() 4139 struct ieee80211_vif *vif, wl1271_bss_info_changed_ap() 4143 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_info_changed_ap() 4160 ret = wl1271_ap_init_templates(wl, vif); wl1271_bss_info_changed_ap() 4164 ret = wl1271_ap_set_probe_resp_tmpl(wl, wlvif->basic_rate, vif); wl1271_bss_info_changed_ap() 4168 ret = wlcore_set_beacon_template(wl, vif, true); wl1271_bss_info_changed_ap() 4173 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_ap() 4212 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_ap() 4306 struct ieee80211_vif *vif, wl1271_bss_info_changed_sta() 4310 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_bss_info_changed_sta() 4321 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, wl1271_bss_info_changed_sta() 4369 sta = ieee80211_find_sta(vif, bss_conf->bssid); wl1271_bss_info_changed_sta() 4430 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl1271_bss_info_changed_sta() 4554 struct ieee80211_vif *vif, wl1271_op_bss_info_changed() 4559 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_bss_info_changed() 4600 wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed); wl1271_op_bss_info_changed() 4602 wl1271_bss_info_changed_sta(wl, vif, bss_conf, changed); wl1271_op_bss_info_changed() 4648 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); wl12xx_for_each_wlvif() local 4651 if (rcu_access_pointer(vif->chanctx_conf) != ctx) { wl12xx_for_each_wlvif() 4674 struct ieee80211_vif *vif, wlcore_op_assign_vif_chanctx() 4678 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_assign_vif_chanctx() 4723 struct ieee80211_vif *vif, wlcore_op_unassign_vif_chanctx() 4727 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_unassign_vif_chanctx() 4769 "switch vif (role %d) %d -> %d chan_type: %d", __wlcore_switch_vif_chan() 4818 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vifs[i].vif); wlcore_op_switch_vif_chanctx() 4833 struct ieee80211_vif *vif, u16 queue, wl1271_op_conf_tx() 4837 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_conf_tx() 4883 struct ieee80211_vif *vif) wl1271_op_get_tsf() 4887 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_get_tsf() 5189 struct ieee80211_vif *vif, wl12xx_op_sta_state() 5195 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_op_sta_state() 5223 struct ieee80211_vif *vif, wl1271_op_ampdu_action() 5229 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl1271_op_ampdu_action() 5343 struct ieee80211_vif *vif, wl12xx_set_bitrate_mask() 5346 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_set_bitrate_mask() 5386 struct ieee80211_vif *vif, wl12xx_op_channel_switch() 5390 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wl12xx_op_channel_switch() 5401 ieee80211_chswitch_done(vif, false); wl12xx_op_channel_switch() 5411 /* TODO: change mac80211 to pass vif as param */ wl12xx_op_channel_switch() 5470 struct ieee80211_vif *vif, wlcore_op_channel_switch_beacon() 5474 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_channel_switch_beacon() 5514 static void wlcore_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, wlcore_op_flush() argument 5523 struct ieee80211_vif *vif, wlcore_op_remain_on_channel() 5528 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_remain_on_channel() 5558 wl->roc_vif = vif; wlcore_op_remain_on_channel() 5637 /* TODO: per-vif */ wlcore_op_cancel_remain_on_channel() 5651 struct ieee80211_vif *vif, wlcore_op_sta_rc_update() 5655 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); wlcore_op_sta_rc_update() 5668 struct ieee80211_vif *vif, wlcore_op_sta_statistics() 5673 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 2475 wlcore_hw_queue_iter(void *data, u8 *mac, struct ieee80211_vif *vif) wlcore_hw_queue_iter() argument 2542 wl1271_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_add_interface() argument 2645 __wl1271_op_remove_interface(struct wl1271 *wl, struct ieee80211_vif *vif, bool reset_tx_queues) __wl1271_op_remove_interface() argument 2781 wl1271_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_remove_interface() argument 2817 wl12xx_op_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) wl12xx_op_change_interface() argument 3413 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 3457 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 3564 wl1271_op_set_default_key_idx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int key_idx) wl1271_op_set_default_key_idx() argument 3635 wl1271_op_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) wl1271_op_hw_scan() argument 3684 wl1271_op_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_cancel_hw_scan() argument 3731 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 3766 wl1271_op_sched_scan_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_sched_scan_stop() argument 3882 wl1271_ap_set_probe_resp_tmpl(struct wl1271 *wl, u32 rates, struct ieee80211_vif *vif) wl1271_ap_set_probe_resp_tmpl() argument 3910 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 3968 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 4011 wlcore_set_beacon_template(struct wl1271 *wl, struct ieee80211_vif *vif, bool is_ap) wlcore_set_beacon_template() argument 4097 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 4138 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 4305 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 4553 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 4673 wlcore_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) wlcore_op_assign_vif_chanctx() argument 4722 wlcore_op_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) wlcore_op_unassign_vif_chanctx() argument 4832 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 4882 wl1271_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wl1271_op_get_tsf() argument 5188 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 5222 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) wl1271_op_ampdu_action() argument 5342 wl12xx_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) wl12xx_set_bitrate_mask() argument 5385 wl12xx_op_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *ch_switch) wl12xx_op_channel_switch() argument 5469 wlcore_op_channel_switch_beacon(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct cfg80211_chan_def *chandef) wlcore_op_channel_switch_beacon() argument 5522 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 5650 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 5667 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 | 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 | 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 | 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,
|
H A D | tx.c | 664 /* ensure proper round robin in the vif/link levels */ 785 wlvif = wl12xx_vif_to_data(info->control.vif); wlcore_tx_work_locked() 914 struct ieee80211_vif *vif; wl1271_tx_complete_packet() local 937 vif = info->control.vif; wl1271_tx_complete_packet() 938 wlvif = wl12xx_vif_to_data(vif); wl1271_tx_complete_packet()
|
/linux-4.1.27/drivers/net/wireless/ath/ath9k/ |
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() 943 if (vif->bss_conf.enable_beacon) ath9k_vif_iter() 948 if (vif->bss_conf.enable_beacon) ath9k_vif_iter() 974 if (!avp->vif->p2p || !iter_data->has_hw_macaddr) ath9k_update_bssid_mask() 1003 ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif); ath9k_calculate_iter_data() 1009 struct ieee80211_vif *vif, bool changed) ath9k_set_assoc_state() 1012 struct ath_vif *avp = (struct ath_vif *)vif->drv_priv; ath9k_set_assoc_state() 1035 vif->addr, common->curbssid); ath9k_set_assoc_state() 1043 struct ieee80211_vif *vif = NULL; ath9k_set_offchannel_state() local 1048 vif = sc->offchannel.scan_vif; ath9k_set_offchannel_state() 1050 vif = sc->offchannel.roc_vif; ath9k_set_offchannel_state() 1052 if (WARN_ON(!vif)) ath9k_set_offchannel_state() 1057 memcpy(common->macaddr, vif->addr, ETH_ALEN); ath9k_set_offchannel_state() 1059 ah->opmode = vif->type; ath9k_set_offchannel_state() 1177 static void ath9k_tpc_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_tpc_vif_iter() argument 1181 if (*power < vif->bss_conf.txpower) ath9k_tpc_vif_iter() 1182 *power = vif->bss_conf.txpower; ath9k_tpc_vif_iter() 1186 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_set_txpower() argument 1194 power = (vif) ? vif->bss_conf.txpower : -1; ath9k_set_txpower() 1210 struct ieee80211_vif *vif) ath9k_assign_hw_queues() 1218 vif->hw_queue[i] = i; ath9k_assign_hw_queues() 1220 if (vif->type == NL80211_IFTYPE_AP || ath9k_assign_hw_queues() 1221 vif->type == NL80211_IFTYPE_MESH_POINT) ath9k_assign_hw_queues() 1222 vif->cab_queue = hw->queues - 2; ath9k_assign_hw_queues() 1224 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; ath9k_assign_hw_queues() 1228 struct ieee80211_vif *vif) ath9k_add_interface() 1233 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_add_interface() 1243 sc->tx99_vif = vif; ath9k_add_interface() 1246 ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type); ath9k_add_interface() 1249 if (ath9k_uses_beacons(vif->type)) ath9k_add_interface() 1250 ath9k_beacon_assign_slot(sc, vif); ath9k_add_interface() 1252 avp->vif = vif; ath9k_add_interface() 1260 ath9k_assign_hw_queues(hw, vif); ath9k_add_interface() 1262 ath9k_set_txpower(sc, vif); ath9k_add_interface() 1266 an->vif = vif; ath9k_add_interface() 1275 struct ieee80211_vif *vif, ath9k_change_interface() 1281 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_change_interface() 1292 if (ath9k_uses_beacons(vif->type)) ath9k_change_interface() 1293 ath9k_beacon_remove_slot(sc, vif); ath9k_change_interface() 1295 vif->type = new_type; ath9k_change_interface() 1296 vif->p2p = p2p; ath9k_change_interface() 1298 if (ath9k_uses_beacons(vif->type)) ath9k_change_interface() 1299 ath9k_beacon_assign_slot(sc, vif); ath9k_change_interface() 1301 ath9k_assign_hw_queues(hw, vif); ath9k_change_interface() 1304 ath9k_set_txpower(sc, vif); ath9k_change_interface() 1311 struct ieee80211_vif *vif) ath9k_remove_interface() 1315 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_remove_interface() 1321 ath9k_p2p_remove_vif(sc, vif); ath9k_remove_interface() 1328 if (ath9k_uses_beacons(vif->type)) ath9k_remove_interface() 1329 ath9k_beacon_remove_slot(sc, vif); ath9k_remove_interface() 1482 struct ieee80211_vif *vif, ath9k_sta_add() 1491 ath_node_attach(sc, sta, vif); ath9k_sta_add() 1493 if (vif->type != NL80211_IFTYPE_AP && ath9k_sta_add() 1494 vif->type != NL80211_IFTYPE_AP_VLAN) ath9k_sta_add() 1497 key = ath_key_config(common, vif, sta, &ps_key); ath9k_sta_add() 1507 struct ieee80211_vif *vif, ath9k_del_ps_key() 1523 struct ieee80211_vif *vif, ath9k_sta_remove() 1528 ath9k_del_ps_key(sc, vif, sta); ath9k_sta_remove() 1535 struct ieee80211_vif *vif, ath9k_sta_state() 1546 ret = ath9k_sta_add(hw, vif, sta); ath9k_sta_state() 1551 ret = ath9k_sta_remove(hw, vif, sta); ath9k_sta_state() 1557 if (vif->type == NL80211_IFTYPE_STATION) { ath9k_sta_state() 1560 ath_chanctx_event(sc, vif, ath9k_sta_state() 1582 struct ieee80211_vif *vif, ath9k_sta_notify() 1604 struct ieee80211_vif *vif, u16 queue, ath9k_conf_tx() 1646 struct ieee80211_vif *vif, ath9k_set_key() 1658 if ((vif->type == NL80211_IFTYPE_ADHOC || ath9k_set_key() 1659 vif->type == NL80211_IFTYPE_MESH_POINT) && ath9k_set_key() 1682 ath9k_del_ps_key(sc, vif, sta); ath9k_set_key() 1685 ret = ath_key_config(common, vif, sta, key); ath9k_set_key() 1730 struct ieee80211_vif *vif, ath9k_bss_info_changed() 1742 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_bss_info_changed() 1768 ath9k_beacon_config(sc, vif, changed); ath9k_bss_info_changed() 1779 if (vif->type == NL80211_IFTYPE_AP) { ath9k_bss_info_changed() 1794 ath9k_p2p_bss_info_changed(sc, vif); ath9k_bss_info_changed() 1800 ath_dbg(common, CONFIG, "vif %pM power %d dbm power_type %d\n", ath9k_bss_info_changed() 1801 vif->addr, bss_conf->txpower, bss_conf->txpower_type); ath9k_bss_info_changed() 1802 ath9k_set_txpower(sc, vif); ath9k_bss_info_changed() 1811 static u64 ath9k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_get_tsf() argument 1826 struct ieee80211_vif *vif, ath9k_set_tsf() 1838 static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_reset_tsf() argument 1852 struct ieee80211_vif *vif, ath9k_ampdu_action() 1879 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_ampdu_action() 1889 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_ampdu_action() 2007 static void ath9k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_flush() argument 2024 * The vif queues have been stopped in mac80211, ath9k_flush() 2097 struct ieee80211_vif *vif; ath9k_tx_last_beacon() local 2104 vif = sc->beacon.bslot[0]; ath9k_tx_last_beacon() 2105 if (!vif) ath9k_tx_last_beacon() 2108 if (!vif->bss_conf.enable_beacon) ath9k_tx_last_beacon() 2111 avp = (void *)vif->drv_priv; ath9k_tx_last_beacon() 2222 struct ieee80211_vif *vif, ath9k_sw_scan_start() 2231 struct ieee80211_vif *vif) ath9k_sw_scan_complete() 2262 static int ath9k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_hw_scan() argument 2279 sc->offchannel.scan_vif = vif; ath9k_hw_scan() 2283 ath_dbg(common, CHAN_CTX, "HW scan request received on vif: %pM\n", ath9k_hw_scan() 2284 vif->addr); ath9k_hw_scan() 2298 struct ieee80211_vif *vif) ath9k_cancel_hw_scan() 2303 ath_dbg(common, CHAN_CTX, "Cancel HW scan on vif: %pM\n", vif->addr); ath9k_cancel_hw_scan() 2312 struct ieee80211_vif *vif, ath9k_remain_on_channel() 2328 sc->offchannel.roc_vif = vif; ath9k_remain_on_channel() 2333 "RoC request on vif: %pM, type: %d duration: %d\n", ath9k_remain_on_channel() 2334 vif->addr, type, duration); ath9k_remain_on_channel() 2439 struct ieee80211_vif *vif, ath9k_assign_vif_chanctx() 2444 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_assign_vif_chanctx() 2454 vif->addr, vif->type, vif->p2p, ath9k_assign_vif_chanctx() 2462 vif->hw_queue[i] = ctx->hw_queue_base + i; ath9k_assign_vif_chanctx() 2470 struct ieee80211_vif *vif, ath9k_unassign_vif_chanctx() 2475 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_unassign_vif_chanctx() 2485 vif->addr, vif->type, vif->p2p, ath9k_unassign_vif_chanctx() 2493 vif->hw_queue[ac] = IEEE80211_INVAL_HW_QUEUE; ath9k_unassign_vif_chanctx() 2499 struct ieee80211_vif *vif) ath9k_mgd_prepare_tx() 2503 struct ath_vif *avp = (struct ath_vif *) vif->drv_priv; ath9k_mgd_prepare_tx() 2560 "%s: Set chanctx state to FORCE_ACTIVE for vif: %pM\n", ath9k_mgd_prepare_tx() 2561 __func__, vif->addr); ath9k_mgd_prepare_tx() 2592 static int ath9k_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath9k_get_txpower() argument 2596 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 1008 ath9k_set_assoc_state(struct ath_softc *sc, struct ieee80211_vif *vif, bool changed) ath9k_set_assoc_state() argument 1209 ath9k_assign_hw_queues(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_assign_hw_queues() argument 1227 ath9k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_add_interface() argument 1274 ath9k_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) ath9k_change_interface() argument 1310 ath9k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_remove_interface() argument 1481 ath9k_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_sta_add() argument 1506 ath9k_del_ps_key(struct ath_softc *sc, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_del_ps_key() argument 1522 ath9k_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_sta_remove() argument 1534 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 1581 ath9k_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) ath9k_sta_notify() argument 1603 ath9k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) ath9k_conf_tx() argument 1644 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 1729 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 1825 ath9k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath9k_set_tsf() argument 1851 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) ath9k_ampdu_action() argument 2221 ath9k_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) ath9k_sw_scan_start() argument 2230 ath9k_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_sw_scan_complete() argument 2297 ath9k_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_cancel_hw_scan() argument 2311 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 2438 ath9k_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_assign_vif_chanctx() argument 2469 ath9k_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_unassign_vif_chanctx() argument 2498 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_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() 321 struct ieee80211_vif *vif) ath9k_htc_assign_bslot() 324 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_assign_bslot() 335 priv->beacon.bslot[avp->bslot] = vif; ath9k_htc_assign_bslot() 343 struct ieee80211_vif *vif) ath9k_htc_remove_bslot() 346 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_remove_bslot() 361 struct ieee80211_vif *vif) ath9k_htc_set_tsfadjust() 364 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *)vif->drv_priv; ath9k_htc_set_tsfadjust() 383 static void ath9k_htc_beacon_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_beacon_iter() argument 386 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_beacon_iter() 388 if (vif->type == NL80211_IFTYPE_STATION && ath9k_htc_beacon_iter() 394 struct ieee80211_vif *vif) ath9k_htc_check_beacon_config() 398 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_check_beacon_config() 408 (vif->type == NL80211_IFTYPE_AP) && ath9k_htc_check_beacon_config() 420 (vif->type != NL80211_IFTYPE_AP)) { ath9k_htc_check_beacon_config() 432 (vif->type == NL80211_IFTYPE_STATION)) { ath9k_htc_check_beacon_config() 449 struct ieee80211_vif *vif) ath9k_htc_beacon_config() 453 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_beacon_config() 454 struct ath9k_htc_vif *avp = (struct ath9k_htc_vif *) vif->drv_priv; ath9k_htc_beacon_config() 456 if (!ath9k_htc_check_beacon_config(priv, vif)) ath9k_htc_beacon_config() 467 switch (vif->type) { ath9k_htc_beacon_config() 320 ath9k_htc_assign_bslot(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_assign_bslot() argument 342 ath9k_htc_remove_bslot(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_remove_bslot() argument 360 ath9k_htc_set_tsfadjust(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_set_tsfadjust() argument 393 ath9k_htc_check_beacon_config(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_check_beacon_config() argument 448 ath9k_htc_beacon_config(struct ath9k_htc_priv *priv, struct ieee80211_vif *vif) ath9k_htc_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() 1031 struct ieee80211_vif *vif) ath9k_htc_add_interface() 1034 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_add_interface() 1044 memcpy(&hvif.myaddr, vif->addr, ETH_ALEN); ath9k_htc_add_interface() 1046 switch (vif->type) { ath9k_htc_add_interface() 1061 "Interface type %d not yet supported\n", vif->type); ath9k_htc_add_interface() 1077 ret = ath9k_htc_add_station(priv, vif, NULL); ath9k_htc_add_interface() 1083 ath9k_htc_set_mac_bssid_mask(priv, vif); ath9k_htc_add_interface() 1088 INC_VIF(priv, vif->type); ath9k_htc_add_interface() 1090 if ((vif->type == NL80211_IFTYPE_AP) || ath9k_htc_add_interface() 1091 (vif->type == NL80211_IFTYPE_MESH_POINT) || ath9k_htc_add_interface() 1092 (vif->type == NL80211_IFTYPE_ADHOC)) ath9k_htc_add_interface() 1093 ath9k_htc_assign_bslot(priv, vif); ath9k_htc_add_interface() 1104 vif->type, avp->index); ath9k_htc_add_interface() 1114 struct ieee80211_vif *vif) ath9k_htc_remove_interface() 1118 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_remove_interface() 1127 memcpy(&hvif.myaddr, vif->addr, ETH_ALEN); ath9k_htc_remove_interface() 1137 ath9k_htc_remove_station(priv, vif, NULL); ath9k_htc_remove_interface() 1139 DEC_VIF(priv, vif->type); ath9k_htc_remove_interface() 1141 if ((vif->type == NL80211_IFTYPE_AP) || ath9k_htc_remove_interface() 1142 vif->type == NL80211_IFTYPE_MESH_POINT || ath9k_htc_remove_interface() 1143 (vif->type == NL80211_IFTYPE_ADHOC)) ath9k_htc_remove_interface() 1144 ath9k_htc_remove_bslot(priv, vif); ath9k_htc_remove_interface() 1148 ath9k_htc_set_mac_bssid_mask(priv, vif); ath9k_htc_remove_interface() 1153 if ((vif->type == NL80211_IFTYPE_AP) && (priv->num_ap_vif == 0)) { ath9k_htc_remove_interface() 1311 struct ieee80211_vif *vif, ath9k_htc_sta_add() 1320 ret = ath9k_htc_add_station(priv, vif, sta); ath9k_htc_sta_add() 1333 struct ieee80211_vif *vif, ath9k_htc_sta_remove() 1345 ret = ath9k_htc_remove_station(priv, vif, sta); ath9k_htc_sta_remove() 1353 struct ieee80211_vif *vif, ath9k_htc_sta_rc_update() 1365 struct ieee80211_vif *vif, u16 queue, ath9k_htc_conf_tx() 1411 struct ieee80211_vif *vif, ath9k_htc_set_key() 1422 if ((vif->type == NL80211_IFTYPE_ADHOC || ath9k_htc_set_key() 1423 vif->type == NL80211_IFTYPE_MESH_POINT) && ath9k_htc_set_key() 1443 ret = ath_key_config(common, vif, sta, key); ath9k_htc_set_key() 1478 static void ath9k_htc_bss_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath9k_htc_bss_iter() argument 1482 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; ath9k_htc_bss_iter() 1484 if ((vif->type == NL80211_IFTYPE_STATION) && bss_conf->assoc) { ath9k_htc_bss_iter() 1503 struct ieee80211_vif *vif, ath9k_htc_bss_info_changed() 1545 ath9k_htc_set_tsfadjust(priv, vif); ath9k_htc_bss_info_changed() 1547 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1561 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1571 vif->type == NL80211_IFTYPE_AP && ath9k_htc_bss_info_changed() 1574 vif->type == NL80211_IFTYPE_MESH_POINT && ath9k_htc_bss_info_changed() 1581 ath9k_htc_beacon_config(priv, vif); ath9k_htc_bss_info_changed() 1589 if (vif->type == NL80211_IFTYPE_AP) { ath9k_htc_bss_info_changed() 1604 ath9k_htc_update_rate(priv, vif, bss_conf); ath9k_htc_bss_info_changed() 1611 struct ieee80211_vif *vif) ath9k_htc_get_tsf() 1626 struct ieee80211_vif *vif, u64 tsf) ath9k_htc_set_tsf() 1638 struct ieee80211_vif *vif) ath9k_htc_reset_tsf() 1650 struct ieee80211_vif *vif, ath9k_htc_ampdu_action() 1668 ret = ath9k_htc_tx_aggr_oper(priv, vif, sta, action, tid); ath9k_htc_ampdu_action() 1670 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_htc_ampdu_action() 1675 ath9k_htc_tx_aggr_oper(priv, vif, sta, action, tid); ath9k_htc_ampdu_action() 1676 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); ath9k_htc_ampdu_action() 1695 struct ieee80211_vif *vif, ath9k_htc_sw_scan_start() 1711 struct ieee80211_vif *vif) ath9k_htc_sw_scan_complete() 1750 struct ieee80211_vif *vif, ath9k_htc_set_bitrate_mask() 1756 struct ath9k_htc_vif *avp = (void *)vif->drv_priv; ath9k_htc_set_bitrate_mask() 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 1030 ath9k_htc_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_add_interface() argument 1113 ath9k_htc_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_remove_interface() argument 1310 ath9k_htc_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_sta_add() argument 1332 ath9k_htc_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath9k_htc_sta_remove() argument 1352 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 1364 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 1409 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 1502 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 1610 ath9k_htc_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_get_tsf() argument 1625 ath9k_htc_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath9k_htc_set_tsf() argument 1637 ath9k_htc_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_reset_tsf() argument 1649 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) ath9k_htc_ampdu_action() argument 1694 ath9k_htc_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) ath9k_htc_sw_scan_start() argument 1710 ath9k_htc_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath9k_htc_sw_scan_complete() argument 1749 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
|
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() 960 struct ieee80211_vif *vif = sc->offchannel.scan_vif; ath_scan_send_probe() local 966 skb = ieee80211_probereq_get(sc->hw, vif->addr, ath_scan_send_probe() 980 if (!ieee80211_tx_prepare_skb(sc->hw, vif, skb, band, NULL)) ath_scan_send_probe() 1072 struct ieee80211_vif *vif = avp->vif; ath_chanctx_send_vif_ps_frame() local 1079 switch (vif->type) { ath_chanctx_send_vif_ps_frame() 1084 skb = ieee80211_nullfunc_get(sc->hw, vif); ath_chanctx_send_vif_ps_frame() 1094 if (!ieee80211_tx_prepare_skb(sc->hw, vif, skb, band, &sta)) { ath_chanctx_send_vif_ps_frame() 1415 static void ath9k_update_p2p_ps(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_update_p2p_ps() argument 1417 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_update_p2p_ps() 1423 if (vif->type != NL80211_IFTYPE_STATION || !vif->p2p) ath9k_update_p2p_ps() 1428 ieee80211_parse_p2p_noa(&vif->bss_conf.p2p_noa_attr, &avp->noa, tsf); ath9k_update_p2p_ps() 1446 ctwin = avp->vif->bss_conf.p2p_noa_attr.oppps_ctwindow; ath9k_get_ctwin() 1515 struct ieee80211_vif *vif; ath9k_p2p_ps_timer() local 1539 vif = avp->vif; ath9k_p2p_ps_timer() 1540 sta = ieee80211_find_sta(vif, avp->bssid); ath9k_p2p_ps_timer() 1559 struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() 1566 ath9k_update_p2p_ps(sc, vif); ath9k_p2p_bss_info_changed() 1574 ath9k_update_p2p_ps(sc, sc->p2p_ps_vif->vif); ath9k_p2p_beacon_sync() 1578 struct ieee80211_vif *vif) ath9k_p2p_remove_vif() 1580 struct ath_vif *avp = (void *)vif->drv_priv; ath9k_p2p_remove_vif() 1558 ath9k_p2p_bss_info_changed(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() argument 1577 ath9k_p2p_remove_vif(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_remove_vif() argument
|
H A D | debug.h | 258 struct ieee80211_vif *vif, int sset); 260 struct ieee80211_vif *vif, 263 struct ieee80211_vif *vif, 266 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, 544 struct ieee80211_vif *vif); 546 struct ieee80211_vif *vif); 548 struct ieee80211_vif *vif); 551 struct ieee80211_vif *vif);
|
H A D | ath9k.h | 262 struct ieee80211_vif *vif; /* interface with which we're associated */ member in struct:ath_node 454 struct ieee80211_vif *vif); 457 struct ieee80211_vif *vif); 469 void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, 504 struct ieee80211_vif *vif, ath_chanctx_event() 516 struct ieee80211_vif *vif) ath9k_p2p_remove_vif() 523 struct ieee80211_vif *vif) ath9k_p2p_bss_info_changed() 572 void ath_tx_cabq(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 606 struct ieee80211_vif *vif; member in struct:ath_vif 629 u8 hw_macaddr[ETH_ALEN]; /* address of the first vif */ 648 void ath9k_set_txpower(struct ath_softc *sc, struct ieee80211_vif *vif); 688 void ath9k_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif, 690 void ath9k_beacon_assign_slot(struct ath_softc *sc, struct ieee80211_vif *vif); 691 void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif); 693 bool ath9k_csa_is_finished(struct ath_softc *sc, struct ieee80211_vif *vif); 503 ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif, enum ath_chanctx_event ev) ath_chanctx_event() argument 515 ath9k_p2p_remove_vif(struct ath_softc *sc, struct ieee80211_vif *vif) ath9k_p2p_remove_vif() argument 522 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 | 111 struct ath_vif *avp = (struct ath_vif *) tid->an->vif->drv_priv; ath_tx_queue_tid() 145 ieee80211_send_bar(tid->an->vif, tid->an->sta->addr, tid->tidno, ath_send_bar() 149 static void ath_set_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath_set_rates() argument 152 ieee80211_get_tx_rates(vif, sta, bf->bf_mpdu, bf->rates, ath_set_rates() 1433 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath_tx_form_burst() 1464 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath_tx_sched_aggr() 1656 ath_set_rates(tid->an->vif, tid->an->sta, bf); ath9k_release_buffered_frames() 2126 if (tx_info->control.vif && setup_frame_info() 2127 tx_info->control.vif->bss_conf.use_short_preamble) setup_frame_info() 2136 if (tx_info->control.vif) { setup_frame_info() 2137 struct ieee80211_vif *vif = tx_info->control.vif; setup_frame_info() local 2139 txpower = 2 * vif->bss_conf.txpower; setup_frame_info() 2240 struct ieee80211_vif *vif = info->control.vif; ath_assign_seq() local 2246 if (!vif) ath_assign_seq() 2249 avp = (struct ath_vif *)vif->drv_priv; ath_assign_seq() 2264 struct ieee80211_vif *vif = info->control.vif; ath_tx_prepare() local 2273 else if (vif && ieee80211_is_data(hdr->frame_control)) { ath_tx_prepare() 2274 avp = (void *)vif->drv_priv; ath_tx_prepare() 2283 if ((vif && vif->type != NL80211_IFTYPE_AP && ath_tx_prepare() 2284 vif->type != NL80211_IFTYPE_AP_VLAN) || ath_tx_prepare() 2311 struct ieee80211_vif *vif = info->control.vif; ath_tx_start() local 2321 if (vif) ath_tx_start() 2322 avp = (void *)vif->drv_priv; ath_tx_start() 2335 * At this point, the vif, hw_key and sta pointers in the tx control ath_tx_start() 2409 ath_set_rates(vif, sta, bf); ath_tx_start() 2418 void ath_tx_cabq(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath_tx_cabq() argument 2448 ath_set_rates(vif, NULL, bf); ath_tx_cabq() 2461 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.1.27/drivers/net/wireless/brcm80211/brcmfmac/ |
H A D | p2p.c | 468 struct brcmf_if *pri_ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_generate_bss_mac() 549 struct brcmf_cfg80211_vif *vif; brcmf_p2p_deinit_discovery() local 554 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_deinit_discovery() 555 (void)brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0); brcmf_p2p_deinit_discovery() 558 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_deinit_discovery() 559 (void)brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 0); brcmf_p2p_deinit_discovery() 573 struct brcmf_cfg80211_vif *vif; brcmf_p2p_enable_discovery() local 577 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_enable_discovery() 578 if (!vif) { brcmf_p2p_enable_discovery() 590 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_enable_discovery() 591 ret = brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 1); brcmf_p2p_enable_discovery() 596 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_enable_discovery() 597 ret = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0); brcmf_p2p_enable_discovery() 609 ret = brcmf_fil_bsscfg_int_set(vif->ifp, "wsec", AES_ENABLED); brcmf_p2p_enable_discovery() 641 struct brcmf_cfg80211_vif *vif; brcmf_p2p_escan() local 651 vif = p2p->bss_idx[bss_type].vif; brcmf_p2p_escan() 652 if (vif == NULL) { brcmf_p2p_escan() 653 brcmf_err("no vif for bss type %d\n", bss_type); brcmf_p2p_escan() 684 brcmf_p2p_set_discover_state(vif->ifp, search_state, 0, 0); brcmf_p2p_escan() 747 ret = brcmf_fil_bsscfg_data_set(vif->ifp, "p2p_scan", memblk, memsize); brcmf_p2p_escan() 774 struct brcmf_cfg80211_vif *vif; brcmf_p2p_run_escan() local 793 vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif; brcmf_p2p_run_escan() 794 if (vif) brcmf_p2p_run_escan() 795 dev = vif->wdev.netdev; brcmf_p2p_run_escan() 804 vif->wdev.iftype == NL80211_IFTYPE_P2P_GO) { brcmf_p2p_run_escan() 880 * @vif: vif on which scan request is to be executed. 887 struct brcmf_cfg80211_vif *vif) brcmf_p2p_scan_prep() 909 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_scan_prep() 914 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_PRBREQ_FLAG, brcmf_p2p_scan_prep() 931 struct brcmf_cfg80211_vif *vif; brcmf_p2p_discover_listen() local 935 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_discover_listen() 936 if (!vif) { brcmf_p2p_discover_listen() 951 err = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_LISTEN, brcmf_p2p_discover_listen() 1025 cfg80211_remain_on_channel_expired(&ifp->vif->wdev, brcmf_p2p_notify_listen_complete() 1154 pri_vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_af_searching_channel() 1319 ifp = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif->ifp; brcmf_p2p_gon_req_collision() 1372 brcmf_dbg(INFO, "ifp->vif->mgmt_rx_reg %04x\n", ifp->vif->mgmt_rx_reg); brcmf_p2p_notify_action_frame_rx() 1374 if ((ifp->vif->mgmt_rx_reg & BIT(mgmt_type)) == 0) brcmf_p2p_notify_action_frame_rx() 1436 wdev = &ifp->vif->wdev; brcmf_p2p_notify_action_frame_rx() 1489 * @p2p: p2p info struct for vif. 1501 struct brcmf_cfg80211_vif *vif; brcmf_p2p_tx_action_frame() local 1511 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_tx_action_frame() 1512 err = brcmf_fil_bsscfg_data_set(vif->ifp, "actframe", af_params, brcmf_p2p_tx_action_frame() 1729 &p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->sme_state)) brcmf_p2p_send_action_frame() 1753 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif->saved_ie.probe_req_ie_len) { brcmf_p2p_send_action_frame() 1854 struct brcmf_cfg80211_vif *vif = ifp->vif; brcmf_p2p_notify_rx_mgmt_p2p_probereq() local 1889 brcmf_dbg(INFO, "vif->mgmt_rx_reg %04x\n", vif->mgmt_rx_reg); brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1891 if ((vif->mgmt_rx_reg & BIT(mgmt_type)) == 0) brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1901 cfg80211_rx_mgmt(&vif->wdev, freq, 0, mgmt_frame, mgmt_frame_len, 0); brcmf_p2p_notify_rx_mgmt_p2p_probereq() 1933 p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif = pri_ifp->vif; brcmf_p2p_attach() 1939 brcmf_err("could not create discovery vif\n"); brcmf_p2p_attach() 1945 p2p_ifp->vif = p2p_vif; brcmf_p2p_attach() 1950 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif = p2p_vif; brcmf_p2p_attach() 1995 struct brcmf_cfg80211_vif *vif; brcmf_p2p_detach() local 1997 vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_p2p_detach() 1998 if (vif != NULL) { brcmf_p2p_detach() 1999 brcmf_p2p_cancel_remain_on_channel(vif->ifp); brcmf_p2p_detach() 2002 brcmf_free_vif(vif); brcmf_p2p_detach() 2003 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif = NULL; brcmf_p2p_detach() 2024 ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_get_current_chanspec() 2058 struct brcmf_cfg80211_vif *vif; brcmf_p2p_ifchange() local 2065 vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_p2p_ifchange() 2066 if (!vif) { brcmf_p2p_ifchange() 2067 brcmf_err("vif for P2PAPI_BSSCFG_PRIMARY does not exist\n"); brcmf_p2p_ifchange() 2070 brcmf_notify_escan_complete(cfg, vif->ifp, true, true); brcmf_p2p_ifchange() 2071 vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif; brcmf_p2p_ifchange() 2072 if (!vif) { brcmf_p2p_ifchange() 2073 brcmf_err("vif for P2PAPI_BSSCFG_CONNECTION does not exist\n"); brcmf_p2p_ifchange() 2076 brcmf_set_mpc(vif->ifp, 0); brcmf_p2p_ifchange() 2087 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_ifchange() 2088 err = brcmf_fil_iovar_data_set(vif->ifp, "p2p_ifupd", &if_request, brcmf_p2p_ifchange() 2103 err = brcmf_fil_cmd_int_set(vif->ifp, BRCMF_C_SET_SCB_TIMEOUT, brcmf_p2p_ifchange() 2133 static int brcmf_p2p_disable_p2p_if(struct brcmf_cfg80211_vif *vif) brcmf_p2p_disable_p2p_if() argument 2135 struct brcmf_cfg80211_info *cfg = wdev_to_cfg(&vif->wdev); brcmf_p2p_disable_p2p_if() 2138 u8 *addr = vif->wdev.netdev->dev_addr; brcmf_p2p_disable_p2p_if() 2143 static int brcmf_p2p_release_p2p_if(struct brcmf_cfg80211_vif *vif) brcmf_p2p_release_p2p_if() argument 2145 struct brcmf_cfg80211_info *cfg = wdev_to_cfg(&vif->wdev); brcmf_p2p_release_p2p_if() 2148 u8 *addr = vif->wdev.netdev->dev_addr; brcmf_p2p_release_p2p_if() 2170 if (p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_p2p_create_p2pdev() 2176 brcmf_err("could not create discovery vif\n"); brcmf_p2p_create_p2pdev() 2180 pri_ifp = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_p2p_create_p2pdev() 2206 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif = p2p_vif; brcmf_p2p_create_p2pdev() 2234 * @vif: virtual interface object to delete. 2237 struct brcmf_cfg80211_vif *vif) brcmf_p2p_delete_p2pdev() 2239 cfg80211_unregister_wdev(&vif->wdev); brcmf_p2p_delete_p2pdev() 2240 p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif = NULL; brcmf_p2p_delete_p2pdev() 2241 brcmf_free_vif(vif); brcmf_p2p_delete_p2pdev() 2261 struct brcmf_cfg80211_vif *vif; brcmf_p2p_add_vif() local 2268 brcmf_dbg(INFO, "adding vif \"%s\" (type=%d)\n", name, type); brcmf_p2p_add_vif() 2284 vif = brcmf_alloc_vif(cfg, type, false); brcmf_p2p_add_vif() 2285 if (IS_ERR(vif)) brcmf_p2p_add_vif() 2286 return (struct wireless_dev *)vif; brcmf_p2p_add_vif() 2287 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_add_vif() 2307 ifp = vif->ifp; brcmf_p2p_add_vif() 2322 cfg->p2p.bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = vif; brcmf_p2p_add_vif() 2330 return &ifp->vif->wdev; brcmf_p2p_add_vif() 2333 brcmf_free_vif(vif); brcmf_p2p_add_vif() 2347 struct brcmf_cfg80211_vif *vif; brcmf_p2p_del_vif() local 2352 brcmf_dbg(TRACE, "delete P2P vif\n"); brcmf_p2p_del_vif() 2353 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_del_vif() 2355 switch (vif->wdev.iftype) { brcmf_p2p_del_vif() 2357 if (test_bit(BRCMF_VIF_STATUS_DISCONNECTING, &vif->sme_state)) brcmf_p2p_del_vif() 2362 if (!brcmf_p2p_disable_p2p_if(vif)) brcmf_p2p_del_vif() 2367 brcmf_p2p_delete_p2pdev(p2p, vif); brcmf_p2p_del_vif() 2380 brcmf_vif_clear_mgmt_ies(vif); brcmf_p2p_del_vif() 2382 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_p2p_del_vif() 2383 err = brcmf_p2p_release_p2p_if(vif); brcmf_p2p_del_vif() 2394 p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = NULL; brcmf_p2p_del_vif() 2403 struct brcmf_cfg80211_vif *vif; brcmf_p2p_start_device() local 2406 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_start_device() 2410 set_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state); brcmf_p2p_start_device() 2419 struct brcmf_cfg80211_vif *vif; brcmf_p2p_stop_device() local 2421 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_p2p_stop_device() 2425 clear_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state); brcmf_p2p_stop_device() 885 brcmf_p2p_scan_prep(struct wiphy *wiphy, struct cfg80211_scan_request *request, struct brcmf_cfg80211_vif *vif) brcmf_p2p_scan_prep() argument 2236 brcmf_p2p_delete_p2pdev(struct brcmf_p2p_info *p2p, struct brcmf_cfg80211_vif *vif) brcmf_p2p_delete_p2pdev() argument
|
H A D | cfg80211.c | 99 static bool check_vif_up(struct brcmf_cfg80211_vif *vif) check_vif_up() argument 101 if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) { check_vif_up() 103 vif->sme_state); check_vif_up() 508 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_update_proto_addr_mode() local 511 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_update_proto_addr_mode() 512 ifp = vif->ifp; brcmf_cfg80211_update_proto_addr_mode() 561 struct brcmf_cfg80211_vif *vif; brcmf_ap_add_vif() local 567 brcmf_dbg(INFO, "Adding vif \"%s\"\n", name); brcmf_ap_add_vif() 569 vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_AP, false); brcmf_ap_add_vif() 570 if (IS_ERR(vif)) brcmf_ap_add_vif() 571 return (struct wireless_dev *)vif; brcmf_ap_add_vif() 573 brcmf_cfg80211_arm_vif_event(cfg, vif); brcmf_ap_add_vif() 592 ifp = vif->ifp; brcmf_ap_add_vif() 606 return &ifp->vif->wdev; brcmf_ap_add_vif() 609 brcmf_free_vif(vif); brcmf_ap_add_vif() 613 static bool brcmf_is_apmode(struct brcmf_cfg80211_vif *vif) brcmf_is_apmode() argument 617 iftype = vif->wdev.iftype; brcmf_is_apmode() 621 static bool brcmf_is_ibssmode(struct brcmf_cfg80211_vif *vif) brcmf_is_ibssmode() argument 623 return vif->wdev.iftype == NL80211_IFTYPE_ADHOC; brcmf_is_ibssmode() 672 if (check_vif_up(ifp->vif)) { brcmf_set_mpc() 749 /* vif event pending in firmware */ brcmf_cfg80211_del_iface() 789 struct brcmf_cfg80211_vif *vif = ifp->vif; brcmf_cfg80211_change_iface() local 807 if ((vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) || brcmf_cfg80211_change_iface() 808 (vif->wdev.iftype == NL80211_IFTYPE_P2P_GO)) { brcmf_cfg80211_change_iface() 835 set_bit(BRCMF_VIF_STATUS_AP_CREATING, &vif->sme_state); brcmf_cfg80211_change_iface() 845 brcmf_dbg(INFO, "IF Type = %s\n", brcmf_is_ibssmode(vif) ? brcmf_cfg80211_change_iface() 850 brcmf_cfg80211_update_proto_addr_mode(&vif->wdev); brcmf_cfg80211_change_iface() 1015 brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, brcmf_cfg80211_escan() argument 1019 struct brcmf_if *ifp = vif->ifp; brcmf_cfg80211_escan() 1045 if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) { brcmf_cfg80211_escan() 1046 brcmf_err("Connecting: status (%lu)\n", ifp->vif->sme_state); brcmf_cfg80211_escan() 1051 if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_cfg80211_escan() 1052 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif; brcmf_cfg80211_escan() 1069 err = brcmf_p2p_scan_prep(wiphy, request, vif); brcmf_cfg80211_escan() 1073 err = brcmf_do_escan(cfg, wiphy, vif->ifp, request); brcmf_cfg80211_escan() 1127 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_scan() local 1131 vif = container_of(request->wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_scan() 1132 if (!check_vif_up(vif)) brcmf_cfg80211_scan() 1135 err = brcmf_cfg80211_escan(wiphy, vif, request, NULL); brcmf_cfg80211_scan() 1189 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_wiphy_params() 1249 static void brcmf_link_down(struct brcmf_cfg80211_vif *vif, u16 reason) brcmf_link_down() argument 1251 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(vif->wdev.wiphy); brcmf_link_down() 1256 if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &vif->sme_state)) { brcmf_link_down() 1258 err = brcmf_fil_cmd_data_set(vif->ifp, brcmf_link_down() 1263 clear_bit(BRCMF_VIF_STATUS_CONNECTED, &vif->sme_state); brcmf_link_down() 1264 cfg80211_disconnected(vif->wdev.netdev, reason, NULL, 0, brcmf_link_down() 1268 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &vif->sme_state); brcmf_link_down() 1270 brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_ENABLED, 0); brcmf_link_down() 1280 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_join_ibss() 1289 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_join_ibss() 1299 set_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_join_ibss() 1421 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_join_ibss() 1432 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_leave_ibss() 1435 brcmf_link_down(ifp->vif, WLAN_REASON_DEAUTH_LEAVING); brcmf_cfg80211_leave_ibss() 1724 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_connect() 1737 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_connect() 1745 if (ifp->vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) { brcmf_cfg80211_connect() 1767 err = brcmf_vif_set_mgmt_ie(ifp->vif, BRCMF_VNDR_IE_ASSOCREQ_FLAG, brcmf_cfg80211_connect() 1774 set_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_connect() 1911 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_connect() 1921 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_disconnect() 1926 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_disconnect() 1929 clear_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); brcmf_cfg80211_disconnect() 1930 clear_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state); brcmf_cfg80211_disconnect() 1958 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_tx_power() 2005 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_tx_power() 2033 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_config_default_key() 2086 if (!brcmf_is_apmode(ifp->vif) && brcmf_add_keyext() 2151 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_add_key() 2167 key = &ifp->vif->profile.key[key_idx]; brcmf_cfg80211_add_key() 2193 if (!brcmf_is_apmode(ifp->vif)) { brcmf_cfg80211_add_key() 2249 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_key() 2279 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_get_key() 2286 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_key() 2343 key = &ifp->vif->profile.key[key_idx]; brcmf_cfg80211_reconfigure_wep() 2372 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_cfg80211_get_station() 2383 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_get_station() 2386 if (brcmf_is_apmode(ifp->vif)) { brcmf_cfg80211_get_station() 2403 } else if (ifp->vif->wdev.iftype == NL80211_IFTYPE_STATION) { brcmf_cfg80211_get_station() 2422 &ifp->vif->sme_state)) { brcmf_cfg80211_get_station() 2486 if (!check_vif_up(ifp->vif)) { brcmf_cfg80211_set_power_mgmt() 2494 if (ifp->vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) { brcmf_cfg80211_set_power_mgmt() 2704 if (brcmf_is_ibssmode(ifp->vif)) brcmf_update_bss_info() 3038 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_suspend() local 3045 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_suspend() 3054 list_for_each_entry(vif, &cfg->vif_list, list) { brcmf_cfg80211_suspend() 3055 if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) brcmf_cfg80211_suspend() 3061 brcmf_link_down(vif, WLAN_REASON_UNSPECIFIED); brcmf_cfg80211_suspend() 3119 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_set_pmksa() 3158 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_pmksa() 3207 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_flush_pmksa() 3769 s32 brcmf_vif_set_mgmt_ie(struct brcmf_cfg80211_vif *vif, s32 pktflag, brcmf_vif_set_mgmt_ie() argument 3790 if (!vif) brcmf_vif_set_mgmt_ie() 3792 ifp = vif->ifp; brcmf_vif_set_mgmt_ie() 3793 saved_ie = &vif->saved_ie; brcmf_vif_set_mgmt_ie() 3930 s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif) brcmf_vif_clear_mgmt_ies() argument 3940 brcmf_vif_set_mgmt_ie(vif, pktflags[i], NULL, 0); brcmf_vif_clear_mgmt_ies() 3942 memset(&vif->saved_ie, 0, sizeof(vif->saved_ie)); brcmf_vif_clear_mgmt_ies() 3947 brcmf_config_ap_mgmt_ie(struct brcmf_cfg80211_vif *vif, brcmf_config_ap_mgmt_ie() argument 3953 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_BEACON_FLAG, brcmf_config_ap_mgmt_ie() 3962 err = brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_PRBRSP_FLAG, brcmf_config_ap_mgmt_ie() 4000 dev_role = ifp->vif->wdev.iftype; brcmf_cfg80211_start_ap() 4001 mbss = ifp->vif->mbss; brcmf_cfg80211_start_ap() 4004 brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_REGULATORY, &ifp->vif->is_11d); brcmf_cfg80211_start_ap() 4063 brcmf_config_ap_mgmt_ie(ifp->vif, &settings->beacon); brcmf_cfg80211_start_ap() 4075 if (is_11d != ifp->vif->is_11d) { brcmf_cfg80211_start_ap() 4115 } else if (WARN_ON(is_11d != ifp->vif->is_11d)) { brcmf_cfg80211_start_ap() 4168 clear_bit(BRCMF_VIF_STATUS_AP_CREATING, &ifp->vif->sme_state); brcmf_cfg80211_start_ap() 4169 set_bit(BRCMF_VIF_STATUS_AP_CREATED, &ifp->vif->sme_state); brcmf_cfg80211_start_ap() 4188 if (ifp->vif->wdev.iftype == NL80211_IFTYPE_AP) { brcmf_cfg80211_stop_ap() 4193 if (ifp->vif->mbss) { brcmf_cfg80211_stop_ap() 4215 ifp->vif->is_11d); brcmf_cfg80211_stop_ap() 4233 set_bit(BRCMF_VIF_STATUS_AP_CREATING, &ifp->vif->sme_state); brcmf_cfg80211_stop_ap() 4234 clear_bit(BRCMF_VIF_STATUS_AP_CREATED, &ifp->vif->sme_state); brcmf_cfg80211_stop_ap() 4248 err = brcmf_config_ap_mgmt_ie(ifp->vif, info); brcmf_cfg80211_change_beacon() 4267 if (ifp->vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif) brcmf_cfg80211_del_station() 4268 ifp = cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif->ifp; brcmf_cfg80211_del_station() 4269 if (!check_vif_up(ifp->vif)) brcmf_cfg80211_del_station() 4317 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_mgmt_frame_register() local 4323 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_mgmt_frame_register() 4325 vif->mgmt_rx_reg |= BIT(mgmt_type); brcmf_cfg80211_mgmt_frame_register() 4327 vif->mgmt_rx_reg &= ~BIT(mgmt_type); brcmf_cfg80211_mgmt_frame_register() 4340 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_mgmt_tx() local 4361 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_mgmt_tx() 4368 /* vif. Since this is only reason for a probe */ brcmf_cfg80211_mgmt_tx() 4369 /* response to be sent, the vif is taken from cfg. */ brcmf_cfg80211_mgmt_tx() 4378 if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) brcmf_cfg80211_mgmt_tx() 4379 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_cfg80211_mgmt_tx() 4380 err = brcmf_vif_set_mgmt_ie(vif, brcmf_cfg80211_mgmt_tx() 4407 brcmf_fil_cmd_int_get(vif->ifp, BRCMF_C_GET_CHANNEL, brcmf_cfg80211_mgmt_tx() 4440 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_cancel_remain_on_channel() local 4445 vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; brcmf_cfg80211_cancel_remain_on_channel() 4446 if (vif == NULL) { brcmf_cfg80211_cancel_remain_on_channel() 4451 brcmf_p2p_cancel_remain_on_channel(vif->ifp); brcmf_cfg80211_cancel_remain_on_channel() 4462 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_crit_proto_start() local 4464 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_crit_proto_start() 4474 return brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_DISABLED, duration); brcmf_cfg80211_crit_proto_start() 4481 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_crit_proto_stop() local 4483 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); brcmf_cfg80211_crit_proto_stop() 4485 brcmf_btcoex_set_mode(vif, BRCMF_BTCOEX_ENABLED, 0); brcmf_cfg80211_crit_proto_stop() 4604 struct brcmf_cfg80211_vif *vif; brcmf_alloc_vif() local 4608 sizeof(*vif)); brcmf_alloc_vif() 4609 vif = kzalloc(sizeof(*vif), GFP_KERNEL); brcmf_alloc_vif() 4610 if (!vif) brcmf_alloc_vif() 4613 vif->wdev.wiphy = cfg->wiphy; brcmf_alloc_vif() 4614 vif->wdev.iftype = type; brcmf_alloc_vif() 4616 vif->pm_block = pm_block; brcmf_alloc_vif() 4617 vif->roam_off = -1; brcmf_alloc_vif() 4619 brcmf_init_prof(&vif->profile); brcmf_alloc_vif() 4629 vif->mbss = mbss; brcmf_alloc_vif() 4632 list_add_tail(&vif->list, &cfg->vif_list); brcmf_alloc_vif() 4633 return vif; brcmf_alloc_vif() 4636 void brcmf_free_vif(struct brcmf_cfg80211_vif *vif) brcmf_free_vif() argument 4638 list_del(&vif->list); brcmf_free_vif() 4639 kfree(vif); brcmf_free_vif() 4644 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_free_netdev() local 4648 vif = ifp->vif; brcmf_cfg80211_free_netdev() 4650 brcmf_free_vif(vif); brcmf_cfg80211_free_netdev() 4778 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_bss_roaming_done() 4828 set_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state); brcmf_bss_roaming_done() 4839 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_bss_connect_done() 4845 &ifp->vif->sme_state)) { brcmf_bss_connect_done() 4851 &ifp->vif->sme_state); brcmf_bss_connect_done() 4885 if (ifp->vif->mbss) brcmf_notify_connect_status_ap() 4916 struct brcmf_cfg80211_profile *profile = &ifp->vif->profile; brcmf_notify_connect_status() 4927 if (brcmf_is_apmode(ifp->vif)) { brcmf_notify_connect_status() 4931 if (brcmf_is_ibssmode(ifp->vif)) { brcmf_notify_connect_status() 4937 &ifp->vif->sme_state); brcmf_notify_connect_status() 4939 &ifp->vif->sme_state); brcmf_notify_connect_status() 4944 if (!brcmf_is_ibssmode(ifp->vif)) { brcmf_notify_connect_status() 4947 brcmf_link_down(ifp->vif, brcmf_map_fw_linkdown_reason(e)); brcmf_notify_connect_status() 4952 if (brcmf_is_ibssmode(ifp->vif)) brcmf_notify_connect_status() 4954 &ifp->vif->sme_state); brcmf_notify_connect_status() 4971 if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state)) brcmf_notify_roaming_status() 5004 struct brcmf_cfg80211_vif *vif; brcmf_notify_vif_event() local 5012 vif = event->vif; brcmf_notify_vif_event() 5017 if (!cfg->vif_event.vif) { brcmf_notify_vif_event() 5022 ifp->vif = vif; brcmf_notify_vif_event() 5023 vif->ifp = ifp; brcmf_notify_vif_event() 5025 vif->wdev.netdev = ifp->ndev; brcmf_notify_vif_event() 5026 ifp->ndev->ieee80211_ptr = &vif->wdev; brcmf_notify_vif_event() 5874 set_bit(BRCMF_VIF_STATUS_READY, &ifp->vif->sme_state); __brcmf_cfg80211_up() 5887 if (check_vif_up(ifp->vif)) { __brcmf_cfg80211_down() 5888 brcmf_link_down(ifp->vif, WLAN_REASON_UNSPECIFIED); __brcmf_cfg80211_down() 5898 clear_bit(BRCMF_VIF_STATUS_READY, &ifp->vif->sme_state); __brcmf_cfg80211_down() 5931 struct wireless_dev *wdev = &ifp->vif->wdev; brcmf_cfg80211_get_iftype() 5939 struct brcmf_cfg80211_vif *vif; brcmf_get_vif_state_any() local 5941 list_for_each_entry(vif, &cfg->vif_list, list) { brcmf_get_vif_state_any() 5942 if (test_bit(state, &vif->sme_state)) brcmf_get_vif_state_any() 5960 struct brcmf_cfg80211_vif *vif) brcmf_cfg80211_arm_vif_event() 5965 event->vif = vif; brcmf_cfg80211_arm_vif_event() 5976 armed = event->vif != NULL; brcmf_cfg80211_vif_event_armed() 6033 struct brcmf_cfg80211_vif *vif; brcmf_cfg80211_attach() local 6058 vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_STATION, false); brcmf_cfg80211_attach() 6059 if (IS_ERR(vif)) brcmf_cfg80211_attach() 6062 vif->ifp = ifp; brcmf_cfg80211_attach() 6063 vif->wdev.netdev = ndev; brcmf_cfg80211_attach() 6064 ndev->ieee80211_ptr = &vif->wdev; brcmf_cfg80211_attach() 6070 brcmf_free_vif(vif); brcmf_cfg80211_attach() 6073 ifp->vif = vif; brcmf_cfg80211_attach() 6146 brcmf_free_vif(vif); brcmf_cfg80211_attach() 5959 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. 329 * @vif: virtual interface object related to the event. 335 struct brcmf_cfg80211_vif *vif; member in struct:brcmf_cfg80211_vif_event 370 * @vif_list: linked list of vif instances. 371 * @vif_cnt: number of vif instances. 372 * @vif_event: vif event signalling. 443 struct brcmf_cfg80211_vif *vif; cfg_to_ndev() local 444 vif = list_first_entry(&cfg->vif_list, struct brcmf_cfg80211_vif, list); cfg_to_ndev() 445 return vif->wdev.netdev; cfg_to_ndev() 456 return &ifp->vif->profile; ndev_to_prof() 462 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. 162 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 | 163 * @vif: points to cfg80211 specific interface information. 179 struct brcmf_cfg80211_vif *vif; member in struct:brcmf_if
|
/linux-4.1.27/drivers/net/wireless/iwlwifi/dvm/ |
H A D | mac80211.c | 328 struct ieee80211_vif *vif, iwlagn_mac_set_rekey_data() 339 if (priv->contexts[IWL_RXON_CTX_BSS].vif != vif) iwlagn_mac_set_rekey_data() 369 if (!ctx->vif || ctx->vif->type != NL80211_IFTYPE_STATION || iwlagn_mac_suspend() 424 struct ieee80211_vif *vif; iwlagn_mac_resume() local 453 /* we'll clear ctx->vif during iwlagn_prepare_restart() */ iwlagn_mac_resume() 454 vif = ctx->vif; iwlagn_mac_resume() 483 ieee80211_report_wowlan_wakeup(vif, &wakeup, iwlagn_mac_resume() 522 if (resume_data.valid && priv->contexts[IWL_RXON_CTX_BSS].vif) { iwlagn_mac_resume() 547 ieee80211_report_wowlan_wakeup(vif, wakeup_report, GFP_KERNEL); iwlagn_mac_resume() 562 ieee80211_resume_disconnect(vif); iwlagn_mac_resume() 586 struct ieee80211_vif *vif, iwlagn_mac_update_tkip_key() 593 iwl_update_tkip_key(priv, vif, keyconf, sta, iv32, phase1key); iwlagn_mac_update_tkip_key() 597 struct ieee80211_vif *vif, iwlagn_mac_set_key() 602 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_set_key() 632 if (vif->type == NL80211_IFTYPE_ADHOC && iwlagn_mac_set_key() 718 struct ieee80211_vif *vif, iwlagn_mac_ampdu_action() 753 ret = iwlagn_tx_agg_start(priv, vif, sta, tid, ssn); iwlagn_mac_ampdu_action() 758 ret = iwlagn_tx_agg_flush(priv, vif, sta, tid); iwlagn_mac_ampdu_action() 762 ret = iwlagn_tx_agg_stop(priv, vif, sta, tid); iwlagn_mac_ampdu_action() 775 iwl_send_lq_cmd(priv, iwl_rxon_ctx_from_vif(vif), iwlagn_mac_ampdu_action() 780 ret = iwlagn_tx_agg_oper(priv, vif, sta, tid, buf_size); iwlagn_mac_ampdu_action() 789 struct ieee80211_vif *vif, iwlagn_mac_sta_add() 794 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_sta_add() 795 bool is_ap = vif->type == NL80211_IFTYPE_STATION; iwlagn_mac_sta_add() 804 if (vif->type == NL80211_IFTYPE_AP) iwlagn_mac_sta_add() 822 struct ieee80211_vif *vif, iwlagn_mac_sta_remove() 831 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_mac_sta_remove() 849 struct ieee80211_vif *vif, iwlagn_mac_sta_state() 855 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_sta_state() 865 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_mac_sta_state() 886 ret = iwlagn_mac_sta_add(hw, vif, sta); iwlagn_mac_sta_state() 901 ret = iwlagn_mac_sta_remove(hw, vif, sta); iwlagn_mac_sta_state() 904 ret = iwlagn_mac_sta_add(hw, vif, sta); iwlagn_mac_sta_state() 944 struct ieee80211_vif *vif, iwlagn_mac_channel_switch() 1008 iwl_set_flags_for_band(priv, ctx, channel->band, ctx->vif); iwlagn_mac_channel_switch() 1019 ieee80211_chswitch_done(ctx->vif, false); iwlagn_mac_channel_switch() 1041 if (ctx->vif) iwl_chswitch_done() 1042 ieee80211_chswitch_done(ctx->vif, is_success); iwl_chswitch_done() 1095 static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, iwlagn_mac_flush() argument 1134 struct ieee80211_vif *vif, iwlagn_mac_event_callback() 1173 struct ieee80211_vif *vif, u16 queue, iwlagn_mac_conf_tx() 1177 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_conf_tx() 1235 struct ieee80211_vif *vif = ctx->vif; iwl_setup_interface() local 1245 priv->iw_mode = vif->type; iwl_setup_interface() 1257 vif->type == NL80211_IFTYPE_ADHOC) { iwl_setup_interface() 1268 vif->hw_queue[ac] = ctx->ac_to_queue[ac]; iwl_setup_interface() 1270 if (vif->type == NL80211_IFTYPE_AP) iwl_setup_interface() 1271 vif->cab_queue = ctx->mcast_queue; iwl_setup_interface() 1273 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; iwl_setup_interface() 1279 struct ieee80211_vif *vif) iwlagn_mac_add_interface() 1282 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_mac_add_interface() 1285 enum nl80211_iftype viftype = ieee80211_vif_type_p2p(vif); iwlagn_mac_add_interface() 1289 viftype, vif->addr); iwlagn_mac_add_interface() 1303 if (tmp->vif) { for_each_context() 1305 if (tmp->vif == vif) { for_each_context() 1313 BIT(tmp->vif->type)) { for_each_context() 1334 ctx->vif = vif; 1345 if (vif->type == NL80211_IFTYPE_MONITOR) 1354 ctx->vif = NULL; 1364 struct ieee80211_vif *vif, iwl_teardown_interface() 1367 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwl_teardown_interface() 1371 if (priv->scan_vif == vif) { iwl_teardown_interface() 1389 if (vif->type == NL80211_IFTYPE_ADHOC) iwl_teardown_interface() 1394 struct ieee80211_vif *vif) iwlagn_mac_remove_interface() 1397 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_mac_remove_interface() 1403 if (WARN_ON(ctx->vif != vif)) { iwlagn_mac_remove_interface() 1405 IWL_ERR(priv, "ctx->vif = %p, vif = %p\n", ctx->vif, vif); iwlagn_mac_remove_interface() 1407 IWL_ERR(priv, "\tID = %d:\tctx = %p\tctx->vif = %p\n", iwlagn_mac_remove_interface() 1408 tmp->ctxid, tmp, tmp->vif); iwlagn_mac_remove_interface() 1410 ctx->vif = NULL; iwlagn_mac_remove_interface() 1412 iwl_teardown_interface(priv, vif, false); iwlagn_mac_remove_interface() 1421 struct ieee80211_vif *vif, iwlagn_mac_change_interface() 1436 ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_mac_change_interface() 1448 if (!ctx->vif || !iwl_is_ready_rf(priv)) { iwlagn_mac_change_interface() 1482 iwl_teardown_interface(priv, vif, true); 1483 vif->type = newviftype; 1484 vif->p2p = newp2p; 1504 struct ieee80211_vif *vif, iwlagn_mac_hw_scan() 1526 priv->scan_vif = vif; iwlagn_mac_hw_scan() 1530 priv->scan_vif = vif; iwlagn_mac_hw_scan() 1535 ret = iwl_scan_initiate(priv, vif, IWL_SCAN_NORMAL, iwlagn_mac_hw_scan() 1562 struct ieee80211_vif *vif, iwlagn_mac_sta_notify() 327 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 585 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 596 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 717 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) iwlagn_mac_ampdu_action() argument 788 iwlagn_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_mac_sta_add() argument 821 iwlagn_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_mac_sta_remove() argument 848 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 943 iwlagn_mac_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_channel_switch *ch_switch) iwlagn_mac_channel_switch() argument 1133 iwlagn_mac_event_callback(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct ieee80211_event *event) iwlagn_mac_event_callback() argument 1172 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 1278 iwlagn_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwlagn_mac_add_interface() argument 1363 iwl_teardown_interface(struct iwl_priv *priv, struct ieee80211_vif *vif, bool mode_change) iwl_teardown_interface() argument 1393 iwlagn_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) iwlagn_mac_remove_interface() argument 1420 iwlagn_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype newtype, bool newp2p) iwlagn_mac_change_interface() argument 1503 iwlagn_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) iwlagn_mac_hw_scan() argument 1561 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 | 42 if (!ctx->vif) { iwl_connection_init_rx_config() 45 switch (ctx->vif->type) { iwl_connection_init_rx_config() 68 ctx->vif->type); iwl_connection_init_rx_config() 85 iwl_set_flags_for_band(priv, ctx, priv->band, ctx->vif); iwl_connection_init_rx_config() 90 if (ctx->vif) iwl_connection_init_rx_config() 91 memcpy(ctx->staging.node_addr, ctx->vif->addr, ETH_ALEN); iwl_connection_init_rx_config() 200 struct ieee80211_vif *vif) iwlagn_update_beacon() 205 priv->beacon_skb = ieee80211_beacon_get(priv->hw, vif); iwlagn_update_beacon() 298 struct ieee80211_vif *vif = ctx->vif; iwl_send_rxon_timing() local 309 beacon_int = vif ? vif->bss_conf.beacon_int : 0; iwl_send_rxon_timing() 318 (!ctx->vif || ctx->vif->type != NL80211_IFTYPE_STATION) && iwl_send_rxon_timing() 320 priv->contexts[IWL_RXON_CTX_BSS].vif && iwl_send_rxon_timing() 321 priv->contexts[IWL_RXON_CTX_BSS].vif->bss_conf.beacon_int) { iwl_send_rxon_timing() 327 priv->contexts[IWL_RXON_CTX_PAN].vif && iwl_send_rxon_timing() 328 priv->contexts[IWL_RXON_CTX_PAN].vif->bss_conf.beacon_int && iwl_send_rxon_timing() 329 (!iwl_is_associated_ctx(ctx) || !ctx->vif || iwl_send_rxon_timing() 330 !ctx->vif->bss_conf.beacon_int)) { iwl_send_rxon_timing() 347 ctx->timing.dtim_period = vif ? (vif->bss_conf.dtim_period ?: 1) : 1; iwl_send_rxon_timing() 371 if (ctx->vif) { iwlagn_rxon_disconn() 481 if (ctx->vif && (ctx->vif->type == NL80211_IFTYPE_AP)) { iwlagn_rxon_connect() 482 ret = iwlagn_update_beacon(priv, ctx->vif); iwlagn_rxon_connect() 507 if (ctx->vif && (ctx->vif->type == NL80211_IFTYPE_ADHOC)) iwlagn_rxon_connect() 508 if (iwlagn_update_beacon(priv, ctx->vif)) iwlagn_rxon_connect() 525 if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && iwlagn_rxon_connect() 527 ieee80211_request_smps(ctx->vif, iwlagn_rxon_connect() 567 if (ctx_bss->vif && ctx_pan->vif) { iwlagn_set_pan_params() 569 int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1; iwlagn_set_pan_params() 574 if (ctx_pan->vif->type == NL80211_IFTYPE_AP && iwlagn_set_pan_params() 589 (!ctx_bss->vif->bss_conf.idle && iwlagn_set_pan_params() 590 !ctx_bss->vif->bss_conf.assoc)) { iwlagn_set_pan_params() 593 } else if (!ctx_pan->vif->bss_conf.idle && iwlagn_set_pan_params() 594 !ctx_pan->vif->bss_conf.assoc) { iwlagn_set_pan_params() 598 } else if (ctx_pan->vif) { iwlagn_set_pan_params() 600 slot1 = max_t(int, 1, ctx_pan->vif->bss_conf.dtim_period) * iwlagn_set_pan_params() 743 struct ieee80211_vif *vif) iwl_set_flags_for_band() 752 if (vif && vif->bss_conf.use_short_slot) iwl_set_flags_for_band() 946 if (ctx->vif) { iwl_calc_basic_rates() 948 unsigned long basic = ctx->vif->bss_conf.basic_rates; iwl_calc_basic_rates() 1078 if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) || iwlagn_commit_rxon() 1246 ctx->vif); for_each_context() 1282 struct ieee80211_vif *vif = ctx->vif; iwlagn_check_needed_chains() local 1291 switch (vif->type) { iwlagn_check_needed_chains() 1294 sta = ieee80211_find_sta(vif, bss_conf->bssid); iwlagn_check_needed_chains() 1360 if (!tmp->vif) for_each_context() 1408 struct ieee80211_vif *vif, iwlagn_bss_info_changed() 1413 struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_bss_info_changed() 1433 if (unlikely(!ctx->vif)) { iwlagn_bss_info_changed() 1434 IWL_DEBUG_MAC80211(priv, "leave - vif is NULL\n"); iwlagn_bss_info_changed() 1447 ctx->staging.assoc_id = cpu_to_le16(vif->bss_conf.aid); iwlagn_bss_info_changed() 1448 if (vif->bss_conf.use_short_preamble) iwlagn_bss_info_changed() 1490 if (vif->type == NL80211_IFTYPE_AP || iwlagn_bss_info_changed() 1491 vif->type == NL80211_IFTYPE_ADHOC) { iwlagn_bss_info_changed() 1492 if (vif->bss_conf.enable_beacon) { iwlagn_bss_info_changed() 1509 if (vif->type == NL80211_IFTYPE_STATION) { iwlagn_bss_info_changed() 1535 ret = iwlagn_manage_ibss_station(priv, vif, iwlagn_bss_info_changed() 1544 if (iwlagn_update_beacon(priv, vif)) iwlagn_bss_info_changed() 199 iwlagn_update_beacon(struct iwl_priv *priv, struct ieee80211_vif *vif) iwlagn_update_beacon() argument 740 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 1407 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 | 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() 914 struct ieee80211_vif *vif, iwlagn_wowlan_program_keys() 1191 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 913 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() 1215 ctx->vif && iwlagn_rx_reply_tx() 1216 ctx->vif->type == NL80211_IFTYPE_STATION) { iwlagn_rx_reply_tx()
|
H A D | agn.h | 152 struct ieee80211_vif *vif, 163 struct ieee80211_vif *vif); 211 int iwlagn_tx_agg_start(struct iwl_priv *priv, struct ieee80211_vif *vif, 213 int iwlagn_tx_agg_oper(struct iwl_priv *priv, struct ieee80211_vif *vif, 215 int iwlagn_tx_agg_stop(struct iwl_priv *priv, struct ieee80211_vif *vif, 217 int iwlagn_tx_agg_flush(struct iwl_priv *priv, struct ieee80211_vif *vif, 262 struct ieee80211_vif *vif, 306 struct ieee80211_vif *vif, bool add); iwl_get_agg_tx_fail_reason() 371 struct ieee80211_vif *vif,
|
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 | 481 struct ieee80211_vif *vif, iwl_get_channel_for_reset_scan() 516 struct ieee80211_vif *vif, iwl_get_channels_for_scan() 637 static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) iwlagn_request_scan() argument 670 if (vif) iwlagn_request_scan() 671 ctx = iwl_rxon_ctx_from_vif(vif); iwlagn_request_scan() 699 interval = vif->bss_conf.beacon_int; iwlagn_request_scan() 869 vif->addr, iwlagn_request_scan() 894 iwl_get_channel_for_reset_scan(priv, vif, band, iwlagn_request_scan() 899 iwl_get_channels_for_scan(priv, vif, band, iwlagn_request_scan() 944 struct ieee80211_vif *vif, iwl_scan_initiate() 979 ret = iwlagn_request_scan(priv, vif); iwl_scan_initiate() 480 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 515 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 943 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 | 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. 916 iwl_rxon_ctx_from_vif(struct ieee80211_vif *vif) iwl_rxon_ctx_from_vif() argument 918 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwl_rxon_ctx_from_vif()
|
H A D | sta.c | 617 else if (ctx && ctx->vif && ctx->vif->p2p) iwl_sta_fill_lq() 1111 struct ieee80211_vif *vif, iwlagn_key_sta_id() 1114 struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; iwlagn_key_sta_id() 1124 if (vif->type == NL80211_IFTYPE_STATION && vif_priv->ctx) iwlagn_key_sta_id() 1184 struct ieee80211_vif *vif, iwl_update_tkip_key() 1188 u8 sta_id = iwlagn_key_sta_id(priv, vif, sta); iwl_update_tkip_key() 1209 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); iwl_remove_dynamic_key() 1259 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); iwl_set_dynamic_key() 1110 iwlagn_key_sta_id(struct iwl_priv *priv, struct ieee80211_vif *vif, struct ieee80211_sta *sta) iwlagn_key_sta_id() argument 1183 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
|
/linux-4.1.27/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() 1049 struct ieee80211_vif *vif, carl9170_op_bss_info_changed() 1060 vif_priv = (void *) vif->drv_priv; carl9170_op_bss_info_changed() 1090 if (main_vif != vif) { carl9170_op_bss_info_changed() 1099 if (vif->type != NL80211_IFTYPE_STATION && carl9170_op_bss_info_changed() 1118 if (main_vif != vif) carl9170_op_bss_info_changed() 1158 struct ieee80211_vif *vif) carl9170_op_get_tsf() 1175 struct ieee80211_vif *vif, carl9170_op_set_key() 1183 if (ar->disable_offload || !vif) carl9170_op_set_key() 1193 if (!is_main_vif(ar, vif)) { carl9170_op_set_key() 1203 if ((vif->type != NL80211_IFTYPE_STATION && carl9170_op_set_key() 1204 vif->type != NL80211_IFTYPE_ADHOC) && carl9170_op_set_key() 1317 struct ieee80211_vif *vif, carl9170_op_sta_add() 1346 struct ieee80211_vif *vif, carl9170_op_sta_remove() 1384 struct ieee80211_vif *vif, u16 queue, carl9170_op_conf_tx() 1416 struct ieee80211_vif *vif, carl9170_op_ampdu_action() 1443 tid_info->vif = vif; carl9170_op_ampdu_action() 1456 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); carl9170_op_ampdu_action() 1474 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); carl9170_op_ampdu_action() 1702 struct ieee80211_vif *vif, carl9170_op_flush() 1728 struct ieee80211_vif *vif, carl9170_op_sta_notify() 2015 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 1048 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 1157 carl9170_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) carl9170_op_get_tsf() argument 1174 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 1316 carl9170_op_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) carl9170_op_sta_add() argument 1345 carl9170_op_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) carl9170_op_sta_remove() argument 1383 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 1415 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) carl9170_op_ampdu_action() argument 1701 carl9170_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) carl9170_op_flush() argument 1727 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.1.27/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() 615 int cw1200_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, cw1200_conf_tx() argument 688 struct ieee80211_vif *vif, struct ieee80211_sta *sta, cw1200_set_key() 941 void cw1200_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_flush() argument 1032 ieee80211_cqm_rssi_notify(priv->vif, cqm_evt, cw1200_event_handler() 1185 ieee80211_connection_loss(priv->vif); cw1200_join_complete() 1220 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_do_join() 1241 bssid = priv->vif->bss_conf.bssid; cw1200_do_join() 1311 if (priv->vif->p2p) { cw1200_do_join() 1458 ieee80211_connection_loss(priv->vif); cw1200_unjoin_work() 1552 int cw1200_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_sta_add() argument 1583 int cw1200_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, cw1200_sta_remove() argument 1607 struct ieee80211_vif *vif, __cw1200_sta_notify() 1648 struct ieee80211_vif *vif, cw1200_sta_notify() 1657 __cw1200_sta_notify(dev, vif, notify_cmd, sta_priv->link_id); cw1200_sta_notify() 1671 __cw1200_sta_notify(priv->hw, priv->vif, cw1200_ps_notify() 1686 skb = ieee80211_beacon_get_tim(priv->hw, priv->vif, cw1200_set_tim_impl() 1779 if (!priv->vif->p2p) { cw1200_set_btcoexinfo() 1810 struct ieee80211_vif *vif, cw1200_bss_info_changed() 1900 ieee80211_connection_loss(vif); cw1200_bss_info_changed() 1921 sta = ieee80211_find_sta(vif, info->bssid); cw1200_bss_info_changed() 1996 if (priv->vif->p2p) { cw1200_bss_info_changed() 2141 struct ieee80211_vif *vif, cw1200_ampdu_action() 2218 if (priv->vif->p2p) cw1200_upload_beacon() 2221 frame.skb = ieee80211_beacon_get_tim(priv->hw, priv->vif, cw1200_upload_beacon() 2240 if (priv->vif->p2p) { cw1200_upload_beacon() 2262 frame.skb = ieee80211_pspoll_get(priv->hw, priv->vif); cw1200_upload_pspoll() 2281 frame.skb = ieee80211_nullfunc_get(priv->hw, priv->vif); cw1200_upload_null() 2301 frame.skb = ieee80211_qosnullfunc_get(priv->hw, priv->vif); cw1200_upload_qosnull() 2326 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_start_ap() 2328 .mode = priv->vif->p2p ? cw1200_start_ap() 2366 if (!ret && priv->vif->p2p) { cw1200_start_ap() 2381 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 687 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 1606 __cw1200_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif, enum sta_notify_cmd notify_cmd, int link_id) __cw1200_sta_notify() argument 1647 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 1809 cw1200_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) cw1200_bss_info_changed() argument 2140 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) 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.1.27/drivers/net/wireless/ath/ath10k/ |
H A D | mac.h | 49 static inline struct ath10k_vif *ath10k_vif_to_arvif(struct ieee80211_vif *vif) ath10k_vif_to_arvif() argument 51 return (struct ath10k_vif *)vif->drv_priv; ath10k_vif_to_arvif() 54 static inline void ath10k_tx_h_seq_no(struct ieee80211_vif *vif, ath10k_tx_h_seq_no() argument 59 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_tx_h_seq_no()
|
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 | mac.c | 73 if (memcmp(macaddr, arvif->vif->addr, ETH_ALEN)) ath10k_send_key() 908 arg.ssid = arvif->vif->bss_conf.ssid; ath10k_vdev_start_restart() 909 arg.ssid_len = arvif->vif->bss_conf.ssid_len; ath10k_vdev_start_restart() 1051 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_setup_bcn_tmpl() local 1059 bcn = ieee80211_beacon_get_template(hw, vif, &offs); ath10k_mac_setup_bcn_tmpl() 1097 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_setup_prb_tmpl() local 1104 prb = ieee80211_proberesp_get(hw, vif); ath10k_mac_setup_prb_tmpl() 1274 struct ieee80211_vif *vif = arvif->vif; ath10k_mac_vif_setup_ps() local 1284 if (arvif->vif->type != NL80211_IFTYPE_STATION) ath10k_mac_vif_setup_ps() 1305 vif->bss_conf.beacon_int) / 1000; ath10k_mac_vif_setup_ps() 1369 struct ieee80211_vif *vif) ath10k_peer_assoc_h_listen_intval() 1379 if (vif->type == NL80211_IFTYPE_STATION) ath10k_peer_assoc_h_listen_intval() 1386 struct ieee80211_vif *vif, ath10k_peer_assoc_h_basic() 1390 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_basic() 1398 arg->peer_listen_intval = ath10k_peer_assoc_h_listen_intval(ar, vif); ath10k_peer_assoc_h_basic() 1400 arg->peer_caps = vif->bss_conf.assoc_capability; ath10k_peer_assoc_h_basic() 1404 struct ieee80211_vif *vif, ath10k_peer_assoc_h_crypto() 1407 struct ieee80211_bss_conf *info = &vif->bss_conf; ath10k_peer_assoc_h_crypto() 1668 struct ieee80211_vif *vif, ath10k_peer_assoc_h_qos() 1672 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_peer_assoc_h_qos() 1685 if (vif->bss_conf.qos) ath10k_peer_assoc_h_qos() 1707 struct ieee80211_vif *vif, ath10k_peer_assoc_h_phymode() 1765 struct ieee80211_vif *vif, ath10k_peer_assoc_prepare() 1773 ath10k_peer_assoc_h_basic(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 1774 ath10k_peer_assoc_h_crypto(ar, vif, arg); ath10k_peer_assoc_prepare() 1778 ath10k_peer_assoc_h_qos(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 1779 ath10k_peer_assoc_h_phymode(ar, vif, sta, arg); ath10k_peer_assoc_prepare() 1812 struct ieee80211_vif *vif, ath10k_mac_vif_recalc_txbf() 1815 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_mac_vif_recalc_txbf() 1875 struct ieee80211_vif *vif, ath10k_bss_assoc() 1879 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_assoc() 1893 ap_sta = ieee80211_find_sta(vif, bss_conf->bssid); ath10k_bss_assoc() 1906 ret = ath10k_peer_assoc_prepare(ar, vif, ap_sta, &peer_arg); ath10k_bss_assoc() 1930 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); ath10k_bss_assoc() 1969 struct ieee80211_vif *vif) ath10k_bss_disassoc() 1972 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_disassoc() 1988 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); ath10k_bss_disassoc() 1999 struct ieee80211_vif *vif, ath10k_station_assoc() 2003 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_station_assoc() 2009 ret = ath10k_peer_assoc_prepare(ar, vif, sta, &peer_arg); ath10k_station_assoc() 2068 struct ieee80211_vif *vif, ath10k_station_disassoc() 2071 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_station_disassoc() 2291 static u8 ath10k_tx_h_get_vdev_id(struct ath10k *ar, struct ieee80211_vif *vif) ath10k_tx_h_get_vdev_id() argument 2293 if (vif) ath10k_tx_h_get_vdev_id() 2294 return ath10k_vif_to_arvif(vif)->vdev_id; ath10k_tx_h_get_vdev_id() 2333 struct ieee80211_vif *vif, ath10k_tx_h_add_p2p_noa_ie() 2337 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_tx_h_add_p2p_noa_ie() 2702 struct ieee80211_vif *vif = info->control.vif; ath10k_tx() local 2711 ATH10K_SKB_CB(skb)->vdev_id = ath10k_tx_h_get_vdev_id(ar, vif); ath10k_tx() 2714 if (vif && vif->type != NL80211_IFTYPE_MONITOR) { ath10k_tx() 2716 ath10k_tx_h_add_p2p_noa_ie(ar, vif, skb); ath10k_tx() 2717 ath10k_tx_h_seq_no(vif, skb); ath10k_tx() 3203 struct ieee80211_vif *vif) ath10k_add_interface() 3206 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_add_interface() 3213 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; ath10k_add_interface() 3220 arvif->vif = vif; ath10k_add_interface() 3237 switch (vif->type) { ath10k_add_interface() 3245 if (vif->p2p) ath10k_add_interface() 3254 if (vif->p2p) ath10k_add_interface() 3277 * DMA-coherent buffer for a lifetime of a vif and use it for all ath10k_add_interface() 3281 if (vif->type == NL80211_IFTYPE_ADHOC || ath10k_add_interface() 3282 vif->type == NL80211_IFTYPE_AP) { ath10k_add_interface() 3300 arvif->vdev_subtype, vif->addr); ath10k_add_interface() 3335 if (ar->cfg_tx_chainmask && (vif->type != NL80211_IFTYPE_MONITOR)) { ath10k_add_interface() 3350 ret = ath10k_peer_create(ar, arvif->vdev_id, vif->addr); ath10k_add_interface() 3405 arvif->txpower = vif->bss_conf.txpower; ath10k_add_interface() 3417 ath10k_wmi_peer_delete(ar, arvif->vdev_id, vif->addr); ath10k_add_interface() 3437 struct ieee80211_vif *vif) ath10k_remove_interface() 3440 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_remove_interface() 3459 vif->addr); ath10k_remove_interface() 3480 vif->addr); ath10k_remove_interface() 3530 struct ieee80211_vif *vif, ath10k_bss_info_changed() 3535 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_bss_info_changed() 3542 ath10k_control_ibss(arvif, info, vif->addr); ath10k_bss_info_changed() 3599 vif->type == NL80211_IFTYPE_AP) { ath10k_bss_info_changed() 3667 ath10k_bss_assoc(hw, vif, info); ath10k_bss_info_changed() 3670 ath10k_bss_disassoc(hw, vif); ath10k_bss_info_changed() 3685 arvif->ps = vif->bss_conf.ps; ath10k_bss_info_changed() 3697 struct ieee80211_vif *vif, ath10k_hw_scan() 3701 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_hw_scan() 3773 struct ieee80211_vif *vif) ath10k_cancel_hw_scan() 3794 * frames with multi-vif APs. This is not required for main firmware ath10k_set_key_h_def_keyidx() 3798 * is required for multi-vif STA interfaces on 10.1 */ ath10k_set_key_h_def_keyidx() 3823 struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath10k_set_key() 3827 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_set_key() 3843 peer_addr = vif->bss_conf.bssid; ath10k_set_key() 3845 peer_addr = vif->addr; ath10k_set_key() 3911 struct ieee80211_vif *vif, ath10k_set_default_unicast_key() 3915 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_set_default_unicast_key() 4008 err = ath10k_station_assoc(ar, arvif->vif, sta, true); ath10k_sta_rc_update_wk() 4049 struct ieee80211_vif *vif, ath10k_sta_state() 4055 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_sta_state() 4099 if (vif->type == NL80211_IFTYPE_STATION) { ath10k_sta_state() 4123 if (vif->type == NL80211_IFTYPE_STATION) { ath10k_sta_state() 4142 (vif->type == NL80211_IFTYPE_AP || ath10k_sta_state() 4143 vif->type == NL80211_IFTYPE_ADHOC)) { ath10k_sta_state() 4150 ret = ath10k_station_assoc(ar, vif, sta, false); ath10k_sta_state() 4156 (vif->type == NL80211_IFTYPE_AP || ath10k_sta_state() 4157 vif->type == NL80211_IFTYPE_ADHOC)) { ath10k_sta_state() 4164 ret = ath10k_station_disassoc(ar, vif, sta); ath10k_sta_state() 4174 static int ath10k_conf_tx_uapsd(struct ath10k *ar, struct ieee80211_vif *vif, ath10k_conf_tx_uapsd() argument 4177 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_conf_tx_uapsd() 4281 struct ieee80211_vif *vif, u16 ac, ath10k_conf_tx() 4285 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_conf_tx() 4341 ret = ath10k_conf_tx_uapsd(ar, vif, ac, params->uapsd); ath10k_conf_tx() 4353 struct ieee80211_vif *vif, ath10k_remain_on_channel() 4359 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_remain_on_channel() 4485 static void ath10k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ath10k_flush() argument 4962 struct ieee80211_vif *vif, ath10k_set_bitrate_mask() 4965 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_set_bitrate_mask() 4996 struct ieee80211_vif *vif, ath10k_sta_rc_update() 5068 static u64 ath10k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_get_tsf() argument 5079 struct ieee80211_vif *vif, ath10k_ampdu_action() 5085 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_ampdu_action() 5408 struct ieee80211_vif *vif) ath10k_get_arvif_iter() 5411 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); ath10k_get_arvif_iter() 1368 ath10k_peer_assoc_h_listen_intval(struct ath10k *ar, struct ieee80211_vif *vif) ath10k_peer_assoc_h_listen_intval() argument 1385 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 1403 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 1667 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 1706 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 1764 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 1811 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 1874 ath10k_bss_assoc(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf) ath10k_bss_assoc() argument 1968 ath10k_bss_disassoc(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_bss_disassoc() argument 1998 ath10k_station_assoc(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta, bool reassoc) ath10k_station_assoc() argument 2067 ath10k_station_disassoc(struct ath10k *ar, struct ieee80211_vif *vif, struct ieee80211_sta *sta) ath10k_station_disassoc() argument 2332 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 3202 ath10k_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_add_interface() argument 3436 ath10k_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_remove_interface() argument 3529 ath10k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) ath10k_bss_info_changed() argument 3696 ath10k_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) ath10k_hw_scan() argument 3772 ath10k_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath10k_cancel_hw_scan() argument 3822 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 3910 ath10k_set_default_unicast_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int keyidx) ath10k_set_default_unicast_key() argument 4048 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 4280 ath10k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 ac, const struct ieee80211_tx_queue_params *params) ath10k_conf_tx() argument 4352 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 4961 ath10k_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const struct cfg80211_bitrate_mask *mask) ath10k_set_bitrate_mask() argument 4995 ath10k_sta_rc_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u32 changed) ath10k_sta_rc_update() argument 5078 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) ath10k_ampdu_action() argument 5407 ath10k_get_arvif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ath10k_get_arvif_iter() argument
|
H A D | debug.h | 79 struct ieee80211_vif *vif, 82 struct ieee80211_vif *vif, int sset); 84 struct ieee80211_vif *vif, 138 void ath10k_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | thermal.c | 89 * vif AP mode. Since quiet param is not validated in STA mode, it needs ath10k_thermal_set_cur_dutycycle() 90 * to be investigated further to handle multi STA and multi-vif (AP+STA) ath10k_thermal_set_cur_dutycycle()
|
/linux-4.1.27/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() 490 struct ieee80211_vif *vif, lbtf_op_bss_info_changed() 499 switch (priv->vif->type) { lbtf_op_bss_info_changed() 502 beacon = ieee80211_beacon_get(hw, vif); lbtf_op_bss_info_changed() 720 if (priv->vif->type != NL80211_IFTYPE_AP) lbtf_bcn_sent() 726 while ((skb = ieee80211_get_buffered_bc(priv->hw, priv->vif))) { lbtf_bcn_sent() 736 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 489 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.1.27/net/ipv4/ |
H A D | ipmr.c | 100 /* Big lock, protecting vif table, mrt cache and mroute socket state. 730 /* Is vif busy ? */ vif_add() 1209 * Close the multicast socket, and clear the vif tables etc 1218 /* Shut down all active vif entries */ mroute_clean_tables() 1282 struct vifctl vif; ip_mroute_setsockopt() local 1328 if (optlen != sizeof(vif)) ip_mroute_setsockopt() 1330 if (copy_from_user(&vif, optval, sizeof(vif))) ip_mroute_setsockopt() 1332 if (vif.vifc_vifi >= MAXVIFS) ip_mroute_setsockopt() 1336 ret = vif_add(net, mrt, &vif, ip_mroute_setsockopt() 1339 ret = vif_delete(mrt, vif.vifc_vifi, 0, NULL); ip_mroute_setsockopt() 1495 struct vif_device *vif; ipmr_ioctl() local 1511 vif = &mrt->vif_table[vr.vifi]; ipmr_ioctl() 1513 vr.icount = vif->pkt_in; ipmr_ioctl() 1514 vr.ocount = vif->pkt_out; ipmr_ioctl() 1515 vr.ibytes = vif->bytes_in; ipmr_ioctl() 1516 vr.obytes = vif->bytes_out; ipmr_ioctl() 1569 struct vif_device *vif; ipmr_compat_ioctl() local 1585 vif = &mrt->vif_table[vr.vifi]; ipmr_compat_ioctl() 1587 vr.icount = vif->pkt_in; ipmr_compat_ioctl() 1588 vr.ocount = vif->pkt_out; ipmr_compat_ioctl() 1589 vr.ibytes = vif->bytes_in; ipmr_compat_ioctl() 1590 vr.obytes = vif->bytes_out; ipmr_compat_ioctl() 1704 struct vif_device *vif = &mrt->vif_table[vifi]; ipmr_queue_xmit() local 1710 if (!vif->dev) ipmr_queue_xmit() 1714 if (vif->flags & VIFF_REGISTER) { ipmr_queue_xmit() 1715 vif->pkt_out++; ipmr_queue_xmit() 1716 vif->bytes_out += skb->len; ipmr_queue_xmit() 1717 vif->dev->stats.tx_bytes += skb->len; ipmr_queue_xmit() 1718 vif->dev->stats.tx_packets++; ipmr_queue_xmit() 1724 if (vif->flags & VIFF_TUNNEL) { ipmr_queue_xmit() 1726 vif->remote, vif->local, ipmr_queue_xmit() 1729 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1737 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1762 vif->pkt_out++; ipmr_queue_xmit() 1763 vif->bytes_out += skb->len; ipmr_queue_xmit() 1772 if (vif->flags & VIFF_TUNNEL) { ipmr_queue_xmit() 1773 ip_encap(net, skb, vif->local, vif->remote); ipmr_queue_xmit() 1775 vif->dev->stats.tx_packets++; ipmr_queue_xmit() 1776 vif->dev->stats.tx_bytes += skb->len; ipmr_queue_xmit() 1819 int vif, ct; ip_mr_forward() local 1822 vif = cache->mfc_parent; ip_mr_forward() 1832 cache_proxy = ipmr_cache_find_any_parent(mrt, vif); ip_mr_forward() 1841 if (mrt->vif_table[vif].dev != skb->dev) { ip_mr_forward() 1876 mrt->vif_table[vif].pkt_in++; ip_mr_forward() 1877 mrt->vif_table[vif].bytes_in += skb->len; ip_mr_forward() 2003 int vif = ipmr_find_vif(mrt, skb->dev); ip_mr_input() local 2005 if (vif >= 0) ip_mr_input() 2007 vif); ip_mr_input() 2014 int vif; ip_mr_input() local 2025 vif = ipmr_find_vif(mrt, skb->dev); ip_mr_input() 2026 if (vif >= 0) { ip_mr_input() 2027 int err2 = ipmr_cache_unresolved(mrt, vif, skb); ip_mr_input() 2214 int vif = ipmr_find_vif(mrt, skb->dev); ipmr_get_route() local 2216 if (vif >= 0) ipmr_get_route() 2217 cache = ipmr_cache_find_any(mrt, daddr, vif); ipmr_get_route() 2223 int vif = -1; ipmr_get_route() local 2233 vif = ipmr_find_vif(mrt, dev); ipmr_get_route() 2234 if (vif < 0) { ipmr_get_route() 2253 err = ipmr_cache_unresolved(mrt, vif, skb2); ipmr_get_route() 2500 const struct vif_device *vif = v; ipmr_vif_seq_show() local 2501 const char *name = vif->dev ? vif->dev->name : "none"; ipmr_vif_seq_show() 2505 vif - mrt->vif_table, ipmr_vif_seq_show() 2506 name, vif->bytes_in, vif->pkt_in, ipmr_vif_seq_show() 2507 vif->bytes_out, vif->pkt_out, ipmr_vif_seq_show() 2508 vif->flags, vif->local, vif->remote); ipmr_vif_seq_show()
|
/linux-4.1.27/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() 485 struct ieee80211_vif *vif, struct ieee80211_sta *sta, ath5k_set_key() 498 if (vif->type == NL80211_IFTYPE_ADHOC && ath5k_set_key() 524 ret = ath_key_config(common, vif, sta, key); ath5k_set_key() 551 struct ieee80211_vif *vif, ath5k_sw_scan_start() 561 ath5k_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_sw_scan_complete() argument 588 ath5k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, ath5k_conf_tx() argument 627 ath5k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ath5k_get_tsf() argument 636 ath5k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) ath5k_set_tsf() argument 645 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 484 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 550 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.1.27/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() 1566 struct ieee80211_vif *vif) mac80211_hwsim_bcn_en_iter() 1569 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; mac80211_hwsim_bcn_en_iter() 1576 struct ieee80211_vif *vif, mac80211_hwsim_bss_info_changed() 1580 struct hwsim_vif_priv *vp = (void *)vif->drv_priv; mac80211_hwsim_bss_info_changed() 1583 hwsim_check_magic(vif); mac80211_hwsim_bss_info_changed() 1585 wiphy_debug(hw->wiphy, "%s(changed=0x%x vif->addr=%pM)\n", mac80211_hwsim_bss_info_changed() 1586 __func__, changed, vif->addr); mac80211_hwsim_bss_info_changed() 1611 tsf = mac80211_hwsim_get_tsf(hw, vif); mac80211_hwsim_bss_info_changed() 1660 struct ieee80211_vif *vif, mac80211_hwsim_sta_add() 1663 hwsim_check_magic(vif); mac80211_hwsim_sta_add() 1670 struct ieee80211_vif *vif, mac80211_hwsim_sta_remove() 1673 hwsim_check_magic(vif); mac80211_hwsim_sta_remove() 1680 struct ieee80211_vif *vif, mac80211_hwsim_sta_notify() 1684 hwsim_check_magic(vif); mac80211_hwsim_sta_notify() 1707 struct ieee80211_vif *vif, u16 queue, mac80211_hwsim_conf_tx() 1774 struct ieee80211_vif *vif, mac80211_hwsim_testmode_cmd() 1821 struct ieee80211_vif *vif, mac80211_hwsim_ampdu_action() 1828 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); mac80211_hwsim_ampdu_action() 1833 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); mac80211_hwsim_ampdu_action() 1848 struct ieee80211_vif *vif, mac80211_hwsim_flush() 1910 struct ieee80211_vif *vif, mac80211_hwsim_hw_scan() 1922 hwsim->hw_scan_vif = vif; mac80211_hwsim_hw_scan() 1929 memcpy(hwsim->scan_addr, vif->addr, ETH_ALEN); mac80211_hwsim_hw_scan() 1940 struct ieee80211_vif *vif) mac80211_hwsim_cancel_hw_scan() 1957 struct ieee80211_vif *vif, mac80211_hwsim_sw_scan() 1979 struct ieee80211_vif *vif) mac80211_hwsim_sw_scan_complete() 2006 struct ieee80211_vif *vif, mac80211_hwsim_roc() 2081 struct ieee80211_vif *vif, mac80211_hwsim_assign_vif_chanctx() 2084 hwsim_check_magic(vif); mac80211_hwsim_assign_vif_chanctx() 2091 struct ieee80211_vif *vif, mac80211_hwsim_unassign_vif_chanctx() 2094 hwsim_check_magic(vif); mac80211_hwsim_unassign_vif_chanctx() 2113 struct ieee80211_vif *vif, mac80211_hwsim_get_et_strings() 2122 struct ieee80211_vif *vif, int sset) mac80211_hwsim_get_et_sset_count() 2130 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 1565 mac80211_hwsim_bcn_en_iter(void *data, u8 *mac, struct ieee80211_vif *vif) mac80211_hwsim_bcn_en_iter() argument 1575 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 1659 mac80211_hwsim_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mac80211_hwsim_sta_add() argument 1669 mac80211_hwsim_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mac80211_hwsim_sta_remove() argument 1679 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 1705 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 1773 mac80211_hwsim_testmode_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void *data, int len) mac80211_hwsim_testmode_cmd() argument 1820 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) mac80211_hwsim_ampdu_action() argument 1847 mac80211_hwsim_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) mac80211_hwsim_flush() argument 1909 mac80211_hwsim_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) mac80211_hwsim_hw_scan() argument 1939 mac80211_hwsim_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_cancel_hw_scan() argument 1956 mac80211_hwsim_sw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) mac80211_hwsim_sw_scan() argument 1978 mac80211_hwsim_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) mac80211_hwsim_sw_scan_complete() argument 2005 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 2080 mac80211_hwsim_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) mac80211_hwsim_assign_vif_chanctx() argument 2090 mac80211_hwsim_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *ctx) mac80211_hwsim_unassign_vif_chanctx() argument 2112 mac80211_hwsim_get_et_strings(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 sset, u8 *data) mac80211_hwsim_get_et_strings() argument 2121 mac80211_hwsim_get_et_sset_count(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int sset) mac80211_hwsim_get_et_sset_count() argument 2129 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() 5024 if ((changed & BSS_CHANGED_ASSOC) && vif->bss_conf.assoc && mwl8k_bss_info_changed_sta() 5026 rc = mwl8k_cmd_set_rate(hw, vif, ap_legacy_rates, ap_mcs_rates); mwl8k_bss_info_changed_sta() 5034 if ((changed & BSS_CHANGED_ASSOC) && vif->bss_conf.assoc && mwl8k_bss_info_changed_sta() 5041 idx = ffs(vif->bss_conf.basic_rates); mwl8k_bss_info_changed_sta() 5056 vif->bss_conf.use_short_preamble); mwl8k_bss_info_changed_sta() 5062 rc = mwl8k_cmd_set_slot(hw, vif->bss_conf.use_short_slot); mwl8k_bss_info_changed_sta() 5067 if (vif->bss_conf.assoc && !priv->ap_fw && mwl8k_bss_info_changed_sta() 5070 rc = mwl8k_cmd_set_aid(hw, vif, ap_legacy_rates); mwl8k_bss_info_changed_sta() 5075 if (vif->bss_conf.assoc && mwl8k_bss_info_changed_sta() 5081 memcpy(priv->capture_bssid, vif->bss_conf.bssid, ETH_ALEN); mwl8k_bss_info_changed_sta() 5090 mwl8k_bss_info_changed_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_bss_info_changed_ap() argument 5100 vif->bss_conf.use_short_preamble); mwl8k_bss_info_changed_ap() 5114 idx = ffs(vif->bss_conf.basic_rates); mwl8k_bss_info_changed_ap() 5129 skb = ieee80211_beacon_get(hw, vif); mwl8k_bss_info_changed_ap() 5131 mwl8k_cmd_set_beacon(hw, vif, skb->data, skb->len); mwl8k_bss_info_changed_ap() 5137 mwl8k_cmd_bss_start(hw, vif, info->enable_beacon); mwl8k_bss_info_changed_ap() 5144 mwl8k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_bss_info_changed() argument 5147 if (vif->type == NL80211_IFTYPE_STATION) mwl8k_bss_info_changed() 5148 mwl8k_bss_info_changed_sta(hw, vif, info, changed); mwl8k_bss_info_changed() 5149 if (vif->type == NL80211_IFTYPE_AP) mwl8k_bss_info_changed() 5150 mwl8k_bss_info_changed_ap(hw, vif, info, changed); mwl8k_bss_info_changed() 5271 bssid = mwl8k_vif->vif->bss_conf.bssid; mwl8k_configure_filter() 5304 struct ieee80211_vif *vif, mwl8k_sta_remove() 5310 return mwl8k_cmd_set_new_stn_del(hw, vif, sta->addr); mwl8k_sta_remove() 5312 return mwl8k_cmd_update_stadb_del(hw, vif, sta->addr); mwl8k_sta_remove() 5316 struct ieee80211_vif *vif, mwl8k_sta_add() 5322 struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); mwl8k_sta_add() 5326 ret = mwl8k_cmd_update_stadb_add(hw, vif, sta); mwl8k_sta_add() 5335 ret = mwl8k_cmd_set_new_stn_add(hw, vif, sta); mwl8k_sta_add() 5341 mwl8k_set_key(hw, SET_KEY, vif, sta, key); mwl8k_sta_add() 5347 struct ieee80211_vif *vif, u16 queue, mwl8k_conf_tx() 5422 mwl8k_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, mwl8k_ampdu_action() argument 5484 rc = mwl8k_check_ba(hw, stream, vif); mwl8k_ampdu_action() 5507 ieee80211_start_tx_ba_cb_irqsafe(vif, addr, tid); mwl8k_ampdu_action() 5521 ieee80211_stop_tx_ba_cb_irqsafe(vif, addr, tid); mwl8k_ampdu_action() 5527 rc = mwl8k_create_ba(hw, stream, buf_size, vif); mwl8k_ampdu_action() 5552 struct ieee80211_vif *vif, mwl8k_sw_scan_start() 5571 struct ieee80211_vif *vif) mwl8k_sw_scan_complete() 5993 struct mwl8k_vif *vif, *tmp_vif; mwl8k_reload_firmware() local 6004 list_for_each_entry_safe(vif, tmp_vif, &priv->vif_list, list) mwl8k_reload_firmware() 6005 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 5303 mwl8k_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_sta_remove() argument 5315 mwl8k_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) mwl8k_sta_add() argument 5346 mwl8k_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) mwl8k_conf_tx() argument 5551 mwl8k_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) mwl8k_sw_scan_start() argument 5570 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 | 1253 struct ieee80211_vif *vif) adm8211_get_tsft() 1307 struct ieee80211_vif *vif, adm8211_bss_info_changed() 1392 struct ieee80211_vif *vif) adm8211_add_interface() 1398 switch (vif->type) { adm8211_add_interface() 1400 priv->mode = vif->type; adm8211_add_interface() 1408 ADM8211_CSR_WRITE(PAR0, le32_to_cpu(*(__le32 *)vif->addr)); adm8211_add_interface() 1409 ADM8211_CSR_WRITE(PAR1, le16_to_cpu(*(__le16 *)(vif->addr + 4))); adm8211_add_interface() 1419 struct ieee80211_vif *vif) adm8211_remove_interface() 1252 adm8211_get_tsft(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_get_tsft() argument 1306 adm8211_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changes) adm8211_bss_info_changed() argument 1391 adm8211_add_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_add_interface() argument 1418 adm8211_remove_interface(struct ieee80211_hw *dev, struct ieee80211_vif *vif) adm8211_remove_interface() argument
|
/linux-4.1.27/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() 888 struct ieee80211_vif *vif, wl1251_op_set_key() 994 struct ieee80211_vif *vif, wl1251_op_hw_scan() 1033 skb = ieee80211_probereq_get(wl->hw, wl->vif->addr, ssid, ssid_len, wl1251_op_hw_scan() 1099 struct ieee80211_vif *vif, wl1251_op_bss_info_changed() 1150 skb = ieee80211_pspoll_get(wl->hw, wl->vif); wl1251_op_bss_info_changed() 1211 beacon = ieee80211_beacon_get(hw, vif); wl1251_op_bss_info_changed() 1307 struct ieee80211_vif *vif, u16 queue, wl1251_op_conf_tx() 1555 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 887 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 993 wl1251_op_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_scan_request *hw_req) wl1251_op_hw_scan() argument 1098 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 1306 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.1.27/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.1.27/drivers/net/wireless/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) 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.1.27/net/ipv6/ |
H A D | ip6mr.c | 83 /* Big lock, protecting vif table, mrt cache and mroute socket state. 454 const struct mif_device *vif = v; ip6mr_vif_seq_show() local 455 const char *name = vif->dev ? vif->dev->name : "none"; ip6mr_vif_seq_show() 459 vif - mrt->vif6_table, ip6mr_vif_seq_show() 460 name, vif->bytes_in, vif->pkt_in, ip6mr_vif_seq_show() 461 vif->bytes_out, vif->pkt_out, ip6mr_vif_seq_show() 462 vif->flags); ip6mr_vif_seq_show() 940 /* Is vif busy ? */ mif6_add() 1543 * Close the multicast socket, and clear the vif tables etc 1553 * Shut down all active vif entries mroute_clean_tables() 1665 struct mif6ctl vif; ip6_mroute_setsockopt() local 1694 if (optlen < sizeof(vif)) ip6_mroute_setsockopt() 1696 if (copy_from_user(&vif, optval, sizeof(vif))) ip6_mroute_setsockopt() 1698 if (vif.mif6c_mifi >= MAXMIFS) ip6_mroute_setsockopt() 1701 ret = mif6_add(net, mrt, &vif, sk == mrt->mroute6_sk); ip6_mroute_setsockopt() 1862 struct mif_device *vif; ip6mr_ioctl() local 1878 vif = &mrt->vif6_table[vr.mifi]; ip6mr_ioctl() 1880 vr.icount = vif->pkt_in; ip6mr_ioctl() 1881 vr.ocount = vif->pkt_out; ip6mr_ioctl() 1882 vr.ibytes = vif->bytes_in; ip6mr_ioctl() 1883 vr.obytes = vif->bytes_out; ip6mr_ioctl() 1936 struct mif_device *vif; ip6mr_compat_ioctl() local 1952 vif = &mrt->vif6_table[vr.mifi]; ip6mr_compat_ioctl() 1954 vr.icount = vif->pkt_in; ip6mr_compat_ioctl() 1955 vr.ocount = vif->pkt_out; ip6mr_compat_ioctl() 1956 vr.ibytes = vif->bytes_in; ip6mr_compat_ioctl() 1957 vr.obytes = vif->bytes_out; ip6mr_compat_ioctl() 2007 struct mif_device *vif = &mrt->vif6_table[vifi]; ip6mr_forward2() local 2012 if (!vif->dev) ip6mr_forward2() 2016 if (vif->flags & MIFF_REGISTER) { ip6mr_forward2() 2017 vif->pkt_out++; ip6mr_forward2() 2018 vif->bytes_out += skb->len; ip6mr_forward2() 2019 vif->dev->stats.tx_bytes += skb->len; ip6mr_forward2() 2020 vif->dev->stats.tx_packets++; ip6mr_forward2() 2029 .flowi6_oif = vif->link, ip6mr_forward2() 2053 dev = vif->dev; ip6mr_forward2() 2055 vif->pkt_out++; ip6mr_forward2() 2056 vif->bytes_out += skb->len; ip6mr_forward2() 2092 int vif, ct; ip6_mr_forward() local 2095 vif = cache->mf6c_parent; ip6_mr_forward() 2105 cache_proxy = ip6mr_cache_find_any_parent(mrt, vif); ip6_mr_forward() 2114 if (mrt->vif6_table[vif].dev != skb->dev) { ip6_mr_forward() 2134 mrt->vif6_table[vif].pkt_in++; ip6_mr_forward() 2135 mrt->vif6_table[vif].bytes_in += skb->len; ip6_mr_forward() 2203 int vif = ip6mr_find_vif(mrt, skb->dev); ip6_mr_input() local 2205 if (vif >= 0) ip6_mr_input() 2208 vif); ip6_mr_input() 2215 int vif; ip6_mr_input() local 2217 vif = ip6mr_find_vif(mrt, skb->dev); ip6_mr_input() 2218 if (vif >= 0) { ip6_mr_input() 2219 int err = ip6mr_cache_unresolved(mrt, vif, skb); ip6_mr_input() 2298 int vif = ip6mr_find_vif(mrt, skb->dev); ip6mr_get_route() local 2300 if (vif >= 0) ip6mr_get_route() 2302 vif); ip6mr_get_route() 2309 int vif; ip6mr_get_route() local 2317 if (!dev || (vif = ip6mr_find_vif(mrt, dev)) < 0) { ip6mr_get_route() 2346 err = ip6mr_cache_unresolved(mrt, vif, skb2); ip6mr_get_route()
|
/linux-4.1.27/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() 404 struct ieee80211_vif *vif) rt2x00mac_set_tim_iter() 406 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_set_tim_iter() 408 if (vif->type != NL80211_IFTYPE_AP && rt2x00mac_set_tim_iter() 409 vif->type != NL80211_IFTYPE_ADHOC && rt2x00mac_set_tim_iter() 410 vif->type != NL80211_IFTYPE_MESH_POINT && rt2x00mac_set_tim_iter() 411 vif->type != NL80211_IFTYPE_WDS) rt2x00mac_set_tim_iter() 455 struct ieee80211_vif *vif, struct ieee80211_sta *sta, rt2x00mac_set_key() 477 if (vif->type == NL80211_IFTYPE_ADHOC && rt2x00mac_set_key() 486 crypto.bssidx = rt2x00lib_get_bssidx(rt2x00dev, vif); rt2x00mac_set_key() 538 int rt2x00mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, rt2x00mac_sta_add() argument 548 if (rt2x00dev->ops->lib->sta_add(rt2x00dev, vif, sta)) rt2x00mac_sta_add() 555 int rt2x00mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, rt2x00mac_sta_remove() argument 572 struct ieee80211_vif *vif, rt2x00mac_sw_scan_start() 582 struct ieee80211_vif *vif) rt2x00mac_sw_scan_complete() 607 struct ieee80211_vif *vif, rt2x00mac_bss_info_changed() 612 struct rt2x00_intf *intf = vif_to_intf(vif); rt2x00mac_bss_info_changed() 625 rt2x00lib_config_intf(rt2x00dev, intf, vif->type, NULL, rt2x00mac_bss_info_changed() 645 * Clear beacon in the H/W for this vif. This is needed rt2x00mac_bss_info_changed() 649 rt2x00queue_clear_beacon(rt2x00dev, vif); rt2x00mac_bss_info_changed() 658 rt2x00queue_update_beacon(rt2x00dev, vif); rt2x00mac_bss_info_changed() 710 struct ieee80211_vif *vif, u16 queue_idx, rt2x00mac_conf_tx() 755 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 403 rt2x00mac_set_tim_iter(void *data, u8 *mac, struct ieee80211_vif *vif) rt2x00mac_set_tim_iter() argument 454 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 571 rt2x00mac_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) rt2x00mac_sw_scan_start() argument 581 rt2x00mac_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) rt2x00mac_sw_scan_complete() argument 606 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 709 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, 216 struct ieee80211_vif *vif, u16 queue_idx, 218 u64 rt2800_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 219 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 | 381 static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif) vif_to_intf() argument 383 return (struct rt2x00_intf *)vif->drv_priv; vif_to_intf() 624 struct ieee80211_vif *vif, 1399 struct ieee80211_vif *vif); 1422 struct ieee80211_vif *vif); 1424 struct ieee80211_vif *vif); 1434 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 1439 int rt2x00mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1441 int rt2x00mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1444 struct ieee80211_vif *vif, 1447 struct ieee80211_vif *vif); 1451 struct ieee80211_vif *vif, 1455 struct ieee80211_vif *vif, u16 queue, 1458 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.1.27/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. 671 struct ieee80211_vif *vif, rsi_mac80211_ampdu_action() 685 if (vif == adapter->vifs[ii]) rsi_mac80211_ampdu_action() 713 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); rsi_mac80211_ampdu_action() 726 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); rsi_mac80211_ampdu_action() 770 * @vif: Pointer to the ieee80211_vif structure. 776 struct ieee80211_vif *vif, rsi_mac80211_set_rate_mask() 958 * @vif: Pointer to the ieee80211_vif structure. 964 struct ieee80211_vif *vif, rsi_mac80211_sta_add() 991 * @vif: Pointer to the ieee80211_vif structure. 997 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 670 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) rsi_mac80211_ampdu_action() argument 775 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 963 rsi_mac80211_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) rsi_mac80211_sta_add() argument 996 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.1.27/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.1.27/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() 412 struct ieee80211_vif *vif, u16 queue, p54_conf_tx() 458 struct ieee80211_vif *vif, p54_bss_info_changed() 473 p54_beacon_update(priv, vif); p54_bss_info_changed() 506 struct ieee80211_vif *vif, struct ieee80211_sta *sta, p54_set_key() 674 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 411 p54_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *params) p54_conf_tx() argument 457 p54_bss_info_changed(struct ieee80211_hw *dev, struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u32 changed) p54_bss_info_changed() argument 505 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.1.27/drivers/staging/vt6656/ |
H A D | main_usb.c | 589 static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_add_interface() argument 593 priv->vif = vif; vnt_add_interface() 595 switch (vif->type) { vnt_add_interface() 614 priv->op_mode = vif->type; vnt_add_interface() 625 struct ieee80211_vif *vif) vnt_remove_interface() 629 switch (vif->type) { vnt_remove_interface() 697 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 753 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 834 struct ieee80211_vif *vif, struct ieee80211_sta *sta, vnt_set_key() 841 if (vnt_set_keys(hw, sta, vif, key)) vnt_set_key() 855 struct ieee80211_vif *vif, vnt_sw_scan_start() 866 struct ieee80211_vif *vif) vnt_sw_scan_complete() 884 static u64 vnt_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_get_tsf() argument 891 static void vnt_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, vnt_set_tsf() argument 896 vnt_update_next_tbtt(priv, tsf, vif->bss_conf.beacon_int); vnt_set_tsf() 899 static void vnt_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_reset_tsf() argument 624 vnt_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_remove_interface() argument 696 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument 833 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 854 vnt_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *addr) vnt_sw_scan_start() argument 865 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.1.27/include/net/ |
H A D | mac80211.h | 101 * single per-vif queue for multicast data frames. 245 * struct ieee80211_vif_chanctx_switch - vif chanctx switch information 247 * This is structure is used to pass information about a vif that 252 * @vif: the vif that should be switched from old_ctx to new_ctx 253 * @old_ctx: the old context to which the vif was assigned 254 * @new_ctx: the new context to which the vif must be assigned 257 struct ieee80211_vif *vif; member in struct:ieee80211_vif_chanctx_switch 481 * @ssid: The SSID of the current vif. Valid in AP and IBSS mode. 483 * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. 486 * Power Control (TPC) in lower driver for the current vif. In particular 851 /* NB: vif can be NULL for injected frames */ 852 struct ieee80211_vif *vif; member in struct:ieee80211_tx_info::__anon12722::__anon12723 1369 static inline bool ieee80211_vif_is_mesh(struct ieee80211_vif *vif) ieee80211_vif_is_mesh() argument 1372 return vif->type == NL80211_IFTYPE_MESH_POINT; ieee80211_vif_is_mesh() 1378 * wdev_to_ieee80211_vif - return a vif struct from a wdev 1379 * @wdev: the wdev to get the vif for 1385 * associated with a vif that the driver knows about (e.g. monitor 1391 * ieee80211_vif_to_wdev - return a wdev struct from a vif 1392 * @vif: the vif to get the wdev for 1395 * (like the vendor commands) that needs to get the wdev for a vif. 1398 * associated with a vif that the driver knows about (e.g. monitor 1401 struct wireless_dev *ieee80211_vif_to_wdev(struct ieee80211_vif *vif); 1666 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 1667 * @sta: station table entry, %NULL for per-vif queue 1668 * @tid: the TID for this queue (unused for per-vif queue) 1677 struct ieee80211_vif *vif; member in struct:ieee80211_txq 1962 * entries for a vif. 2475 * 4 AC HW queues for 1st vif: 0, 1, 2, 3 2476 * 4 AC HW queues for 2nd vif: 4, 5, 6, 7 2484 * vif.hw_queue[IEEE80211_AC_VO] = 0 2485 * vif.hw_queue[IEEE80211_AC_VI] = 1 2486 * vif.hw_queue[IEEE80211_AC_BE] = 2 2487 * vif.hw_queue[IEEE80211_AC_BK] = 3 2488 * vif.cab_queue = 8 // if AP mode, otherwise %IEEE80211_INVAL_HW_QUEUE 2494 * Note that the vif.cab_queue value should be set to %IEEE80211_INVAL_HW_QUEUE 2958 * @testmode_cmd: Implement a cfg80211 test mode command. The passed @vif may 2967 * Note that vif can be NULL. 3083 * to vif. Possible use is for hw queue remapping. 3085 * unbound from vif. 3170 struct ieee80211_vif *vif); 3172 struct ieee80211_vif *vif, 3175 struct ieee80211_vif *vif); 3178 struct ieee80211_vif *vif, 3182 int (*start_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3183 void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3194 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 3197 struct ieee80211_vif *vif, 3202 struct ieee80211_vif *vif, 3205 struct ieee80211_vif *vif, int idx); 3206 int (*hw_scan)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3209 struct ieee80211_vif *vif); 3211 struct ieee80211_vif *vif, 3215 struct ieee80211_vif *vif); 3217 struct ieee80211_vif *vif, 3220 struct ieee80211_vif *vif); 3227 int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3229 int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3233 struct ieee80211_vif *vif, 3237 struct ieee80211_vif *vif, 3241 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3243 int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3248 struct ieee80211_vif *vif, 3251 struct ieee80211_vif *vif, 3255 struct ieee80211_vif *vif, 3258 struct ieee80211_vif *vif, 3262 struct ieee80211_vif *vif, u16 ac, 3264 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3265 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3267 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3270 struct ieee80211_vif *vif, 3279 int (*testmode_cmd)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3285 void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3288 struct ieee80211_vif *vif, 3294 struct ieee80211_vif *vif, 3303 int (*set_bitrate_mask)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3306 struct ieee80211_vif *vif, 3321 struct ieee80211_vif *vif, int sset); 3323 struct ieee80211_vif *vif, 3326 struct ieee80211_vif *vif, 3330 struct ieee80211_vif *vif); 3333 struct ieee80211_vif *vif); 3343 struct ieee80211_vif *vif, 3346 struct ieee80211_vif *vif, 3358 struct ieee80211_vif *vif, 3362 struct ieee80211_vif *vif, 3365 struct ieee80211_vif *vif, 3369 struct ieee80211_vif *vif); 3371 int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3372 void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3374 int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3378 struct ieee80211_vif *vif, 3383 struct ieee80211_vif *vif, 3386 struct ieee80211_vif *vif, 3787 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3793 void ieee80211_get_tx_rates(struct ieee80211_vif *vif, 3904 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3922 struct ieee80211_vif *vif, 3928 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3948 struct ieee80211_vif *vif, 3954 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3961 struct ieee80211_vif *vif) ieee80211_beacon_get() 3963 return ieee80211_beacon_get_tim(hw, vif, NULL, NULL); ieee80211_beacon_get() 3968 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3978 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif); 3982 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3988 void ieee80211_csa_finish(struct ieee80211_vif *vif); 3992 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 3996 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif); 4002 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4012 struct ieee80211_vif *vif); 4017 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4029 struct ieee80211_vif *vif); 4034 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4046 struct ieee80211_vif *vif); 4069 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4080 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 4088 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4099 struct ieee80211_vif *vif, size_t frame_len, 4105 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4117 struct ieee80211_vif *vif, 4125 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4136 struct ieee80211_vif *vif, 4143 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4154 struct ieee80211_vif *vif, 4162 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4181 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 4379 * @vif: the virtual interface to add the key on 4407 ieee80211_gtk_rekey_add(struct ieee80211_vif *vif, 4412 * @vif: virtual interface the rekeying was done on 4417 void ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const u8 *bssid, 4533 struct ieee80211_vif *vif), 4554 struct ieee80211_vif *vif), ieee80211_iterate_active_interfaces() 4580 struct ieee80211_vif *vif), 4599 struct ieee80211_vif *vif), 4660 * @vif: &struct ieee80211_vif pointer from the add_interface callback 4668 void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, const u8 *ra, 4686 * @vif: &struct ieee80211_vif pointer from the add_interface callback 4694 void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, const u8 *ra, 4700 * @vif: virtual interface to look for station on 4708 struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_vif *vif, 4716 * @localaddr: local address (vif->sdata->vif.addr). Use NULL for 'any'. 4793 * @vif: virtual interface to iterate, may be %NULL for all 4809 struct ieee80211_vif *vif, 4811 struct ieee80211_vif *vif, 4846 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4858 struct ieee80211_vif *vif); 4863 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4869 void ieee80211_beacon_loss(struct ieee80211_vif *vif); 4874 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4885 void ieee80211_connection_loss(struct ieee80211_vif *vif); 4890 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4908 void ieee80211_resume_disconnect(struct ieee80211_vif *vif); 4914 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4922 void ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif, 4929 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4932 void ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp); 4943 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4949 void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success); 4953 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4960 void ieee80211_request_smps(struct ieee80211_vif *vif, 4985 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 4989 void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 ba_rx_bitmap, 4998 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 5003 void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn); 5015 * @vif: &struct ieee80211_vif pointer from the add_interface callback 5019 void ieee80211_start_rx_ba_session_offl(struct ieee80211_vif *vif, 5032 * @vif: &struct ieee80211_vif pointer from the add_interface callback 5036 void ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, 5238 ieee80211_vif_type_p2p(struct ieee80211_vif *vif) ieee80211_vif_type_p2p() argument 5240 return ieee80211_iftype_p2p(vif->type, vif->p2p); ieee80211_vif_type_p2p() 5243 void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif, 5247 void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif); 5252 * @vif: the specified virtual interface 5254 * Note: This function assumes that the given vif is valid. 5259 int ieee80211_ave_rssi(struct ieee80211_vif *vif); 5263 * @vif: virtual interface 5269 void ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, 5276 * @vif: virtual interface 5284 struct ieee80211_vif *vif, struct sk_buff *skb, 5336 * @vif: virtual interface 5344 void ieee80211_tdls_oper_request(struct ieee80211_vif *vif, const u8 *peer, 3960 ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ieee80211_beacon_get() argument 4552 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.1.27/drivers/net/wireless/brcm80211/brcmsmac/ |
H A D | mac80211_if.c | 491 brcms_ops_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_add_interface() argument 496 if (vif->type != NL80211_IFTYPE_STATION && brcms_ops_add_interface() 497 vif->type != NL80211_IFTYPE_AP && brcms_ops_add_interface() 498 vif->type != NL80211_IFTYPE_ADHOC) { brcms_ops_add_interface() 501 __func__, vif->type); brcms_ops_add_interface() 508 if (vif->type == NL80211_IFTYPE_STATION) brcms_ops_add_interface() 509 brcms_c_start_station(wl->wlc, vif->addr); brcms_ops_add_interface() 510 else if (vif->type == NL80211_IFTYPE_AP) brcms_ops_add_interface() 511 brcms_c_start_ap(wl->wlc, vif->addr, vif->bss_conf.bssid, brcms_ops_add_interface() 512 vif->bss_conf.ssid, vif->bss_conf.ssid_len); brcms_ops_add_interface() 513 else if (vif->type == NL80211_IFTYPE_ADHOC) brcms_ops_add_interface() 514 brcms_c_start_adhoc(wl->wlc, vif->addr); brcms_ops_add_interface() 521 brcms_ops_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_remove_interface() argument 581 struct ieee80211_vif *vif, brcms_ops_bss_info_changed() 678 beacon = ieee80211_beacon_get_tim(hw, vif, &tim_offset, NULL); brcms_ops_bss_info_changed() 688 probe_resp = ieee80211_proberesp_get(hw, vif); brcms_ops_bss_info_changed() 768 struct ieee80211_vif *vif, brcms_ops_sw_scan_start() 779 struct ieee80211_vif *vif) brcms_ops_sw_scan_complete() 789 brcms_ops_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, brcms_ops_conf_tx() argument 802 brcms_ops_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, brcms_ops_sta_add() argument 823 struct ieee80211_vif *vif, brcms_ops_ampdu_action() 848 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); brcms_ops_ampdu_action() 857 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); brcms_ops_ampdu_action() 903 static void brcms_ops_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, brcms_ops_flush() argument 919 static u64 brcms_ops_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_get_tsf() argument 932 struct ieee80211_vif *vif, u64 tsf) brcms_ops_set_tsf() 580 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 767 brcms_ops_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *mac_addr) brcms_ops_sw_scan_start() argument 778 brcms_ops_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif) brcms_ops_sw_scan_complete() argument 822 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) brcms_ops_ampdu_action() argument 931 brcms_ops_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) brcms_ops_set_tsf() argument
|
/linux-4.1.27/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,
|
H A D | common.h | 1118 struct ieee80211_vif *vif; member in struct:il_rxon_context 1223 struct ieee80211_vif *vif; member in struct:il_priv 1584 int (*request_scan) (struct il_priv *il, struct ieee80211_vif *vif); 1591 struct ieee80211_vif *vif, bool add); 1702 int il_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1711 struct ieee80211_vif *vif); 1721 int il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 1723 struct ieee80211_vif *vif); 1724 int il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1726 void il_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1789 int il_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1799 struct ieee80211_vif *vif); 1965 void il_mac_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 1966 void il_mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 2142 int il_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
H A D | 3945-mac.c | 1553 struct ieee80211_vif *vif) il3945_get_channels_for_scan() 1567 passive_dwell = il_get_passive_dwell_time(il, band, vif); il3945_get_channels_for_scan() 2528 il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif) il3945_request_scan() argument 2567 interval = vif->bss_conf.beacon_int; il3945_request_scan() 2642 vif->addr, il->scan_request->ie, il3945_request_scan() 2652 (void *)&scan->data[len], vif); il3945_request_scan() 2730 if (!il->vif || !il->is_open) il3945_post_associate() 2733 D_ASSOC("Associated as %d to: %pM\n", il->vif->bss_conf.aid, il3945_post_associate() 2752 il->staging.assoc_id = cpu_to_le16(il->vif->bss_conf.aid); il3945_post_associate() 2754 D_ASSOC("assoc id %d beacon interval %d\n", il->vif->bss_conf.aid, il3945_post_associate() 2755 il->vif->bss_conf.beacon_int); il3945_post_associate() 2757 if (il->vif->bss_conf.use_short_preamble) il3945_post_associate() 2763 if (il->vif->bss_conf.use_short_slot) il3945_post_associate() 2771 switch (il->vif->type) { il3945_post_associate() 2780 il->vif->type); il3945_post_associate() 2898 struct ieee80211_vif *vif = il->vif; il3945_config_ap() local 2919 if (vif->bss_conf.use_short_preamble) il3945_config_ap() 2925 if (vif->bss_conf.use_short_slot) il3945_config_ap() 2939 struct ieee80211_vif *vif, struct ieee80211_sta *sta, il3945_mac_set_key() 2958 if (vif->type == NL80211_IFTYPE_ADHOC && il3945_mac_set_key() 3003 il3945_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il3945_mac_sta_add() argument 3009 bool is_ap = vif->type == NL80211_IFTYPE_STATION; il3945_mac_sta_add() 1550 il3945_get_channels_for_scan(struct il_priv *il, enum ieee80211_band band, u8 is_active, u8 n_probes, struct il3945_scan_channel *scan_ch, struct ieee80211_vif *vif) il3945_get_channels_for_scan() argument 2938 il3945_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) il3945_mac_set_key() argument
|
H A D | 4965-mac.c | 768 il4965_get_channels_for_scan(struct il_priv *il, struct ieee80211_vif *vif, il4965_get_channels_for_scan() argument 785 passive_dwell = il_get_passive_dwell_time(il, band, vif); il4965_get_channels_for_scan() 862 il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif) il4965_request_scan() argument 907 interval = vif->bss_conf.beacon_int; il4965_request_scan() 1019 vif->addr, il->scan_request->ie, il4965_request_scan() 1028 il4965_get_channels_for_scan(il, vif, band, is_active, n_probes, il4965_request_scan() 1051 il4965_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif, il4965_manage_ibss_station() argument 1054 struct il_vif_priv *vif_priv = (void *)vif->drv_priv; il4965_manage_ibss_station() 1057 return il4965_add_bssid_station(il, vif->bss_conf.bssid, il4965_manage_ibss_station() 1060 vif->bss_conf.bssid); il4965_manage_ibss_station() 2233 il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif, il4965_tx_agg_start() argument 2285 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); il4965_tx_agg_start() 2329 il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif, il4965_tx_agg_stop() argument 2401 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); il4965_tx_agg_stop() 2426 ieee80211_stop_tx_ba_cb_irqsafe(il->vif, addr, tid); il4965_txq_check_empty() 2434 ieee80211_start_tx_ba_cb_irqsafe(il->vif, addr, tid); il4965_txq_check_empty() 2449 sta = ieee80211_find_sta(il->vif, addr1); il4965_non_agg_tx_status() 5892 il4965_mac_update_tkip_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il4965_mac_update_tkip_key() argument 5907 struct ieee80211_vif *vif, struct ieee80211_sta *sta, il4965_mac_set_key() 5926 if (vif->type == NL80211_IFTYPE_ADHOC && il4965_mac_set_key() 5982 il4965_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il4965_mac_ampdu_action() argument 6010 ret = il4965_tx_agg_start(il, vif, sta, tid, ssn); il4965_mac_ampdu_action() 6016 ret = il4965_tx_agg_stop(il, vif, sta, tid); il4965_mac_ampdu_action() 6030 il4965_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il4965_mac_sta_add() argument 6035 bool is_ap = vif->type == NL80211_IFTYPE_STATION; il4965_mac_sta_add() 6066 il4965_mac_channel_switch(struct ieee80211_hw *hw, struct ieee80211_vif *vif, il4965_mac_channel_switch() argument 6130 il_set_flags_for_band(il, channel->band, il->vif); il4965_mac_channel_switch() 6144 ieee80211_chswitch_done(il->vif, false); il4965_mac_channel_switch() 5906 il4965_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) il4965_mac_set_key() argument
|
/linux-4.1.27/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 | 1019 if (!(priv->vif->bss_conf.assoc && priv->uCurrRSSI)) vnt_check_bb_vga() 1111 if (pDevice->vif && device_intr() 1121 pDevice->vif->bss_conf.enable_beacon) { device_intr() 1123 (pDevice->vif->bss_conf.beacon_int - MAKE_BEACON_RESERVED) << 10); device_intr() 1152 if (pDevice->vif) { device_intr() 1153 if (pDevice->vif->bss_conf.enable_beacon) device_intr() 1154 vnt_beacon_make(pDevice, pDevice->vif); device_intr() 1159 if (pDevice->vif) { device_intr() 1316 static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_add_interface() argument 1320 priv->vif = vif; vnt_add_interface() 1322 switch (vif->type) { vnt_add_interface() 1341 priv->op_mode = vif->type; vnt_add_interface() 1347 struct ieee80211_vif *vif) vnt_remove_interface() 1351 switch (vif->type) { vnt_remove_interface() 1417 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 1479 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 1597 struct ieee80211_vif *vif, struct ieee80211_sta *sta, vnt_set_key() 1604 if (vnt_set_keys(hw, sta, vif, key)) vnt_set_key() 1617 static u64 vnt_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_get_tsf() argument 1627 static void vnt_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, vnt_set_tsf() argument 1632 CARDvUpdateNextTBTT(priv, tsf, vif->bss_conf.beacon_int); vnt_set_tsf() 1635 static void vnt_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_reset_tsf() argument 1346 vnt_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) vnt_remove_interface() argument 1416 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument 1596 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.1.27/drivers/net/wireless/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.1.27/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.1.27/include/linux/usb/ |
H A D | m66592.h | 39 unsigned vif:1; member in struct:m66592_platdata
|
/linux-4.1.27/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.1.27/drivers/net/wireless/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.1.27/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.1.27/arch/sh/boards/mach-x3proto/ |
H A D | setup.c | 71 .vif = 1, 100 .vif = 1,
|
/linux-4.1.27/tools/lib/traceevent/ |
H A D | plugin_mac80211.c | 67 trace_seq_printf(s, " vif:"); drv_bss_info_changed()
|
/linux-4.1.27/drivers/net/wireless/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.1.27/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.1.27/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() 1685 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.1.27/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() 3804 struct ieee80211_vif *vif, u16 _queue, b43_op_conf_tx() 3851 static u64 b43_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_get_tsf() argument 3871 struct ieee80211_vif *vif, u64 tsf) b43_op_set_tsf() 4116 struct ieee80211_vif *vif, b43_op_bss_info_changed() 4129 B43_WARN_ON(wl->vif != vif); b43_op_bss_info_changed() 4175 struct ieee80211_vif *vif, struct ieee80211_sta *sta, b43_op_set_key() 4188 if ((vif->type == NL80211_IFTYPE_ADHOC || b43_op_set_key() 4189 vif->type == NL80211_IFTYPE_MESH_POINT) && b43_op_set_key() 4995 struct ieee80211_vif *vif) b43_op_add_interface() 5003 if (vif->type != NL80211_IFTYPE_AP && b43_op_add_interface() 5004 vif->type != NL80211_IFTYPE_MESH_POINT && b43_op_add_interface() 5005 vif->type != NL80211_IFTYPE_STATION && b43_op_add_interface() 5006 vif->type != NL80211_IFTYPE_WDS && b43_op_add_interface() 5007 vif->type != NL80211_IFTYPE_ADHOC) b43_op_add_interface() 5014 b43dbg(wl, "Adding Interface type %d\n", vif->type); b43_op_add_interface() 5018 wl->vif = vif; b43_op_add_interface() 5019 wl->if_type = vif->type; b43_op_add_interface() 5020 memcpy(wl->mac_addr, vif->addr, ETH_ALEN); b43_op_add_interface() 5032 b43_op_bss_info_changed(hw, vif, &vif->bss_conf, ~0); b43_op_add_interface() 5038 struct ieee80211_vif *vif) b43_op_remove_interface() 5043 b43dbg(wl, "Removing Interface type %d\n", vif->type); b43_op_remove_interface() 5048 B43_WARN_ON(wl->vif != vif); b43_op_remove_interface() 5049 wl->vif = NULL; b43_op_remove_interface() 5152 struct ieee80211_vif *vif, b43_op_sta_notify() 5158 B43_WARN_ON(!vif || wl->vif != vif); b43_op_sta_notify() 5162 struct ieee80211_vif *vif, b43_op_sw_scan_start_notifier() 5178 struct ieee80211_vif *vif) b43_op_sw_scan_complete_notifier() 5282 if (wl->vif) b43_chip_reset() 5283 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 3803 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 3870 b43_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) b43_op_set_tsf() argument 4115 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 4174 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 4994 b43_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_add_interface() argument 5037 b43_op_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_remove_interface() argument 5151 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 5161 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 5177 b43_op_sw_scan_complete_notifier(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43_op_sw_scan_complete_notifier() argument
|
H A D | xmit.c | 294 dev->wl->hw, info->control.vif, info->band, b43_generate_txhdr() 461 ieee80211_ctstoself_get(dev->wl->hw, info->control.vif, b43_generate_txhdr() 483 ieee80211_rts_get(dev->wl->hw, info->control.vif, b43_generate_txhdr()
|
/linux-4.1.27/net/mac802154/ |
H A D | iface.c | 221 if (sdata->vif.type == NL802154_IFTYPE_NODE && ieee802154_check_concurrent_iface() 222 nsdata->vif.type == NL802154_IFTYPE_NODE) ieee802154_check_concurrent_iface() 246 rc = ieee802154_check_concurrent_iface(sdata, sdata->vif.type); mac802154_wpan_open() 479 sdata->vif.type = type; ieee802154_setup_sdata()
|
H A D | rx.c | 210 if (sdata->vif.type != NL802154_IFTYPE_NODE || __ieee802154_rx_handle_packet() 235 if (sdata->vif.type != NL802154_IFTYPE_MONITOR) ieee802154_monitors_rx()
|
H A D | ieee802154_i.h | 98 struct ieee802154_vif vif; member in struct:ieee802154_sub_if_data
|
/linux-4.1.27/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() 2540 struct ieee80211_vif *vif, u16 queue, b43legacy_op_conf_tx() 2840 struct ieee80211_vif *vif, b43legacy_op_bss_info_changed() 2849 B43legacy_WARN_ON(wl->vif != vif); b43legacy_op_bss_info_changed() 3413 struct ieee80211_vif *vif) b43legacy_op_add_interface() 3422 if (vif->type != NL80211_IFTYPE_AP && b43legacy_op_add_interface() 3423 vif->type != NL80211_IFTYPE_STATION && b43legacy_op_add_interface() 3424 vif->type != NL80211_IFTYPE_WDS && b43legacy_op_add_interface() 3425 vif->type != NL80211_IFTYPE_ADHOC) b43legacy_op_add_interface() 3432 b43legacydbg(wl, "Adding Interface type %d\n", vif->type); b43legacy_op_add_interface() 3436 wl->vif = vif; b43legacy_op_add_interface() 3437 wl->if_type = vif->type; b43legacy_op_add_interface() 3438 memcpy(wl->mac_addr, vif->addr, ETH_ALEN); b43legacy_op_add_interface() 3455 struct ieee80211_vif *vif) b43legacy_op_remove_interface() 3461 b43legacydbg(wl, "Removing Interface type %d\n", vif->type); b43legacy_op_remove_interface() 3466 B43legacy_WARN_ON(wl->vif != vif); b43legacy_op_remove_interface() 3467 wl->vif = NULL; b43legacy_op_remove_interface() 2539 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 2839 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 3412 b43legacy_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) b43legacy_op_add_interface() argument 3454 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.1.27/arch/sh/boards/mach-highlander/ |
H A D | setup.c | 38 .vif = 1, 68 .vif = 1,
|