Lines Matching defs:cq

193 	struct mthca_cq      	   *cq;
200 cq = malloc(sizeof *cq);
201 if (!cq)
204 cq->cons_index = 0;
206 if (pthread_spin_init(&cq->lock, PTHREAD_PROCESS_PRIVATE))
210 if (mthca_alloc_cq_buf(to_mdev(context->device), &cq->buf, cqe))
213 cq->mr = __mthca_reg_mr(to_mctx(context)->pd, cq->buf.buf,
216 if (!cq->mr)
219 cq->mr->context = context;
222 cq->arm_sn = 1;
223 cq->set_ci_db_index = mthca_alloc_db(to_mctx(context)->db_tab,
225 &cq->set_ci_db);
226 if (cq->set_ci_db_index < 0)
229 cq->arm_db_index = mthca_alloc_db(to_mctx(context)->db_tab,
231 &cq->arm_db);
232 if (cq->arm_db_index < 0)
235 cmd.arm_db_page = db_align(cq->arm_db);
236 cmd.set_db_page = db_align(cq->set_ci_db);
237 cmd.arm_db_index = cq->arm_db_index;
238 cmd.set_db_index = cq->set_ci_db_index;
244 cmd.lkey = cq->mr->lkey;
247 &cq->ibv_cq, &cmd.ibv_cmd, sizeof cmd,
252 cq->cqn = resp.cqn;
255 mthca_set_db_qn(cq->set_ci_db, MTHCA_DB_TYPE_CQ_SET_CI, cq->cqn);
256 mthca_set_db_qn(cq->arm_db, MTHCA_DB_TYPE_CQ_ARM, cq->cqn);
259 return &cq->ibv_cq;
264 cq->arm_db_index);
269 cq->set_ci_db_index);
272 mthca_dereg_mr(cq->mr);
275 mthca_free_buf(&cq->buf);
278 free(cq);
285 struct mthca_cq *cq = to_mcq(ibcq);
296 pthread_spin_lock(&cq->lock);
337 mthca_cq_resize_copy_cqes(cq, buf.buf, old_cqe);
339 mthca_dereg_mr(cq->mr);
340 mthca_free_buf(&cq->buf);
342 cq->buf = buf;
343 cq->mr = mr;
346 pthread_spin_unlock(&cq->lock);
350 int mthca_destroy_cq(struct ibv_cq *cq)
354 ret = ibv_cmd_destroy_cq(cq);
358 if (mthca_is_memfree(cq->context)) {
359 mthca_free_db(to_mctx(cq->context)->db_tab, MTHCA_DB_TYPE_CQ_SET_CI,
360 to_mcq(cq)->set_ci_db_index);
361 mthca_free_db(to_mctx(cq->context)->db_tab, MTHCA_DB_TYPE_CQ_ARM,
362 to_mcq(cq)->arm_db_index);
365 mthca_dereg_mr(to_mcq(cq)->mr);
366 mthca_free_buf(&to_mcq(cq)->buf);
367 free(to_mcq(cq));