Lines Matching refs:trans_pcie
150 struct iwl_trans_pcie *trans_pcie = txq->trans_pcie; in iwl_pcie_txq_stuck_timer() local
151 struct iwl_trans *trans = iwl_trans_pcie_get_trans(trans_pcie); in iwl_pcie_txq_stuck_timer()
152 u32 scd_sram_addr = trans_pcie->scd_base_addr + in iwl_pcie_txq_stuck_timer()
184 trans_pcie->scd_base_addr + in iwl_pcie_txq_stuck_timer()
210 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_update_byte_cnt_tbl() local
220 scd_bc_tbl = trans_pcie->scd_bc_tbls.addr; in iwl_pcie_txq_update_byte_cnt_tbl()
239 if (trans_pcie->bc_table_dword) in iwl_pcie_txq_update_byte_cnt_tbl()
254 struct iwl_trans_pcie *trans_pcie = in iwl_pcie_txq_inval_byte_cnt_tbl() local
256 struct iwlagn_scd_bc_tbl *scd_bc_tbl = trans_pcie->scd_bc_tbls.addr; in iwl_pcie_txq_inval_byte_cnt_tbl()
266 if (txq_id != trans_pcie->cmd_queue) in iwl_pcie_txq_inval_byte_cnt_tbl()
283 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_inc_wr_ptr() local
296 txq_id != trans_pcie->cmd_queue && in iwl_pcie_txq_inc_wr_ptr()
325 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_check_wrptrs() local
329 struct iwl_txq *txq = &trans_pcie->txq[i]; in iwl_pcie_txq_check_wrptrs()
332 if (trans_pcie->txq[i].need_update) { in iwl_pcie_txq_check_wrptrs()
334 trans_pcie->txq[i].need_update = false; in iwl_pcie_txq_check_wrptrs()
477 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_alloc() local
487 txq->trans_pcie = trans_pcie; in iwl_pcie_txq_alloc()
498 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
533 if (txq->entries && txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
576 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_unmap() local
577 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_unmap()
604 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_free() local
605 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_free()
615 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_free()
645 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_start() local
653 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_start()
654 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_start()
656 trans_pcie->scd_base_addr = in iwl_pcie_tx_start()
660 scd_base_addr != trans_pcie->scd_base_addr); in iwl_pcie_tx_start()
663 iwl_trans_write_mem(trans, trans_pcie->scd_base_addr + in iwl_pcie_tx_start()
668 trans_pcie->scd_bc_tbls.dma >> 10); in iwl_pcie_tx_start()
676 iwl_trans_ac_txq_enable(trans, trans_pcie->cmd_queue, in iwl_pcie_tx_start()
677 trans_pcie->cmd_fifo, in iwl_pcie_tx_start()
678 trans_pcie->cmd_q_wdg_timeout); in iwl_pcie_tx_start()
702 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx_reset() local
707 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx_reset()
718 trans_pcie->kw.dma >> 4); in iwl_trans_pcie_tx_reset()
730 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop_fh() local
735 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
756 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
764 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop() local
778 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_stop()
779 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_stop()
782 if (!trans_pcie->txq) in iwl_pcie_tx_stop()
801 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_free() local
804 if (trans_pcie->txq) { in iwl_pcie_tx_free()
810 kfree(trans_pcie->txq); in iwl_pcie_tx_free()
811 trans_pcie->txq = NULL; in iwl_pcie_tx_free()
813 iwl_pcie_free_dma_ptr(trans, &trans_pcie->kw); in iwl_pcie_tx_free()
815 iwl_pcie_free_dma_ptr(trans, &trans_pcie->scd_bc_tbls); in iwl_pcie_tx_free()
826 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_alloc() local
833 if (WARN_ON(trans_pcie->txq)) { in iwl_pcie_tx_alloc()
838 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->scd_bc_tbls, in iwl_pcie_tx_alloc()
846 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->kw, IWL_KW_SIZE); in iwl_pcie_tx_alloc()
852 trans_pcie->txq = kcalloc(trans->cfg->base_params->num_of_queues, in iwl_pcie_tx_alloc()
854 if (!trans_pcie->txq) { 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()
882 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_init() local
887 if (!trans_pcie->txq) { in iwl_pcie_tx_init()
894 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_init()
901 trans_pcie->kw.dma >> 4); in iwl_pcie_tx_init()
903 spin_unlock(&trans_pcie->irq_lock); 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()
958 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_reclaim() local
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()
1030 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_set_cmd_in_flight() local
1033 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_set_cmd_in_flight()
1036 !trans_pcie->ref_cmd_in_flight) { in iwl_pcie_set_cmd_in_flight()
1037 trans_pcie->ref_cmd_in_flight = true; in iwl_pcie_set_cmd_in_flight()
1049 !trans_pcie->cmd_hold_nic_awake) { in iwl_pcie_set_cmd_in_flight()
1066 trans_pcie->cmd_hold_nic_awake = true; in iwl_pcie_set_cmd_in_flight()
1074 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_clear_cmd_in_flight() local
1076 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_clear_cmd_in_flight()
1078 if (trans_pcie->ref_cmd_in_flight) { in iwl_pcie_clear_cmd_in_flight()
1079 trans_pcie->ref_cmd_in_flight = false; in iwl_pcie_clear_cmd_in_flight()
1085 if (WARN_ON(!trans_pcie->cmd_hold_nic_awake)) in iwl_pcie_clear_cmd_in_flight()
1088 trans_pcie->cmd_hold_nic_awake = false; in iwl_pcie_clear_cmd_in_flight()
1104 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_cmdq_reclaim() local
1105 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_cmdq_reclaim()
1131 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1133 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1142 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_set_ratid_map() local
1149 tbl_dw_addr = trans_pcie->scd_base_addr + in iwl_pcie_txq_set_ratid_map()
1172 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_enable() local
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()
1185 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1186 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1193 if (txq_id != trans_pcie->cmd_queue) in iwl_trans_pcie_txq_enable()
1230 iwl_trans_write_mem32(trans, trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1233 trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1248 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1249 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1267 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_disable() local
1268 u32 stts_addr = trans_pcie->scd_base_addr + 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()
1295 trans_pcie->txq[txq_id].ampdu = false; in iwl_trans_pcie_txq_disable()
1314 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_enqueue_hcmd() local
1315 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_enqueue_hcmd()
1396 get_cmd_string(trans_pcie, cmd->id), cmd->id, copy_size)) { in iwl_pcie_enqueue_hcmd()
1425 cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | in iwl_pcie_enqueue_hcmd()
1470 get_cmd_string(trans_pcie, out_cmd->hdr.cmd), in iwl_pcie_enqueue_hcmd()
1472 cmd_size, q->write_ptr, idx, trans_pcie->cmd_queue); in iwl_pcie_enqueue_hcmd()
1532 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1536 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1544 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1574 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_hcmd_complete() local
1575 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_hcmd_complete()
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()
1583 trans_pcie->txq[trans_pcie->cmd_queue].q.read_ptr, in iwl_pcie_hcmd_complete()
1584 trans_pcie->txq[trans_pcie->cmd_queue].q.write_ptr)) { in iwl_pcie_hcmd_complete()
1603 meta->source->_rx_page_order = trans_pcie->rx_page_order; in iwl_pcie_hcmd_complete()
1613 get_cmd_string(trans_pcie, cmd->hdr.cmd)); in iwl_pcie_hcmd_complete()
1617 get_cmd_string(trans_pcie, cmd->hdr.cmd)); in iwl_pcie_hcmd_complete()
1618 wake_up(&trans_pcie->wait_command_queue); in iwl_pcie_hcmd_complete()
1631 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_send_hcmd_async() local
1642 get_cmd_string(trans_pcie, cmd->id), ret); in iwl_pcie_send_hcmd_async()
1651 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_send_hcmd_sync() local
1656 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1661 get_cmd_string(trans_pcie, cmd->id))) in iwl_pcie_send_hcmd_sync()
1665 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1673 get_cmd_string(trans_pcie, cmd->id), ret); in iwl_pcie_send_hcmd_sync()
1677 ret = wait_event_timeout(trans_pcie->wait_command_queue, in iwl_pcie_send_hcmd_sync()
1682 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_send_hcmd_sync()
1686 get_cmd_string(trans_pcie, cmd->id), in iwl_pcie_send_hcmd_sync()
1694 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1705 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1720 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1735 trans_pcie->txq[trans_pcie->cmd_queue]. in iwl_pcie_send_hcmd_sync()
1766 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx() local
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()