Lines Matching refs:sta_id

32 	int sta_id;
40 /* d0i3/d3 assumes the AP's sta_id (of sta vif) is 0. reserve it. */
45 for (sta_id = 0; sta_id < mvm->fw->ucode_capa.num_stations; sta_id++) {
46 if (BIT(sta_id) & reserved_ids)
49 if (!rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
51 return sta_id;
136 .sta_id = mvm_sta->deflink.sta_id,
265 unsigned int sta_id;
284 sta_id = ffs(ba_data->sta_mask) - 1; /* don't care which one */
285 sta = rcu_dereference(ba_data->mvm->fw_id_to_mac_id[sta_id]);
314 u8 sta_id;
319 sta_id = mvm->queue_info[queue].ra_sta_id;
323 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
335 cmd.sta_id = mvmsta->deflink.sta_id;
355 int sta_id, u16 *queueptr, u8 tid)
372 .u.remove.sta_mask = cpu_to_le32(BIT(sta_id)),
412 cmd.sta_id = mvm->queue_info[queue].ra_sta_id;
453 u8 sta_id;
461 sta_id = mvm->queue_info[queue].ra_sta_id;
464 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
493 u8 sta_id;
501 sta_id = mvm->queue_info[queue].ra_sta_id;
506 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
555 u8 sta_id, tid;
566 sta_id = mvm->queue_info[queue].ra_sta_id;
569 same_sta = sta_id == new_sta_id;
571 mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id);
581 ret = iwl_mvm_disable_txq(mvm, old_sta, sta_id, &queue_tmp, tid);
667 int sta_id, int tid, int frame_limit, u16 ssn)
673 .sta_id = sta_id,
733 cmd.sta_id = mvm->queue_info[queue].ra_sta_id;
769 cmd.sta_id, tid, IWL_FRAME_LIMIT, ssn);
790 static int iwl_mvm_find_free_queue(struct iwl_mvm *mvm, u8 sta_id,
850 u8 sta_id, u8 tid, unsigned int timeout)
877 sta_mask |= BIT(link->sta_id);
881 sta_mask |= BIT(sta_id);
913 mvmsta->deflink.sta_id, tid);
914 queue = iwl_mvm_tvqm_enable_txq(mvm, sta, mvmsta->deflink.sta_id,
921 mvm->tvqm_info[queue].sta_id = mvmsta->deflink.sta_id;
934 int queue, u8 sta_id, u8 tid)
950 mvm->queue_info[queue].ra_sta_id = sta_id;
985 .sta_id = cfg->sta_id,
997 if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid))
1052 u8 sta_id;
1065 sta_id = mvm->queue_info[queue].ra_sta_id;
1079 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
1106 cmd.sta_id = mvmsta->deflink.sta_id;
1247 u8 sta_id;
1280 sta_id = mvm->queue_info[i].ra_sta_id;
1281 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
1331 .sta_id = mvmsta->deflink.sta_id,
1357 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1376 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1381 queue = iwl_mvm_inactivity_check(mvm, mvmsta->deflink.sta_id);
1404 IWL_ERR(mvm, "No available queues for tid %d on sta_id %d\n",
1405 tid, cfg.sta_id);
1421 mvmsta->deflink.sta_id, tid);
1488 iwl_mvm_disable_txq(mvm, sta, mvmsta->deflink.sta_id, &queue_tmp, tid);
1595 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1600 queue = iwl_mvm_inactivity_check(mvm, mvmsta->deflink.sta_id);
1610 IWL_DEBUG_TX_QUEUES(mvm, "Reserving data queue #%d for sta_id %d\n",
1611 queue, mvmsta->deflink.sta_id);
1631 .sta_id = mvm_sta->deflink.sta_id,
1653 mvm_sta->deflink.sta_id, i);
1655 mvm_sta->deflink.sta_id,
1684 mvm_sta->deflink.sta_id, i,
1705 cmd.sta_id = sta->sta_id;
1745 struct ieee80211_sta *sta, int sta_id, u8 sta_type)
1758 /* for MLD sta_id(s) should be allocated for each link before calling
1762 if (WARN_ON(sta_id == IWL_MVM_INVALID_STA))
1765 mvm_sta->deflink.sta_id = sta_id;
1859 int ret, sta_id;
1866 sta_id = iwl_mvm_find_free_sta_id(mvm,
1869 sta_id = mvm_sta->deflink.sta_id;
1871 if (sta_id == IWL_MVM_INVALID_STA)
1879 .sta_id = sta_id,
1897 ret = iwl_mvm_sta_init(mvm, vif, sta, sta_id,
1910 mvmvif->deflink.ap_sta_id = sta_id;
1916 rcu_assign_pointer(mvm->fw_id_to_mac_id[sta_id], sta);
1934 cmd.sta_id = mvmsta->deflink.sta_id;
1949 mvmsta->deflink.sta_id);
1955 mvmsta->deflink.sta_id);
1958 mvmsta->deflink.sta_id, status);
1971 static int iwl_mvm_rm_sta_common(struct iwl_mvm *mvm, u8 sta_id)
1975 .sta_id = sta_id,
1979 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
1991 IWL_ERR(mvm, "Failed to remove station. Id=%d\n", sta_id);
2011 iwl_mvm_disable_txq(mvm, sta, mvm_sta->deflink.sta_id,
2065 u8 sta_id;
2072 sta_id = mvm_link_sta->sta_id;
2087 "sta_id %d reserved txq %d status %d",
2088 sta_id, reserved_txq, *status)) {
2097 mvm_link->ap_sta_id == sta_id) {
2113 if (WARN_ON_ONCE(mvm->tdls_cs.peer.sta_id == sta_id)) {
2114 mvm->tdls_cs.peer.sta_id = IWL_MVM_INVALID_STA;
2135 ret = iwl_mvm_flush_sta(mvm, mvm_sta->deflink.sta_id,
2157 ret = iwl_mvm_rm_sta_common(mvm, mvm_sta->deflink.sta_id);
2158 RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta->deflink.sta_id], NULL);
2165 u8 sta_id)
2167 int ret = iwl_mvm_rm_sta_common(mvm, sta_id);
2171 RCU_INIT_POINTER(mvm->fw_id_to_mac_id[sta_id], NULL);
2181 sta->sta_id == IWL_MVM_INVALID_STA) {
2182 sta->sta_id = iwl_mvm_find_free_sta_id(mvm, iftype);
2183 if (WARN_ON_ONCE(sta->sta_id == IWL_MVM_INVALID_STA))
2191 RCU_INIT_POINTER(mvm->fw_id_to_mac_id[sta->sta_id], ERR_PTR(-EINVAL));
2197 RCU_INIT_POINTER(mvm->fw_id_to_mac_id[sta->sta_id], NULL);
2199 sta->sta_id = IWL_MVM_INVALID_STA;
2203 u8 sta_id, u8 fifo)
2209 .sta_id = sta_id,
2220 static int iwl_mvm_enable_aux_snif_queue_tvqm(struct iwl_mvm *mvm, u8 sta_id)
2227 return iwl_mvm_tvqm_enable_txq(mvm, NULL, sta_id, IWL_MAX_TID_COUNT,
2240 iwl_mvm_enable_aux_snif_queue(mvm, *queue, sta->sta_id, fifo);
2245 iwl_mvm_disable_txq(mvm, NULL, sta->sta_id, queue,
2257 txq = iwl_mvm_enable_aux_snif_queue_tvqm(mvm, sta->sta_id);
2259 iwl_mvm_rm_sta_common(mvm, sta->sta_id);
2317 if (WARN_ON_ONCE(mvm->snif_sta.sta_id == IWL_MVM_INVALID_STA))
2320 iwl_mvm_disable_txq(mvm, NULL, mvm->snif_sta.sta_id,
2322 ret = iwl_mvm_rm_sta_common(mvm, mvm->snif_sta.sta_id);
2335 if (WARN_ON_ONCE(mvm->aux_sta.sta_id == IWL_MVM_INVALID_STA))
2338 iwl_mvm_disable_txq(mvm, NULL, mvm->aux_sta.sta_id,
2340 ret = iwl_mvm_rm_sta_common(mvm, mvm->aux_sta.sta_id);
2373 .sta_id = mvmvif->deflink.bcast_sta.sta_id,
2400 if (WARN_ON_ONCE(bsta->sta_id == IWL_MVM_INVALID_STA))
2413 queue = iwl_mvm_tvqm_enable_txq(mvm, NULL, bsta->sta_id,
2417 iwl_mvm_rm_sta_common(mvm, bsta->sta_id);
2447 iwl_mvm_flush_sta(mvm, mvmvif->deflink.bcast_sta.sta_id,
2465 iwl_mvm_disable_txq(mvm, NULL, mvmvif->deflink.bcast_sta.sta_id,
2489 ret = iwl_mvm_rm_sta_common(mvm, mvmvif->deflink.bcast_sta.sta_id);
2574 .sta_id = msta->sta_id,
2621 int queue = iwl_mvm_tvqm_enable_txq(mvm, NULL, msta->sta_id,
2640 static int __iwl_mvm_remove_sta_key(struct iwl_mvm *mvm, u8 sta_id,
2655 if (sta_id == IWL_MVM_INVALID_STA)
2672 u.cmd.common.sta_id = sta_id;
2704 iwl_mvm_flush_sta(mvm, mvmvif->deflink.mcast_sta.sta_id,
2707 iwl_mvm_disable_txq(mvm, NULL, mvmvif->deflink.mcast_sta.sta_id,
2710 ret = iwl_mvm_rm_sta_common(mvm, mvmvif->deflink.mcast_sta.sta_id);
2792 .sta_id = mvm_sta->deflink.sta_id,
3003 mvm_sta->deflink.sta_id, tid, baid);
3055 cmd.sta_id = mvm_sta->deflink.sta_id;
3147 ret = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
3185 mvmsta->deflink.sta_id, tid, txq_id,
3225 .sta_id = mvmsta->deflink.sta_id,
3297 mvmsta->deflink.sta_id, tid,
3386 mvmsta->deflink.sta_id, tid, txq_id,
3426 mvmsta->deflink.sta_id, tid, tid_data->state);
3452 mvmsta->deflink.sta_id, tid, txq_id,
3465 if (iwl_mvm_flush_sta_tids(mvm, mvmsta->deflink.sta_id,
3526 u8 sta_id = mvmvif->deflink.ap_sta_id;
3528 sta = rcu_dereference_check(mvm->fw_id_to_mac_id[sta_id],
3533 * for example when a GTK is removed - the sta_id will then
3560 u32 sta_id,
3580 if (sta_id == IWL_MVM_INVALID_STA)
3646 u.cmd.common.sta_id = sta_id;
3717 u8 sta_id, bool remove_key)
3735 igtk_cmd.sta_id = cpu_to_le32(sta_id);
3739 if (sta_id == IWL_MVM_INVALID_STA)
3776 keyconf->keyidx, igtk_cmd.sta_id);
3782 .sta_id = igtk_cmd.sta_id,
3807 u8 sta_id = mvmvif->deflink.ap_sta_id;
3808 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
3830 u32 sta_id;
3836 sta_id = mvm_sta->deflink.sta_id;
3842 sta_id = mvmvif->deflink.mcast_sta.sta_id;
3859 return iwl_mvm_send_sta_key(mvm, sta_id, keyconf, mcast,
3864 return iwl_mvm_send_sta_key(mvm, sta_id, keyconf, mcast,
3876 u8 sta_id = IWL_MVM_INVALID_STA;
3890 sta_id = mvm_sta->deflink.sta_id;
3899 mvm->fw_id_to_mac_id[sta_id],
3912 sta_id = mvmvif->deflink.mcast_sta.sta_id;
3918 ret = iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, false);
3956 __iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, mcast);
3977 u8 sta_id = IWL_MVM_INVALID_STA;
3985 sta_id = mvm_sta->deflink.sta_id;
3987 sta_id = iwl_mvm_vif_from_mac80211(vif)->deflink.mcast_sta.sta_id;
3991 keyconf->keyidx, sta_id);
3996 return iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, true);
4016 ret = __iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, mcast);
4023 ret = __iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, !mcast);
4043 iwl_mvm_send_sta_key(mvm, mvm_sta->deflink.sta_id, keyconf, mcast,
4057 .sta_id = mvmsta->deflink.sta_id,
4078 .sta_id = mvmsta->deflink.sta_id,
4156 u32 sta_id = le32_to_cpu(notif->sta_id);
4158 if (WARN_ON_ONCE(sta_id >= mvm->fw->ucode_capa.num_stations))
4162 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
4174 .sta_id = mvmsta->deflink.sta_id,
4234 .sta_id = sta->sta_id,
4284 if (mvmvif->deflink.mcast_sta.sta_id != IWL_MVM_INVALID_STA)
4293 if (!disable && mvmvif->deflink.bcast_sta.sta_id != IWL_MVM_INVALID_STA)
4373 u32 sta_mask = BIT(sta->sta_id);
4377 ret = iwl_mvm_send_sta_key(mvm, sta->sta_id, keyconf, false,