| /linux/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | sta.h | 49 #define iwl_mld_link_sta_dereference_check(mld_sta, link_id) \ argument 50 rcu_dereference_check((mld_sta)->link[link_id], \ 51 lockdep_is_held(&mld_sta->mld->wiphy->mtx)) 53 #define for_each_mld_link_sta(mld_sta, link_sta, link_id) \ argument 54 for (link_id = 0; link_id < ARRAY_SIZE((mld_sta)->link); \ 57 iwl_mld_link_sta_dereference_check(mld_sta, link_id))) 153 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_cleanup_sta() local 160 for_each_mld_link_sta(mld_sta, mld_link_sta, link_id) { in iwl_mld_cleanup_sta() 163 if (!ieee80211_vif_is_mld(mld_sta->vif)) { in iwl_mld_cleanup_sta() 169 if (mld_sta->vif->active_links & BIT(link_id)) in iwl_mld_cleanup_sta() [all …]
|
| H A D | sta.c | 417 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_add_modify_sta_cmd() local 425 link = link_conf_dereference_protected(mld_sta->vif, in iwl_mld_add_modify_sta_cmd() 434 cmd.station_type = cpu_to_le32(mld_sta->sta_type); in iwl_mld_add_modify_sta_cmd() 440 if (mld_sta->sta_state >= IEEE80211_STA_ASSOC) in iwl_mld_add_modify_sta_cmd() 443 if (sta->mfp || mld_sta->sta_state < IEEE80211_STA_AUTHORIZED) in iwl_mld_add_modify_sta_cmd() 506 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in IWL_MLD_ALLOC_FN() local 540 mld_link_sta = &mld_sta->deflink; in IWL_MLD_ALLOC_FN() 548 rcu_assign_pointer(mld_sta->link[link_sta->link_id], mld_link_sta); in IWL_MLD_ALLOC_FN() 554 RCU_INIT_POINTER(mld_sta->link[link_sta->link_id], NULL); in IWL_MLD_ALLOC_FN() 584 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_remove_link_sta() local [all …]
|
| H A D | stats.c | 102 iwl_mld_fw_stats_to_mac80211(struct iwl_mld *mld, struct iwl_mld_sta *mld_sta, in iwl_mld_fw_stats_to_mac80211() argument 116 .fw_sta_id = mld_sta->deflink.fw_id, in iwl_mld_fw_stats_to_mac80211() 166 static void iwl_mld_sta_stats_fill_txrate(struct iwl_mld_sta *mld_sta, in iwl_mld_sta_stats_fill_txrate() argument 170 u32 rate_n_flags = mld_sta->deflink.last_rate_n_flags; in iwl_mld_sta_stats_fill_txrate() 311 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_mac80211_sta_statistics() local 319 if (iwl_mld_fw_stats_to_mac80211(mld_sta->mld, mld_sta, sinfo)) in iwl_mld_mac80211_sta_statistics() 322 iwl_mld_sta_stats_fill_txrate(mld_sta, sinfo); in iwl_mld_mac80211_sta_statistics()
|
| H A D | agg.c | 197 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_reorder() local 240 for_each_mld_link_sta(mld_sta, mld_link_sta, link_id) in iwl_mld_reorder() 329 struct iwl_mld_sta *mld_sta; in iwl_mld_rx_agg_session_expired() local 363 mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_rx_agg_session_expired() 364 ieee80211_rx_ba_timer_expired(mld_sta->vif, link_sta->sta->addr, in iwl_mld_rx_agg_session_expired() 501 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_ampdu_rx_start() local 558 mld_sta->tid_to_baid[tid] = baid; in iwl_mld_ampdu_rx_start() 598 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_ampdu_rx_stop() local 599 int baid = mld_sta->tid_to_baid[tid]; in iwl_mld_ampdu_rx_stop()
|
| H A D | mac80211.c | 909 struct iwl_mld_sta *mld_sta; in iwl_mld_teardown_tdls_peers() local 919 mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_teardown_tdls_peers() 921 ieee80211_tdls_oper_request(mld_sta->vif, link_sta->addr, in iwl_mld_teardown_tdls_peers() 1028 struct iwl_mld_sta *mld_sta; in iwl_mld_can_activate_link() local 1035 mld_sta = iwl_mld_sta_from_mac80211(mld_vif->ap_sta); in iwl_mld_can_activate_link() 1041 link_sta = wiphy_dereference(mld->wiphy, mld_sta->link[link->link_id]); in iwl_mld_can_activate_link() 1908 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_mac80211_sta_state() local 1913 mld_sta->sta_state = new_state; in iwl_mld_mac80211_sta_state() 2102 struct iwl_mld_sta *mld_sta, in iwl_mld_alloc_ptk_pn() argument 2110 if (WARN_ON(keyidx >= ARRAY_SIZE(mld_sta->ptk_pn))) in iwl_mld_alloc_ptk_pn() [all …]
|
| H A D | tx.c | 417 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_get_tx_ant() local 419 return BIT(mld_sta->data_tx_ant) << RATE_MCS_ANT_POS; in iwl_mld_get_tx_ant() 540 struct iwl_mld_sta *mld_sta = sta ? iwl_mld_sta_from_mac80211(sta) : in iwl_mld_fill_tx_cmd() local 564 (mld_sta && in iwl_mld_fill_tx_cmd() 565 mld_sta->sta_state < IEEE80211_STA_AUTHORIZED)) { in iwl_mld_fill_tx_cmd() 1078 struct iwl_mld_sta *mld_sta; in iwl_mld_handle_tx_resp_notif() local 1180 mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_handle_tx_resp_notif() 1182 if (tx_failure && mld_sta->sta_state < IEEE80211_STA_AUTHORIZED) in iwl_mld_handle_tx_resp_notif() 1183 iwl_mld_toggle_tx_ant(mld, &mld_sta->data_tx_ant); in iwl_mld_handle_tx_resp_notif()
|
| H A D | mlo.c | 533 struct iwl_mld_sta *mld_sta; in iwl_mld_emlsr_check_tpt() local 543 mld_sta = iwl_mld_sta_from_mac80211(mld_vif->ap_sta); in iwl_mld_emlsr_check_tpt() 546 if (!mld_sta->mpdu_counters) in iwl_mld_emlsr_check_tpt() 578 &mld_sta->mpdu_counters[q]; in iwl_mld_emlsr_check_tpt() 1154 struct iwl_mld_sta *mld_sta; in iwl_mld_ignore_tpt_iter() local 1162 mld_sta = iwl_mld_sta_from_mac80211(mld_vif->ap_sta); in iwl_mld_ignore_tpt_iter() 1165 if (!mld_sta->mpdu_counters) in iwl_mld_ignore_tpt_iter() 1178 &mld_sta->mpdu_counters[q]; in iwl_mld_ignore_tpt_iter()
|
| H A D | mld.c | 538 struct iwl_mld_sta *mld_sta; in iwl_mld_queue_state_change() local 564 mld_sta = txq->sta ? iwl_mld_sta_from_mac80211(txq->sta) : NULL; in iwl_mld_queue_state_change() 568 if (!queue_full && mld_sta && in iwl_mld_queue_state_change() 569 mld_sta->sta_state != IEEE80211_STA_NOTEXIST) { in iwl_mld_queue_state_change()
|
| H A D | rx.c | 55 struct iwl_mld_sta *mld_sta; in iwl_mld_check_pn() local 81 mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_check_pn() 86 ptk_pn = rcu_dereference(mld_sta->ptk_pn[keyidx]); in iwl_mld_check_pn() 1640 struct iwl_mld_sta *mld_sta; in iwl_mld_is_dup() local 1647 mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_is_dup() 1649 if (WARN_ON_ONCE(!mld_sta->dup_data)) in iwl_mld_is_dup() 1652 dup_data = &mld_sta->dup_data[queue]; in iwl_mld_is_dup() 1817 struct iwl_mld_sta *mld_sta; in iwl_mld_rx_mgmt_prot() local 1842 mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_rx_mgmt_prot() 1843 mld_vif = iwl_mld_vif_from_mac80211(mld_sta->vif); in iwl_mld_rx_mgmt_prot() [all …]
|
| H A D | low_latency.c | 265 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_low_latency_update_counters() local 266 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(mld_sta->vif); in iwl_mld_low_latency_update_counters()
|
| H A D | tlc.c | 515 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_send_tlc_cmd() local 524 .max_ch_width = mld_sta->sta_state > IEEE80211_STA_ASSOC ? in iwl_mld_send_tlc_cmd() 624 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(link_sta->sta); in iwl_mld_config_tlc_link() local 633 if (mld_sta->sta_state < IEEE80211_STA_ASSOC) { in iwl_mld_config_tlc_link()
|
| H A D | iface.c | 122 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in iwl_mld_mac_wifi_gen_sta_iter() local 127 if (mld_sta->vif != data->vif) in iwl_mld_mac_wifi_gen_sta_iter()
|
| H A D | d3.c | 872 struct iwl_mld_sta *mld_sta = in iwl_mld_update_ptk_rx_seq() local 876 mld_sta->ptk_pn[key->keyidx]); in iwl_mld_update_ptk_rx_seq() 1483 struct iwl_mld_sta *mld_sta = in iwl_mld_suspend_set_ucast_pn() local 1487 if (WARN_ON(key->keyidx >= ARRAY_SIZE(mld_sta->ptk_pn))) in iwl_mld_suspend_set_ucast_pn() 1491 mld_sta->ptk_pn[key->keyidx]); in iwl_mld_suspend_set_ucast_pn()
|
| /linux/drivers/net/wireless/intel/iwlwifi/mld/tests/ |
| H A D | utils.c | 210 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in IWL_MLD_ALLOC_FN() local 226 rcu_assign_pointer(mld_sta->link[link_id], mld_link_sta); in IWL_MLD_ALLOC_FN() 255 struct iwl_mld_sta *mld_sta; in iwlmld_kunit_add_sta() local 258 KUNIT_ALLOC_AND_ASSERT_SIZE(test, sta, sizeof(*sta) + sizeof(*mld_sta)); in iwlmld_kunit_add_sta() 262 mld_sta = iwl_mld_sta_from_mac80211(sta); in iwlmld_kunit_add_sta() 263 mld_sta->vif = vif; in iwlmld_kunit_add_sta() 264 mld_sta->mld = test->priv; in iwlmld_kunit_add_sta() 267 mld_sta->sta_type = STATION_TYPE_PEER; in iwlmld_kunit_add_sta() 271 &mld_sta->deflink, link_id); in iwlmld_kunit_add_sta() 275 &mld_sta->deflink, 0); in iwlmld_kunit_add_sta() [all …]
|
| H A D | rx.c | 275 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in setup_dup_data_state() local 289 mld_sta->dup_data = dup_data; in setup_dup_data_state()
|
| H A D | agg.c | 453 struct iwl_mld_sta *mld_sta = iwl_mld_sta_from_mac80211(sta); in fake_iwl_mld_fw_sta_id_mask() local 462 for_each_mld_link_sta(mld_sta, mld_link_sta, link_id) in fake_iwl_mld_fw_sta_id_mask()
|