Lines Matching refs:chp

240 	struct c4iw_cq *chp = to_c4iw_cq(qhp->ibqp.send_cq);  in c4iw_flush_sq()  local
241 struct t4_cq *cq = &chp->cq; in c4iw_flush_sq()
339 void c4iw_flush_hw_cq(struct c4iw_cq *chp) in c4iw_flush_hw_cq() argument
346 PDBG("%s cqid 0x%x\n", __func__, chp->cq.cqid); in c4iw_flush_hw_cq()
347 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe); in c4iw_flush_hw_cq()
355 qhp = get_qhp(chp->rhp, CQE_QPID(hw_cqe)); in c4iw_flush_hw_cq()
404 flush_completed_wrs(&qhp->wq, &chp->cq); in c4iw_flush_hw_cq()
406 swcqe = &chp->cq.sw_queue[chp->cq.sw_pidx]; in c4iw_flush_hw_cq()
409 t4_swcq_produce(&chp->cq); in c4iw_flush_hw_cq()
412 t4_hwcq_consume(&chp->cq); in c4iw_flush_hw_cq()
413 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe); in c4iw_flush_hw_cq()
682 static int c4iw_poll_cq_one(struct c4iw_cq *chp, struct ib_wc *wc) in c4iw_poll_cq_one() argument
692 ret = t4_next_cqe(&chp->cq, &rd_cqe); in c4iw_poll_cq_one()
697 qhp = get_qhp(chp->rhp, CQE_QPID(rd_cqe)); in c4iw_poll_cq_one()
704 ret = poll_cq(wq, &(chp->cq), &cqe, &cqe_flushed, &cookie, &credit); in c4iw_poll_cq_one()
828 struct c4iw_cq *chp; in c4iw_poll_cq() local
833 chp = to_c4iw_cq(ibcq); in c4iw_poll_cq()
835 spin_lock_irqsave(&chp->lock, flags); in c4iw_poll_cq()
838 err = c4iw_poll_cq_one(chp, wc + npolled); in c4iw_poll_cq()
843 spin_unlock_irqrestore(&chp->lock, flags); in c4iw_poll_cq()
849 struct c4iw_cq *chp; in c4iw_destroy_cq() local
853 chp = to_c4iw_cq(ib_cq); in c4iw_destroy_cq()
855 remove_handle(chp->rhp, &chp->rhp->cqidr, chp->cq.cqid); in c4iw_destroy_cq()
856 atomic_dec(&chp->refcnt); in c4iw_destroy_cq()
857 wait_event(chp->wait, !atomic_read(&chp->refcnt)); in c4iw_destroy_cq()
861 destroy_cq(&chp->rhp->rdev, &chp->cq, in c4iw_destroy_cq()
862 ucontext ? &ucontext->uctx : &chp->cq.rdev->uctx); in c4iw_destroy_cq()
863 kfree(chp); in c4iw_destroy_cq()
875 struct c4iw_cq *chp; in c4iw_create_cq() local
891 chp = kzalloc(sizeof(*chp), GFP_KERNEL); in c4iw_create_cq()
892 if (!chp) in c4iw_create_cq()
921 memsize = hwentries * sizeof *chp->cq.queue; in c4iw_create_cq()
928 chp->cq.size = hwentries; in c4iw_create_cq()
929 chp->cq.memsize = memsize; in c4iw_create_cq()
930 chp->cq.vector = vector; in c4iw_create_cq()
932 ret = create_cq(&rhp->rdev, &chp->cq, in c4iw_create_cq()
937 chp->rhp = rhp; in c4iw_create_cq()
938 chp->cq.size--; /* status page */ in c4iw_create_cq()
939 chp->ibcq.cqe = entries - 2; in c4iw_create_cq()
940 spin_lock_init(&chp->lock); in c4iw_create_cq()
941 spin_lock_init(&chp->comp_handler_lock); in c4iw_create_cq()
942 atomic_set(&chp->refcnt, 1); in c4iw_create_cq()
943 init_waitqueue_head(&chp->wait); in c4iw_create_cq()
944 ret = insert_handle(rhp, &rhp->cqidr, chp, chp->cq.cqid); in c4iw_create_cq()
957 uresp.cqid = chp->cq.cqid; in c4iw_create_cq()
958 uresp.size = chp->cq.size; in c4iw_create_cq()
959 uresp.memsize = chp->cq.memsize; in c4iw_create_cq()
972 mm->addr = virt_to_phys(chp->cq.queue); in c4iw_create_cq()
973 mm->len = chp->cq.memsize; in c4iw_create_cq()
977 mm2->addr = chp->cq.bar2_pa; in c4iw_create_cq()
982 __func__, chp->cq.cqid, chp, chp->cq.size, in c4iw_create_cq()
983 chp->cq.memsize, (unsigned long long) chp->cq.dma_addr); in c4iw_create_cq()
984 return &chp->ibcq; in c4iw_create_cq()
990 remove_handle(rhp, &rhp->cqidr, chp->cq.cqid); in c4iw_create_cq()
992 destroy_cq(&chp->rhp->rdev, &chp->cq, in c4iw_create_cq()
995 kfree(chp); in c4iw_create_cq()
1006 struct c4iw_cq *chp; in c4iw_arm_cq() local
1010 chp = to_c4iw_cq(ibcq); in c4iw_arm_cq()
1011 spin_lock_irqsave(&chp->lock, flag); in c4iw_arm_cq()
1012 ret = t4_arm_cq(&chp->cq, in c4iw_arm_cq()
1014 spin_unlock_irqrestore(&chp->lock, flag); in c4iw_arm_cq()