Lines Matching refs:ctxm
876 static void bnxt_init_ctx_mem(struct bnxt_ctx_mem_type *ctxm, void *p, int len) in bnxt_init_ctx_mem() argument
878 u8 init_val = ctxm->init_value; in bnxt_init_ctx_mem()
879 u16 offset = ctxm->init_offset; in bnxt_init_ctx_mem()
889 for (i = 0; i < len; i += ctxm->entry_size) in bnxt_init_ctx_mem()
970 u8 depth, struct bnxt_ctx_mem_type *ctxm) in bnxt_alloc_ctx_pg_tbls() argument
1007 rmem->ctx_mem = ctxm; in bnxt_alloc_ctx_pg_tbls()
1022 rmem->ctx_mem = ctxm; in bnxt_alloc_ctx_pg_tbls()
1058 struct bnxt_ctx_mem_type *ctxm, u32 entries, in bnxt_setup_ctxm_pg_tbls() argument
1061 struct bnxt_ctx_pg_info *ctx_pg = ctxm->pg_info; in bnxt_setup_ctxm_pg_tbls()
1065 if (!ctxm->entry_size || !ctx_pg) in bnxt_setup_ctxm_pg_tbls()
1067 if (ctxm->instance_bmap) in bnxt_setup_ctxm_pg_tbls()
1068 n = hweight32(ctxm->instance_bmap); in bnxt_setup_ctxm_pg_tbls()
1069 if (ctxm->entry_multiple) in bnxt_setup_ctxm_pg_tbls()
1070 entries = roundup(entries, ctxm->entry_multiple); in bnxt_setup_ctxm_pg_tbls()
1071 entries = clamp_t(u32, entries, ctxm->min_entries, ctxm->max_entries); in bnxt_setup_ctxm_pg_tbls()
1072 mem_size = entries * ctxm->entry_size; in bnxt_setup_ctxm_pg_tbls()
1076 ctxm->init_value ? ctxm : NULL); in bnxt_setup_ctxm_pg_tbls()
1079 ctxm->mem_valid = 1; in bnxt_setup_ctxm_pg_tbls()
1092 struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; in bnxt_free_ctx_mem() local
1093 struct bnxt_ctx_pg_info *ctx_pg = ctxm->pg_info; in bnxt_free_ctx_mem()
1098 if (ctxm->instance_bmap) in bnxt_free_ctx_mem()
1099 n = hweight32(ctxm->instance_bmap); in bnxt_free_ctx_mem()
1104 ctxm->pg_info = NULL; in bnxt_free_ctx_mem()
1116 struct bnxt_ctx_mem_type *ctxm; in bnxt_backing_store_cfg_v2() local
1123 ctxm = &ctx->ctx_arr[type]; in bnxt_backing_store_cfg_v2()
1124 if (!(ctxm->flags & BNXT_CTX_MEM_TYPE_VALID)) in bnxt_backing_store_cfg_v2()
1126 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->max_entries, 1); in bnxt_backing_store_cfg_v2()
1149 ctxm = &ctx->ctx_arr[type]; in bnxt_backing_store_cfg_v2()
1151 if (!ctxm->mem_valid) in bnxt_backing_store_cfg_v2()
1153 rc = bnxt_hwrm_func_backing_store_cfg_v2(softc, ctxm, ctxm->last); in bnxt_backing_store_cfg_v2()
1163 struct bnxt_ctx_mem_type *ctxm; in bnxt_alloc_ctx_mem() local
1191 ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; in bnxt_alloc_ctx_mem()
1192 l2_qps = ctxm->qp_l2_entries; in bnxt_alloc_ctx_mem()
1193 qp1_qps = ctxm->qp_qp1_entries; in bnxt_alloc_ctx_mem()
1194 max_qps = ctxm->max_entries; in bnxt_alloc_ctx_mem()
1195 ctxm = &ctx->ctx_arr[BNXT_CTX_SRQ]; in bnxt_alloc_ctx_mem()
1196 srqs = ctxm->srq_l2_entries; in bnxt_alloc_ctx_mem()
1197 max_srqs = ctxm->max_entries; in bnxt_alloc_ctx_mem()
1204 ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; in bnxt_alloc_ctx_mem()
1205 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, l2_qps + qp1_qps + extra_qps, in bnxt_alloc_ctx_mem()
1210 ctxm = &ctx->ctx_arr[BNXT_CTX_SRQ]; in bnxt_alloc_ctx_mem()
1211 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, srqs + extra_srqs, pg_lvl); in bnxt_alloc_ctx_mem()
1215 ctxm = &ctx->ctx_arr[BNXT_CTX_CQ]; in bnxt_alloc_ctx_mem()
1216 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->cq_l2_entries + in bnxt_alloc_ctx_mem()
1221 ctxm = &ctx->ctx_arr[BNXT_CTX_VNIC]; in bnxt_alloc_ctx_mem()
1222 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->max_entries, 1); in bnxt_alloc_ctx_mem()
1226 ctxm = &ctx->ctx_arr[BNXT_CTX_STAT]; in bnxt_alloc_ctx_mem()
1227 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->max_entries, 1); in bnxt_alloc_ctx_mem()
1234 ctxm = &ctx->ctx_arr[BNXT_CTX_MRAV]; in bnxt_alloc_ctx_mem()
1235 ctx_pg = ctxm->pg_info; in bnxt_alloc_ctx_mem()
1239 num_mr = min_t(u32, ctxm->max_entries / 2, 1024 * 256); in bnxt_alloc_ctx_mem()
1241 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, num_mr + num_ah, 2); in bnxt_alloc_ctx_mem()
1246 if (ctxm->mrav_num_entries_units) in bnxt_alloc_ctx_mem()
1248 ((num_mr / ctxm->mrav_num_entries_units) << 16) | in bnxt_alloc_ctx_mem()
1249 (num_ah / ctxm->mrav_num_entries_units); in bnxt_alloc_ctx_mem()
1251 ctxm = &ctx->ctx_arr[BNXT_CTX_TIM]; in bnxt_alloc_ctx_mem()
1252 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, l2_qps + qp1_qps + extra_qps, 1); in bnxt_alloc_ctx_mem()
1258 ctxm = &ctx->ctx_arr[BNXT_CTX_STQM]; in bnxt_alloc_ctx_mem()
1259 min = ctxm->min_entries; in bnxt_alloc_ctx_mem()
1262 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, entries_sp, 2); in bnxt_alloc_ctx_mem()
1266 ctxm = &ctx->ctx_arr[BNXT_CTX_FTQM]; in bnxt_alloc_ctx_mem()
1268 rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, entries, 2); in bnxt_alloc_ctx_mem()