Lines Matching refs:chp
173 struct c4iw_cq *chp; in c4iw_create_cq() local
177 chp = calloc(1, sizeof *chp); in c4iw_create_cq()
178 if (!chp) { in c4iw_create_cq()
184 &chp->ibv_cq, &cmd, sizeof cmd, in c4iw_create_cq()
193 ret = pthread_spin_init(&chp->lock, PTHREAD_PROCESS_PRIVATE); in c4iw_create_cq()
197 gettimeofday(&chp->time, NULL); in c4iw_create_cq()
199 chp->rhp = dev; in c4iw_create_cq()
200 chp->cq.qid_mask = resp.qid_mask; in c4iw_create_cq()
201 chp->cq.cqid = resp.cqid; in c4iw_create_cq()
202 chp->cq.size = resp.size; in c4iw_create_cq()
203 chp->cq.memsize = resp.memsize; in c4iw_create_cq()
204 chp->cq.gen = 1; in c4iw_create_cq()
205 chp->cq.queue = mmap(NULL, chp->cq.memsize, PROT_READ|PROT_WRITE, in c4iw_create_cq()
207 if (chp->cq.queue == MAP_FAILED) in c4iw_create_cq()
210 chp->cq.ugts = mmap(NULL, c4iw_page_size, PROT_WRITE, MAP_SHARED, in c4iw_create_cq()
212 if (chp->cq.ugts == MAP_FAILED) in c4iw_create_cq()
215 if (dev_is_t4(chp->rhp)) in c4iw_create_cq()
216 chp->cq.ugts += 1; in c4iw_create_cq()
218 chp->cq.ugts += 5; in c4iw_create_cq()
219 chp->cq.sw_queue = calloc(chp->cq.size, sizeof *chp->cq.queue); in c4iw_create_cq()
220 if (!chp->cq.sw_queue) in c4iw_create_cq()
225 __func__, chp->cq.cqid, resp.key, chp->cq.queue, in c4iw_create_cq()
226 chp->cq.memsize, resp.gts_key, chp->cq.ugts, chp->cq.qid_mask); in c4iw_create_cq()
229 dev->cqid2ptr[chp->cq.cqid] = chp; in c4iw_create_cq()
232 return &chp->ibv_cq; in c4iw_create_cq()
234 munmap(MASKED(chp->cq.ugts), c4iw_page_size); in c4iw_create_cq()
236 munmap(chp->cq.queue, chp->cq.memsize); in c4iw_create_cq()
238 pthread_spin_destroy(&chp->lock); in c4iw_create_cq()
240 (void)ibv_cmd_destroy_cq(&chp->ibv_cq); in c4iw_create_cq()
242 free(chp); in c4iw_create_cq()
264 struct c4iw_cq *chp = to_c4iw_cq(ibcq); in c4iw_destroy_cq() local
267 chp->cq.error = 1; in c4iw_destroy_cq()
273 munmap(MASKED(chp->cq.ugts), c4iw_page_size); in c4iw_destroy_cq()
274 munmap(chp->cq.queue, chp->cq.memsize); in c4iw_destroy_cq()
277 dev->cqid2ptr[chp->cq.cqid] = NULL; in c4iw_destroy_cq()
280 free(chp->cq.sw_queue); in c4iw_destroy_cq()
281 pthread_spin_destroy(&chp->lock); in c4iw_destroy_cq()
282 free(chp); in c4iw_destroy_cq()