Home
last modified time | relevance | path

Searched refs:mlcq (Results 1 – 4 of 4) sorted by relevance

/illumos-gate/usr/src/uts/common/io/mlxcx/
H A Dmlxcx_intr.c219 mlxcx_cq_next(mlxcx_completion_queue_t *mlcq) in mlxcx_cq_next() argument
224 const uint_t swowner = ((mlcq->mlcq_cc >> mlcq->mlcq_entshift) & 1); in mlxcx_cq_next()
226 ASSERT(mutex_owned(&mlcq->mlcq_mtx)); in mlxcx_cq_next()
227 ASSERT(mlcq->mlcq_state & MLXCX_CQ_CREATED); in mlxcx_cq_next()
228 ASSERT0(mlcq->mlcq_state & MLXCX_CQ_DESTROYED); in mlxcx_cq_next()
231 ci = mlcq->mlcq_cc & (mlcq->mlcq_nents - 1); in mlxcx_cq_next()
233 ent = &mlcq->mlcq_ent[ci]; in mlxcx_cq_next()
234 VERIFY0(ddi_dma_sync(mlcq->mlcq_dma.mxdb_dma_handle, in mlxcx_cq_next()
235 (uintptr_t)ent - (uintptr_t)mlcq->mlcq_ent, in mlxcx_cq_next()
237 ddi_fm_dma_err_get(mlcq->mlcq_dma.mxdb_dma_handle, &err, in mlxcx_cq_next()
[all …]
H A Dmlxcx_ring.c119 mlxcx_cq_alloc_dma(mlxcx_t *mlxp, mlxcx_completion_queue_t *mlcq, in mlxcx_cq_alloc_dma() argument
127 VERIFY0(mlcq->mlcq_state & MLXCX_EQ_ALLOC); in mlxcx_cq_alloc_dma()
129 mlcq->mlcq_entshift = ent_shift; in mlxcx_cq_alloc_dma()
130 mlcq->mlcq_nents = (1 << mlcq->mlcq_entshift); in mlxcx_cq_alloc_dma()
131 sz = mlcq->mlcq_nents * sizeof (mlxcx_completionq_ent_t); in mlxcx_cq_alloc_dma()
137 ret = mlxcx_dma_alloc(mlxp, &mlcq->mlcq_dma, &attr, &acc, in mlxcx_cq_alloc_dma()
144 mlcq->mlcq_ent = (mlxcx_completionq_ent_t *)mlcq->mlcq_dma.mxdb_va; in mlxcx_cq_alloc_dma()
146 for (i = 0; i < mlcq->mlcq_nents; ++i) { in mlxcx_cq_alloc_dma()
147 mlcq->mlcq_ent[i].mlcqe_opcode = MLXCX_CQE_OP_INVALID; in mlxcx_cq_alloc_dma()
148 mlcq->mlcq_ent[i].mlcqe_owner = MLXCX_CQE_OWNER_INIT; in mlxcx_cq_alloc_dma()
[all …]
H A Dmlxcx_cmd.c2289 mlxcx_cmd_create_cq(mlxcx_t *mlxp, mlxcx_completion_queue_t *mlcq) in mlxcx_cmd_create_cq() argument
2303 ASSERT(mutex_owned(&mlcq->mlcq_mtx)); in mlxcx_cmd_create_cq()
2304 VERIFY(mlcq->mlcq_state & MLXCX_CQ_ALLOC); in mlxcx_cmd_create_cq()
2305 VERIFY0(mlcq->mlcq_state & MLXCX_CQ_CREATED); in mlxcx_cmd_create_cq()
2312 ctx->mlcqc_uar_page = to_be24(mlcq->mlcq_uar->mlu_num); in mlxcx_cmd_create_cq()
2313 ctx->mlcqc_log_cq_size = mlcq->mlcq_entshift; in mlxcx_cmd_create_cq()
2314 ctx->mlcqc_eqn = mlcq->mlcq_eq->mleq_num; in mlxcx_cmd_create_cq()
2315 ctx->mlcqc_cq_period = to_be16(mlcq->mlcq_cqemod_period_usec); in mlxcx_cmd_create_cq()
2316 ctx->mlcqc_cq_max_count = to_be16(mlcq->mlcq_cqemod_count); in mlxcx_cmd_create_cq()
2318 c = mlxcx_dma_cookie_one(&mlcq->mlcq_doorbell_dma); in mlxcx_cmd_create_cq()
[all …]
H A Dmlxcx.c1026 mlxcx_completion_queue_t *mlcq; in mlxcx_teardown_cqs() local
1028 while ((mlcq = list_head(&mlxp->mlx_cqs)) != NULL) { in mlxcx_teardown_cqs()
1029 mlxcx_cq_teardown(mlxp, mlcq); in mlxcx_teardown_cqs()