| /linux-6.15/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | mlo.c | 127 struct iwl_mld_vif *mld_vif, in iwl_mld_check_emlsr_prevention() argument 140 mld_vif->emlsr.exit_repeat_count = 0; in iwl_mld_check_emlsr_prevention() 143 mld_vif->emlsr.last_exit_ts = jiffies; in iwl_mld_check_emlsr_prevention() 144 mld_vif->emlsr.exit_repeat_count++; in iwl_mld_check_emlsr_prevention() 271 &mld_vif->emlsr.check_tpt_wk); in _iwl_mld_emlsr_block() 314 &mld_vif->emlsr.check_tpt_wk, in iwl_mld_unblock_emlsr() 317 if (mld_vif->emlsr.blocked_reasons) in iwl_mld_unblock_emlsr() 484 struct iwl_mld *mld = mld_vif->mld; in iwl_mld_emlsr_check_tpt() 588 &mld_vif->emlsr.check_tpt_wk, in iwl_mld_emlsr_check_tpt() 799 struct iwl_mld *mld = mld_vif->mld; in iwl_mld_valid_emlsr_pair() [all …]
|
| H A D | roc.c | 27 ret = iwl_mld_block_emlsr_sync(mld_vif->mld, vif, in iwl_mld_vif_iter_emlsr_block_roc() 83 aux_sta = &mld_vif->deflink.aux_sta; in iwl_mld_start_roc() 108 mld_vif->roc_activity = activity; in iwl_mld_start_roc() 124 struct iwl_mld_vif *mld_vif) in iwl_mld_destroy_roc() argument 126 mld_vif->roc_activity = ROC_NUM_ACTIVITIES; in iwl_mld_destroy_roc() 183 mld_vif->roc_activity); in iwl_mld_cancel_roc() 185 iwl_mld_destroy_roc(mld, vif, mld_vif); in iwl_mld_cancel_roc() 197 struct iwl_mld_vif *mld_vif; in iwl_mld_handle_roc_notif() local 202 mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_handle_roc_notif() 206 if (mld_vif->roc_activity != activity) in iwl_mld_handle_roc_notif() [all …]
|
| H A D | iface.c | 22 struct iwl_mld *mld = mld_vif->mld; in iwl_mld_cleanup_vif() 28 mld_vif->roc_activity = ROC_NUM_ACTIVITIES; in iwl_mld_cleanup_vif() 30 for_each_mld_vif_valid_link(mld_vif, link) { in iwl_mld_cleanup_vif() 31 iwl_mld_cleanup_link(mld_vif->mld, link); in iwl_mld_cleanup_vif() 43 if (link != &mld_vif->deflink) in iwl_mld_cleanup_vif() 50 CLEANUP_STRUCT(mld_vif); in iwl_mld_cleanup_vif() 253 if (mld_vif->num_associated_stas) in iwl_mld_fill_mac_cmd_ap() 379 mld_vif->mld = mld; in IWL_MLD_ALLOC_FN() 433 mld_vif->fw_id); in iwl_mld_rm_vif() 461 *fw_id_bitmap |= BIT(mld_vif->fw_id); in iwl_mld_get_fw_id_bss_bitmap_iter() [all …]
|
| H A D | iface.h | 185 #define iwl_mld_link_dereference_check(mld_vif, link_id) \ argument 186 rcu_dereference_check((mld_vif)->link[link_id], \ 187 lockdep_is_held(&mld_vif->mld->wiphy->mtx)) 189 #define for_each_mld_vif_valid_link(mld_vif, mld_link) \ argument 190 for (int link_id = 0; link_id < ARRAY_SIZE((mld_vif)->link); \ 192 if ((mld_link = iwl_mld_link_dereference_check(mld_vif, link_id))) 198 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(bss_conf->vif); in iwl_mld_link_from_mac80211() local 200 return iwl_mld_link_dereference_check(mld_vif, bss_conf->link_id); in iwl_mld_link_from_mac80211() 226 static inline bool iwl_mld_vif_low_latency(const struct iwl_mld_vif *mld_vif) in iwl_mld_vif_low_latency() argument 228 return !!mld_vif->low_latency_causes; in iwl_mld_vif_low_latency()
|
| H A D | low_latency.c | 76 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_low_latency_iter() local 77 bool prev = mld_vif->low_latency_causes & LOW_LATENCY_TRAFFIC; in iwl_mld_low_latency_iter() 83 low_latency = mld->low_latency.result[mld_vif->fw_id]; in iwl_mld_low_latency_iter() 201 mld_vif->low_latency_causes |= cause; in iwl_mld_vif_set_low_latency() 203 mld_vif->low_latency_causes &= ~cause; in iwl_mld_vif_set_low_latency() 211 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_vif_update_low_latency() local 214 prev = iwl_mld_vif_low_latency(mld_vif); in iwl_mld_vif_update_low_latency() 215 iwl_mld_vif_set_low_latency(mld_vif, low_latency, cause); in iwl_mld_vif_update_low_latency() 217 low_latency = iwl_mld_vif_low_latency(mld_vif); in iwl_mld_vif_update_low_latency() 223 iwl_mld_vif_set_low_latency(mld_vif, prev, cause); in iwl_mld_vif_update_low_latency() [all …]
|
| H A D | mlo.h | 30 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_vif_has_emlsr_cap() local 33 if (!mld_vif->authorized) in iwl_mld_vif_has_emlsr_cap() 40 !CSR_HW_RFID_IS_CDB(mld_vif->mld->trans->hw_rf_id); in iwl_mld_vif_has_emlsr_cap() 59 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_count_active_links() local 63 for_each_mld_vif_valid_link(mld_vif, mld_link) { in iwl_mld_count_active_links() 73 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_get_primary_link() local 75 lockdep_assert_wiphy(mld_vif->mld->wiphy); in iwl_mld_get_primary_link() 85 !WARN_ON(!(BIT(mld_vif->emlsr.primary) & vif->active_links))) in iwl_mld_get_primary_link() 86 return mld_vif->emlsr.primary; in iwl_mld_get_primary_link()
|
| H A D | session-protect.c | 19 struct iwl_mld_vif *mld_vif; in iwl_mld_handle_session_prot_notif() local 26 mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_handle_session_prot_notif() 27 session_protect = &mld_vif->session_protect; in iwl_mld_handle_session_prot_notif() 49 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in _iwl_mld_schedule_session_protection() local 51 iwl_mld_link_dereference_check(mld_vif, link_id); in _iwl_mld_schedule_session_protection() 53 &mld_vif->session_protect; in _iwl_mld_schedule_session_protection() 185 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_cancel_session_protection() local 187 iwl_mld_link_dereference_check(mld_vif, link_id); in iwl_mld_cancel_session_protection() 189 &mld_vif->session_protect; in iwl_mld_cancel_session_protection()
|
| H A D | ap.c | 162 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_update_beacon_template() local 172 if (mld_vif->beacon_inject_active) { in iwl_mld_update_beacon_template() 197 struct iwl_mld_vif *mld_vif) in iwl_mld_free_ap_early_key() argument 204 link = iwl_mld_link_dereference_check(mld_vif, key->link_id); in iwl_mld_free_ap_early_key() 220 struct iwl_mld_vif *mld_vif) in iwl_mld_store_ap_early_key() argument 227 link = iwl_mld_link_dereference_check(mld_vif, key->link_id); in iwl_mld_store_ap_early_key() 271 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_start_ap_ibss() local 311 mld_vif->ap_ibss_active = true; in iwl_mld_start_ap_ibss() 329 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_stop_ap_ibss() local 331 mld_vif->ap_ibss_active = false; in iwl_mld_stop_ap_ibss()
|
| H A D | mac80211.c | 1000 mld_vif->emlsr.primary = mld_vif->emlsr.selected_primary; in iwl_mld_assign_vif_chanctx() 1269 if (mld_vif->ps_disabled == !enable) in iwl_mld_smps_wa() 1272 mld_vif->ps_disabled = !enable; in iwl_mld_smps_wa() 1393 mld_vif->link[link_id]); in iwl_mld_restart_complete_vif() 1663 mld_vif->ap_sta = sta; in iwl_mld_move_sta_state_up() 1706 mld_vif->authorized = true; in iwl_mld_move_sta_state_up() 1752 mld_vif->authorized = false; in iwl_mld_move_sta_state_down() 1763 &mld_vif->emlsr.check_tpt_wk); in iwl_mld_move_sta_state_down() 2081 !mld_vif->ap_ibss_active) in iwl_mld_set_key_add() 2393 if (sta == mld_vif->ap_sta) in iwl_mld_sta_pre_rcu_remove() [all …]
|
| H A D | link.c | 51 cmd.mac_id = cpu_to_le32(mld_vif->fw_id); in iwl_mld_add_link_to_fw() 281 cmd.mac_id = cpu_to_le32(mld_vif->fw_id); in _iwl_mld_change_link_in_fw() 334 if (mld_vif->ap_sta) { in _iwl_mld_change_link_in_fw() 546 if (!mld_vif->ap_sta) in iwl_mld_omi_bw_finished_work() 577 struct iwl_mld_vif *mld_vif; in iwl_mld_get_omi_bw_reduction_pointers() local 605 mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_get_omi_bw_reduction_pointers() 697 struct iwl_mld_vif *mld_vif; in iwl_mld_check_omi_bw_reduction() local 723 mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_check_omi_bw_reduction() 724 if (!mld_vif->authorized) in iwl_mld_check_omi_bw_reduction() 728 if (iwl_mld_vif_low_latency(mld_vif)) in iwl_mld_check_omi_bw_reduction() [all …]
|
| H A D | key.c | 15 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_get_key_flags() local 42 sta = mld_vif->ap_sta; in iwl_mld_get_key_flags() 64 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_get_key_sta_mask() local 76 link = iwl_mld_link_dereference_check(mld_vif, in iwl_mld_get_key_sta_mask() 97 sta = mld_vif->ap_sta; in iwl_mld_get_key_sta_mask() 175 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_remove_key() local 190 mld_link = iwl_mld_link_dereference_check(mld_vif, link_id); in iwl_mld_remove_key() 213 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_add_key() local 233 mld_link = iwl_mld_link_dereference_check(mld_vif, link_id); in iwl_mld_add_key()
|
| H A D | power.c | 18 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_vif_ps_iterator() local 23 *ps_enable &= !mld_vif->ps_disabled; in iwl_mld_vif_ps_iterator() 211 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_power_build_cmd() local 213 struct iwl_mld_link *link = &mld_vif->deflink; in iwl_mld_power_build_cmd() 216 cmd->id_and_color = cpu_to_le32(mld_vif->fw_id); in iwl_mld_power_build_cmd() 230 link = iwl_mld_link_dereference_check(mld_vif, link_id); in iwl_mld_power_build_cmd() 270 } else if (iwl_mld_vif_low_latency(mld_vif) && vif->p2p) { in iwl_mld_power_build_cmd() 287 ps_poll = mld_vif->use_ps_poll; in iwl_mld_power_build_cmd()
|
| H A D | debugfs.c | 599 mld_vif->disable_bf = !val; in iwl_dbgfs_vif_bf_params_write() 626 mld_vif->use_ps_poll = val; in iwl_dbgfs_vif_pm_params_write() 661 ll_causes = READ_ONCE(mld_vif->low_latency_causes); in iwl_dbgfs_vif_low_latency_read() 682 struct iwl_mld_vif *mld_vif; in _iwl_dbgfs_inject_beacon_ie() local 697 mld_vif = iwl_mld_vif_from_mac80211(vif); in _iwl_dbgfs_inject_beacon_ie() 698 mld_vif->beacon_inject_active = true; in _iwl_dbgfs_inject_beacon_ie() 701 for_each_mld_vif_valid_link(mld_vif, mld_link) { in _iwl_dbgfs_inject_beacon_ie() 746 mld_vif->beacon_inject_active = false; in _iwl_dbgfs_inject_beacon_ie() 829 dhc_twt_cmd->mac_id = cpu_to_le32(mld_vif->fw_id); in iwl_dbgfs_vif_twt_setup_write() 952 if (!mld_vif->dbgfs_slink) in iwl_mld_add_vif_debugfs() [all …]
|
| H A D | ap.h | 26 struct iwl_mld_vif *mld_vif); 30 struct iwl_mld_vif *mld_vif);
|
| H A D | ftm-initiator.c | 48 struct iwl_mld_vif *mld_vif = in iwl_mld_ftm_cmd_common() local 51 cmd->tsf_mac_id = cpu_to_le32(mld_vif->fw_id); in iwl_mld_ftm_cmd_common() 152 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_ftm_set_sta() local 159 if (!vif->cfg.assoc || !mld_vif->ap_sta) in iwl_mld_ftm_set_sta() 162 sta_id_mask = iwl_mld_fw_sta_id_mask(mld, mld_vif->ap_sta); in iwl_mld_ftm_set_sta() 168 if (mld_vif->ap_sta->mfp && in iwl_mld_ftm_set_sta()
|
| H A D | d3.c | 164 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_set_rekey_data() local 165 struct iwl_mld_wowlan_data *wowlan_data = &mld_vif->wowlan_data; in iwl_mld_set_rekey_data() 184 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_ipv6_addr_change() local 731 struct iwl_mld_vif *mld_vif = in iwl_mld_d3_update_mcast_key() local 737 mld_link = iwl_mld_link_dereference_check(mld_vif, in iwl_mld_d3_update_mcast_key() 1007 struct ieee80211_sta *ap_sta = mld_vif->ap_sta; in iwl_mld_process_wowlan_status() 1556 struct iwl_mld_vif *mld_vif, in iwl_mld_send_kek_kck_cmd() argument 1562 &mld_vif->wowlan_data.rekey_data; in iwl_mld_send_kek_kck_cmd() 1587 struct iwl_mld_vif *mld_vif, in iwl_mld_suspend_send_security_cmds() argument 1611 if (!ret && mld_vif->wowlan_data.rekey_data.valid) in iwl_mld_suspend_send_security_cmds() [all …]
|
| H A D | sta.c | 860 struct iwl_mld_vif *mld_vif; in iwl_mld_count_mpdu() local 873 mld_vif = iwl_mld_vif_from_mac80211(mld_sta->vif); in iwl_mld_count_mpdu() 874 mld_link = iwl_mld_link_dereference_check(mld_vif, link_sta->link_id); in iwl_mld_count_mpdu() 881 mld = mld_vif->mld; in iwl_mld_count_mpdu() 886 if ((mld_vif->emlsr.blocked_reasons & IWL_MLD_EMLSR_BLOCKED_TPT) && in iwl_mld_count_mpdu() 910 if (!(mld_vif->emlsr.blocked_reasons & IWL_MLD_EMLSR_BLOCKED_TPT)) in iwl_mld_count_mpdu() 922 wiphy_work_queue(mld->wiphy, &mld_vif->emlsr.unblock_tpt_wk); in iwl_mld_count_mpdu()
|
| H A D | tx.c | 586 struct iwl_mld_vif *mld_vif = in iwl_mld_get_link_from_tx_info() local 598 return rcu_dereference(mld_vif->link[link_id]); in iwl_mld_get_link_from_tx_info() 608 struct iwl_mld_vif *mld_vif; in iwl_mld_get_tx_queue_id() local 642 mld_vif = iwl_mld_vif_from_mac80211(info->control.vif); in iwl_mld_get_tx_queue_id() 644 if (mld_vif->roc_activity == ROC_NUM_ACTIVITIES) { in iwl_mld_get_tx_queue_id() 651 return mld_vif->deflink.aux_sta.queue_id; in iwl_mld_get_tx_queue_id()
|
| H A D | scan.c | 169 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_scan_iterator() local 174 data->global_low_latency |= iwl_mld_vif_low_latency(mld_vif); in iwl_mld_scan_iterator() 178 mld_vif->deflink.active)) in iwl_mld_scan_iterator() 204 rcu_access_pointer(mld_vif->deflink.chan_ctx) != in iwl_mld_scan_iterator() 1392 struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); in iwl_mld_scan_set_link_id() local 1402 link = iwl_mld_link_dereference_check(mld_vif, tsf_report_link_id); in iwl_mld_scan_set_link_id()
|
| H A D | rx.c | 1583 struct iwl_mld_vif *mld_vif; in iwl_mld_rx_mgmt_prot() local 1606 mld_vif = iwl_mld_vif_from_mac80211(mld_sta->vif); in iwl_mld_rx_mgmt_prot() 1622 key = rcu_dereference(mld_vif->bigtks[0]); in iwl_mld_rx_mgmt_prot() 1624 key = rcu_dereference(mld_vif->bigtks[1]); in iwl_mld_rx_mgmt_prot() 1642 key = rcu_dereference(mld_vif->bigtks[keyidx - 6]); in iwl_mld_rx_mgmt_prot()
|
| /linux-6.15/drivers/net/wireless/intel/iwlwifi/mld/tests/ |
| H A D | utils.c | 93 rcu_assign_pointer(mld_vif->link[link_id], mld_link); in IWL_MLD_ALLOC_FN() 105 struct iwl_mld_vif *mld_vif; in IWL_MLD_ALLOC_FN() local 112 sizeof(*vif) + sizeof(*mld_vif)); in IWL_MLD_ALLOC_FN() 115 mld_vif = iwl_mld_vif_from_mac80211(vif); in IWL_MLD_ALLOC_FN() 116 mld_vif->mld = mld; in IWL_MLD_ALLOC_FN() 287 struct iwl_mld_vif *mld_vif; in iwlmld_kunit_move_sta_state() local 295 mld_vif = iwl_mld_vif_from_mac80211(mld_sta->vif); in iwlmld_kunit_move_sta_state() 299 mld_vif->ap_sta = sta; in iwlmld_kunit_move_sta_state() 417 struct iwl_mld_vif *mld_vif; in iwlmld_kunit_assoc_emlsr() local 423 mld_vif = iwl_mld_vif_from_mac80211(vif); in iwlmld_kunit_assoc_emlsr() [all …]
|
| H A D | link.c | 81 struct iwl_mld_vif *mld_vif; in test_missed_beacon() local 84 mld_vif = iwl_mld_vif_from_mac80211(vif); in test_missed_beacon() 85 notif->link_id = cpu_to_le32(mld_vif->deflink.fw_id); in test_missed_beacon()
|
| /linux-6.15/net/mac80211/ |
| H A D | debugfs_netdev.h | 17 bool mld_vif); 32 struct ieee80211_sub_if_data *sdata, bool mld_vif) in ieee80211_debugfs_recreate_netdev() argument
|
| H A D | debugfs_netdev.c | 1000 bool mld_vif) in ieee80211_debugfs_add_netdev() argument 1012 if (!mld_vif) in ieee80211_debugfs_add_netdev() 1032 bool mld_vif) in ieee80211_debugfs_recreate_netdev() argument 1035 ieee80211_debugfs_add_netdev(sdata, mld_vif); in ieee80211_debugfs_recreate_netdev() 1039 if (!mld_vif) in ieee80211_debugfs_recreate_netdev()
|