Home
last modified time | relevance | path

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

/illumos-gate/usr/src/uts/common/io/mlxcx/
H A Dmlxcx_intr.c52 mlxcx_event_queue_t *mleq = &mlxp->mlx_eqs[i]; in mlxcx_intr_disable() local
54 mutex_enter(&mleq->mleq_mtx); in mlxcx_intr_disable()
56 if ((mleq->mleq_state & MLXCX_EQ_INTR_ENABLED) == 0) { in mlxcx_intr_disable()
57 mutex_exit(&mleq->mleq_mtx); in mlxcx_intr_disable()
63 mleq->mleq_state |= MLXCX_EQ_INTR_QUIESCE; in mlxcx_intr_disable()
64 while ((mleq->mleq_state & MLXCX_EQ_INTR_ACTIVE) != 0) in mlxcx_intr_disable()
65 cv_wait(&mleq->mleq_cv, &mleq->mleq_mtx); in mlxcx_intr_disable()
67 mleq->mleq_state &= ~MLXCX_EQ_INTR_ENABLED; in mlxcx_intr_disable()
69 mutex_exit(&mleq->mleq_mtx); in mlxcx_intr_disable()
80 mlxcx_event_queue_t *mleq = &mlxp->mlx_eqs[i]; in mlxcx_intr_teardown() local
[all …]
H A Dmlxcx.c888 mlxcx_eq_alloc_dma(mlxcx_t *mlxp, mlxcx_event_queue_t *mleq) in mlxcx_eq_alloc_dma() argument
895 VERIFY0(mleq->mleq_state & MLXCX_EQ_ALLOC); in mlxcx_eq_alloc_dma()
897 mleq->mleq_entshift = mlxp->mlx_props.mldp_eq_size_shift; in mlxcx_eq_alloc_dma()
898 mleq->mleq_nents = (1 << mleq->mleq_entshift); in mlxcx_eq_alloc_dma()
899 sz = mleq->mleq_nents * sizeof (mlxcx_eventq_ent_t); in mlxcx_eq_alloc_dma()
905 ret = mlxcx_dma_alloc(mlxp, &mleq->mleq_dma, &attr, &acc, in mlxcx_eq_alloc_dma()
912 mleq->mleq_ent = (mlxcx_eventq_ent_t *)mleq->mleq_dma.mxdb_va; in mlxcx_eq_alloc_dma()
914 for (i = 0; i < mleq->mleq_nents; ++i) in mlxcx_eq_alloc_dma()
915 mleq->mleq_ent[i].mleqe_owner = MLXCX_EQ_OWNER_INIT; in mlxcx_eq_alloc_dma()
917 mleq->mleq_state |= MLXCX_EQ_ALLOC; in mlxcx_eq_alloc_dma()
[all …]
H A Dmlxcx_cmd.c2125 mlxcx_cmd_create_eq(mlxcx_t *mlxp, mlxcx_event_queue_t *mleq) in mlxcx_cmd_create_eq() argument
2139 ASSERT(mutex_owned(&mleq->mleq_mtx)); in mlxcx_cmd_create_eq()
2140 VERIFY(mleq->mleq_state & MLXCX_EQ_ALLOC); in mlxcx_cmd_create_eq()
2141 VERIFY0(mleq->mleq_state & MLXCX_EQ_CREATED); in mlxcx_cmd_create_eq()
2148 ctx->mleqc_uar_page = to_be24(mleq->mleq_uar->mlu_num); in mlxcx_cmd_create_eq()
2149 ctx->mleqc_log_eq_size = mleq->mleq_entshift; in mlxcx_cmd_create_eq()
2150 ctx->mleqc_intr = mleq->mleq_intr_index; in mlxcx_cmd_create_eq()
2152 in.mlxi_create_eq_event_bitmask = to_be64(mleq->mleq_events); in mlxcx_cmd_create_eq()
2156 while ((c = mlxcx_dma_cookie_iter(&mleq->mleq_dma, c)) != NULL) { in mlxcx_cmd_create_eq()
2180 mleq->mleq_state |= MLXCX_EQ_CREATED; in mlxcx_cmd_create_eq()
[all …]
H A Dmlxcx_ring.c250 mlxcx_event_queue_t *mleq; in mlxcx_cq_teardown() local
285 mleq = mlcq->mlcq_eq; in mlxcx_cq_teardown()
287 mleq = NULL; in mlxcx_cq_teardown()
308 if (mleq != NULL) { in mlxcx_cq_teardown()
309 mutex_enter(&mleq->mleq_mtx); in mlxcx_cq_teardown()
316 avl_remove(&mleq->mleq_cqs, mlcq); in mlxcx_cq_teardown()
320 mutex_exit(&mleq->mleq_mtx); in mlxcx_cq_teardown()