Lines Matching refs:cq

125 	struct ehea_cq *cq;  in ehea_create_cq()  local
132 cq = kzalloc(sizeof(*cq), GFP_KERNEL); in ehea_create_cq()
133 if (!cq) in ehea_create_cq()
136 cq->attr.max_nr_of_cqes = nr_of_cqe; in ehea_create_cq()
137 cq->attr.cq_token = cq_token; in ehea_create_cq()
138 cq->attr.eq_handle = eq_handle; in ehea_create_cq()
140 cq->adapter = adapter; in ehea_create_cq()
142 cq_handle_ref = &cq->fw_handle; in ehea_create_cq()
146 hret = ehea_h_alloc_resource_cq(adapter->handle, &cq->attr, in ehea_create_cq()
147 &cq->fw_handle, &cq->epas); in ehea_create_cq()
153 ret = hw_queue_ctor(&cq->hw_queue, cq->attr.nr_pages, in ehea_create_cq()
158 for (counter = 0; counter < cq->attr.nr_pages; counter++) { in ehea_create_cq()
159 vpage = hw_qpageit_get_inc(&cq->hw_queue); in ehea_create_cq()
168 cq->fw_handle, rpage, 1); in ehea_create_cq()
171 cq, hret, counter, cq->attr.nr_pages); in ehea_create_cq()
175 if (counter == (cq->attr.nr_pages - 1)) { in ehea_create_cq()
176 vpage = hw_qpageit_get_inc(&cq->hw_queue); in ehea_create_cq()
192 hw_qeit_reset(&cq->hw_queue); in ehea_create_cq()
193 epa = cq->epas.kernel; in ehea_create_cq()
194 ehea_reset_cq_ep(cq); in ehea_create_cq()
195 ehea_reset_cq_n1(cq); in ehea_create_cq()
197 return cq; in ehea_create_cq()
200 hw_queue_dtor(&cq->hw_queue); in ehea_create_cq()
203 ehea_h_free_resource(adapter->handle, cq->fw_handle, FORCE_FREE); in ehea_create_cq()
206 kfree(cq); in ehea_create_cq()
212 static u64 ehea_destroy_cq_res(struct ehea_cq *cq, u64 force) in ehea_destroy_cq_res() argument
215 u64 adapter_handle = cq->adapter->handle; in ehea_destroy_cq_res()
218 hret = ehea_h_free_resource(adapter_handle, cq->fw_handle, force); in ehea_destroy_cq_res()
222 hw_queue_dtor(&cq->hw_queue); in ehea_destroy_cq_res()
223 kfree(cq); in ehea_destroy_cq_res()
228 int ehea_destroy_cq(struct ehea_cq *cq) in ehea_destroy_cq() argument
231 if (!cq) in ehea_destroy_cq()
234 hcp_epas_dtor(&cq->epas); in ehea_destroy_cq()
235 hret = ehea_destroy_cq_res(cq, NORMAL_FREE); in ehea_destroy_cq()
237 ehea_error_data(cq->adapter, cq->fw_handle, &aer, &aerr); in ehea_destroy_cq()
238 hret = ehea_destroy_cq_res(cq, FORCE_FREE); in ehea_destroy_cq()