X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_slot_ind.c;h=2a21774e5e8ce8b147dfdd8bcf6b76fb28cbf15e;hb=b5b72edf4ea89b4064284c63dfa936b1c24718d6;hp=00ea9b933bacd54a368e24f0c6408eb148c85361;hpb=9625bef129812dfbc9b0a55ee52395c2fa7fbd93;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_slot_ind.c b/src/5gnrsch/sch_slot_ind.c index 00ea9b933..2a21774e5 100644 --- a/src/5gnrsch/sch_slot_ind.c +++ b/src/5gnrsch/sch_slot_ind.c @@ -40,6 +40,7 @@ File: sch_slot_ind.c #include "du_app_mac_inf.h" #include "mac_sch_interface.h" #include "sch.h" +#include "sch_tmr.h" #include "sch_utils.h" #ifdef NR_DRX #include "sch_drx.h" @@ -650,6 +651,8 @@ uint8_t SchProcSlotInd(Pst *pst, SlotTimingInfo *slotInd) DlBrdcstAlloc *dlBrdcstAlloc = NULLP; SchCellCb *cell = NULLP; Inst schInst = pst->dstInst-SCH_INST_START; + CmLList *node = NULLP; + TotalPrbUsage *dlTotalPrbUsage = NULLP; cell = schCb[schInst].cells[schInst]; if(cell == NULLP) @@ -749,11 +752,26 @@ uint8_t SchProcSlotInd(Pst *pst, SlotTimingInfo *slotInd) return (ret); } + /* Update DL PRB Usage for all stats group which requested for DL Total PRB Usage */ + node = cmLListFirst(&schCb[schInst].statistics.activeKpiList.dlTotPrbUseList); + while(node) + { + dlTotalPrbUsage = (TotalPrbUsage *)node->node; + dlTotalPrbUsage->numPrbUsedForTx += cell->schDlSlotInfo[slot]->prbAlloc.numPrbAlloc; + dlTotalPrbUsage->totalPrbAvailForTx += MAX_NUM_RB; + node = node->next; + } + + /* Re-initialize DL slot */ schInitDlSlot(cell->schDlSlotInfo[slot]); + + /* Send UL Resource allocation to MAC */ schUlResAlloc(cell, schInst); + #ifdef NR_DRX schHandleExpiryDrxTimer(cell); #endif + return ret; }