Lines Matching refs:cq
71 ionic_tx_flush(struct ionic_cq *cq) in ionic_tx_flush() argument
73 struct ionic_queue *q = cq->bound_q; in ionic_tx_flush()
76 struct ionic_txq_comp *cq_desc_base = cq->base; in ionic_tx_flush()
80 cq_desc = &cq_desc_base[cq->tail_idx]; in ionic_tx_flush()
81 while (color_match(cq_desc->color, cq->done_color)) { in ionic_tx_flush()
82 cq->tail_idx = (cq->tail_idx + 1) & (cq->num_descs - 1); in ionic_tx_flush()
85 if ((cq->tail_idx & 0x3) == 0) in ionic_tx_flush()
86 rte_prefetch0(&cq_desc_base[cq->tail_idx]); in ionic_tx_flush()
88 if (cq->tail_idx == 0) in ionic_tx_flush()
89 cq->done_color = !cq->done_color; in ionic_tx_flush()
93 cq_desc = &cq_desc_base[cq->tail_idx]; in ionic_tx_flush()
147 ionic_tx_flush(&txq->cq); in ionic_dev_tx_queue_stop()
497 struct ionic_cq *cq = &txq->cq; in ionic_xmit_pkts() local
506 ionic_tx_flush(cq); in ionic_xmit_pkts()
987 ionic_rxq_service(struct ionic_cq *cq, uint32_t work_to_do, in ionic_rxq_service() argument
990 struct ionic_queue *q = cq->bound_q; in ionic_rxq_service()
992 struct ionic_rxq_comp *cq_desc_base = cq->base; in ionic_rxq_service()
1001 cq_desc = &cq_desc_base[cq->tail_idx]; in ionic_rxq_service()
1002 while (color_match(cq_desc->pkt_type_color, cq->done_color)) { in ionic_rxq_service()
1003 curr_cq_tail_idx = cq->tail_idx; in ionic_rxq_service()
1004 cq->tail_idx = (cq->tail_idx + 1) & (cq->num_descs - 1); in ionic_rxq_service()
1006 if (cq->tail_idx == 0) in ionic_rxq_service()
1007 cq->done_color = !cq->done_color; in ionic_rxq_service()
1010 if ((cq->tail_idx & 0x3) == 0) in ionic_rxq_service()
1011 rte_prefetch0(&cq_desc_base[cq->tail_idx]); in ionic_rxq_service()
1034 cq_desc = &cq_desc_base[cq->tail_idx]; in ionic_rxq_service()
1053 ionic_rxq_service(&rxq->cq, -1, NULL); in ionic_dev_rx_queue_stop()
1070 struct ionic_cq *cq = &rxq->cq; in ionic_recv_pkts() local
1077 ionic_rxq_service(cq, nb_pkts, &service_cb_arg); in ionic_recv_pkts()