Lines Matching refs:engs

39 		if (eng_grp->engs[i].type) {  in get_cores_bmap()
41 eng_grp->engs[i].bmap, in get_cores_bmap()
168 struct otx2_cpt_engs_rsvd *engs; in cptx_set_ucode_base() local
180 engs = &eng_grp->engs[i]; in cptx_set_ucode_base()
181 if (!engs->type) in cptx_set_ucode_base()
184 dma_addr = engs->ucode->dma; in cptx_set_ucode_base()
190 for_each_set_bit(bit, engs->bmap, eng_grp->g->engs_num) in cptx_set_ucode_base()
485 if (!eng_grp->engs[i].type) in find_engines_by_type()
488 if (eng_grp->engs[i].type == eng_type) in find_engines_by_type()
489 return &eng_grp->engs[i]; in find_engines_by_type()
497 struct otx2_cpt_engs_rsvd *engs; in eng_grp_has_eng_type() local
499 engs = find_engines_by_type(eng_grp, eng_type); in eng_grp_has_eng_type()
501 return (engs != NULL ? 1 : 0); in eng_grp_has_eng_type()
506 struct otx2_cpt_engs_rsvd *engs, int val) in update_engines_avail_count() argument
508 switch (engs->type) { in update_engines_avail_count()
522 dev_err(dev, "Invalid engine type %d\n", engs->type); in update_engines_avail_count()
530 struct otx2_cpt_engs_rsvd *engs) in update_engines_offset() argument
532 switch (engs->type) { in update_engines_offset()
534 engs->offset = 0; in update_engines_offset()
538 engs->offset = avail->max_se_cnt; in update_engines_offset()
542 engs->offset = avail->max_se_cnt + avail->max_ie_cnt; in update_engines_offset()
546 dev_err(dev, "Invalid engine type %d\n", engs->type); in update_engines_offset()
558 if (!grp->engs[i].type) in release_engines()
561 if (grp->engs[i].count > 0) { in release_engines()
563 &grp->engs[i], in release_engines()
564 grp->engs[i].count); in release_engines()
569 grp->engs[i].type = 0; in release_engines()
570 grp->engs[i].count = 0; in release_engines()
571 grp->engs[i].offset = 0; in release_engines()
572 grp->engs[i].ucode = NULL; in release_engines()
573 bitmap_zero(grp->engs[i].bmap, grp->g->engs_num); in release_engines()
582 struct otx2_cpt_engs_rsvd *engs = NULL; in do_reserve_engines() local
586 if (!grp->engs[i].type) { in do_reserve_engines()
587 engs = &grp->engs[i]; in do_reserve_engines()
592 if (!engs) in do_reserve_engines()
595 engs->type = req_engs->type; in do_reserve_engines()
596 engs->count = req_engs->count; in do_reserve_engines()
598 ret = update_engines_offset(dev, &grp->g->avail, engs); in do_reserve_engines()
602 if (engs->count > 0) { in do_reserve_engines()
603 ret = update_engines_avail_count(dev, &grp->g->avail, engs, in do_reserve_engines()
604 -engs->count); in do_reserve_engines()
740 if (!eng_grp->engs[i].type) in disable_eng_grp()
743 eng_grp->engs[i].ucode = &eng_grp->ucode[0]; in disable_eng_grp()
782 struct otx2_cpt_engines *engs, int engs_cnt) in update_requested_engs() argument
789 engs[i].type); in update_requested_engs()
807 engs[i].count -= mirrored_engs->count; in update_requested_engs()
849 struct otx2_cpt_engs_rsvd *engs, *mirrored_engs; in eng_grp_update_masks() local
855 engs = &eng_grp->engs[i]; in eng_grp_update_masks()
856 if (!engs->type) in eng_grp_update_masks()
858 if (engs->count <= 0) in eng_grp_update_masks()
861 switch (engs->type) { in eng_grp_update_masks()
875 dev_err(dev, "Invalid engine type %d\n", engs->type); in eng_grp_update_masks()
879 cnt = engs->count; in eng_grp_update_masks()
880 WARN_ON(engs->offset + max_cnt > OTX2_CPT_MAX_ENGINES); in eng_grp_update_masks()
882 for (j = engs->offset; j < engs->offset + max_cnt; j++) { in eng_grp_update_masks()
894 bitmap_copy(engs->bmap, tmp_bmap.bits, eng_grp->g->engs_num); in eng_grp_update_masks()
901 engs = &eng_grp->engs[i]; in eng_grp_update_masks()
902 if (!engs->type) in eng_grp_update_masks()
907 engs->type); in eng_grp_update_masks()
908 WARN_ON(!mirrored_engs && engs->count <= 0); in eng_grp_update_masks()
914 if (engs->count < 0) { in eng_grp_update_masks()
917 bitmap_clear(tmp_bmap.bits, bit, -engs->count); in eng_grp_update_masks()
919 bitmap_or(engs->bmap, engs->bmap, tmp_bmap.bits, in eng_grp_update_masks()
962 WARN_ON(!eng_grp->engs[0].type); in update_ucode_ptrs()
963 eng_grp->engs[0].ucode = ucode; in update_ucode_ptrs()
965 if (eng_grp->engs[1].type) { in update_ucode_ptrs()
967 eng_grp->engs[1].ucode = &eng_grp->ucode[1]; in update_ucode_ptrs()
969 eng_grp->engs[1].ucode = ucode; in update_ucode_ptrs()
975 struct otx2_cpt_engines *engs, int ucodes_cnt, in create_engine_group() argument
1009 update_requested_engs(mirrored_eng_grp, engs, ucodes_cnt); in create_engine_group()
1011 ret = reserve_engines(dev, eng_grp, engs, ucodes_cnt); in create_engine_group()
1110 struct otx2_cpt_engines engs[OTX2_CPT_MAX_ETYPES_PER_GRP] = { {0} }; in otx2_cpt_create_eng_grps() local
1136 engs[0].type = OTX2_CPT_SE_TYPES; in otx2_cpt_create_eng_grps()
1137 engs[0].count = eng_grps->avail.max_se_cnt; in otx2_cpt_create_eng_grps()
1139 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in otx2_cpt_create_eng_grps()
1156 engs[0].type = OTX2_CPT_SE_TYPES; in otx2_cpt_create_eng_grps()
1157 engs[0].count = eng_grps->avail.max_se_cnt; in otx2_cpt_create_eng_grps()
1158 engs[1].type = OTX2_CPT_IE_TYPES; in otx2_cpt_create_eng_grps()
1159 engs[1].count = eng_grps->avail.max_ie_cnt; in otx2_cpt_create_eng_grps()
1161 ret = create_engine_group(&pdev->dev, eng_grps, engs, 2, in otx2_cpt_create_eng_grps()
1176 engs[0].type = OTX2_CPT_AE_TYPES; in otx2_cpt_create_eng_grps()
1177 engs[0].count = eng_grps->avail.max_ae_cnt; in otx2_cpt_create_eng_grps()
1179 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in otx2_cpt_create_eng_grps()
1294 kfree(grp->engs[j].bmap); in otx2_cpt_cleanup_eng_grps()
1295 grp->engs[j].bmap = NULL; in otx2_cpt_cleanup_eng_grps()
1328 grp->engs[j].bmap = in otx2_cpt_init_eng_grps()
1331 if (!grp->engs[j].bmap) { in otx2_cpt_init_eng_grps()
1348 struct otx2_cpt_engines engs[OTX2_CPT_MAX_ETYPES_PER_GRP] = { {0} }; in create_eng_caps_discovery_grps() local
1362 engs[0].type = OTX2_CPT_AE_TYPES; in create_eng_caps_discovery_grps()
1363 engs[0].count = 2; in create_eng_caps_discovery_grps()
1365 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in create_eng_caps_discovery_grps()
1376 engs[0].type = OTX2_CPT_SE_TYPES; in create_eng_caps_discovery_grps()
1377 engs[0].count = 2; in create_eng_caps_discovery_grps()
1379 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in create_eng_caps_discovery_grps()
1390 engs[0].type = OTX2_CPT_IE_TYPES; in create_eng_caps_discovery_grps()
1391 engs[0].count = 2; in create_eng_caps_discovery_grps()
1393 ret = create_engine_group(&pdev->dev, eng_grps, engs, 1, in create_eng_caps_discovery_grps()