Lines Matching refs:cq

79 static bool ionic_admin_next_cqe(struct ionic_ibdev *dev, struct ionic_cq *cq,  in ionic_admin_next_cqe()  argument
82 struct ionic_v1_cqe *qcqe = ionic_queue_at_prod(&cq->q); in ionic_admin_next_cqe()
84 if (unlikely(cq->color != ionic_v1_cqe_color(qcqe))) in ionic_admin_next_cqe()
96 struct ionic_cq *cq = &aq->vcq->cq[0]; in ionic_admin_poll_locked() local
126 old_prod = cq->q.prod; in ionic_admin_poll_locked()
128 while (ionic_admin_next_cqe(dev, cq, &cqe)) { in ionic_admin_poll_locked()
173 ionic_queue_produce(&cq->q); in ionic_admin_poll_locked()
174 cq->color = ionic_color_wrap(cq->q.prod, cq->color); in ionic_admin_poll_locked()
177 if (old_prod != cq->q.prod) { in ionic_admin_poll_locked()
179 cq->q.cons = cq->q.prod; in ionic_admin_poll_locked()
181 ionic_queue_dbell_val(&cq->q)); in ionic_admin_poll_locked()
185 cq->arm_any_prod = ionic_queue_next(&cq->q, cq->arm_any_prod); in ionic_admin_poll_locked()
187 cq->q.dbell | IONIC_CQ_RING_ARM | in ionic_admin_poll_locked()
188 cq->arm_any_prod); in ionic_admin_poll_locked()
520 struct ionic_cq *cq; in ionic_create_rdma_admincq() local
533 cq = &vcq->cq[0]; in ionic_create_rdma_admincq()
540 rc = ionic_rdma_queue_devcmd(dev, &cq->q, cq->cqid, cq->eqid, in ionic_create_rdma_admincq()
548 ionic_destroy_cq_common(dev, cq); in ionic_create_rdma_admincq()
634 struct ionic_cq *cq, *cq_tmp; in ionic_flush_qs() local
656 xa_for_each(&dev->cq_tbl, index, cq) { in ionic_flush_qs()
657 kref_get(&cq->cq_kref); in ionic_flush_qs()
658 list_add_tail(&cq->ibkill_flush_ent, &flush_list); in ionic_flush_qs()
662 list_for_each_entry_safe(cq, cq_tmp, &flush_list, ibkill_flush_ent) { in ionic_flush_qs()
663 ionic_notify_flush_cq(cq); in ionic_flush_qs()
664 kref_put(&cq->cq_kref, ionic_cq_complete); in ionic_flush_qs()
665 list_del(&cq->ibkill_flush_ent); in ionic_flush_qs()
793 struct ionic_cq *cq; in ionic_cq_event() local
796 cq = xa_load(&dev->cq_tbl, cqid); in ionic_cq_event()
797 if (cq) in ionic_cq_event()
798 kref_get(&cq->cq_kref); in ionic_cq_event()
801 if (!cq) { in ionic_cq_event()
809 if (cq->vcq->ibcq.comp_handler) in ionic_cq_event()
810 cq->vcq->ibcq.comp_handler(&cq->vcq->ibcq, in ionic_cq_event()
811 cq->vcq->ibcq.cq_context); in ionic_cq_event()
815 if (cq->vcq->ibcq.event_handler) { in ionic_cq_event()
818 ibev.element.cq = &cq->vcq->ibcq; in ionic_cq_event()
820 cq->vcq->ibcq.event_handler(&ibev, in ionic_cq_event()
821 cq->vcq->ibcq.cq_context); in ionic_cq_event()
831 kref_put(&cq->cq_kref, ionic_cq_complete); in ionic_cq_event()
1153 vcq->cq[0].cqid); in ionic_create_rdma_admin()
1156 ionic_destroy_cq_common(dev, &vcq->cq[0]); in ionic_create_rdma_admin()
1211 ionic_destroy_cq_common(dev, &vcq->cq[0]); in ionic_destroy_rdma_admin()