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()
885 tid, size, timeout); in iwl_mvm_tvqm_enable_txq()
890 queue, sta_mask, tid); in iwl_mvm_tvqm_enable_txq()
897 int tid) in iwl_mvm_sta_alloc_queue_tvqm() argument
901 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_sta_alloc_queue_tvqm()
910 mvmsta->deflink.sta_id, tid); in iwl_mvm_sta_alloc_queue_tvqm()
912 tid, wdg_timeout); in iwl_mvm_sta_alloc_queue_tvqm()
917 mvm->tvqm_info[queue].txq_tid = tid; in iwl_mvm_sta_alloc_queue_tvqm()
923 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue_tvqm()
931 int queue, u8 sta_id, u8 tid) in iwl_mvm_update_txq_mapping() argument
936 if (mvm->queue_info[queue].tid_bitmap & BIT(tid)) { in iwl_mvm_update_txq_mapping()
938 queue, tid); in iwl_mvm_update_txq_mapping()
946 mvm->queue_info[queue].tid_bitmap |= BIT(tid); in iwl_mvm_update_txq_mapping()
950 if (tid != IWL_MAX_TID_COUNT) in iwl_mvm_update_txq_mapping()
952 tid_to_mac80211_ac[tid]; in iwl_mvm_update_txq_mapping()
956 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_update_txq_mapping()
961 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_update_txq_mapping()
986 .tid = cfg->tid, in iwl_mvm_enable_txq()
994 if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid)) in iwl_mvm_enable_txq()
1014 int tid; in iwl_mvm_change_queue_tid() local
1029 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_change_queue_tid()
1030 cmd.tid = tid; in iwl_mvm_change_queue_tid()
1031 cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_change_queue_tid()
1040 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_change_queue_tid()
1042 queue, tid); in iwl_mvm_change_queue_tid()
1050 int tid = -1; in iwl_mvm_unshare_queue() local
1066 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_unshare_queue()
1067 if (tid_bitmap != BIT(tid)) { in iwl_mvm_unshare_queue()
1074 tid); in iwl_mvm_unshare_queue()
1085 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_unshare_queue()
1087 ret = iwl_mvm_redirect_queue(mvm, queue, tid, in iwl_mvm_unshare_queue()
1088 tid_to_mac80211_ac[tid], ssn, in iwl_mvm_unshare_queue()
1090 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_unshare_queue()
1097 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) { in iwl_mvm_unshare_queue()
1100 mvmsta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_unshare_queue()
1137 unsigned int tid; in iwl_mvm_remove_inactive_tids() local
1146 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1148 if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid])) in iwl_mvm_remove_inactive_tids()
1149 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1152 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF) in iwl_mvm_remove_inactive_tids()
1153 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1166 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1169 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_inactive_tids()
1170 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1190 tid, queue); in iwl_mvm_remove_inactive_tids()
1245 int tid; in iwl_mvm_inactivity_check() local
1259 for_each_set_bit(tid, &queue_tid_bitmap, in iwl_mvm_inactivity_check()
1261 if (time_after(mvm->queue_info[i].last_frame_time[tid] + in iwl_mvm_inactivity_check()
1265 inactive_tid_bitmap |= BIT(tid); in iwl_mvm_inactivity_check()
1323 struct ieee80211_sta *sta, u8 ac, int tid) in iwl_mvm_sta_alloc_queue() argument
1329 .tid = tid, in iwl_mvm_sta_alloc_queue()
1346 return iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_alloc_queue()
1350 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_sta_alloc_queue()
1353 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_sta_alloc_queue()
1402 tid, cfg.sta_id); in iwl_mvm_sta_alloc_queue()
1418 mvmsta->deflink.sta_id, tid); in iwl_mvm_sta_alloc_queue()
1450 mvmsta->tid_data[tid].seq_number += 0x10; in iwl_mvm_sta_alloc_queue()
1453 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue()
1455 queue_state = mvmsta->tid_data[tid].state; in iwl_mvm_sta_alloc_queue()
1468 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_alloc_queue()
1474 ret = iwl_mvm_redirect_queue(mvm, queue, tid, ac, ssn, in iwl_mvm_sta_alloc_queue()
1476 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_sta_alloc_queue()
1485 iwl_mvm_disable_txq(mvm, sta, mvmsta->deflink.sta_id, &queue_tmp, tid); in iwl_mvm_sta_alloc_queue()
1503 if (!iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, txq->tid)) { in iwl_mvm_sta_ensure_queue()
1530 u8 tid; in iwl_mvm_add_new_dqa_stream_wk() local
1537 tid = txq->tid; in iwl_mvm_add_new_dqa_stream_wk()
1538 if (tid == IEEE80211_NUM_TIDS) in iwl_mvm_add_new_dqa_stream_wk()
1539 tid = IWL_MAX_TID_COUNT; in iwl_mvm_add_new_dqa_stream_wk()
1547 if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) { in iwl_mvm_add_new_dqa_stream_wk()
1673 cfg.tid = i; in iwl_mvm_realloc_queues_after_restart()
2202 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_enable_aux_snif_queue()
2366 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_send_add_bcast_sta()
2567 .tid = 0, in iwl_mvm_add_mcast_sta()
2778 bool start, int tid, u16 ssn, in iwl_mvm_fw_baid_op_sta() argument
2791 cmd.add_immediate_ba_tid = tid; in iwl_mvm_fw_baid_op_sta()
2796 cmd.remove_immediate_ba_tid = tid; in iwl_mvm_fw_baid_op_sta()
2827 bool start, int tid, u16 ssn, in iwl_mvm_fw_baid_op_cmd() argument
2847 cmd.alloc.tid = tid; in iwl_mvm_fw_baid_op_cmd()
2857 cmd.remove.tid = cpu_to_le32(tid); in iwl_mvm_fw_baid_op_cmd()
2879 bool start, int tid, u16 ssn, u16 buf_size, in iwl_mvm_fw_baid_op() argument
2885 tid, ssn, buf_size, baid); in iwl_mvm_fw_baid_op()
2888 tid, ssn, buf_size); in iwl_mvm_fw_baid_op()
2892 int tid, u16 ssn, bool start, u16 buf_size, u16 timeout) in iwl_mvm_sta_rx_agg() argument
2949 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
2957 baid = iwl_mvm_fw_baid_op(mvm, sta, start, tid, ssn, buf_size, in iwl_mvm_sta_rx_agg()
2978 baid_data->tid = tid; in iwl_mvm_sta_rx_agg()
2982 mvm_sta->tid_to_baid[tid] = baid; in iwl_mvm_sta_rx_agg()
2995 mvm_sta->deflink.sta_id, tid, baid); in iwl_mvm_sta_rx_agg()
2999 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
3029 int tid, u8 queue, bool start) in iwl_mvm_sta_tx_agg() argument
3040 mvm_sta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_sta_tx_agg()
3043 mvm_sta->tid_disable_agg |= BIT(tid); in iwl_mvm_sta_tx_agg()
3099 struct ieee80211_sta *sta, u16 tid, u16 *ssn) in iwl_mvm_sta_tx_agg_start() argument
3107 if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT)) in iwl_mvm_sta_tx_agg_start()
3110 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED && in iwl_mvm_sta_tx_agg_start()
3111 mvmsta->tid_data[tid].state != IWL_AGG_OFF) { in iwl_mvm_sta_tx_agg_start()
3114 mvmsta->tid_data[tid].state); in iwl_mvm_sta_tx_agg_start()
3120 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE && in iwl_mvm_sta_tx_agg_start()
3122 u8 ac = tid_to_mac80211_ac[tid]; in iwl_mvm_sta_tx_agg_start()
3124 ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_tx_agg_start()
3137 txq_id = mvmsta->tid_data[tid].txq_id; in iwl_mvm_sta_tx_agg_start()
3154 tid, IWL_MAX_HW_QUEUES - 1); in iwl_mvm_sta_tx_agg_start()
3162 tid); in iwl_mvm_sta_tx_agg_start()
3168 tid, txq_id); in iwl_mvm_sta_tx_agg_start()
3170 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_start()
3177 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_start()
3204 struct ieee80211_sta *sta, u16 tid, u16 buf_size, in iwl_mvm_sta_tx_agg_oper() argument
3208 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_oper()
3218 .tid = tid, in iwl_mvm_sta_tx_agg_oper()
3237 mvmsta->agg_tids |= BIT(tid); in iwl_mvm_sta_tx_agg_oper()
3257 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
3263 cfg.fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_sta_tx_agg_oper()
3289 mvmsta->deflink.sta_id, tid, in iwl_mvm_sta_tx_agg_oper()
3304 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
3327 sta->addr, tid); in iwl_mvm_sta_tx_agg_oper()
3357 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_stop() argument
3360 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_stop()
3369 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3378 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_stop()
3381 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_stop()
3397 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3399 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_stop()
3411 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3418 mvmsta->deflink.sta_id, tid, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3430 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_flush() argument
3433 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_flush()
3444 mvmsta->deflink.sta_id, tid, txq_id, in iwl_mvm_sta_tx_agg_flush()
3448 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_flush()
3458 BIT(tid))) in iwl_mvm_sta_tx_agg_flush()
3469 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_flush()
4075 int tid, ret; in iwl_mvm_sta_modify_sleep_tx_count() local
4082 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) in iwl_mvm_sta_modify_sleep_tx_count()
4083 cmd.awake_acs |= BIT(tid_to_ucode_ac[tid]); in iwl_mvm_sta_modify_sleep_tx_count()
4097 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) { in iwl_mvm_sta_modify_sleep_tx_count()
4101 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_modify_sleep_tx_count()