Lines Matching refs:engs

71 		if (eng_grp->engs[i].type) {  in get_cores_bmap()
73 eng_grp->engs[i].bmap, in get_cores_bmap()
487 if (!eng_grp->engs[i].type) in find_engines_by_type()
490 if (eng_grp->engs[i].type == eng_type) in find_engines_by_type()
491 return &eng_grp->engs[i]; in find_engines_by_type()
505 struct otx_cpt_engs_rsvd *engs; in otx_cpt_eng_grp_has_eng_type() local
507 engs = find_engines_by_type(eng_grp, eng_type); in otx_cpt_eng_grp_has_eng_type()
509 return (engs != NULL ? 1 : 0); in otx_cpt_eng_grp_has_eng_type()
529 struct otx_cpt_engs_rsvd *engs; in print_engs_info() local
534 engs = &eng_grp->engs[i]; in print_engs_info()
535 if (!engs->type) in print_engs_info()
543 engs->type); in print_engs_info()
551 engs->count + mirrored_engs->count : engs->count, in print_engs_info()
552 get_eng_type_str(engs->type)); in print_engs_info()
557 engs->count <= 0 ? engs->count + in print_engs_info()
599 struct otx_cpt_engs_rsvd *engs; in print_dbg_info() local
625 engs = &grp->engs[j]; in print_dbg_info()
626 if (engs->type) { in print_dbg_info()
630 bitmap_to_arr32(mask, engs->bmap, in print_dbg_info()
647 struct otx_cpt_engs_rsvd *engs, int val) in update_engines_avail_count() argument
649 switch (engs->type) { in update_engines_avail_count()
659 dev_err(dev, "Invalid engine type %d\n", engs->type); in update_engines_avail_count()
668 struct otx_cpt_engs_rsvd *engs) in update_engines_offset() argument
670 switch (engs->type) { in update_engines_offset()
672 engs->offset = 0; in update_engines_offset()
676 engs->offset = avail->max_se_cnt; in update_engines_offset()
680 dev_err(dev, "Invalid engine type %d\n", engs->type); in update_engines_offset()
692 if (!grp->engs[i].type) in release_engines()
695 if (grp->engs[i].count > 0) { in release_engines()
697 &grp->engs[i], in release_engines()
698 grp->engs[i].count); in release_engines()
703 grp->engs[i].type = 0; in release_engines()
704 grp->engs[i].count = 0; in release_engines()
705 grp->engs[i].offset = 0; in release_engines()
706 grp->engs[i].ucode = NULL; in release_engines()
707 bitmap_zero(grp->engs[i].bmap, grp->g->engs_num); in release_engines()
717 struct otx_cpt_engs_rsvd *engs = NULL; in do_reserve_engines() local
721 if (!grp->engs[i].type) { in do_reserve_engines()
722 engs = &grp->engs[i]; in do_reserve_engines()
727 if (!engs) in do_reserve_engines()
730 engs->type = req_engs->type; in do_reserve_engines()
731 engs->count = req_engs->count; in do_reserve_engines()
733 ret = update_engines_offset(dev, &grp->g->avail, engs); in do_reserve_engines()
737 if (engs->count > 0) { in do_reserve_engines()
738 ret = update_engines_avail_count(dev, &grp->g->avail, engs, in do_reserve_engines()
739 -engs->count); in do_reserve_engines()
951 if (!eng_grp->engs[i].type) in disable_eng_grp()
954 eng_grp->engs[i].ucode = &eng_grp->ucode[0]; in disable_eng_grp()
992 struct otx_cpt_engines *engs, int engs_cnt) in update_requested_engs() argument
999 engs[i].type); in update_requested_engs()
1017 engs[i].count -= mirrored_engs->count; in update_requested_engs()
1058 struct otx_cpt_engs_rsvd *engs, *mirrored_engs; in eng_grp_update_masks() local
1064 engs = &eng_grp->engs[i]; in eng_grp_update_masks()
1065 if (!engs->type) in eng_grp_update_masks()
1067 if (engs->count <= 0) in eng_grp_update_masks()
1070 switch (engs->type) { in eng_grp_update_masks()
1080 dev_err(dev, "Invalid engine type %d\n", engs->type); in eng_grp_update_masks()
1084 cnt = engs->count; in eng_grp_update_masks()
1085 WARN_ON(engs->offset + max_cnt > OTX_CPT_MAX_ENGINES); in eng_grp_update_masks()
1087 for (j = engs->offset; j < engs->offset + max_cnt; j++) { in eng_grp_update_masks()
1099 bitmap_copy(engs->bmap, tmp_bmap.bits, eng_grp->g->engs_num); in eng_grp_update_masks()
1106 engs = &eng_grp->engs[i]; in eng_grp_update_masks()
1107 if (!engs->type) in eng_grp_update_masks()
1112 engs->type); in eng_grp_update_masks()
1113 WARN_ON(!mirrored_engs && engs->count <= 0); in eng_grp_update_masks()
1119 if (engs->count < 0) { in eng_grp_update_masks()
1122 bitmap_clear(tmp_bmap.bits, bit, -engs->count); in eng_grp_update_masks()
1124 bitmap_or(engs->bmap, engs->bmap, tmp_bmap.bits, in eng_grp_update_masks()
1171 struct otx_cpt_engines *engs, int engs_cnt) in validate_1_ucode_scenario() argument
1178 engs[i].type)) { in validate_1_ucode_scenario()
1182 get_eng_type_str(engs[i].type)); in validate_1_ucode_scenario()
1197 WARN_ON(!eng_grp->engs[0].type); in update_ucode_ptrs()
1198 eng_grp->engs[0].ucode = ucode; in update_ucode_ptrs()
1203 struct otx_cpt_engines *engs, int engs_cnt, in create_engine_group() argument
1217 if (!dev_supports_eng_type(eng_grps, engs[i].type)) { in create_engine_group()
1219 get_eng_type_str(engs[i].type)); in create_engine_group()
1245 ret = validate_1_ucode_scenario(dev, eng_grp, engs, engs_cnt); in create_engine_group()
1259 update_requested_engs(mirrored_eng_grp, engs, engs_cnt); in create_engine_group()
1263 ret = reserve_engines(dev, eng_grp, engs, engs_cnt); in create_engine_group()
1316 struct otx_cpt_engines engs[OTX_CPT_MAX_ETYPES_PER_GRP] = { {0} }; in ucode_load_store() local
1367 if (kstrtoint(strim(val), 10, &engs[grp_idx].count)) in ucode_load_store()
1369 engs[grp_idx++].type = OTX_CPT_SE_TYPES; in ucode_load_store()
1379 if (kstrtoint(strim(val), 10, &engs[grp_idx].count)) in ucode_load_store()
1381 engs[grp_idx++].type = OTX_CPT_AE_TYPES; in ucode_load_store()
1437 ret = create_engine_group(dev, eng_grps, engs, grp_idx, in ucode_load_store()
1461 struct otx_cpt_engines engs[OTX_CPT_MAX_ETYPES_PER_GRP] = {}; in otx_cpt_try_create_default_eng_grps() local
1506 engs[0].type = OTX_CPT_SE_TYPES; in otx_cpt_try_create_default_eng_grps()
1507 engs[0].count = eng_grps->avail.max_se_cnt; in otx_cpt_try_create_default_eng_grps()
1509 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in otx_cpt_try_create_default_eng_grps()
1523 engs[0].type = OTX_CPT_AE_TYPES; in otx_cpt_try_create_default_eng_grps()
1524 engs[0].count = eng_grps->avail.max_ae_cnt; in otx_cpt_try_create_default_eng_grps()
1526 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in otx_cpt_try_create_default_eng_grps()
1601 kfree(grp->engs[j].bmap); in otx_cpt_cleanup_eng_grps()
1602 grp->engs[j].bmap = NULL; in otx_cpt_cleanup_eng_grps()
1638 grp->engs[j].bmap = in otx_cpt_init_eng_grps()
1641 if (!grp->engs[j].bmap) { in otx_cpt_init_eng_grps()