Lines Matching refs:trans_pcie
205 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rxq_check_wrptr() local
209 struct iwl_rxq *rxq = &trans_pcie->rxq[i]; in iwl_pcie_rxq_check_wrptr()
247 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rxmq_restock() local
269 WARN_ON(rxb->page_dma & trans_pcie->supported_dma_mask); in iwl_pcie_rxmq_restock()
364 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_alloc_page() local
365 unsigned int rbsize = iwl_trans_get_rb_size(trans_pcie->rx_buf_size); in iwl_pcie_rx_alloc_page()
366 unsigned int allocsize = PAGE_SIZE << trans_pcie->rx_page_order; in iwl_pcie_rx_alloc_page()
370 if (trans_pcie->rx_page_order > 0) in iwl_pcie_rx_alloc_page()
373 if (trans_pcie->alloc_page) { in iwl_pcie_rx_alloc_page()
374 spin_lock_bh(&trans_pcie->alloc_page_lock); in iwl_pcie_rx_alloc_page()
376 if (trans_pcie->alloc_page) { in iwl_pcie_rx_alloc_page()
377 *offset = trans_pcie->alloc_page_used; in iwl_pcie_rx_alloc_page()
378 page = trans_pcie->alloc_page; in iwl_pcie_rx_alloc_page()
379 trans_pcie->alloc_page_used += rbsize; in iwl_pcie_rx_alloc_page()
380 if (trans_pcie->alloc_page_used >= allocsize) in iwl_pcie_rx_alloc_page()
381 trans_pcie->alloc_page = NULL; in iwl_pcie_rx_alloc_page()
384 spin_unlock_bh(&trans_pcie->alloc_page_lock); in iwl_pcie_rx_alloc_page()
387 spin_unlock_bh(&trans_pcie->alloc_page_lock); in iwl_pcie_rx_alloc_page()
391 page = alloc_pages(gfp_mask, trans_pcie->rx_page_order); in iwl_pcie_rx_alloc_page()
395 trans_pcie->rx_page_order); in iwl_pcie_rx_alloc_page()
407 spin_lock_bh(&trans_pcie->alloc_page_lock); in iwl_pcie_rx_alloc_page()
408 if (!trans_pcie->alloc_page) { in iwl_pcie_rx_alloc_page()
410 trans_pcie->alloc_page = page; in iwl_pcie_rx_alloc_page()
411 trans_pcie->alloc_page_used = rbsize; in iwl_pcie_rx_alloc_page()
413 spin_unlock_bh(&trans_pcie->alloc_page_lock); in iwl_pcie_rx_alloc_page()
432 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rxq_alloc_rbs() local
454 __free_pages(page, trans_pcie->rx_page_order); in iwl_pcie_rxq_alloc_rbs()
468 trans_pcie->rx_buf_bytes, in iwl_pcie_rxq_alloc_rbs()
475 __free_pages(page, trans_pcie->rx_page_order); in iwl_pcie_rxq_alloc_rbs()
490 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_free_rbs_pool() local
493 if (!trans_pcie->rx_pool) in iwl_pcie_free_rbs_pool()
496 for (i = 0; i < RX_POOL_SIZE(trans_pcie->num_rx_bufs); i++) { in iwl_pcie_free_rbs_pool()
497 if (!trans_pcie->rx_pool[i].page) in iwl_pcie_free_rbs_pool()
499 dma_unmap_page(trans->dev, trans_pcie->rx_pool[i].page_dma, in iwl_pcie_free_rbs_pool()
500 trans_pcie->rx_buf_bytes, DMA_FROM_DEVICE); in iwl_pcie_free_rbs_pool()
501 __free_pages(trans_pcie->rx_pool[i].page, in iwl_pcie_free_rbs_pool()
502 trans_pcie->rx_page_order); in iwl_pcie_free_rbs_pool()
503 trans_pcie->rx_pool[i].page = NULL; in iwl_pcie_free_rbs_pool()
515 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_allocator() local
516 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_allocator()
562 trans_pcie->rx_buf_bytes, in iwl_pcie_rx_allocator()
566 __free_pages(page, trans_pcie->rx_page_order); in iwl_pcie_rx_allocator()
616 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_allocator_get() local
617 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_allocator_get()
652 struct iwl_trans_pcie *trans_pcie = in iwl_pcie_rx_allocator_work() local
655 iwl_pcie_rx_allocator(trans_pcie->trans); in iwl_pcie_rx_allocator_work()
705 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_alloc_rxq_dma() local
741 rxq->rb_stts = (u8 *)trans_pcie->base_rb_stts + rxq->id * rb_stts_size; in iwl_pcie_alloc_rxq_dma()
743 trans_pcie->base_rb_stts_dma + rxq->id * rb_stts_size; in iwl_pcie_alloc_rxq_dma()
749 struct iwl_rxq *rxq = &trans_pcie->rxq[i]; in iwl_pcie_alloc_rxq_dma()
759 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_alloc() local
760 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_alloc()
766 if (WARN_ON(trans_pcie->rxq)) in iwl_pcie_rx_alloc()
769 trans_pcie->rxq = kcalloc(trans->num_rx_queues, sizeof(struct iwl_rxq), in iwl_pcie_rx_alloc()
771 trans_pcie->rx_pool = kcalloc(RX_POOL_SIZE(trans_pcie->num_rx_bufs), in iwl_pcie_rx_alloc()
772 sizeof(trans_pcie->rx_pool[0]), in iwl_pcie_rx_alloc()
774 trans_pcie->global_table = in iwl_pcie_rx_alloc()
775 kcalloc(RX_POOL_SIZE(trans_pcie->num_rx_bufs), in iwl_pcie_rx_alloc()
776 sizeof(trans_pcie->global_table[0]), in iwl_pcie_rx_alloc()
778 if (!trans_pcie->rxq || !trans_pcie->rx_pool || in iwl_pcie_rx_alloc()
779 !trans_pcie->global_table) { in iwl_pcie_rx_alloc()
790 trans_pcie->base_rb_stts = in iwl_pcie_rx_alloc()
793 &trans_pcie->base_rb_stts_dma, in iwl_pcie_rx_alloc()
795 if (!trans_pcie->base_rb_stts) { in iwl_pcie_rx_alloc()
801 struct iwl_rxq *rxq = &trans_pcie->rxq[i]; in iwl_pcie_rx_alloc()
811 if (trans_pcie->base_rb_stts) { in iwl_pcie_rx_alloc()
814 trans_pcie->base_rb_stts, in iwl_pcie_rx_alloc()
815 trans_pcie->base_rb_stts_dma); in iwl_pcie_rx_alloc()
816 trans_pcie->base_rb_stts = NULL; in iwl_pcie_rx_alloc()
817 trans_pcie->base_rb_stts_dma = 0; in iwl_pcie_rx_alloc()
819 kfree(trans_pcie->rx_pool); in iwl_pcie_rx_alloc()
820 trans_pcie->rx_pool = NULL; in iwl_pcie_rx_alloc()
821 kfree(trans_pcie->global_table); in iwl_pcie_rx_alloc()
822 trans_pcie->global_table = NULL; in iwl_pcie_rx_alloc()
823 kfree(trans_pcie->rxq); in iwl_pcie_rx_alloc()
824 trans_pcie->rxq = NULL; in iwl_pcie_rx_alloc()
831 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_hw_init() local
835 switch (trans_pcie->rx_buf_size) { in iwl_pcie_rx_hw_init()
899 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_mq_hw_init() local
903 switch (trans_pcie->rx_buf_size) { in iwl_pcie_rx_mq_hw_init()
933 trans_pcie->rxq[i].bd_dma); in iwl_pcie_rx_mq_hw_init()
937 trans_pcie->rxq[i].used_bd_dma); in iwl_pcie_rx_mq_hw_init()
941 trans_pcie->rxq[i].rb_stts_dma); in iwl_pcie_rx_mq_hw_init()
1000 struct iwl_trans_pcie *trans_pcie; in iwl_pcie_napi_poll() local
1004 trans_pcie = container_of(napi->dev, struct iwl_trans_pcie, napi_dev); in iwl_pcie_napi_poll()
1005 trans = trans_pcie->trans; in iwl_pcie_napi_poll()
1013 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_napi_poll()
1016 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_napi_poll()
1027 struct iwl_trans_pcie *trans_pcie; in iwl_pcie_napi_poll_msix() local
1031 trans_pcie = container_of(napi->dev, struct iwl_trans_pcie, napi_dev); in iwl_pcie_napi_poll_msix()
1032 trans = trans_pcie->trans; in iwl_pcie_napi_poll_msix()
1042 if (trans_pcie->shared_vec_mask & IWL_SHARED_IRQ_FIRST_RSS && in iwl_pcie_napi_poll_msix()
1046 spin_lock(&trans_pcie->irq_lock); in iwl_pcie_napi_poll_msix()
1048 spin_unlock(&trans_pcie->irq_lock); in iwl_pcie_napi_poll_msix()
1058 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in _iwl_pcie_rx_init() local
1060 struct iwl_rb_allocator *rba = &trans_pcie->rba; in _iwl_pcie_rx_init()
1063 if (!trans_pcie->rxq) { in _iwl_pcie_rx_init()
1068 def_rxq = trans_pcie->rxq; in _iwl_pcie_rx_init()
1086 struct iwl_rxq *rxq = &trans_pcie->rxq[i]; in _iwl_pcie_rx_init()
1109 if (trans_pcie->msix_enabled) in _iwl_pcie_rx_init()
1112 netif_napi_add(&trans_pcie->napi_dev, &rxq->napi, in _iwl_pcie_rx_init()
1121 trans_pcie->num_rx_bufs - 1 : RX_QUEUE_SIZE; in _iwl_pcie_rx_init()
1127 struct iwl_rx_mem_buffer *rxb = &trans_pcie->rx_pool[i]; in _iwl_pcie_rx_init()
1133 trans_pcie->global_table[i] = rxb; in _iwl_pcie_rx_init()
1145 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_init() local
1154 iwl_pcie_rx_hw_init(trans, trans_pcie->rxq); in iwl_pcie_rx_init()
1156 iwl_pcie_rxq_restock(trans, trans_pcie->rxq); in iwl_pcie_rx_init()
1158 spin_lock_bh(&trans_pcie->rxq->lock); in iwl_pcie_rx_init()
1159 iwl_pcie_rxq_inc_wr_ptr(trans, trans_pcie->rxq); in iwl_pcie_rx_init()
1160 spin_unlock_bh(&trans_pcie->rxq->lock); in iwl_pcie_rx_init()
1179 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_free() local
1180 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_free()
1190 if (!trans_pcie->rxq) { in iwl_pcie_rx_free()
1199 if (trans_pcie->base_rb_stts) { in iwl_pcie_rx_free()
1202 trans_pcie->base_rb_stts, in iwl_pcie_rx_free()
1203 trans_pcie->base_rb_stts_dma); in iwl_pcie_rx_free()
1204 trans_pcie->base_rb_stts = NULL; in iwl_pcie_rx_free()
1205 trans_pcie->base_rb_stts_dma = 0; in iwl_pcie_rx_free()
1209 struct iwl_rxq *rxq = &trans_pcie->rxq[i]; in iwl_pcie_rx_free()
1218 kfree(trans_pcie->rx_pool); in iwl_pcie_rx_free()
1219 kfree(trans_pcie->global_table); in iwl_pcie_rx_free()
1220 kfree(trans_pcie->rxq); in iwl_pcie_rx_free()
1222 if (trans_pcie->alloc_page) in iwl_pcie_rx_free()
1223 __free_pages(trans_pcie->alloc_page, trans_pcie->rx_page_order); in iwl_pcie_rx_free()
1244 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_reuse_rbd() local
1245 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_reuse_rbd()
1278 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_handle_rb() local
1281 int max_len = trans_pcie->rx_buf_bytes; in iwl_pcie_rx_handle_rb()
1295 ._rx_page_order = trans_pcie->rx_page_order, in iwl_pcie_rx_handle_rb()
1347 for (i = 0; i < trans_pcie->n_no_reclaim_cmds; i++) { in iwl_pcie_rx_handle_rb()
1348 if (trans_pcie->no_reclaim_cmds[i] == in iwl_pcie_rx_handle_rb()
1356 if (rxq->id == trans_pcie->def_rx_queue) in iwl_pcie_rx_handle_rb()
1393 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1403 trans_pcie->rx_buf_bytes, in iwl_pcie_rx_handle_rb()
1411 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1426 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_get_rxb() local
1455 if (!vid || vid > RX_POOL_SIZE(trans_pcie->num_rx_bufs)) in iwl_pcie_get_rxb()
1458 rxb = trans_pcie->global_table[vid - 1]; in iwl_pcie_get_rxb()
1479 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_rx_handle() local
1484 if (WARN_ON_ONCE(!trans_pcie->rxq || !trans_pcie->rxq[queue].bd)) in iwl_pcie_rx_handle()
1487 rxq = &trans_pcie->rxq[queue]; in iwl_pcie_rx_handle()
1504 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_handle()
1508 atomic_read(&trans_pcie->rba.req_pending) * in iwl_pcie_rx_handle()
1621 struct iwl_trans_pcie *trans_pcie = iwl_pcie_get_trans_pcie(entry); in iwl_pcie_irq_rx_msix_handler() local
1622 struct iwl_trans *trans = trans_pcie->trans; in iwl_pcie_irq_rx_msix_handler()
1623 struct iwl_rxq *rxq = &trans_pcie->rxq[entry->entry]; in iwl_pcie_irq_rx_msix_handler()
1717 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_int_cause_ict() local
1727 read = le32_to_cpu(trans_pcie->ict_tbl[trans_pcie->ict_index]); in iwl_pcie_int_cause_ict()
1728 trace_iwlwifi_dev_ict_read(trans->dev, trans_pcie->ict_index, read); in iwl_pcie_int_cause_ict()
1739 trans_pcie->ict_index, read); in iwl_pcie_int_cause_ict()
1740 trans_pcie->ict_tbl[trans_pcie->ict_index] = 0; in iwl_pcie_int_cause_ict()
1741 trans_pcie->ict_index = in iwl_pcie_int_cause_ict()
1742 ((trans_pcie->ict_index + 1) & (ICT_COUNT - 1)); in iwl_pcie_int_cause_ict()
1744 read = le32_to_cpu(trans_pcie->ict_tbl[trans_pcie->ict_index]); in iwl_pcie_int_cause_ict()
1745 trace_iwlwifi_dev_ict_read(trans->dev, trans_pcie->ict_index, in iwl_pcie_int_cause_ict()
1769 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_handle_rfkill_irq() local
1770 struct isr_statistics *isr_stats = &trans_pcie->isr_stats; in iwl_pcie_handle_rfkill_irq()
1773 mutex_lock(&trans_pcie->mutex); in iwl_pcie_handle_rfkill_irq()
1780 if (trans_pcie->opmode_down) in iwl_pcie_handle_rfkill_irq()
1792 mutex_unlock(&trans_pcie->mutex); in iwl_pcie_handle_rfkill_irq()
1802 if (trans_pcie->opmode_down) in iwl_pcie_handle_rfkill_irq()
1810 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_irq_handler() local
1811 struct isr_statistics *isr_stats = &trans_pcie->isr_stats; in iwl_pcie_irq_handler()
1818 spin_lock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
1823 if (likely(trans_pcie->use_ict)) in iwl_pcie_irq_handler()
1831 inta, trans_pcie->inta_mask, in iwl_pcie_irq_handler()
1834 if (inta & (~trans_pcie->inta_mask)) in iwl_pcie_irq_handler()
1837 inta & (~trans_pcie->inta_mask)); in iwl_pcie_irq_handler()
1840 inta &= trans_pcie->inta_mask; in iwl_pcie_irq_handler()
1855 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
1866 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
1881 iwl_write32(trans, CSR_INT, inta | ~trans_pcie->inta_mask); in iwl_pcie_irq_handler()
1887 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
1920 iwl_pcie_rxmq_restock(trans, trans_pcie->rxq); in iwl_pcie_irq_handler()
2007 if (napi_schedule_prep(&trans_pcie->rxq[0].napi)) { in iwl_pcie_irq_handler()
2009 __napi_schedule(&trans_pcie->rxq[0].napi); in iwl_pcie_irq_handler()
2021 trans_pcie->ucode_write_complete = true; in iwl_pcie_irq_handler()
2022 wake_up(&trans_pcie->ucode_write_waitq); in iwl_pcie_irq_handler()
2024 if (trans_pcie->imr_status == IMR_D2S_REQUESTED) { in iwl_pcie_irq_handler()
2025 trans_pcie->imr_status = IMR_D2S_COMPLETED; in iwl_pcie_irq_handler()
2026 wake_up(&trans_pcie->ucode_write_waitq); in iwl_pcie_irq_handler()
2035 if (inta & ~(trans_pcie->inta_mask)) { in iwl_pcie_irq_handler()
2037 inta & ~trans_pcie->inta_mask); in iwl_pcie_irq_handler()
2041 spin_lock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
2054 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_handler()
2071 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_free_ict() local
2073 if (trans_pcie->ict_tbl) { in iwl_pcie_free_ict()
2075 trans_pcie->ict_tbl, in iwl_pcie_free_ict()
2076 trans_pcie->ict_tbl_dma); in iwl_pcie_free_ict()
2077 trans_pcie->ict_tbl = NULL; in iwl_pcie_free_ict()
2078 trans_pcie->ict_tbl_dma = 0; in iwl_pcie_free_ict()
2089 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_alloc_ict() local
2091 trans_pcie->ict_tbl = in iwl_pcie_alloc_ict()
2093 &trans_pcie->ict_tbl_dma, GFP_KERNEL); in iwl_pcie_alloc_ict()
2094 if (!trans_pcie->ict_tbl) in iwl_pcie_alloc_ict()
2098 if (WARN_ON(trans_pcie->ict_tbl_dma & (ICT_SIZE - 1))) { in iwl_pcie_alloc_ict()
2111 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_reset_ict() local
2114 if (!trans_pcie->ict_tbl) in iwl_pcie_reset_ict()
2117 spin_lock_bh(&trans_pcie->irq_lock); in iwl_pcie_reset_ict()
2120 memset(trans_pcie->ict_tbl, 0, ICT_SIZE); in iwl_pcie_reset_ict()
2122 val = trans_pcie->ict_tbl_dma >> ICT_SHIFT; in iwl_pcie_reset_ict()
2131 trans_pcie->use_ict = true; in iwl_pcie_reset_ict()
2132 trans_pcie->ict_index = 0; in iwl_pcie_reset_ict()
2133 iwl_write32(trans, CSR_INT, trans_pcie->inta_mask); in iwl_pcie_reset_ict()
2135 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_reset_ict()
2141 struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); in iwl_pcie_disable_ict() local
2143 spin_lock_bh(&trans_pcie->irq_lock); in iwl_pcie_disable_ict()
2144 trans_pcie->use_ict = false; in iwl_pcie_disable_ict()
2145 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_disable_ict()
2173 struct iwl_trans_pcie *trans_pcie = iwl_pcie_get_trans_pcie(entry); in iwl_pcie_irq_msix_handler() local
2174 struct iwl_trans *trans = trans_pcie->trans; in iwl_pcie_irq_msix_handler()
2175 struct isr_statistics *isr_stats = &trans_pcie->isr_stats; in iwl_pcie_irq_msix_handler()
2181 if (trans_pcie->shared_vec_mask & IWL_SHARED_IRQ_NON_RX) in iwl_pcie_irq_msix_handler()
2184 if (trans_pcie->shared_vec_mask & IWL_SHARED_IRQ_FIRST_RSS) in iwl_pcie_irq_msix_handler()
2189 spin_lock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_msix_handler()
2197 spin_unlock_bh(&trans_pcie->irq_lock); in iwl_pcie_irq_msix_handler()
2210 entry->entry, inta_fh, trans_pcie->fh_mask, in iwl_pcie_irq_msix_handler()
2212 if (inta_fh & ~trans_pcie->fh_mask) in iwl_pcie_irq_msix_handler()
2215 inta_fh & ~trans_pcie->fh_mask); in iwl_pcie_irq_msix_handler()
2218 inta_fh &= trans_pcie->fh_mask; in iwl_pcie_irq_msix_handler()
2220 if ((trans_pcie->shared_vec_mask & IWL_SHARED_IRQ_NON_RX) && in iwl_pcie_irq_msix_handler()
2223 if (napi_schedule_prep(&trans_pcie->rxq[0].napi)) { in iwl_pcie_irq_msix_handler()
2225 __napi_schedule(&trans_pcie->rxq[0].napi); in iwl_pcie_irq_msix_handler()
2230 if ((trans_pcie->shared_vec_mask & IWL_SHARED_IRQ_FIRST_RSS) && in iwl_pcie_irq_msix_handler()
2233 if (napi_schedule_prep(&trans_pcie->rxq[1].napi)) { in iwl_pcie_irq_msix_handler()
2235 __napi_schedule(&trans_pcie->rxq[1].napi); in iwl_pcie_irq_msix_handler()
2242 trans_pcie->imr_status == IMR_D2S_REQUESTED) { in iwl_pcie_irq_msix_handler()
2247 if (trans_pcie->imr_status == IMR_D2S_REQUESTED) { in iwl_pcie_irq_msix_handler()
2248 trans_pcie->imr_status = IMR_D2S_COMPLETED; in iwl_pcie_irq_msix_handler()
2249 wake_up(&trans_pcie->ucode_write_waitq); in iwl_pcie_irq_msix_handler()
2258 trans_pcie->ucode_write_complete = true; in iwl_pcie_irq_msix_handler()
2259 wake_up(&trans_pcie->ucode_write_waitq); in iwl_pcie_irq_msix_handler()
2262 if (trans_pcie->imr_status == IMR_D2S_REQUESTED) { in iwl_pcie_irq_msix_handler()
2263 trans_pcie->imr_status = IMR_D2S_COMPLETED; in iwl_pcie_irq_msix_handler()
2264 wake_up(&trans_pcie->ucode_write_waitq); in iwl_pcie_irq_msix_handler()
2280 if (trans_pcie->imr_status == IMR_D2S_REQUESTED) { in iwl_pcie_irq_msix_handler()
2281 trans_pcie->imr_status = IMR_D2S_ERROR; in iwl_pcie_irq_msix_handler()
2282 wake_up(&trans_pcie->imr_waitq); in iwl_pcie_irq_msix_handler()
2283 } else if (trans_pcie->fw_reset_state == FW_RESET_REQUESTED) { in iwl_pcie_irq_msix_handler()
2284 trans_pcie->fw_reset_state = FW_RESET_ERROR; in iwl_pcie_irq_msix_handler()
2285 wake_up(&trans_pcie->fw_reset_waitq); in iwl_pcie_irq_msix_handler()
2295 entry->entry, inta_hw, trans_pcie->hw_mask, in iwl_pcie_irq_msix_handler()
2297 if (inta_hw & ~trans_pcie->hw_mask) in iwl_pcie_irq_msix_handler()
2300 inta_hw & ~trans_pcie->hw_mask); in iwl_pcie_irq_msix_handler()
2303 inta_hw &= trans_pcie->hw_mask; in iwl_pcie_irq_msix_handler()
2311 iwl_pcie_rxmq_restock(trans, trans_pcie->rxq); in iwl_pcie_irq_msix_handler()
2320 if (inta_hw & MSIX_HW_INT_CAUSES_REG_WAKEUP && trans_pcie->prph_info) { in iwl_pcie_irq_msix_handler()
2322 le32_to_cpu(trans_pcie->prph_info->sleep_notif); in iwl_pcie_irq_msix_handler()
2328 trans_pcie->sx_complete = true; in iwl_pcie_irq_msix_handler()
2329 wake_up(&trans_pcie->sx_waitq); in iwl_pcie_irq_msix_handler()
2361 trans_pcie->fw_reset_state = FW_RESET_OK; in iwl_pcie_irq_msix_handler()
2362 wake_up(&trans_pcie->fw_reset_waitq); in iwl_pcie_irq_msix_handler()