Lines Matching refs:trans_pcie

155 	struct iwl_trans_pcie *trans_pcie = txq->trans_pcie;  in iwl_pcie_txq_stuck_timer()  local
156 struct iwl_trans *trans = iwl_trans_pcie_get_trans(trans_pcie); in iwl_pcie_txq_stuck_timer()
179 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_update_byte_cnt_tbl() local
189 scd_bc_tbl = trans_pcie->scd_bc_tbls.addr; in iwl_pcie_txq_update_byte_cnt_tbl()
204 if (trans_pcie->bc_table_dword) in iwl_pcie_txq_update_byte_cnt_tbl()
222 struct iwl_trans_pcie *trans_pcie = in iwl_pcie_txq_inval_byte_cnt_tbl() local
224 struct iwlagn_scd_bc_tbl *scd_bc_tbl = trans_pcie->scd_bc_tbls.addr; in iwl_pcie_txq_inval_byte_cnt_tbl()
234 if (txq_id != trans_pcie->cmd_queue) in iwl_pcie_txq_inval_byte_cnt_tbl()
252 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_inc_wr_ptr() local
265 txq_id != trans_pcie->cmd_queue && in iwl_pcie_txq_inc_wr_ptr()
296 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_check_wrptrs() local
300 struct iwl_txq *txq = trans_pcie->txq[i]; in iwl_pcie_txq_check_wrptrs()
302 if (!test_bit(i, trans_pcie->queue_used)) in iwl_pcie_txq_check_wrptrs()
376 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tfd_unmap() local
383 if (num_tbs > trans_pcie->max_tbs) { in iwl_pcie_tfd_unmap()
462 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_build_tfd() local
466 tfd = txq->tfds + trans_pcie->tfd_size * txq->write_ptr; in iwl_pcie_txq_build_tfd()
469 memset(tfd, 0, trans_pcie->tfd_size); in iwl_pcie_txq_build_tfd()
474 if (num_tbs >= trans_pcie->max_tbs) { in iwl_pcie_txq_build_tfd()
476 trans_pcie->max_tbs); in iwl_pcie_txq_build_tfd()
492 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_alloc() local
493 size_t tfd_sz = trans_pcie->tfd_size * in iwl_pcie_txq_alloc()
502 tfd_sz = trans_pcie->tfd_size * slots_num; in iwl_pcie_txq_alloc()
505 txq->trans_pcie = trans_pcie; in iwl_pcie_txq_alloc()
589 void iwl_pcie_free_tso_page(struct iwl_trans_pcie *trans_pcie, in iwl_pcie_free_tso_page() argument
594 page_ptr = (void *)((u8 *)skb->cb + trans_pcie->page_offs); in iwl_pcie_free_tso_page()
604 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_clear_cmd_in_flight() local
606 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_clear_cmd_in_flight()
608 if (trans_pcie->ref_cmd_in_flight) { in iwl_pcie_clear_cmd_in_flight()
609 trans_pcie->ref_cmd_in_flight = false; in iwl_pcie_clear_cmd_in_flight()
616 if (WARN_ON(!trans_pcie->cmd_hold_nic_awake)) in iwl_pcie_clear_cmd_in_flight()
619 trans_pcie->cmd_hold_nic_awake = false; in iwl_pcie_clear_cmd_in_flight()
629 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_unmap() local
630 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_pcie_txq_unmap()
637 if (txq_id != trans_pcie->cmd_queue) { in iwl_pcie_txq_unmap()
643 iwl_pcie_free_tso_page(trans_pcie, skb); in iwl_pcie_txq_unmap()
651 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_txq_unmap()
652 if (txq_id != trans_pcie->cmd_queue) { in iwl_pcie_txq_unmap()
659 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_txq_unmap()
685 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_free() local
686 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_pcie_txq_free()
696 if (txq_id == trans_pcie->cmd_queue) in iwl_pcie_txq_free()
705 trans_pcie->tfd_size * in iwl_pcie_txq_free()
727 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_start() local
735 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_start()
736 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_start()
738 trans_pcie->scd_base_addr = in iwl_pcie_tx_start()
742 scd_base_addr != trans_pcie->scd_base_addr); in iwl_pcie_tx_start()
745 iwl_trans_write_mem(trans, trans_pcie->scd_base_addr + in iwl_pcie_tx_start()
750 trans_pcie->scd_bc_tbls.dma >> 10); in iwl_pcie_tx_start()
758 iwl_trans_ac_txq_enable(trans, trans_pcie->cmd_queue, in iwl_pcie_tx_start()
759 trans_pcie->cmd_fifo, in iwl_pcie_tx_start()
760 trans_pcie->cmd_q_wdg_timeout); in iwl_pcie_tx_start()
784 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx_reset() local
796 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx_reset()
812 trans_pcie->kw.dma >> 4); in iwl_trans_pcie_tx_reset()
824 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop_fh() local
829 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
850 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_tx_stop_fh()
858 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_stop() local
872 memset(trans_pcie->queue_stopped, 0, sizeof(trans_pcie->queue_stopped)); in iwl_pcie_tx_stop()
873 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_stop()
876 if (!trans_pcie->txq_memory) in iwl_pcie_tx_stop()
895 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_free() local
897 memset(trans_pcie->queue_used, 0, sizeof(trans_pcie->queue_used)); in iwl_pcie_tx_free()
900 if (trans_pcie->txq_memory) { in iwl_pcie_tx_free()
905 trans_pcie->txq[txq_id] = NULL; in iwl_pcie_tx_free()
909 kfree(trans_pcie->txq_memory); in iwl_pcie_tx_free()
910 trans_pcie->txq_memory = NULL; in iwl_pcie_tx_free()
912 iwl_pcie_free_dma_ptr(trans, &trans_pcie->kw); in iwl_pcie_tx_free()
914 iwl_pcie_free_dma_ptr(trans, &trans_pcie->scd_bc_tbls); in iwl_pcie_tx_free()
925 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_alloc() local
934 if (WARN_ON(trans_pcie->txq_memory)) { in iwl_pcie_tx_alloc()
939 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->scd_bc_tbls, in iwl_pcie_tx_alloc()
947 ret = iwl_pcie_alloc_dma_ptr(trans, &trans_pcie->kw, IWL_KW_SIZE); in iwl_pcie_tx_alloc()
953 trans_pcie->txq_memory = kcalloc(trans->cfg->base_params->num_of_queues, in iwl_pcie_tx_alloc()
955 if (!trans_pcie->txq_memory) { in iwl_pcie_tx_alloc()
964 bool cmd_queue = (txq_id == trans_pcie->cmd_queue); in iwl_pcie_tx_alloc()
967 trans_pcie->txq[txq_id] = &trans_pcie->txq_memory[txq_id]; in iwl_pcie_tx_alloc()
968 ret = iwl_pcie_txq_alloc(trans, trans_pcie->txq[txq_id], in iwl_pcie_tx_alloc()
974 trans_pcie->txq[txq_id]->id = txq_id; in iwl_pcie_tx_alloc()
987 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_tx_init() local
992 if (!trans_pcie->txq_memory) { in iwl_pcie_tx_init()
999 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_tx_init()
1006 trans_pcie->kw.dma >> 4); in iwl_pcie_tx_init()
1008 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_tx_init()
1013 bool cmd_queue = (txq_id == trans_pcie->cmd_queue); in iwl_pcie_tx_init()
1016 ret = iwl_pcie_txq_init(trans, trans_pcie->txq[txq_id], in iwl_pcie_tx_init()
1030 trans_pcie->txq[txq_id]->dma_addr >> 8); in iwl_pcie_tx_init()
1074 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_reclaim() local
1075 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_trans_pcie_reclaim()
1081 if (WARN_ON(txq_id == trans_pcie->cmd_queue)) in iwl_trans_pcie_reclaim()
1086 if (!test_bit(txq_id, trans_pcie->queue_used)) { in iwl_trans_pcie_reclaim()
1123 iwl_pcie_free_tso_page(trans_pcie, skb); in iwl_trans_pcie_reclaim()
1138 test_bit(txq_id, trans_pcie->queue_stopped)) { in iwl_trans_pcie_reclaim()
1158 trans_pcie->dev_cmd_offs); in iwl_trans_pcie_reclaim()
1185 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_set_cmd_in_flight() local
1189 lockdep_assert_held(&trans_pcie->reg_lock); in iwl_pcie_set_cmd_in_flight()
1192 !trans_pcie->ref_cmd_in_flight) { in iwl_pcie_set_cmd_in_flight()
1193 trans_pcie->ref_cmd_in_flight = true; in iwl_pcie_set_cmd_in_flight()
1205 !trans_pcie->cmd_hold_nic_awake) { in iwl_pcie_set_cmd_in_flight()
1220 trans_pcie->cmd_hold_nic_awake = true; in iwl_pcie_set_cmd_in_flight()
1235 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_cmdq_reclaim() local
1236 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_pcie_cmdq_reclaim()
1268 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1270 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_cmdq_reclaim()
1279 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_txq_set_ratid_map() local
1286 tbl_dw_addr = trans_pcie->scd_base_addr + in iwl_pcie_txq_set_ratid_map()
1309 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_enable() local
1310 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_trans_pcie_txq_enable()
1314 if (test_and_set_bit(txq_id, trans_pcie->queue_used)) in iwl_trans_pcie_txq_enable()
1323 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1324 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1331 if (txq_id != trans_pcie->cmd_queue) in iwl_trans_pcie_txq_enable()
1385 iwl_trans_write_mem32(trans, trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1388 trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_enable()
1401 if (txq_id == trans_pcie->cmd_queue && in iwl_trans_pcie_txq_enable()
1402 trans_pcie->scd_set_active) in iwl_trans_pcie_txq_enable()
1420 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_set_shared_mode() local
1421 struct iwl_txq *txq = trans_pcie->txq[txq_id]; in iwl_trans_pcie_txq_set_shared_mode()
1429 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_txq_disable() local
1430 u32 stts_addr = trans_pcie->scd_base_addr + in iwl_trans_pcie_txq_disable()
1434 trans_pcie->txq[txq_id]->frozen_expiry_remainder = 0; in iwl_trans_pcie_txq_disable()
1435 trans_pcie->txq[txq_id]->frozen = false; in iwl_trans_pcie_txq_disable()
1443 if (!test_and_clear_bit(txq_id, trans_pcie->queue_used)) { in iwl_trans_pcie_txq_disable()
1457 trans_pcie->txq[txq_id]->ampdu = false; in iwl_trans_pcie_txq_disable()
1476 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_enqueue_hcmd() local
1477 struct iwl_txq *txq = trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_enqueue_hcmd()
1603 cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | in iwl_pcie_enqueue_hcmd()
1611 cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | in iwl_pcie_enqueue_hcmd()
1662 cmd_size, txq->write_ptr, idx, trans_pcie->cmd_queue); in iwl_pcie_enqueue_hcmd()
1723 spin_lock_irqsave(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1727 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1735 spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); in iwl_pcie_enqueue_hcmd()
1761 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_hcmd_complete() local
1762 struct iwl_txq *txq = trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_hcmd_complete()
1767 if (WARN(txq_id != trans_pcie->cmd_queue, in iwl_pcie_hcmd_complete()
1769 txq_id, trans_pcie->cmd_queue, sequence, txq->read_ptr, in iwl_pcie_hcmd_complete()
1791 meta->source->_rx_page_order = trans_pcie->rx_page_order; in iwl_pcie_hcmd_complete()
1808 wake_up(&trans_pcie->wait_command_queue); in iwl_pcie_hcmd_complete()
1815 wake_up(&trans_pcie->d0i3_waitq); in iwl_pcie_hcmd_complete()
1822 wake_up(&trans_pcie->d0i3_waitq); in iwl_pcie_hcmd_complete()
1854 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_send_hcmd_sync() local
1855 struct iwl_txq *txq = trans_pcie->txq[trans_pcie->cmd_queue]; in iwl_pcie_send_hcmd_sync()
1871 if (pm_runtime_suspended(&trans_pcie->pci_dev->dev)) { in iwl_pcie_send_hcmd_sync()
1872 ret = wait_event_timeout(trans_pcie->d0i3_waitq, in iwl_pcie_send_hcmd_sync()
1873 pm_runtime_active(&trans_pcie->pci_dev->dev), in iwl_pcie_send_hcmd_sync()
1891 ret = wait_event_timeout(trans_pcie->wait_command_queue, in iwl_pcie_send_hcmd_sync()
1979 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_fill_data_tbs() local
2026 trans_pcie->tfd_size, in iwl_fill_data_tbs()
2036 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in get_page_hdr() local
2037 struct iwl_tso_hdr_page *p = this_cpu_ptr(trans_pcie->tso_hdr_page); in get_page_hdr()
2082 struct iwl_trans_pcie *trans_pcie = txq->trans_pcie; in iwl_fill_data_tbs_amsdu() local
2100 trans_pcie->tfd_size, in iwl_fill_data_tbs_amsdu()
2119 page_ptr = (void *)((u8 *)skb->cb + trans_pcie->page_offs); in iwl_fill_data_tbs_amsdu()
2173 if (trans_pcie->sw_csum_tx) { in iwl_fill_data_tbs_amsdu()
2219 if (trans_pcie->sw_csum_tx) in iwl_fill_data_tbs_amsdu()
2240 if (trans_pcie->sw_csum_tx) { in iwl_fill_data_tbs_amsdu()
2282 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_trans_pcie_tx() local
2297 txq = trans_pcie->txq[txq_id]; in iwl_trans_pcie_tx()
2299 if (WARN_ONCE(!test_bit(txq_id, trans_pcie->queue_used), in iwl_trans_pcie_tx()
2303 if (unlikely(trans_pcie->sw_csum_tx && in iwl_trans_pcie_tx()
2319 skb_shinfo(skb)->nr_frags > IWL_PCIE_MAX_FRAGS(trans_pcie) && in iwl_trans_pcie_tx()
2340 trans_pcie->dev_cmd_offs); in iwl_trans_pcie_tx()
2392 if (trans_pcie->sw_csum_tx || !amsdu) { in iwl_trans_pcie_tx()