X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr_main.c;h=364157b2ca5d07852a18a702438f8295ca4b271d;hb=ba78fa13b01e0729fe0a6a7a18cbf1d52cdcda1c;hp=f4791d29ed44998cb65daf0bb8a4fd460073065d;hpb=4d45b914f9e94203603d3b9fdbcb1aad361301dd;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr_main.c b/src/du_app/du_mgr_main.c index f4791d29e..364157b2c 100644 --- a/src/du_app/du_mgr_main.c +++ b/src/du_app/du_mgr_main.c @@ -30,12 +30,14 @@ #include "du_sctp.h" #include "du_egtp.h" -extern uint8_t rlcUlActvTsk (Pst *, Buffer *); -extern uint8_t rlcUlActvInit (Ent, Inst, Region, Reason); -extern uint8_t rlcDlActvTsk (Pst *, Buffer *); -extern uint8_t rlcDlActvInit (Ent, Inst, Region, Reason); -extern uint8_t rgActvTsk (Pst *, Buffer *); -extern uint8_t rgActvInit (Ent, Inst, Region, Reason); +uint8_t rlcUlActvTsk (Pst *, Buffer *); +uint8_t rlcUlActvInit (Ent, Inst, Region, Reason); +uint8_t rlcDlActvTsk (Pst *, Buffer *); +uint8_t rlcDlActvInit (Ent, Inst, Region, Reason); +uint8_t rgActvTsk (Pst *, Buffer *); +uint8_t rgActvInit (Ent, Inst, Region, Reason); +uint8_t lwrMacActvTsk(Pst *, Buffer *); +uint8_t lwrMacActvInit(Ent, Inst, Region, Reason); /* Global variable */ DuCfgParams duCfgParam; @@ -166,25 +168,25 @@ uint8_t sctpInit(SSTskId sysTskId) uint8_t rlcDlInit(SSTskId sysTskId) { /* Register RLC DL TAPA Task */ - if(ODU_REG_TTSK((Ent)ENTKW, (Inst)1, (Ttype)TTNORM, (Prior)PRIOR0, + if(ODU_REG_TTSK((Ent)ENTRLC, (Inst)1, (Ttype)TTNORM, (Prior)PRIOR0, rlcDlActvInit, (ActvTsk)rlcDlActvTsk) != ROK) { return RFAILED; } /* Attach RLC DL Task */ - if (ODU_ATTACH_TTSK((Ent)ENTKW, (Inst)1, sysTskId)!= ROK) + if (ODU_ATTACH_TTSK((Ent)ENTRLC, (Inst)1, sysTskId)!= ROK) { return RFAILED; } /* Register MAC TAPA Task */ - if(ODU_REG_TTSK((Ent)ENTRG, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0, + if(ODU_REG_TTSK((Ent)ENTMAC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0, rgActvInit, (ActvTsk)rgActvTsk) != ROK) { return RFAILED; } /* Attach MAC Task */ - if (ODU_ATTACH_TTSK((Ent)ENTRG, (Inst)0, sysTskId)!= ROK) + if (ODU_ATTACH_TTSK((Ent)ENTMAC, (Inst)0, sysTskId)!= ROK) { return RFAILED; } @@ -213,13 +215,13 @@ uint8_t rlcDlInit(SSTskId sysTskId) uint8_t rlcUlInit(SSTskId sysTskId) { /* Register RLC UL TAPA Task */ - if(ODU_REG_TTSK((Ent)ENTKW, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0, + if(ODU_REG_TTSK((Ent)ENTRLC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0, rlcUlActvInit, (ActvTsk)rlcUlActvTsk) != ROK) { return RFAILED; } /* Attach RLC DL Task */ - if (ODU_ATTACH_TTSK((Ent)ENTKW, (Inst)0, sysTskId)!= ROK) + if (ODU_ATTACH_TTSK((Ent)ENTRLC, (Inst)0, sysTskId)!= ROK) { return RFAILED; } @@ -228,6 +230,41 @@ uint8_t rlcUlInit(SSTskId sysTskId) return ROK; } +/******************************************************************* + * + * @brief Initializes Lower MAC receiver task + * + * @details + * + * Function : lwrMacInit + * + * Functionality: + * - Registers and attaches TAPA tasks for Lower MAC receiver + * + * @params[in] system task ID + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t lwrMacInit(SSTskId sysTskId) +{ + /* Register SCTP TAPA Task */ + if(ODU_REG_TTSK((Ent)ENTLWRMAC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0, + lwrMacActvInit, (ActvTsk)lwrMacActvTsk) != ROK) + { + return RFAILED; + } + /* Attach SCTP TAPA Task */ + if (ODU_ATTACH_TTSK((Ent)ENTLWRMAC, (Inst)0, sysTskId)!= ROK) + { + return RFAILED; + } + + DU_LOG("\nDU_APP : LWR MAC TAPA task created and registered to %d sys task", + sysTskId); + return ROK; +} + /******************************************************************* * * @brief Initializes system and TAPA tasks @@ -247,25 +284,53 @@ uint8_t rlcUlInit(SSTskId sysTskId) uint8_t commonInit() { /* Declare system task Ids */ - SSTskId du_app_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk; + SSTskId du_app_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, lwr_mac_stsk; pthread_attr_t attr; ODU_SET_PROC_ID(DU_PROC); /* system task for DU APP */ - SCreateSTsk(PRIOR0, &du_app_stsk); + if(SCreateSTsk(PRIOR0, &du_app_stsk) != ROK) + { + DU_LOG("\nDU_APP : System Task creation for DU APP failed"); + return RFAILED; + } + ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 15, 0); /* system task for RLC_DL and MAC */ - SCreateSTsk(PRIOR0, &rlc_mac_cl_stsk); + if(SCreateSTsk(PRIOR0, &rlc_mac_cl_stsk) != ROK) + { + DU_LOG("\nDU_APP : System Task creation for RLC DL/MAC failed"); + return RFAILED; + } pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 16, 0); /* system task for RLC UL */ - SCreateSTsk(PRIOR1, &rlc_ul_stsk); + if(SCreateSTsk(PRIOR1, &rlc_ul_stsk) != ROK) + { + DU_LOG("\nDU_APP : System Task creation for RLC UL failed"); + return RFAILED; + } + ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 17, 0); /* system task for SCTP receiver thread */ - SCreateSTsk(PRIOR0, &sctp_stsk); + if(SCreateSTsk(PRIOR0, &sctp_stsk) != ROK) + { + DU_LOG("\nDU_APP : System Task creation for SCTP failed"); + return RFAILED; + } + ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 18, 0); + + /* system task for lower-mac receiver thread */ + if(SCreateSTsk(PRIOR0, &lwr_mac_stsk) != ROK) + { + DU_LOG("\nDU_APP : System Task creation for Lower MAC failed"); + return RFAILED; + } + ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 19, 0); /* Create TAPA tasks */ if(duAppInit(du_app_stsk) != ROK) @@ -297,6 +362,13 @@ uint8_t commonInit() DU_LOG("\nDU_APP : RLC UL Tapa Task initialization failed"); return RFAILED; } + + if(lwrMacInit(lwr_mac_stsk) != ROK) + { + DU_LOG("\nDU_APP : Lower MAC Tapa Task initialization failed"); + return RFAILED; + } + return ROK; }