X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_slot_ind.c;h=00ea9b933bacd54a368e24f0c6408eb148c85361;hb=ab13dee0decf8731b1d95f943d13a6e7a4a2ead5;hp=02f9ca4d57b6a71ea2d9de332909aaf8408fb76e;hpb=12da8be0c4941e107b9ff0d18ce5b6eb7f5f7d20;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_slot_ind.c b/src/5gnrsch/sch_slot_ind.c index 02f9ca4d5..00ea9b933 100644 --- a/src/5gnrsch/sch_slot_ind.c +++ b/src/5gnrsch/sch_slot_ind.c @@ -92,6 +92,7 @@ uint8_t sendDlAllocToMac(DlSchedInfo *dlSchedInfo, Inst inst) bool schFillBoGrantDlSchedInfo(SchCellCb *cell, SlotTimingInfo currTime, uint8_t ueId, bool isRetx, SchDlHqProcCb **hqP) { uint8_t pdschNumSymbols = 0, pdschStartSymbol = 0; + uint8_t lcIdx = 0; uint16_t startPrb = 0; uint16_t crnti = 0; uint32_t accumalatedSize = 0; @@ -110,7 +111,7 @@ bool schFillBoGrantDlSchedInfo(SchCellCb *cell, SlotTimingInfo currTime, uint8_t } } - if(findValidK0K1Value(cell, currTime, ueId, ueCb->ueCfg.spCellCfg.servCellRecfg.initDlBwp.k0K1TblPrsnt,\ + if(findValidK0K1Value(cell, currTime, ueId, ueCb->k0K1TblPrsnt,\ &pdschStartSymbol, &pdschNumSymbols, &pdcchTime, &pdschTime, &pucchTime, isRetx, *hqP) != true ) { /* If a valid combination of slots to scheduled PDCCH, PDSCH and PUCCH is @@ -139,7 +140,7 @@ bool schFillBoGrantDlSchedInfo(SchCellCb *cell, SlotTimingInfo currTime, uint8_t fillDlMsgInfo(dciSlotAlloc, crnti, isRetx, *hqP); dciSlotAlloc->transportBlock[0].ndi = isRetx; - accumalatedSize = cell->api->SchScheduleDlLc(pdcchTime, pdschTime, pdschNumSymbols, isRetx, hqP); + accumalatedSize = cell->api->SchScheduleDlLc(pdcchTime, pdschTime, pdschNumSymbols, &startPrb, isRetx, hqP); /*Below case will hit if NO LC(s) are allocated due to resource crunch*/ if (!accumalatedSize) @@ -240,6 +241,12 @@ bool schFillBoGrantDlSchedInfo(SchCellCb *cell, SlotTimingInfo currTime, uint8_t cell->schDlSlotInfo[pdschTime.slot]->pdschUe = ueId; cell->schUlSlotInfo[pucchTime.slot]->pucchUe = ueId; + /*Re-setting the BO's of all DL LCs in this UE*/ + for(lcIdx = 0; lcIdx < MAX_NUM_LC; lcIdx++) + { + ueCb->dlInfo.dlLcCtxt[lcIdx].bo = 0; + } + /* after allocation is done, unset the bo bit for that ue */ UNSET_ONE_BIT(ueId, cell->boIndBitMap); return true; @@ -429,7 +436,7 @@ bool findValidK0K1Value(SchCellCb *cell, SlotTimingInfo currTime, uint8_t ueId, if(dedMsg == true) { ueCb = &cell->ueCb[ueId-1]; - k0K1InfoTbl = &ueCb->ueCfg.spCellCfg.servCellRecfg.initDlBwp.k0K1InfoTbl; + k0K1InfoTbl = &ueCb->k0K1InfoTbl; } else {