Lines Matching defs:hca

43 static iser_mr_t *iser_vmem_chunk_alloc(iser_hca_t *hca, ib_memlen_t chunksize,
46 static void iser_vmem_chunk_free(iser_hca_t *hca, iser_mr_t *iser_mr);
48 static iser_mr_t *iser_reg_mem(iser_hca_t *hca, ib_vaddr_t vaddr,
51 static void iser_dereg_mem(iser_hca_t *hca, iser_mr_t *mr);
62 iser_init_hca_caches(iser_hca_t *hca)
67 (uint32_t)(hca->hca_guid & 0xFFFFFFFF));
68 hca->hca_msg_pool = iser_vmem_create(name, hca, ISER_MSG_MR_CHUNKSIZE,
71 (uint32_t)(hca->hca_guid & 0xFFFFFFFF));
72 hca->iser_msg_cache = kmem_cache_create(name, sizeof (iser_msg_t),
74 NULL, hca, NULL, KM_SLEEP);
77 (uint32_t)(hca->hca_guid & 0xFFFFFFFF));
78 hca->hca_buf_pool = iser_vmem_create(name, hca, ISER_BUF_MR_CHUNKSIZE,
81 (uint32_t)(hca->hca_guid & 0xFFFFFFFF));
82 hca->iser_buf_cache = kmem_cache_create(name, sizeof (iser_buf_t),
84 NULL, hca, NULL, KM_SLEEP);
93 iser_fini_hca_caches(iser_hca_t *hca)
95 kmem_cache_destroy(hca->iser_buf_cache);
96 iser_vmem_destroy(hca->hca_buf_pool);
97 kmem_cache_destroy(hca->iser_msg_cache);
98 iser_vmem_destroy(hca->hca_msg_pool);
143 iser_hca_t *hca = (iser_hca_t *)arg;
146 memp = iser_vmem_alloc(hca->hca_msg_pool, ISER_MAX_CTRLPDU_LEN);
154 status = iser_vmem_mr(hca->hca_msg_pool, memp,
159 iser_vmem_free(hca->hca_msg_pool, memp, ISER_MAX_CTRLPDU_LEN);
167 msg->cache = hca->iser_msg_cache;
179 iser_hca_t *hca = (iser_hca_t *)arg;
183 iser_vmem_free(hca->hca_msg_pool, memp, ISER_MAX_CTRLPDU_LEN);
187 * Pull a msg handle off of hca's msg cache. If no object is available
194 iser_msg_get(iser_hca_t *hca, int num, int *ret)
199 ASSERT(hca != NULL);
206 tmp = kmem_cache_alloc(hca->iser_msg_cache, KM_NOSLEEP);
248 iser_hca_t *hca = (iser_hca_t *)arg;
258 memp = iser_vmem_alloc(hca->hca_buf_pool, ISER_DEFAULT_BUFLEN);
265 status = iser_vmem_mr(hca->hca_buf_pool, memp, ISER_DEFAULT_BUFLEN,
281 iser_buf->cache = hca->iser_buf_cache;
295 iser_hca_t *hca = (iser_hca_t *)arg;
299 iser_vmem_free(hca->hca_buf_pool, iser_buf->buf, iser_buf->buflen);
308 iser_reg_rdma_mem(iser_hca_t *hca, idm_buf_t *idb)
315 iser_mr = iser_reg_mem(hca, (ib_vaddr_t)(uintptr_t)idb->idb_buf,
329 iser_dereg_rdma_mem(iser_hca_t *hca, idm_buf_t *idb)
336 iser_dereg_mem(hca, mr);
340 iser_vmem_create(const char *name, iser_hca_t *hca, ib_memlen_t chunksize,
348 result->ivmp_hca = hca;
356 first_chunk = iser_vmem_chunk_alloc(hca, chunksize,
493 iser_vmem_chunk_alloc(iser_hca_t *hca, ib_memlen_t chunksize,
517 result = iser_reg_mem(hca, (ib_vaddr_t)(uintptr_t)chunk,
530 iser_vmem_chunk_free(iser_hca_t *hca, iser_mr_t *iser_mr)
535 iser_dereg_mem(hca, iser_mr);
541 iser_reg_mem(iser_hca_t *hca, ib_vaddr_t vaddr, ib_memlen_t len,
568 status = ibt_register_mr(hca->hca_hdl, hca->hca_pdhdl, &mr_attr,
586 iser_dereg_mem(iser_hca_t *hca, iser_mr_t *mr)
588 (void) ibt_deregister_mr(hca->hca_hdl, mr->is_mrhdl);