Lines Matching refs:state

46 static void tavor_cq_doorbell(tavor_state_t *state, uint32_t cq_cmd,
49 static int tavor_cq_cqe_consume(tavor_state_t *state, tavor_cqhdl_t cq,
51 static int tavor_cq_errcqe_consume(tavor_state_t *state, tavor_cqhdl_t cq,
63 tavor_cq_alloc(tavor_state_t *state, ibt_cq_hdl_t ibt_cqhdl,
96 status = tavor_umap_db_find(state->ts_instance, ddi_get_pid(),
107 pd = state->ts_pdhdl_internal;
119 status = tavor_rsrc_alloc(state, TAVOR_CQC, 1, sleepflag, &cqc);
132 status = tavor_rsrc_alloc(state, TAVOR_CQHDL, 1, sleepflag, &rsrc);
153 umapdb = tavor_umap_db_alloc(state->ts_instance, cq->cq_cqnum,
175 if (log_cq_size > state->ts_cfg_profile->cp_log_max_cq_sz) {
204 status = tavor_queue_alloc(state, &cq->cq_cqinfo, sleepflag);
237 dma_xfer_mode = state->ts_cfg_profile->cp_streaming_consistent;
242 op.mro_bind_type = state->ts_cfg_profile->cp_iommu_bypass;
245 status = tavor_mr_register(state, pd, &mr_attr, &mr, &op);
256 cq_sync = TAVOR_CQ_IS_SYNC_REQ(state, cq->cq_cqinfo);
276 cqc_entry.state = TAVOR_CQ_DISARMED;
298 status = tavor_cmn_ownership_cmd_post(state, SW2HW_CQ, &cqc_entry,
338 ASSERT(state->ts_cqhdl[cqc->tr_indx] == NULL);
339 state->ts_cqhdl[cqc->tr_indx] = cq;
366 if (tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
368 TAVOR_WARNING(state, "failed to deregister CQ memory");
371 tavor_queue_free(state, &cq->cq_cqinfo);
377 tavor_rsrc_free(state, &rsrc);
379 tavor_rsrc_free(state, &cqc);
396 tavor_cq_free(tavor_state_t *state, tavor_cqhdl_t *cqhdl, uint_t sleepflag)
420 pd = state->ts_pdhdl_internal;
445 status = tavor_umap_db_find(state->ts_instance, cqnum,
450 TAVOR_WARNING(state, "failed to find in database");
458 state->ts_dip, 0, 0, cq->cq_cqinfo.qa_size,
462 TAVOR_WARNING(state, "failed in CQ memory "
476 state->ts_cqhdl[cqc->tr_indx] = NULL;
495 status = tavor_cmn_ownership_cmd_post(state, HW2SW_CQ, &cqc_entry,
498 TAVOR_WARNING(state, "failed to reclaim CQC ownership");
513 status = tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
516 TAVOR_WARNING(state, "failed to deregister CQ memory");
523 tavor_queue_free(state, &cq->cq_cqinfo);
526 tavor_rsrc_free(state, &rsrc);
529 tavor_rsrc_free(state, &cqc);
547 tavor_cq_resize(tavor_state_t *state, tavor_cqhdl_t cq, uint_t req_size,
565 pd = state->ts_pdhdl_internal;
580 if (log_cq_size > state->ts_cfg_profile->cp_log_max_cq_sz) {
610 status = tavor_queue_alloc(state, &new_cqinfo, sleepflag);
641 dma_xfer_mode = state->ts_cfg_profile->cp_streaming_consistent;
646 op.mro_bind_type = state->ts_cfg_profile->cp_iommu_bypass;
649 status = tavor_mr_register(state, pd, &mr_attr, &mr, &op);
651 tavor_queue_free(state, &new_cqinfo);
659 cq_sync = TAVOR_CQ_IS_SYNC_REQ(state, new_cqinfo);
685 * the IBTF and, hence, the driver's CQ state structure will
696 status = tavor_cmn_query_cmd_post(state, QUERY_CQ,
702 if (tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
704 TAVOR_WARNING(state, "failed to deregister "
707 tavor_queue_free(state, &new_cqinfo);
708 TAVOR_WARNING(state, "failed to find in database");
740 status = tavor_resize_cq_cmd_post(state, &cqc_entry, cq->cq_cqnum,
745 if (tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
747 TAVOR_WARNING(state, "failed to deregister CQ memory");
749 tavor_queue_free(state, &new_cqinfo);
803 state->ts_dip, 0, 0, cq->cq_cqinfo.qa_size, maxprot,
807 TAVOR_WARNING(state, "failed in CQ memory "
829 status = tavor_mr_deregister(state, &mr_old, TAVOR_MR_DEREG_ALL,
832 TAVOR_WARNING(state, "failed to deregister old CQ memory");
840 tavor_queue_free(state, &old_cqinfo);
866 tavor_cq_notify(tavor_state_t *state, tavor_cqhdl_t cq,
883 tavor_cq_doorbell(state, TAVOR_CQDB_NOTIFY_CQ, cqnum,
887 tavor_cq_doorbell(state, TAVOR_CQDB_NOTIFY_CQ_SOLICIT,
907 tavor_cq_poll(tavor_state_t *state, tavor_cqhdl_t cq, ibt_wc_t *wc_p,
958 status = tavor_cq_cqe_consume(state, cq, cqe,
1004 tavor_cq_doorbell(state, TAVOR_CQDB_INCR_CONSINDX,
1039 (void) tavor_isr((caddr_t)state, (caddr_t)NULL);
1052 tavor_cq_handler(tavor_state_t *state, tavor_eqhdl_t eq,
1069 tavor_eq_overflow_handler(state, eq, eqe);
1078 cq = tavor_cqhdl_from_cqnum(state, cqnum);
1081 * Post the EQ doorbell to move the CQ to the "disarmed" state.
1085 tavor_eq_doorbell(state, TAVOR_EQDB_DISARM_CQ, eq->eq_eqnum, cqnum);
1108 (state->ts_ibtfpriv != NULL)) {
1109 TAVOR_DO_IBTF_CQ_CALLB(state, cq);
1126 tavor_cq_err_handler(tavor_state_t *state, tavor_eqhdl_t eq,
1145 tavor_eq_overflow_handler(state, eq, eqe);
1155 cq = tavor_cqhdl_from_cqnum(state, cqnum);
1178 (state->ts_ibtfpriv != NULL)) {
1182 TAVOR_DO_IBTF_ASYNC_CALLB(state, type, &event);
1246 tavor_cq_doorbell(tavor_state_t *state, uint32_t cq_cmd, uint32_t cqn,
1259 TAVOR_UAR_DOORBELL(state, (uint64_t *)&state->ts_uar->cq,
1284 tavor_cqhdl_from_cqnum(tavor_state_t *state, uint_t cqnum)
1289 cqmask = (1 << state->ts_cfg_profile->cp_log_num_cq) - 1;
1291 return (state->ts_cqhdl[cqindx]);
1300 tavor_cq_cqe_consume(tavor_state_t *state, tavor_cqhdl_t cq,
1317 status = tavor_cq_errcqe_consume(state, cq, cqe, wc);
1369 TAVOR_WARNING(state, "unknown send CQE type");
1391 qp1_indx = state->ts_spec_qp1->tr_indx;
1410 TAVOR_WARNING(state, "unknown recv CQE type");
1472 tavor_cq_errcqe_consume(tavor_state_t *state, tavor_cqhdl_t cq,
1557 TAVOR_WARNING(state, "unknown error CQE status");
1732 tavor_cq_srq_entries_flush(tavor_state_t *state, tavor_qphdl_t qp)
1898 tavor_cq_doorbell(state, TAVOR_CQDB_INCR_CONSINDX,