Lines Matching refs:tid
297 sta->addr, ba_data->tid); in iwl_mvm_rx_agg_session_expired()
352 int sta_id, u16 *queueptr, u8 tid) in iwl_mvm_disable_txq() argument
372 if (tid == IWL_MAX_TID_COUNT) in iwl_mvm_disable_txq()
373 tid = IWL_MGMT_TID; in iwl_mvm_disable_txq()
375 remove_cmd.u.remove.tid = cpu_to_le32(tid); in iwl_mvm_disable_txq()
393 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_disable_txq()
410 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_disable_txq()
422 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_disable_txq()
451 int tid; in iwl_mvm_get_queue_agg_tids() local
470 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_get_queue_agg_tids()
471 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_get_queue_agg_tids()
472 agg_tids |= BIT(tid); in iwl_mvm_get_queue_agg_tids()
491 int tid; in iwl_mvm_remove_sta_queue_marking() local
514 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_sta_queue_marking()
516 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_remove_sta_queue_marking()
518 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_remove_sta_queue_marking()
519 disable_agg_tids |= BIT(tid); in iwl_mvm_remove_sta_queue_marking()
520 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_sta_queue_marking()
552 u8 sta_id, tid; in iwl_mvm_free_inactive_queue() local
564 tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_free_inactive_queue()
578 ret = iwl_mvm_disable_txq(mvm, old_sta, sta_id, &queue_tmp, tid); in iwl_mvm_free_inactive_queue()
664 int sta_id, int tid, int frame_limit, u16 ssn) in iwl_mvm_reconfig_scd() argument
675 .tid = tid, in iwl_mvm_reconfig_scd()
701 static int iwl_mvm_redirect_queue(struct iwl_mvm *mvm, int queue, int tid, in iwl_mvm_redirect_queue() argument
732 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_redirect_queue()
760 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_redirect_queue()
766 cmd.sta_id, tid, IWL_FRAME_LIMIT, ssn); in iwl_mvm_redirect_queue()
847 u8 sta_id, u8 tid, unsigned int timeout) in iwl_mvm_tvqm_enable_txq() argument
852 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_tvqm_enable_txq()
853 tid = IWL_MGMT_TID; in iwl_mvm_tvqm_enable_txq()
891 tid, size, timeout); in iwl_mvm_tvqm_enable_txq()
896 size, sta_mask, tid, queue); in iwl_mvm_tvqm_enable_txq()
904 queue, sta_mask, tid); in iwl_mvm_tvqm_enable_txq()
911 int tid) in iwl_mvm_sta_alloc_queue_tvqm() argument
915 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_sta_alloc_queue_tvqm()
924 mvmsta->deflink.sta_id, tid); in iwl_mvm_sta_alloc_queue_tvqm()
926 tid, wdg_timeout); in iwl_mvm_sta_alloc_queue_tvqm()
931 mvm->tvqm_info[queue].txq_tid = tid; in iwl_mvm_sta_alloc_queue_tvqm()
937 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue_tvqm()
945 int queue, u8 sta_id, u8 tid) in iwl_mvm_update_txq_mapping() argument
950 if (mvm->queue_info[queue].tid_bitmap & BIT(tid)) { in iwl_mvm_update_txq_mapping()
952 queue, tid); in iwl_mvm_update_txq_mapping()
960 mvm->queue_info[queue].tid_bitmap |= BIT(tid); in iwl_mvm_update_txq_mapping()
964 if (tid != IWL_MAX_TID_COUNT) in iwl_mvm_update_txq_mapping()
966 tid_to_mac80211_ac[tid]; in iwl_mvm_update_txq_mapping()
970 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_update_txq_mapping()
975 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_update_txq_mapping()
1000 .tid = cfg->tid, in iwl_mvm_enable_txq()
1008 if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid)) in iwl_mvm_enable_txq()
1028 int tid; in iwl_mvm_change_queue_tid() local
1043 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_change_queue_tid()
1044 cmd.tid = tid; in iwl_mvm_change_queue_tid()
1045 cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_change_queue_tid()
1054 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_change_queue_tid()
1056 queue, tid); in iwl_mvm_change_queue_tid()
1064 int tid = -1; in iwl_mvm_unshare_queue() local
1080 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_unshare_queue()
1081 if (tid_bitmap != BIT(tid)) { in iwl_mvm_unshare_queue()
1088 tid); in iwl_mvm_unshare_queue()
1099 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_unshare_queue()
1101 ret = iwl_mvm_redirect_queue(mvm, queue, tid, in iwl_mvm_unshare_queue()
1102 tid_to_mac80211_ac[tid], ssn, in iwl_mvm_unshare_queue()
1104 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_unshare_queue()
1111 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) { in iwl_mvm_unshare_queue()
1114 mvmsta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_unshare_queue()
1151 unsigned int tid; in iwl_mvm_remove_inactive_tids() local
1160 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1162 if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid])) in iwl_mvm_remove_inactive_tids()
1163 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1166 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF) in iwl_mvm_remove_inactive_tids()
1167 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1180 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1183 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_inactive_tids()
1184 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1204 tid, queue); in iwl_mvm_remove_inactive_tids()
1259 int tid; in iwl_mvm_inactivity_check() local
1273 for_each_set_bit(tid, &queue_tid_bitmap, in iwl_mvm_inactivity_check()
1275 if (time_after(mvm->queue_info[i].last_frame_time[tid] + in iwl_mvm_inactivity_check()
1279 inactive_tid_bitmap |= BIT(tid); in iwl_mvm_inactivity_check()
1337 struct ieee80211_sta *sta, u8 ac, int tid) in iwl_mvm_sta_alloc_queue() argument
1343 .tid = tid, in iwl_mvm_sta_alloc_queue()
1360 return iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_alloc_queue()
1364 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_sta_alloc_queue()
1367 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_sta_alloc_queue()
1416 tid, cfg.sta_id); in iwl_mvm_sta_alloc_queue()
1432 mvmsta->deflink.sta_id, tid); in iwl_mvm_sta_alloc_queue()
1464 mvmsta->tid_data[tid].seq_number += 0x10; in iwl_mvm_sta_alloc_queue()
1467 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue()
1469 queue_state = mvmsta->tid_data[tid].state; in iwl_mvm_sta_alloc_queue()
1482 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_alloc_queue()
1488 ret = iwl_mvm_redirect_queue(mvm, queue, tid, ac, ssn, in iwl_mvm_sta_alloc_queue()
1490 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_sta_alloc_queue()
1499 iwl_mvm_disable_txq(mvm, sta, mvmsta->deflink.sta_id, &queue_tmp, tid); in iwl_mvm_sta_alloc_queue()
1516 u8 tid; in iwl_mvm_add_new_dqa_stream_wk() local
1523 tid = txq->tid; in iwl_mvm_add_new_dqa_stream_wk()
1524 if (tid == IEEE80211_NUM_TIDS) in iwl_mvm_add_new_dqa_stream_wk()
1525 tid = IWL_MAX_TID_COUNT; in iwl_mvm_add_new_dqa_stream_wk()
1533 if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) { in iwl_mvm_add_new_dqa_stream_wk()
1659 cfg.tid = i; in iwl_mvm_realloc_queues_after_restart()
2176 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_enable_aux_snif_queue()
2340 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_send_add_bcast_sta()
2541 .tid = 0, in iwl_mvm_add_mcast_sta()
2766 bool start, int tid, u16 ssn, in iwl_mvm_fw_baid_op_sta() argument
2779 cmd.add_immediate_ba_tid = tid; in iwl_mvm_fw_baid_op_sta()
2784 cmd.remove_immediate_ba_tid = tid; in iwl_mvm_fw_baid_op_sta()
2815 bool start, int tid, u16 ssn, in iwl_mvm_fw_baid_op_cmd() argument
2830 cmd.alloc.tid = tid; in iwl_mvm_fw_baid_op_cmd()
2840 cmd.remove.tid = cpu_to_le32(tid); in iwl_mvm_fw_baid_op_cmd()
2863 bool start, int tid, u16 ssn, u16 buf_size, in iwl_mvm_fw_baid_op() argument
2869 tid, ssn, buf_size, baid); in iwl_mvm_fw_baid_op()
2872 tid, ssn, buf_size); in iwl_mvm_fw_baid_op()
2876 int tid, u16 ssn, bool start, u16 buf_size, u16 timeout) in iwl_mvm_sta_rx_agg() argument
2933 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
2941 baid = iwl_mvm_fw_baid_op(mvm, sta, start, tid, ssn, buf_size, in iwl_mvm_sta_rx_agg()
2962 baid_data->tid = tid; in iwl_mvm_sta_rx_agg()
2965 mvm_sta->tid_to_baid[tid] = baid; in iwl_mvm_sta_rx_agg()
2978 mvm_sta->deflink.sta_id, tid, baid); in iwl_mvm_sta_rx_agg()
2982 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
3022 int tid, u8 queue, bool start) in iwl_mvm_sta_tx_agg() argument
3033 mvm_sta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_sta_tx_agg()
3036 mvm_sta->tid_disable_agg |= BIT(tid); in iwl_mvm_sta_tx_agg()
3092 struct ieee80211_sta *sta, u16 tid, u16 *ssn) in iwl_mvm_sta_tx_agg_start() argument
3100 if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT)) in iwl_mvm_sta_tx_agg_start()
3103 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED && in iwl_mvm_sta_tx_agg_start()
3104 mvmsta->tid_data[tid].state != IWL_AGG_OFF) { in iwl_mvm_sta_tx_agg_start()
3107 mvmsta->tid_data[tid].state); in iwl_mvm_sta_tx_agg_start()
3113 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE && in iwl_mvm_sta_tx_agg_start()
3115 u8 ac = tid_to_mac80211_ac[tid]; in iwl_mvm_sta_tx_agg_start()
3117 ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_tx_agg_start()
3130 txq_id = mvmsta->tid_data[tid].txq_id; in iwl_mvm_sta_tx_agg_start()
3147 tid, IWL_MAX_HW_QUEUES - 1); in iwl_mvm_sta_tx_agg_start()
3155 tid); in iwl_mvm_sta_tx_agg_start()
3161 tid, txq_id); in iwl_mvm_sta_tx_agg_start()
3163 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_start()
3170 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_start()
3197 struct ieee80211_sta *sta, u16 tid, u16 buf_size, in iwl_mvm_sta_tx_agg_oper() argument
3201 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_oper()
3211 .tid = tid, in iwl_mvm_sta_tx_agg_oper()
3230 mvmsta->agg_tids |= BIT(tid); in iwl_mvm_sta_tx_agg_oper()
3250 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
3256 cfg.fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_sta_tx_agg_oper()
3282 mvmsta->deflink.sta_id, tid, in iwl_mvm_sta_tx_agg_oper()
3297 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
3320 sta->addr, tid); in iwl_mvm_sta_tx_agg_oper()
3350 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_stop() argument
3353 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_stop()
3362 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3371 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_stop()
3374 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_stop()
3390 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3392 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_stop()
3404 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3411 mvmsta->deflink.sta_id, tid, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3423 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_flush() argument
3426 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_flush()
3437 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_flush()
3441 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_flush()
3451 BIT(tid))) in iwl_mvm_sta_tx_agg_flush()
3462 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_flush()
4065 int tid, ret; in iwl_mvm_sta_modify_sleep_tx_count() local
4072 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) in iwl_mvm_sta_modify_sleep_tx_count()
4073 cmd.awake_acs |= BIT(tid_to_ucode_ac[tid]); in iwl_mvm_sta_modify_sleep_tx_count()
4087 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) { in iwl_mvm_sta_modify_sleep_tx_count()
4091 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_modify_sleep_tx_count()