Lines Matching refs:txq_id
212 int txq_id = txq->q.id; in iwl_pcie_txq_update_byte_cnt_tbl() local
245 scd_bc_tbl[txq_id].tfd_offset[write_ptr] = bc_ent; in iwl_pcie_txq_update_byte_cnt_tbl()
248 scd_bc_tbl[txq_id]. in iwl_pcie_txq_update_byte_cnt_tbl()
258 int txq_id = txq->q.id; in iwl_pcie_txq_inval_byte_cnt_tbl() local
267 if (txq_id != trans_pcie->cmd_queue) in iwl_pcie_txq_inval_byte_cnt_tbl()
271 scd_bc_tbl[txq_id].tfd_offset[read_ptr] = bc_ent; in iwl_pcie_txq_inval_byte_cnt_tbl()
274 scd_bc_tbl[txq_id]. in iwl_pcie_txq_inval_byte_cnt_tbl()
286 int txq_id = txq->q.id; in iwl_pcie_txq_inc_wr_ptr() local
297 txq_id != trans_pcie->cmd_queue && in iwl_pcie_txq_inc_wr_ptr()
308 txq_id, reg); in iwl_pcie_txq_inc_wr_ptr()
320 IWL_DEBUG_TX(trans, "Q:%d WR: 0x%x\n", txq_id, txq->q.write_ptr); in iwl_pcie_txq_inc_wr_ptr()
321 iwl_write32(trans, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8)); in iwl_pcie_txq_inc_wr_ptr()
483 u32 txq_id) in iwl_pcie_txq_alloc() argument
506 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
535 txq->q.id = txq_id; in iwl_pcie_txq_alloc()
541 if (txq->entries && txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
552 int slots_num, u32 txq_id) in iwl_pcie_txq_init() argument
563 ret = iwl_queue_init(&txq->q, slots_num, txq_id); in iwl_pcie_txq_init()
573 iwl_write_direct32(trans, FH_MEM_CBBC_QUEUE(txq_id), in iwl_pcie_txq_init()
582 static void iwl_pcie_txq_unmap(struct iwl_trans *trans, int txq_id) in iwl_pcie_txq_unmap() argument
585 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_unmap()
591 txq_id, q->read_ptr); in iwl_pcie_txq_unmap()
610 static void iwl_pcie_txq_free(struct iwl_trans *trans, int txq_id) in iwl_pcie_txq_free() argument
613 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_free()
620 iwl_pcie_txq_unmap(trans, txq_id); in iwl_pcie_txq_free()
623 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_free()
711 int txq_id; in iwl_trans_pcie_tx_reset() local
713 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_trans_pcie_tx_reset()
714 txq_id++) { in iwl_trans_pcie_tx_reset()
715 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx_reset()
717 iwl_write_direct32(trans, FH_MEM_CBBC_QUEUE(txq_id), in iwl_trans_pcie_tx_reset()
719 iwl_pcie_txq_unmap(trans, txq_id); in iwl_trans_pcie_tx_reset()
773 int txq_id; in iwl_pcie_tx_stop() local
794 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_stop()
795 txq_id++) in iwl_pcie_tx_stop()
796 iwl_pcie_txq_unmap(trans, txq_id); in iwl_pcie_tx_stop()
808 int txq_id; in iwl_pcie_tx_free() local
813 for (txq_id = 0; in iwl_pcie_tx_free()
814 txq_id < trans->cfg->base_params->num_of_queues; txq_id++) in iwl_pcie_tx_free()
815 iwl_pcie_txq_free(trans, txq_id); in iwl_pcie_tx_free()
833 int txq_id, slots_num; in iwl_pcie_tx_alloc() local
869 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_alloc()
870 txq_id++) { in iwl_pcie_tx_alloc()
871 slots_num = (txq_id == trans_pcie->cmd_queue) ? in iwl_pcie_tx_alloc()
873 ret = iwl_pcie_txq_alloc(trans, &trans_pcie->txq[txq_id], in iwl_pcie_tx_alloc()
874 slots_num, txq_id); in iwl_pcie_tx_alloc()
876 IWL_ERR(trans, "Tx %d queue alloc failed\n", txq_id); in iwl_pcie_tx_alloc()
892 int txq_id, slots_num; in iwl_pcie_tx_init() local
914 for (txq_id = 0; txq_id < trans->cfg->base_params->num_of_queues; in iwl_pcie_tx_init()
915 txq_id++) { in iwl_pcie_tx_init()
916 slots_num = (txq_id == trans_pcie->cmd_queue) ? in iwl_pcie_tx_init()
918 ret = iwl_pcie_txq_init(trans, &trans_pcie->txq[txq_id], in iwl_pcie_tx_init()
919 slots_num, txq_id); in iwl_pcie_tx_init()
921 IWL_ERR(trans, "Tx %d queue init failed\n", txq_id); in iwl_pcie_tx_init()
964 void iwl_trans_pcie_reclaim(struct iwl_trans *trans, int txq_id, int ssn, in iwl_trans_pcie_reclaim() argument
968 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_reclaim()
974 if (WARN_ON(txq_id == trans_pcie->cmd_queue)) in iwl_trans_pcie_reclaim()
981 txq_id, ssn); in iwl_trans_pcie_reclaim()
989 txq_id, txq->q.read_ptr, tfd_num, ssn); in iwl_trans_pcie_reclaim()
998 __func__, txq_id, last_to_free, TFD_QUEUE_SIZE_MAX, in iwl_trans_pcie_reclaim()
1109 static void iwl_pcie_cmdq_reclaim(struct iwl_trans *trans, int txq_id, int idx) in iwl_pcie_cmdq_reclaim() argument
1112 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_cmdq_reclaim()
1122 __func__, txq_id, idx, TFD_QUEUE_SIZE_MAX, in iwl_pcie_cmdq_reclaim()
1147 u16 txq_id) in iwl_pcie_txq_set_ratid_map() argument
1157 SCD_TRANS_TBL_OFFSET_QUEUE(txq_id); in iwl_pcie_txq_set_ratid_map()
1161 if (txq_id & 0x1) in iwl_pcie_txq_set_ratid_map()
1175 void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn, in iwl_trans_pcie_txq_enable() argument
1180 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_txq_enable()
1183 if (test_and_set_bit(txq_id, trans_pcie->queue_used)) in iwl_trans_pcie_txq_enable()
1184 WARN_ONCE(1, "queue %d already used - expect issues", txq_id); in iwl_trans_pcie_txq_enable()
1192 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1197 iwl_scd_txq_set_inactive(trans, txq_id); in iwl_trans_pcie_txq_enable()
1200 if (txq_id != trans_pcie->cmd_queue) in iwl_trans_pcie_txq_enable()
1201 iwl_scd_txq_set_chain(trans, txq_id); in iwl_trans_pcie_txq_enable()
1207 iwl_pcie_txq_set_ratid_map(trans, ra_tid, txq_id); in iwl_trans_pcie_txq_enable()
1210 iwl_scd_txq_enable_agg(trans, txq_id); in iwl_trans_pcie_txq_enable()
1218 iwl_scd_txq_disable_agg(trans, txq_id); in iwl_trans_pcie_txq_enable()
1229 (ssn & 0xff) | (txq_id << 8)); in iwl_trans_pcie_txq_enable()
1234 iwl_write_prph(trans, SCD_QUEUE_RDPTR(txq_id), ssn); in iwl_trans_pcie_txq_enable()
1238 SCD_CONTEXT_QUEUE_OFFSET(txq_id), 0); in iwl_trans_pcie_txq_enable()
1241 SCD_CONTEXT_QUEUE_OFFSET(txq_id) + sizeof(u32), in iwl_trans_pcie_txq_enable()
1248 iwl_write_prph(trans, SCD_QUEUE_STATUS_BITS(txq_id), in iwl_trans_pcie_txq_enable()
1255 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1257 iwl_scd_enable_set_active(trans, BIT(txq_id)); in iwl_trans_pcie_txq_enable()
1261 txq_id, fifo, ssn & 0xff); in iwl_trans_pcie_txq_enable()
1265 txq_id, ssn & 0xff); in iwl_trans_pcie_txq_enable()
1271 void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id, in iwl_trans_pcie_txq_disable() argument
1276 SCD_TX_STTS_QUEUE_OFFSET(txq_id); in iwl_trans_pcie_txq_disable()
1279 trans_pcie->txq[txq_id].frozen_expiry_remainder = 0; in iwl_trans_pcie_txq_disable()
1280 trans_pcie->txq[txq_id].frozen = false; in iwl_trans_pcie_txq_disable()
1288 if (!test_and_clear_bit(txq_id, trans_pcie->queue_used)) { in iwl_trans_pcie_txq_disable()
1290 "queue %d not used", txq_id); in iwl_trans_pcie_txq_disable()
1295 iwl_scd_txq_set_inactive(trans, txq_id); in iwl_trans_pcie_txq_disable()
1301 iwl_pcie_txq_unmap(trans, txq_id); in iwl_trans_pcie_txq_disable()
1302 trans_pcie->txq[txq_id].ampdu = false; in iwl_trans_pcie_txq_disable()
1304 IWL_DEBUG_TX_QUEUES(trans, "Deactivate queue %d\n", txq_id); in iwl_trans_pcie_txq_disable()
1604 int txq_id = SEQ_TO_QUEUE(sequence); in iwl_pcie_hcmd_complete() local
1615 if (WARN(txq_id != trans_pcie->cmd_queue, in iwl_pcie_hcmd_complete()
1617 txq_id, trans_pcie->cmd_queue, sequence, in iwl_pcie_hcmd_complete()
1641 iwl_pcie_cmdq_reclaim(trans, txq_id, index); in iwl_pcie_hcmd_complete()
1798 struct iwl_device_cmd *dev_cmd, int txq_id) in iwl_trans_pcie_tx() argument
1815 txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx()
1818 if (WARN_ONCE(!test_bit(txq_id, trans_pcie->queue_used), in iwl_trans_pcie_tx()
1819 "TX on unused queue %d\n", txq_id)) in iwl_trans_pcie_tx()
1845 txq_id, wifi_seq, q->write_ptr); in iwl_trans_pcie_tx()
1852 cpu_to_le16((u16)(QUEUE_TO_SEQ(txq_id) | in iwl_trans_pcie_tx()