Lines Matching refs:fp
712 static bool qede_has_tx_work(struct qede_fastpath *fp) in qede_has_tx_work() argument
716 for (tc = 0; tc < fp->edev->num_tc; tc++) in qede_has_tx_work()
717 if (qede_txq_has_work(&fp->txqs[tc])) in qede_has_tx_work()
801 struct qede_fastpath *fp, in qede_skb_receive() argument
809 napi_gro_receive(&fp->napi, skb); in qede_skb_receive()
833 static int qede_rx_int(struct qede_fastpath *fp, int budget) in qede_rx_int() argument
835 struct qede_dev *edev = fp->edev; in qede_rx_int()
836 struct qede_rx_queue *rxq = fp->rxq; in qede_rx_int()
871 edev->cdev, fp->rss_id, in qede_rx_int()
943 skb_record_rx_queue(skb, fp->rss_id); in qede_rx_int()
945 qede_skb_receive(edev, fp, skb, le16_to_cpu(fp_cqe->vlan_tag)); in qede_rx_int()
972 struct qede_fastpath *fp = container_of(napi, struct qede_fastpath, in qede_poll() local
974 struct qede_dev *edev = fp->edev; in qede_poll()
980 if (qede_txq_has_work(&fp->txqs[tc])) in qede_poll()
981 qede_tx_int(edev, &fp->txqs[tc]); in qede_poll()
983 if (qede_has_rx_work(fp->rxq)) { in qede_poll()
984 work_done += qede_rx_int(fp, budget - work_done); in qede_poll()
992 if (!(qede_has_rx_work(fp->rxq) || qede_has_tx_work(fp))) { in qede_poll()
993 qed_sb_update_sb_idx(fp->sb_info); in qede_poll()
1009 if (!(qede_has_rx_work(fp->rxq) || in qede_poll()
1010 qede_has_tx_work(fp))) { in qede_poll()
1013 qed_sb_ack(fp->sb_info, IGU_INT_ENABLE, in qede_poll()
1025 struct qede_fastpath *fp = fp_cookie; in qede_msix_fp_int() local
1027 qed_sb_ack(fp->sb_info, IGU_INT_DISABLE, 0 /*do not update*/); in qede_msix_fp_int()
1029 napi_schedule_irqoff(&fp->napi); in qede_msix_fp_int()
1291 struct qede_fastpath *fp; in qede_free_fp_array() local
1295 fp = &edev->fp_array[i]; in qede_free_fp_array()
1297 kfree(fp->sb_info); in qede_free_fp_array()
1298 kfree(fp->rxq); in qede_free_fp_array()
1299 kfree(fp->txqs); in qede_free_fp_array()
1308 struct qede_fastpath *fp; in qede_alloc_fp_array() local
1319 fp = &edev->fp_array[i]; in qede_alloc_fp_array()
1321 fp->sb_info = kcalloc(1, sizeof(*fp->sb_info), GFP_KERNEL); in qede_alloc_fp_array()
1322 if (!fp->sb_info) { in qede_alloc_fp_array()
1327 fp->rxq = kcalloc(1, sizeof(*fp->rxq), GFP_KERNEL); in qede_alloc_fp_array()
1328 if (!fp->rxq) { in qede_alloc_fp_array()
1333 fp->txqs = kcalloc(edev->num_tc, sizeof(*fp->txqs), GFP_KERNEL); in qede_alloc_fp_array()
1334 if (!fp->txqs) { in qede_alloc_fp_array()
1745 struct qede_fastpath *fp) in qede_free_mem_fp() argument
1749 qede_free_mem_sb(edev, fp->sb_info); in qede_free_mem_fp()
1751 qede_free_mem_rxq(edev, fp->rxq); in qede_free_mem_fp()
1754 qede_free_mem_txq(edev, &fp->txqs[tc]); in qede_free_mem_fp()
1761 struct qede_fastpath *fp) in qede_alloc_mem_fp() argument
1765 rc = qede_alloc_mem_sb(edev, fp->sb_info, fp->rss_id); in qede_alloc_mem_fp()
1769 rc = qede_alloc_mem_rxq(edev, fp->rxq); in qede_alloc_mem_fp()
1774 rc = qede_alloc_mem_txq(edev, &fp->txqs[tc]); in qede_alloc_mem_fp()
1782 qede_free_mem_fp(edev, fp); in qede_alloc_mem_fp()
1791 struct qede_fastpath *fp = &edev->fp_array[i]; in qede_free_mem_load() local
1793 qede_free_mem_fp(edev, fp); in qede_free_mem_load()
1803 struct qede_fastpath *fp = &edev->fp_array[rss_id]; in qede_alloc_mem_load() local
1805 rc = qede_alloc_mem_fp(edev, fp); in qede_alloc_mem_load()
1831 struct qede_fastpath *fp; in qede_init_fp() local
1834 fp = &edev->fp_array[rss_id]; in qede_init_fp()
1836 fp->edev = edev; in qede_init_fp()
1837 fp->rss_id = rss_id; in qede_init_fp()
1839 memset((void *)&fp->napi, 0, sizeof(fp->napi)); in qede_init_fp()
1841 memset((void *)fp->sb_info, 0, sizeof(*fp->sb_info)); in qede_init_fp()
1843 memset((void *)fp->rxq, 0, sizeof(*fp->rxq)); in qede_init_fp()
1844 fp->rxq->rxq_id = rss_id; in qede_init_fp()
1846 memset((void *)fp->txqs, 0, (edev->num_tc * sizeof(*fp->txqs))); in qede_init_fp()
1849 fp->txqs[tc].index = txq_index; in qede_init_fp()
1852 snprintf(fp->name, sizeof(fp->name), "%s-fp-%d", in qede_init_fp()
1948 struct qede_fastpath *fp = (struct qede_fastpath *)cookie; in qede_simd_fp_handler() local
1950 napi_schedule_irqoff(&fp->napi); in qede_simd_fp_handler()
2036 struct qede_fastpath *fp = &edev->fp_array[i]; in qede_stop_queues() local
2039 struct qede_tx_queue *txq = &fp->txqs[tc]; in qede_stop_queues()
2115 struct qede_fastpath *fp = &edev->fp_array[i]; in qede_start_queues() local
2116 dma_addr_t phys_table = fp->rxq->rx_comp_ring.pbl.p_phys_table; in qede_start_queues()
2122 q_params.sb = fp->sb_info->igu_sb_id; in qede_start_queues()
2126 fp->rxq->rx_buf_size, in qede_start_queues()
2127 fp->rxq->rx_bd_ring.p_phys_addr, in qede_start_queues()
2129 fp->rxq->rx_comp_ring.page_cnt, in qede_start_queues()
2130 &fp->rxq->hw_rxq_prod_addr); in qede_start_queues()
2136 fp->rxq->hw_cons_ptr = &fp->sb_info->sb_virt->pi_array[RX_PI]; in qede_start_queues()
2138 qede_update_rx_prod(edev, fp->rxq); in qede_start_queues()
2141 struct qede_tx_queue *txq = &fp->txqs[tc]; in qede_start_queues()
2148 q_params.sb = fp->sb_info->igu_sb_id; in qede_start_queues()
2162 &fp->sb_info->sb_virt->pi_array[TX_PI(tc)]; in qede_start_queues()