Lines Matching refs:state

45 static void tavor_srq_sgl_to_logwqesz(tavor_state_t *state, uint_t num_sgl,
53 tavor_srq_alloc(tavor_state_t *state, tavor_srq_info_t *srqinfo,
116 status = tavor_umap_db_find(state->ts_instance, ddi_get_pid(),
130 status = tavor_rsrc_alloc(state, TAVOR_SRQC, 1, sleepflag, &srqc);
138 status = tavor_rsrc_alloc(state, TAVOR_SRQHDL, 1, sleepflag, &rsrc);
158 umapdb = tavor_umap_db_alloc(state->ts_instance,
185 if (log_srq_size > state->ts_cfg_profile->cp_log_max_srq_sz) {
196 max_sgl = state->ts_cfg_profile->cp_srq_max_sgl;
208 tavor_srq_sgl_to_logwqesz(state, sizes->srq_sgl_sz,
253 status = tavor_queue_alloc(state, &srq->srq_wqinfo, sleepflag);
282 mr_op.mro_bind_type = state->ts_cfg_profile->cp_iommu_bypass;
286 state->ts_cfg_profile->cp_iommu_bypass;
288 state->ts_cfg_profile->cp_streaming_consistent;
298 status = tavor_mr_register(state, pd, &mr_attr, &mr, &mr_op);
319 srq->srq_wrid_wql = tavor_wrid_wql_create(state);
359 srqc_entry.state = TAVOR_SRQ_STATE_HW_OWNER;
376 status = tavor_cmn_ownership_cmd_post(state, SW2HW_SRQ, &srqc_entry,
411 srq->srq_sync = TAVOR_SRQ_IS_SYNC_REQ(state, srq->srq_wqinfo);
417 ASSERT(state->ts_srqhdl[srqc->tr_indx] == NULL);
418 state->ts_srqhdl[srqc->tr_indx] = srq;
449 if (tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
451 TAVOR_WARNING(state, "failed to deregister SRQ memory");
454 tavor_queue_free(state, &srq->srq_wqinfo);
460 tavor_rsrc_free(state, &rsrc);
462 tavor_rsrc_free(state, &srqc);
479 tavor_srq_free(tavor_state_t *state, tavor_srqhdl_t *srqhdl, uint_t sleepflag)
529 status = tavor_umap_db_find(state->ts_instance, srq->srq_srqnum,
534 TAVOR_WARNING(state, "failed to find in database");
542 state->ts_dip, 0, 0, srq->srq_wqinfo.qa_size,
546 TAVOR_WARNING(state, "failed in SRQ memory "
560 state->ts_srqhdl[srqc->tr_indx] = NULL;
572 status = tavor_cmn_ownership_cmd_post(state, HW2SW_SRQ, &srqc_entry,
575 TAVOR_WARNING(state, "failed to reclaim SRQC ownership");
590 status = tavor_mr_deregister(state, &mr, TAVOR_MR_DEREG_ALL,
593 TAVOR_WARNING(state, "failed to deregister SRQ memory");
615 tavor_queue_free(state, &srq->srq_wqinfo);
618 tavor_rsrc_free(state, &rsrc);
621 tavor_rsrc_free(state, &srqc);
639 tavor_srq_modify(tavor_state_t *state, tavor_srqhdl_t srq, uint_t size,
668 wq_location = state->ts_cfg_profile->cp_srq_wq_inddr;
674 max_srq_size = (1 << state->ts_cfg_profile->cp_log_max_srq_sz);
698 if (log_srq_size > state->ts_cfg_profile->cp_log_max_srq_sz) {
725 status = tavor_queue_alloc(state, &new_srqinfo, sleepflag);
764 bind.bi_bypass = state->ts_cfg_profile->cp_iommu_bypass;
768 state->ts_cfg_profile->cp_iommu_bypass;
770 state->ts_cfg_profile->cp_streaming_consistent;
778 status = tavor_mr_mtt_bind(state, &bind, new_srqinfo.qa_dmahdl, &mtt,
785 tavor_queue_free(state, &new_srqinfo);
805 rsrc_pool = &state->ts_rsrc_hdl[TAVOR_MTT];
839 srq_sync = TAVOR_SRQ_IS_SYNC_REQ(state, srq->srq_wqinfo);
861 status = tavor_modify_mpt_cmd_post(state, &mpt_entry, mpt->tr_indx,
869 (void) tavor_mr_mtt_unbind(state, &srq->srq_mrhdl->mr_bindinfo,
873 tavor_queue_free(state, &new_srqinfo);
958 state->ts_dip, 0, 0, srq->srq_wqinfo.qa_size, maxprot,
962 TAVOR_WARNING(state, "failed in SRQ memory "
984 status = tavor_mr_mtt_unbind(state, &old_bind, old_mtt);
986 TAVOR_WARNING(state, "failed to unbind old SRQ memory");
1000 tavor_queue_free(state, &old_srqinfo);
1071 tavor_srqhdl_from_srqnum(tavor_state_t *state, uint_t srqnum)
1076 srqmask = (1 << state->ts_cfg_profile->cp_log_num_srq) - 1;
1078 return (state->ts_srqhdl[srqindx]);
1087 tavor_srq_sgl_to_logwqesz(tavor_state_t *state, uint_t num_sgl,
1115 TAVOR_WARNING(state, "unexpected work queue type");
1123 *max_sgl = min(state->ts_cfg_profile->cp_srq_max_sgl, actual_sgl);