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()
237 if (trans_pcie->bc_table_dword) in iwl_pcie_txq_update_byte_cnt_tbl()
255 struct iwl_trans_pcie *trans_pcie = in iwl_pcie_txq_inval_byte_cnt_tbl() local
257 struct iwlagn_scd_bc_tbl *scd_bc_tbl = trans_pcie->scd_bc_tbls.addr; in iwl_pcie_txq_inval_byte_cnt_tbl()
267 if (txq_id != trans_pcie->cmd_queue) in iwl_pcie_txq_inval_byte_cnt_tbl()
284 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_inc_wr_ptr() local
297 txq_id != trans_pcie->cmd_queue && in iwl_pcie_txq_inc_wr_ptr()
326 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_check_wrptrs() local
330 struct iwl_txq *txq = &trans_pcie->txq[i]; in iwl_pcie_txq_check_wrptrs()
333 if (trans_pcie->txq[i].need_update) { in iwl_pcie_txq_check_wrptrs()
335 trans_pcie->txq[i].need_update = false; in iwl_pcie_txq_check_wrptrs()
485 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_alloc() local
495 txq->trans_pcie = trans_pcie; in iwl_pcie_txq_alloc()
506 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
541 if (txq->entries && txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_alloc()
584 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_unmap() local
585 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_unmap()
612 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_free() local
613 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_txq_free()
623 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_free()
653 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_start() local
661 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_start()
662 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_start()
664 trans_pcie->scd_base_addr = in iwl_pcie_tx_start()
668 scd_base_addr != trans_pcie->scd_base_addr); in iwl_pcie_tx_start()
671 iwl_trans_write_mem(trans, trans_pcie->scd_base_addr + in iwl_pcie_tx_start()
676 trans_pcie->scd_bc_tbls.dma >> 10); in iwl_pcie_tx_start()
684 iwl_trans_ac_txq_enable(trans, trans_pcie->cmd_queue, in iwl_pcie_tx_start()
685 trans_pcie->cmd_fifo, in iwl_pcie_tx_start()
686 trans_pcie->cmd_q_wdg_timeout); in iwl_pcie_tx_start()
710 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx_reset() local
715 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx_reset()
726 trans_pcie->kw.dma >> 4); in iwl_trans_pcie_tx_reset()
738 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop_fh() local
743 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
764 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
772 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop() local
786 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_stop()
787 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_stop()
790 if (!trans_pcie->txq) in iwl_pcie_tx_stop()
809 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_free() local
812 if (trans_pcie->txq) { in iwl_pcie_tx_free()
818 kfree(trans_pcie->txq); in iwl_pcie_tx_free()
819 trans_pcie->txq = NULL; in iwl_pcie_tx_free()
821 iwl_pcie_free_dma_ptr(trans, &trans_pcie->kw); in iwl_pcie_tx_free()
823 iwl_pcie_free_dma_ptr(trans, &trans_pcie->scd_bc_tbls); in iwl_pcie_tx_free()
834 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_alloc() local
841 if (WARN_ON(trans_pcie->txq)) { in iwl_pcie_tx_alloc()
846 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->scd_bc_tbls, in iwl_pcie_tx_alloc()
854 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->kw, IWL_KW_SIZE); in iwl_pcie_tx_alloc()
860 trans_pcie->txq = kcalloc(trans->cfg->base_params->num_of_queues, in iwl_pcie_tx_alloc()
862 if (!trans_pcie->txq) { 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()
890 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_init() local
895 if (!trans_pcie->txq) { in iwl_pcie_tx_init()
902 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_init()
909 trans_pcie->kw.dma >> 4); in iwl_pcie_tx_init()
911 spin_unlock(&trans_pcie->irq_lock); 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()
967 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_reclaim() local
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()
1039 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_set_cmd_in_flight() local
1042 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_set_cmd_in_flight()
1045 !trans_pcie->ref_cmd_in_flight) { in iwl_pcie_set_cmd_in_flight()
1046 trans_pcie->ref_cmd_in_flight = true; in iwl_pcie_set_cmd_in_flight()
1058 !trans_pcie->cmd_hold_nic_awake) { in iwl_pcie_set_cmd_in_flight()
1073 trans_pcie->cmd_hold_nic_awake = true; in iwl_pcie_set_cmd_in_flight()
1081 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_clear_cmd_in_flight() local
1083 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_clear_cmd_in_flight()
1085 if (trans_pcie->ref_cmd_in_flight) { in iwl_pcie_clear_cmd_in_flight()
1086 trans_pcie->ref_cmd_in_flight = false; in iwl_pcie_clear_cmd_in_flight()
1092 if (WARN_ON(!trans_pcie->cmd_hold_nic_awake)) in iwl_pcie_clear_cmd_in_flight()
1095 trans_pcie->cmd_hold_nic_awake = false; in iwl_pcie_clear_cmd_in_flight()
1111 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_cmdq_reclaim() local
1112 struct iwl_txq *txq = &trans_pcie->txq[txq_id]; in iwl_pcie_cmdq_reclaim()
1138 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1140 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1149 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_set_ratid_map() local
1156 tbl_dw_addr = trans_pcie->scd_base_addr + in iwl_pcie_txq_set_ratid_map()
1179 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_enable() local
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()
1192 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1193 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1200 if (txq_id != trans_pcie->cmd_queue) in iwl_trans_pcie_txq_enable()
1237 iwl_trans_write_mem32(trans, trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1240 trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1255 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1256 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1274 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_disable() local
1275 u32 stts_addr = trans_pcie->scd_base_addr + 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()
1302 trans_pcie->txq[txq_id].ampdu = false; in iwl_trans_pcie_txq_disable()
1321 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_enqueue_hcmd() local
1322 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_enqueue_hcmd()
1338 if (WARN(!trans_pcie->wide_cmd_header && in iwl_pcie_enqueue_hcmd()
1414 get_cmd_string(trans_pcie, cmd->id), cmd->id, copy_size)) { in iwl_pcie_enqueue_hcmd()
1448 cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | in iwl_pcie_enqueue_hcmd()
1456 cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | in iwl_pcie_enqueue_hcmd()
1504 get_cmd_string(trans_pcie, out_cmd->hdr.cmd), in iwl_pcie_enqueue_hcmd()
1507 cmd_size, q->write_ptr, idx, trans_pcie->cmd_queue); in iwl_pcie_enqueue_hcmd()
1569 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1573 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1581 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1609 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_hcmd_complete() local
1610 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_hcmd_complete()
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()
1618 trans_pcie->txq[trans_pcie->cmd_queue].q.read_ptr, in iwl_pcie_hcmd_complete()
1619 trans_pcie->txq[trans_pcie->cmd_queue].q.write_ptr)) { in iwl_pcie_hcmd_complete()
1638 meta->source->_rx_page_order = trans_pcie->rx_page_order; in iwl_pcie_hcmd_complete()
1647 get_cmd_string(trans_pcie, cmd->hdr.cmd)); in iwl_pcie_hcmd_complete()
1651 get_cmd_string(trans_pcie, cmd->hdr.cmd)); in iwl_pcie_hcmd_complete()
1652 wake_up(&trans_pcie->wait_command_queue); in iwl_pcie_hcmd_complete()
1665 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_send_hcmd_async() local
1676 get_cmd_string(trans_pcie, cmd->id), ret); in iwl_pcie_send_hcmd_async()
1685 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_send_hcmd_sync() local
1690 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1695 get_cmd_string(trans_pcie, cmd->id))) in iwl_pcie_send_hcmd_sync()
1699 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1707 get_cmd_string(trans_pcie, cmd->id), ret); in iwl_pcie_send_hcmd_sync()
1711 ret = wait_event_timeout(trans_pcie->wait_command_queue, in iwl_pcie_send_hcmd_sync()
1716 struct iwl_txq *txq = &trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_send_hcmd_sync()
1720 get_cmd_string(trans_pcie, cmd->id), in iwl_pcie_send_hcmd_sync()
1728 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1739 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1754 get_cmd_string(trans_pcie, cmd->id)); in iwl_pcie_send_hcmd_sync()
1769 trans_pcie->txq[trans_pcie->cmd_queue]. in iwl_pcie_send_hcmd_sync()
1800 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx() local
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()