Lines Matching refs:txq_id

212 	int txq_id = txq->q.id;  in iwl_pcie_txq_update_byte_cnt_tbl()  local
244 scd_bc_tbl[txq_id].tfd_offset[write_ptr] = bc_ent; in iwl_pcie_txq_update_byte_cnt_tbl()
247 scd_bc_tbl[txq_id]. in iwl_pcie_txq_update_byte_cnt_tbl()
257 int txq_id = txq->q.id; in iwl_pcie_txq_inval_byte_cnt_tbl() local
266 if (txq_id != trans_pcie->cmd_queue) in iwl_pcie_txq_inval_byte_cnt_tbl()
270 scd_bc_tbl[txq_id].tfd_offset[read_ptr] = bc_ent; in iwl_pcie_txq_inval_byte_cnt_tbl()
273 scd_bc_tbl[txq_id]. in iwl_pcie_txq_inval_byte_cnt_tbl()
285 int txq_id = txq->q.id; in iwl_pcie_txq_inc_wr_ptr() local
296 txq_id != trans_pcie->cmd_queue && in iwl_pcie_txq_inc_wr_ptr()
307 txq_id, reg); in iwl_pcie_txq_inc_wr_ptr()
319 IWL_DEBUG_TX(trans, "Q:%d WR: 0x%x\n", txq_id, txq->q.write_ptr); in iwl_pcie_txq_inc_wr_ptr()
320 iwl_write32(trans, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8)); in iwl_pcie_txq_inc_wr_ptr()
475 u32 txq_id) in iwl_pcie_txq_alloc() argument
498 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
527 txq->q.id = txq_id; in iwl_pcie_txq_alloc()
533 if (txq->entries && txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
544 int slots_num, u32 txq_id) in iwl_pcie_txq_init() argument
555 ret = iwl_queue_init(&txq->q, slots_num, txq_id); in iwl_pcie_txq_init()
565 iwl_write_direct32(trans, FH_MEM_CBBC_QUEUE(txq_id), in iwl_pcie_txq_init()
574 static void iwl_pcie_txq_unmap(struct iwl_trans *trans, int txq_id) in iwl_pcie_txq_unmap() argument
577 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_unmap()
583 txq_id, q->read_ptr); in iwl_pcie_txq_unmap()
602 static void iwl_pcie_txq_free(struct iwl_trans *trans, int txq_id) in iwl_pcie_txq_free() argument
605 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_free()
612 iwl_pcie_txq_unmap(trans, txq_id); in iwl_pcie_txq_free()
615 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_free()
703 int txq_id; in iwl_trans_pcie_tx_reset() local
705 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_trans_pcie_tx_reset()
706 txq_id++) { in iwl_trans_pcie_tx_reset()
707 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx_reset()
709 iwl_write_direct32(trans, FH_MEM_CBBC_QUEUE(txq_id), in iwl_trans_pcie_tx_reset()
711 iwl_pcie_txq_unmap(trans, txq_id); in iwl_trans_pcie_tx_reset()
765 int txq_id; in iwl_pcie_tx_stop() local
786 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_stop()
787 txq_id++) in iwl_pcie_tx_stop()
788 iwl_pcie_txq_unmap(trans, txq_id); in iwl_pcie_tx_stop()
800 int txq_id; in iwl_pcie_tx_free() local
805 for (txq_id = 0; in iwl_pcie_tx_free()
806 txq_id < trans->cfg->base_params->num_of_queues; txq_id++) in iwl_pcie_tx_free()
807 iwl_pcie_txq_free(trans, txq_id); in iwl_pcie_tx_free()
825 int txq_id, slots_num; in iwl_pcie_tx_alloc() local
861 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_alloc()
862 txq_id++) { in iwl_pcie_tx_alloc()
863 slots_num = (txq_id == trans_pcie->cmd_queue) ? in iwl_pcie_tx_alloc()
865 ret = iwl_pcie_txq_alloc(trans, &trans_pcie->txq[txq_id], in iwl_pcie_tx_alloc()
866 slots_num, txq_id); in iwl_pcie_tx_alloc()
868 IWL_ERR(trans, "Tx %d queue alloc failed\n", txq_id); in iwl_pcie_tx_alloc()
884 int txq_id, slots_num; in iwl_pcie_tx_init() local
906 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_init()
907 txq_id++) { in iwl_pcie_tx_init()
908 slots_num = (txq_id == trans_pcie->cmd_queue) ? in iwl_pcie_tx_init()
910 ret = iwl_pcie_txq_init(trans, &trans_pcie->txq[txq_id], in iwl_pcie_tx_init()
911 slots_num, txq_id); in iwl_pcie_tx_init()
913 IWL_ERR(trans, "Tx %d queue init failed\n", txq_id); in iwl_pcie_tx_init()
955 void iwl_trans_pcie_reclaim(struct iwl_trans *trans, int txq_id, int ssn, in iwl_trans_pcie_reclaim() argument
959 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_reclaim()
965 if (WARN_ON(txq_id == trans_pcie->cmd_queue)) in iwl_trans_pcie_reclaim()
972 txq_id, ssn); in iwl_trans_pcie_reclaim()
980 txq_id, txq->q.read_ptr, tfd_num, ssn); in iwl_trans_pcie_reclaim()
989 __func__, txq_id, last_to_free, TFD_QUEUE_SIZE_MAX, in iwl_trans_pcie_reclaim()
1102 static void iwl_pcie_cmdq_reclaim(struct iwl_trans *trans, int txq_id, int idx) in iwl_pcie_cmdq_reclaim() argument
1105 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_cmdq_reclaim()
1115 __func__, txq_id, idx, TFD_QUEUE_SIZE_MAX, in iwl_pcie_cmdq_reclaim()
1140 u16 txq_id) in iwl_pcie_txq_set_ratid_map() argument
1150 SCD_TRANS_TBL_OFFSET_QUEUE(txq_id); in iwl_pcie_txq_set_ratid_map()
1154 if (txq_id & 0x1) in iwl_pcie_txq_set_ratid_map()
1168 void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn, in iwl_trans_pcie_txq_enable() argument
1173 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_txq_enable()
1176 if (test_and_set_bit(txq_id, trans_pcie->queue_used)) in iwl_trans_pcie_txq_enable()
1177 WARN_ONCE(1, "queue %d already used - expect issues", txq_id); in iwl_trans_pcie_txq_enable()
1185 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1190 iwl_scd_txq_set_inactive(trans, txq_id); in iwl_trans_pcie_txq_enable()
1193 if (txq_id != trans_pcie->cmd_queue) in iwl_trans_pcie_txq_enable()
1194 iwl_scd_txq_set_chain(trans, txq_id); in iwl_trans_pcie_txq_enable()
1200 iwl_pcie_txq_set_ratid_map(trans, ra_tid, txq_id); in iwl_trans_pcie_txq_enable()
1203 iwl_scd_txq_enable_agg(trans, txq_id); in iwl_trans_pcie_txq_enable()
1211 iwl_scd_txq_disable_agg(trans, txq_id); in iwl_trans_pcie_txq_enable()
1222 (ssn & 0xff) | (txq_id << 8)); in iwl_trans_pcie_txq_enable()
1227 iwl_write_prph(trans, SCD_QUEUE_RDPTR(txq_id), ssn); in iwl_trans_pcie_txq_enable()
1231 SCD_CONTEXT_QUEUE_OFFSET(txq_id), 0); in iwl_trans_pcie_txq_enable()
1234 SCD_CONTEXT_QUEUE_OFFSET(txq_id) + sizeof(u32), in iwl_trans_pcie_txq_enable()
1241 iwl_write_prph(trans, SCD_QUEUE_STATUS_BITS(txq_id), in iwl_trans_pcie_txq_enable()
1248 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1250 iwl_scd_enable_set_active(trans, BIT(txq_id)); in iwl_trans_pcie_txq_enable()
1254 txq_id, fifo, ssn & 0xff); in iwl_trans_pcie_txq_enable()
1258 txq_id, ssn & 0xff); in iwl_trans_pcie_txq_enable()
1264 void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id, in iwl_trans_pcie_txq_disable() argument
1269 SCD_TX_STTS_QUEUE_OFFSET(txq_id); in iwl_trans_pcie_txq_disable()
1272 trans_pcie->txq[txq_id].frozen_expiry_remainder = 0; in iwl_trans_pcie_txq_disable()
1273 trans_pcie->txq[txq_id].frozen = false; in iwl_trans_pcie_txq_disable()
1281 if (!test_and_clear_bit(txq_id, trans_pcie->queue_used)) { in iwl_trans_pcie_txq_disable()
1283 "queue %d not used", txq_id); in iwl_trans_pcie_txq_disable()
1288 iwl_scd_txq_set_inactive(trans, txq_id); in iwl_trans_pcie_txq_disable()
1294 iwl_pcie_txq_unmap(trans, txq_id); in iwl_trans_pcie_txq_disable()
1295 trans_pcie->txq[txq_id].ampdu = false; in iwl_trans_pcie_txq_disable()
1297 IWL_DEBUG_TX_QUEUES(trans, "Deactivate queue %d\n", txq_id); in iwl_trans_pcie_txq_disable()
1569 int txq_id = SEQ_TO_QUEUE(sequence); in iwl_pcie_hcmd_complete() local
1580 if (WARN(txq_id != trans_pcie->cmd_queue, in iwl_pcie_hcmd_complete()
1582 txq_id, trans_pcie->cmd_queue, sequence, in iwl_pcie_hcmd_complete()
1607 iwl_pcie_cmdq_reclaim(trans, txq_id, index); in iwl_pcie_hcmd_complete()
1764 struct iwl_device_cmd *dev_cmd, int txq_id) in iwl_trans_pcie_tx() argument
1780 txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx()
1783 if (WARN_ONCE(!test_bit(txq_id, trans_pcie->queue_used), in iwl_trans_pcie_tx()
1784 "TX on unused queue %d\n", txq_id)) in iwl_trans_pcie_tx()
1798 txq_id, wifi_seq, q->write_ptr); in iwl_trans_pcie_tx()
1805 cpu_to_le16((u16)(QUEUE_TO_SEQ(txq_id) | in iwl_trans_pcie_tx()