X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_common.c;h=c1dee263a6740ac2936b932e248c364111b8c876;hb=b3d5c17f74361fcdcb9b9febff450292197e3a57;hp=da6fd9cf07c07827cd71eb6b16e2c9d27af9469a;hpb=47a15faec02b721d3e466815eb388fea0a209e3c;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_common.c b/src/5gnrsch/sch_common.c index da6fd9cf0..c1dee263a 100644 --- a/src/5gnrsch/sch_common.c +++ b/src/5gnrsch/sch_common.c @@ -41,6 +41,7 @@ File: sch_common.c #include "du_app_mac_inf.h" #include "mac_sch_interface.h" #include "sch.h" +#include "sch_tmr.h" #include "sch_utils.h" /** @@ -484,6 +485,9 @@ uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst) UlSchedInfo ulSchedInfo; SchUlSlotInfo *schUlSlotInfo = NULLP; SlotTimingInfo ulTimingInfo; + CmLList *node = NULLP; + TotalPrbUsage *ulTotalPrbUsage = NULLP; + memset(&ulSchedInfo, 0, sizeof(UlSchedInfo)); /* add PHY delta */ @@ -535,13 +539,24 @@ uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst) memset(&schUlSlotInfo->schPucchInfo, 0, sizeof(SchPucchInfo)); } - //send msg to MAC + /* Send msg to MAC */ ret = sendUlSchInfoToMac(&ulSchedInfo, schInst); if(ret != ROK) { DU_LOG("\nERROR --> SCH : Sending UL Sch info from SCH to MAC failed"); } + /* Update DL PRB Usage for all stats group which requested for DL Total PRB Usage */ + node = cmLListFirst(&schCb[schInst].statistics.activeKpiList.ulTotPrbUseList); + while(node) + { + ulTotalPrbUsage = (TotalPrbUsage *)node->node; + ulTotalPrbUsage->numPrbUsedForTx += schUlSlotInfo->prbAlloc.numPrbAlloc; + ulTotalPrbUsage->totalPrbAvailForTx += MAX_NUM_RB; + node = node->next; + } + + /* Re-initialize UL Slot */ schInitUlSlot(schUlSlotInfo); return ret; }