Lines Matching refs:chp

131 	struct iwch_cq *chp;  in iwch_destroy_cq()  local
134 chp = to_iwch_cq(ib_cq); in iwch_destroy_cq()
136 remove_handle(chp->rhp, &chp->rhp->cqidr, chp->cq.cqid); in iwch_destroy_cq()
137 atomic_dec(&chp->refcnt); in iwch_destroy_cq()
138 wait_event(chp->wait, !atomic_read(&chp->refcnt)); in iwch_destroy_cq()
140 cxio_destroy_cq(&chp->rhp->rdev, &chp->cq); in iwch_destroy_cq()
141 kfree(chp); in iwch_destroy_cq()
152 struct iwch_cq *chp; in iwch_create_cq() local
164 chp = kzalloc(sizeof(*chp), GFP_KERNEL); in iwch_create_cq()
165 if (!chp) in iwch_create_cq()
172 kfree(chp); in iwch_create_cq()
175 chp->user_rptr_addr = (u32 __user *)(unsigned long)ureq.user_rptr_addr; in iwch_create_cq()
193 chp->cq.size_log2 = ilog2(entries); in iwch_create_cq()
195 if (cxio_create_cq(&rhp->rdev, &chp->cq, !ucontext)) { in iwch_create_cq()
196 kfree(chp); in iwch_create_cq()
199 chp->rhp = rhp; in iwch_create_cq()
200 chp->ibcq.cqe = 1 << chp->cq.size_log2; in iwch_create_cq()
201 spin_lock_init(&chp->lock); in iwch_create_cq()
202 spin_lock_init(&chp->comp_handler_lock); in iwch_create_cq()
203 atomic_set(&chp->refcnt, 1); in iwch_create_cq()
204 init_waitqueue_head(&chp->wait); in iwch_create_cq()
205 if (insert_handle(rhp, &rhp->cqidr, chp, chp->cq.cqid)) { in iwch_create_cq()
206 cxio_destroy_cq(&chp->rhp->rdev, &chp->cq); in iwch_create_cq()
207 kfree(chp); in iwch_create_cq()
216 iwch_destroy_cq(&chp->ibcq); in iwch_create_cq()
219 uresp.cqid = chp->cq.cqid; in iwch_create_cq()
220 uresp.size_log2 = chp->cq.size_log2; in iwch_create_cq()
226 mm->addr = virt_to_phys(chp->cq.queue); in iwch_create_cq()
243 iwch_destroy_cq(&chp->ibcq); in iwch_create_cq()
249 chp->cq.cqid, chp, (1 << chp->cq.size_log2), in iwch_create_cq()
250 (unsigned long long) chp->cq.dma_addr); in iwch_create_cq()
251 return &chp->ibcq; in iwch_create_cq()
257 struct iwch_cq *chp = to_iwch_cq(cq); in iwch_resize_cq() local
272 if (cqe < Q_COUNT(chp->cq.rptr, chp->cq.wptr)) { in iwch_resize_cq()
277 ret = iwch_quiesce_qps(chp); in iwch_resize_cq()
282 ret = cxio_create_cq(&chp->rhp->rdev, &newcq); in iwch_resize_cq()
288 memcpy(newcq.queue, chp->cq.queue, (1 << chp->cq.size_log2) * in iwch_resize_cq()
292 oldcq = chp->cq; in iwch_resize_cq()
293 chp->cq = newcq; in iwch_resize_cq()
294 chp->cq.cqid = oldcq.cqid; in iwch_resize_cq()
297 ret = cxio_resize_cq(&chp->rhp->rdev, &chp->cq); in iwch_resize_cq()
299 chp->cq = oldcq; in iwch_resize_cq()
302 chp->ibcq.cqe = (1<<chp->cq.size_log2) - 1; in iwch_resize_cq()
306 ret = cxio_destroy_cq(&chp->rhp->rdev, &oldcq); in iwch_resize_cq()
315 ret = iwch_resume_qps(chp); in iwch_resize_cq()
325 struct iwch_cq *chp; in iwch_arm_cq() local
331 chp = to_iwch_cq(ibcq); in iwch_arm_cq()
332 rhp = chp->rhp; in iwch_arm_cq()
337 if (chp->user_rptr_addr) { in iwch_arm_cq()
338 if (get_user(rptr, chp->user_rptr_addr)) in iwch_arm_cq()
340 spin_lock_irqsave(&chp->lock, flag); in iwch_arm_cq()
341 chp->cq.rptr = rptr; in iwch_arm_cq()
343 spin_lock_irqsave(&chp->lock, flag); in iwch_arm_cq()
344 PDBG("%s rptr 0x%x\n", __func__, chp->cq.rptr); in iwch_arm_cq()
345 err = cxio_hal_cq_op(&rhp->rdev, &chp->cq, cq_op, 0); in iwch_arm_cq()
346 spin_unlock_irqrestore(&chp->lock, flag); in iwch_arm_cq()
349 chp->cq.cqid); in iwch_arm_cq()