Lines Matching refs:my_cq
122 struct ehca_cq *my_cq; in ehca_create_cq() local
145 my_cq = kmem_cache_zalloc(cq_cache, GFP_KERNEL); in ehca_create_cq()
146 if (!my_cq) { in ehca_create_cq()
155 spin_lock_init(&my_cq->spinlock); in ehca_create_cq()
156 spin_lock_init(&my_cq->cb_lock); in ehca_create_cq()
157 spin_lock_init(&my_cq->task_lock); in ehca_create_cq()
158 atomic_set(&my_cq->nr_events, 0); in ehca_create_cq()
159 init_waitqueue_head(&my_cq->wait_completion); in ehca_create_cq()
161 cq = &my_cq->ib_cq; in ehca_create_cq()
168 my_cq->token = idr_alloc(&ehca_cq_idr, my_cq, 0, 0x2000000, GFP_NOWAIT); in ehca_create_cq()
172 if (my_cq->token < 0) { in ehca_create_cq()
184 h_ret = hipz_h_alloc_resource_cq(adapter_handle, my_cq, ¶m); in ehca_create_cq()
193 ipz_rc = ipz_queue_ctor(NULL, &my_cq->ipz_queue, param.act_pages, in ehca_create_cq()
203 vpage = ipz_qpageit_get_inc(&my_cq->ipz_queue); in ehca_create_cq()
213 my_cq->ipz_cq_handle, in ehca_create_cq()
214 &my_cq->pf, in ehca_create_cq()
219 my_cq->galpas. in ehca_create_cq()
225 "act_pages=%i", my_cq, my_cq->cq_number, in ehca_create_cq()
232 vpage = ipz_qpageit_get_inc(&my_cq->ipz_queue); in ehca_create_cq()
236 "h_ret=%lli", my_cq, my_cq->cq_number, in ehca_create_cq()
246 my_cq, my_cq->cq_number, in ehca_create_cq()
254 ipz_qeit_reset(&my_cq->ipz_queue); in ehca_create_cq()
256 gal = my_cq->galpas.kernel; in ehca_create_cq()
259 my_cq, my_cq->cq_number, cqx_fec); in ehca_create_cq()
261 my_cq->ib_cq.cqe = my_cq->nr_of_entries = in ehca_create_cq()
263 my_cq->cq_number = (my_cq->ipz_cq_handle.handle) & 0xffff; in ehca_create_cq()
266 INIT_HLIST_HEAD(&my_cq->qp_hashtab[i]); in ehca_create_cq()
268 INIT_LIST_HEAD(&my_cq->sqp_err_list); in ehca_create_cq()
269 INIT_LIST_HEAD(&my_cq->rqp_err_list); in ehca_create_cq()
272 struct ipz_queue *ipz_queue = &my_cq->ipz_queue; in ehca_create_cq()
275 resp.cq_number = my_cq->cq_number; in ehca_create_cq()
276 resp.token = my_cq->token; in ehca_create_cq()
283 (my_cq->galpas.user.fw_handle & (PAGE_SIZE - 1)); in ehca_create_cq()
294 ipz_queue_dtor(NULL, &my_cq->ipz_queue); in ehca_create_cq()
297 h_ret = hipz_h_destroy_cq(adapter_handle, my_cq, 1); in ehca_create_cq()
300 "cq_num=%x h_ret=%lli", my_cq, my_cq->cq_number, h_ret); in ehca_create_cq()
304 idr_remove(&ehca_cq_idr, my_cq->token); in ehca_create_cq()
308 kmem_cache_free(cq_cache, my_cq); in ehca_create_cq()
317 struct ehca_cq *my_cq = container_of(cq, struct ehca_cq, ib_cq); in ehca_destroy_cq() local
318 int cq_num = my_cq->cq_number; in ehca_destroy_cq()
326 if (my_cq->mm_count_galpa || my_cq->mm_count_queue) { in ehca_destroy_cq()
328 "user space cq_num=%x", my_cq->cq_number); in ehca_destroy_cq()
338 idr_remove(&ehca_cq_idr, my_cq->token); in ehca_destroy_cq()
342 wait_event(my_cq->wait_completion, !atomic_read(&my_cq->nr_events)); in ehca_destroy_cq()
345 h_ret = hipz_h_destroy_cq(adapter_handle, my_cq, 0); in ehca_destroy_cq()
350 my_cq, cq_num, my_cq->ipz_cq_handle.handle); in ehca_destroy_cq()
351 ehca_error_data(shca, my_cq, my_cq->ipz_cq_handle.handle); in ehca_destroy_cq()
352 h_ret = hipz_h_destroy_cq(adapter_handle, my_cq, 1); in ehca_destroy_cq()
359 "ehca_cq=%p cq_num=%x", h_ret, my_cq, cq_num); in ehca_destroy_cq()
362 ipz_queue_dtor(NULL, &my_cq->ipz_queue); in ehca_destroy_cq()
363 kmem_cache_free(cq_cache, my_cq); in ehca_destroy_cq()