Lines Matching refs:mvmsta

312 	struct iwl_mvm_sta *mvmsta;
330 mvmsta = iwl_mvm_sta_from_mac80211(sta);
332 mvmsta->tid_disable_agg |= disable_agg_tids;
334 cmd.mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color);
335 cmd.sta_id = mvmsta->deflink.sta_id;
342 cmd.tfd_queue_msk = cpu_to_le32(mvmsta->tfd_queue_msk);
343 cmd.tid_disable_tx = cpu_to_le16(mvmsta->tid_disable_agg);
450 struct iwl_mvm_sta *mvmsta;
470 mvmsta = iwl_mvm_sta_from_mac80211(sta);
472 spin_lock_bh(&mvmsta->lock);
474 if (mvmsta->tid_data[tid].state == IWL_AGG_ON)
477 spin_unlock_bh(&mvmsta->lock);
490 struct iwl_mvm_sta *mvmsta;
513 mvmsta = iwl_mvm_sta_from_mac80211(sta);
515 spin_lock_bh(&mvmsta->lock);
521 if (mvmsta->tid_data[tid].state == IWL_AGG_ON)
523 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE;
532 mvmsta->tfd_queue_msk &= ~BIT(queue); /* Don't use this queue anymore */
533 spin_unlock_bh(&mvmsta->lock);
554 struct iwl_mvm_sta *mvmsta;
571 mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id);
572 if (WARN_ON(!mvmsta))
864 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
869 for_each_sta_active_link(mvmsta->vif, sta, link_sta, link_id) {
871 rcu_dereference_protected(mvmsta->link[link_id],
902 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
906 iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
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;
925 spin_lock_bh(&mvmsta->lock);
926 mvmsta->tid_data[tid].txq_id = queue;
927 spin_unlock_bh(&mvmsta->lock);
1051 struct iwl_mvm_sta *mvmsta;
1085 mvmsta = iwl_mvm_sta_from_mac80211(sta);
1086 wdg_timeout = iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
1088 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number);
1100 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) {
1103 mvmsta->tid_disable_agg &= ~BIT(tid);
1105 cmd.mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color);
1106 cmd.sta_id = mvmsta->deflink.sta_id;
1109 cmd.tfd_queue_msk = cpu_to_le32(mvmsta->tfd_queue_msk);
1110 cmd.tid_disable_tx = cpu_to_le16(mvmsta->tid_disable_agg);
1135 struct iwl_mvm_sta *mvmsta, int queue,
1142 lockdep_assert_held(&mvmsta->lock);
1151 if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid]))
1155 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF)
1172 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE;
1246 struct iwl_mvm_sta *mvmsta;
1291 mvmsta = iwl_mvm_sta_from_mac80211(sta);
1293 spin_lock_bh(&mvmsta->lock);
1294 ret = iwl_mvm_remove_inactive_tids(mvm, mvmsta, i,
1303 spin_unlock_bh(&mvmsta->lock);
1328 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
1331 .sta_id = mvmsta->deflink.sta_id,
1336 iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
1351 spin_lock_bh(&mvmsta->lock);
1352 tfd_queue_mask = mvmsta->tfd_queue_msk;
1353 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number);
1354 spin_unlock_bh(&mvmsta->lock);
1357 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1367 if ((queue < 0 && mvmsta->reserved_queue != IEEE80211_INVAL_HW_QUEUE) &&
1368 (mvm->queue_info[mvmsta->reserved_queue].status ==
1370 queue = mvmsta->reserved_queue;
1376 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1381 queue = iwl_mvm_inactivity_check(mvm, mvmsta->deflink.sta_id);
1421 mvmsta->deflink.sta_id, tid);
1446 spin_lock_bh(&mvmsta->lock);
1453 mvmsta->tid_data[tid].seq_number += 0x10;
1456 mvmsta->tid_data[tid].txq_id = queue;
1457 mvmsta->tfd_queue_msk |= BIT(queue);
1458 queue_state = mvmsta->tid_data[tid].state;
1460 if (mvmsta->reserved_queue == queue)
1461 mvmsta->reserved_queue = IEEE80211_INVAL_HW_QUEUE;
1462 spin_unlock_bh(&mvmsta->lock);
1488 iwl_mvm_disable_txq(mvm, sta, mvmsta->deflink.sta_id, &queue_tmp, tid);
1578 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
1595 queue = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
1600 queue = iwl_mvm_inactivity_check(mvm, mvmsta->deflink.sta_id);
1608 mvmsta->reserved_queue = queue;
1611 queue, mvmsta->deflink.sta_id);
1924 int iwl_mvm_drain_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
1933 cmd.mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color);
1934 cmd.sta_id = mvmsta->deflink.sta_id;
1949 mvmsta->deflink.sta_id);
1955 mvmsta->deflink.sta_id);
1958 mvmsta->deflink.sta_id, status);
3109 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
3118 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED &&
3119 mvmsta->tid_data[tid].state != IWL_AGG_OFF) {
3122 mvmsta->tid_data[tid].state);
3128 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE &&
3137 spin_lock_bh(&mvmsta->lock);
3145 txq_id = mvmsta->tid_data[tid].txq_id;
3147 ret = iwl_mvm_find_free_queue(mvm, mvmsta->deflink.sta_id,
3178 tid_data = &mvmsta->tid_data[tid];
3185 mvmsta->deflink.sta_id, tid, txq_id,
3206 spin_unlock_bh(&mvmsta->lock);
3215 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
3216 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid];
3225 .sta_id = mvmsta->deflink.sta_id,
3238 BUILD_BUG_ON((sizeof(mvmsta->agg_tids) * BITS_PER_BYTE)
3241 spin_lock_bh(&mvmsta->lock);
3245 mvmsta->agg_tids |= BIT(tid);
3248 spin_unlock_bh(&mvmsta->lock);
3297 mvmsta->deflink.sta_id, tid,
3328 mvmsta->deflink.lq_sta.rs_drv.pers.max_agg_bufsize =
3329 min(mvmsta->deflink.lq_sta.rs_drv.pers.max_agg_bufsize,
3331 mvmsta->deflink.lq_sta.rs_drv.lq.agg_frame_cnt_limit =
3332 mvmsta->deflink.lq_sta.rs_drv.pers.max_agg_bufsize;
3337 return iwl_mvm_send_lq_cmd(mvm, &mvmsta->deflink.lq_sta.rs_drv.lq);
3341 struct iwl_mvm_sta *mvmsta,
3367 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
3368 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid];
3381 spin_lock_bh(&mvmsta->lock);
3386 mvmsta->deflink.sta_id, tid, txq_id,
3389 mvmsta->agg_tids &= ~BIT(tid);
3391 iwl_mvm_unreserve_agg_queue(mvm, mvmsta, tid_data);
3403 spin_unlock_bh(&mvmsta->lock);
3426 mvmsta->deflink.sta_id, tid, tid_data->state);
3432 spin_unlock_bh(&mvmsta->lock);
3440 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
3441 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid];
3449 spin_lock_bh(&mvmsta->lock);
3452 mvmsta->deflink.sta_id, tid, txq_id,
3456 mvmsta->agg_tids &= ~BIT(tid);
3457 spin_unlock_bh(&mvmsta->lock);
3459 iwl_mvm_unreserve_agg_queue(mvm, mvmsta, tid_data);
3462 iwl_mvm_drain_sta(mvm, mvmsta, true);
3465 if (iwl_mvm_flush_sta_tids(mvm, mvmsta->deflink.sta_id,
3475 iwl_mvm_drain_sta(mvm, mvmsta, false);
4054 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
4057 .sta_id = mvmsta->deflink.sta_id,
4059 .mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color),
4075 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
4078 .sta_id = mvmsta->deflink.sta_id,
4081 .mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color),
4104 spin_lock_bh(&mvmsta->lock);
4109 tid_data = &mvmsta->tid_data[tid];
4121 mvmsta->sleep_tx_count = sleep_tx_count;
4122 spin_unlock_bh(&mvmsta->lock);
4136 mvmsta->next_status_eosp = true;
4169 struct iwl_mvm_sta *mvmsta,
4174 .sta_id = mvmsta->deflink.sta_id,
4177 .mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color),
4183 iwl_mvm_mld_sta_modify_disable_tx(mvm, mvmsta, disable);
4302 struct iwl_mvm_sta *mvmsta;
4306 mvmsta = iwl_mvm_sta_from_staid_rcu(mvm, mvmvif->deflink.ap_sta_id);
4308 if (mvmsta)
4309 iwl_mvm_sta_modify_disable_tx(mvm, mvmsta, true);