From 913519063008692a8245dd502002676cf1ee9290 Mon Sep 17 00:00:00 2001 From: "lal.harshita" Date: Thu, 2 Mar 2023 13:00:31 +0530 Subject: [PATCH] [Epic-ID: ODUHIGH-488][Task-ID: ODUHIGH-498] StartPRb fix in Dl data flow Signed-off-by: lal.harshita Change-Id: Ibc186890f9c857f1d5ef97d8372e1ded94ad2748 --- src/5gnrsch/sch.h | 2 +- src/5gnrsch/sch_common.c | 2 +- src/5gnrsch/sch_fcfs.c | 9 +++++---- src/5gnrsch/sch_rach.c | 2 +- src/5gnrsch/sch_slice_based.c | 9 +++++---- src/5gnrsch/sch_slot_ind.c | 2 +- src/du_app/du_ue_mgr.c | 2 +- 7 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/5gnrsch/sch.h b/src/5gnrsch/sch.h index 17a06fd44..89c633a5d 100644 --- a/src/5gnrsch/sch.h +++ b/src/5gnrsch/sch.h @@ -576,7 +576,7 @@ typedef struct schAllApis void (* SchDeleteUlHqProcCb)(SchUlHqProcCb *hqP); void (* SchScheduleSlot)(SchCellCb *cell, SlotTimingInfo *slotInd, Inst schInst); uint32_t (* SchScheduleDlLc)(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, uint8_t pdschNumSymbols, \ - bool isRetx, SchDlHqProcCb **hqP); + uint16_t *startPrb, bool isRetx, SchDlHqProcCb **hqP); uint8_t (* SchScheduleUlLc)(SlotTimingInfo dciTime, SlotTimingInfo puschTime, uint8_t startStmb, \ uint8_t symbLen, bool isRetx, SchUlHqProcCb **hqP); }SchAllApis; diff --git a/src/5gnrsch/sch_common.c b/src/5gnrsch/sch_common.c index 4402d312b..2728ac1e1 100644 --- a/src/5gnrsch/sch_common.c +++ b/src/5gnrsch/sch_common.c @@ -1576,7 +1576,7 @@ void prbAllocUsingRRMPolicy(CmLListCp *lcLL, bool isDedicatedPRB, uint16_t mcsId { if(*sharedPRB <= (estPrb - remReservedPRB)) { - DU_LOG("\nDEBUG --> SCH: SharedPRB is less"); + DU_LOG("\nDEBUG --> SCH: SharedPRB is less"); *sharedPRB = 0; } else diff --git a/src/5gnrsch/sch_fcfs.c b/src/5gnrsch/sch_fcfs.c index f8b73fa5f..edfad6659 100644 --- a/src/5gnrsch/sch_fcfs.c +++ b/src/5gnrsch/sch_fcfs.c @@ -976,12 +976,13 @@ uint8_t schFcfsScheduleUlLc(SlotTimingInfo dciTime, SlotTimingInfo puschTime, ui * RFAILED * * ****************************************************************/ -uint32_t schFcfsScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, uint8_t pdschNumSymbols, bool isRetx, SchDlHqProcCb **hqP) +uint32_t schFcfsScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, uint8_t pdschNumSymbols, \ + uint16_t *startPrb, bool isRetx, SchDlHqProcCb **hqP) { SchFcfsHqProcCb *fcfsHqProcCb; SchUeCb *ueCb; uint8_t lcIdx = 0; - uint16_t startPrb = 0, maxFreePRB = 0; + uint16_t maxFreePRB = 0; uint16_t mcsIdx = 0; uint32_t accumalatedSize = 0; CmLListCp *lcLL = NULLP; @@ -1055,7 +1056,7 @@ uint32_t schFcfsScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, } /*[Step3]: Calculate Best FREE BLOCK with MAX PRB count*/ - maxFreePRB = searchLargestFreeBlock((*hqP)->hqEnt->cell, pdschTime, &startPrb, DIR_DL); + maxFreePRB = searchLargestFreeBlock((*hqP)->hqEnt->cell, pdschTime, startPrb, DIR_DL); /*[Step4]: Estimation of PRB and BO which can be allocated to each LC in * the list based on RRM policy*/ @@ -1071,7 +1072,7 @@ uint32_t schFcfsScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, if((fcfsHqProcCb->lcCb.dedLcList.count == NULLP) || ((maxFreePRB < rsvdDedicatedPRB))) { fcfsHqProcCb->lcCb.sharedNumPrb = maxFreePRB; - DU_LOG("\nDEBUG --> SCH : DL Only Default Slice is scheduled, sharedPRB Count:%d",\ + DU_LOG("\nDEBUG --> SCH : DL Only Default Slice is scheduled, sharedPRB Count:%d",\ fcfsHqProcCb->lcCb.sharedNumPrb); /*PRB Alloc for Default LCs*/ diff --git a/src/5gnrsch/sch_rach.c b/src/5gnrsch/sch_rach.c index 49c3109c2..a4a48a086 100644 --- a/src/5gnrsch/sch_rach.c +++ b/src/5gnrsch/sch_rach.c @@ -181,7 +181,7 @@ void schPrachResAlloc(SchCellCb *cell, UlSchedInfo *ulSchedInfo, SlotTimingInfo ulSchedInfo->prachSchInfo.prachFormat = prachFormat; ulSchedInfo->prachSchInfo.numRa = numRa; ulSchedInfo->prachSchInfo.prachStartSymb = prachStartSymbol; - DU_LOG("\nINFO --> SCH : RACH occassion set for slot %d", prachOccasionTimingInfo.slot); + DU_LOG("\nINFO --> SCH : RACH occassion set for slot %d", prachOccasionTimingInfo.slot); } /** diff --git a/src/5gnrsch/sch_slice_based.c b/src/5gnrsch/sch_slice_based.c index 656e66a96..149e7d975 100644 --- a/src/5gnrsch/sch_slice_based.c +++ b/src/5gnrsch/sch_slice_based.c @@ -975,12 +975,13 @@ uint8_t schSliceBasedScheduleUlLc(SlotTimingInfo dciTime, SlotTimingInfo puschTi * RFAILED * * ****************************************************************/ -uint32_t schSliceBasedScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, uint8_t pdschNumSymbols, bool isRetx, SchDlHqProcCb **hqP) +uint32_t schSliceBasedScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdschTime, uint8_t pdschNumSymbols,\ + uint16_t *startPrb, bool isRetx, SchDlHqProcCb **hqP) { SchSliceBasedHqProcCb *schSpcHqProcCb; SchUeCb *ueCb; uint8_t lcIdx = 0; - uint16_t startPrb = 0, maxFreePRB = 0; + uint16_t maxFreePRB = 0; uint16_t mcsIdx = 0; uint32_t accumalatedSize = 0; CmLListCp *lcLL = NULLP; @@ -1054,7 +1055,7 @@ uint32_t schSliceBasedScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdsc } /*[Step3]: Calculate Best FREE BLOCK with MAX PRB count*/ - maxFreePRB = searchLargestFreeBlock((*hqP)->hqEnt->cell, pdschTime, &startPrb, DIR_DL); + maxFreePRB = searchLargestFreeBlock((*hqP)->hqEnt->cell, pdschTime, startPrb, DIR_DL); /*[Step4]: Estimation of PRB and BO which can be allocated to each LC in * the list based on RRM policy*/ @@ -1070,7 +1071,7 @@ uint32_t schSliceBasedScheduleDlLc(SlotTimingInfo pdcchTime, SlotTimingInfo pdsc if((schSpcHqProcCb->lcCb.dedLcList.count == NULLP) || ((maxFreePRB < rsvdDedicatedPRB))) { schSpcHqProcCb->lcCb.sharedNumPrb = maxFreePRB; - DU_LOG("\nDEBUG --> SCH : DL Only Default Slice is scheduled, sharedPRB Count:%d",\ + DU_LOG("\nDEBUG --> SCH : DL Only Default Slice is scheduled, sharedPRB Count:%d",\ schSpcHqProcCb->lcCb.sharedNumPrb); /*PRB Alloc for Default LCs*/ diff --git a/src/5gnrsch/sch_slot_ind.c b/src/5gnrsch/sch_slot_ind.c index 9348ff10b..74574ebd9 100644 --- a/src/5gnrsch/sch_slot_ind.c +++ b/src/5gnrsch/sch_slot_ind.c @@ -140,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) diff --git a/src/du_app/du_ue_mgr.c b/src/du_app/du_ue_mgr.c index 68f578844..974f6e6e8 100644 --- a/src/du_app/du_ue_mgr.c +++ b/src/du_app/du_ue_mgr.c @@ -272,7 +272,7 @@ uint8_t duHdlEgtpDlData(EgtpMsg *egtpMsg) DU_LOG("\nCall Flow: ENTEGTP -> ENTDUAPP : EVENT_HDL_RECV_DL_DATA\n"); #endif - DU_LOG("\nDEBUG --> DU_APP : Processing DL data in duHdlEgtpDlData()"); + DU_LOG("\nDEBUG --> DU_APP : Processing DL data in duHdlEgtpDlData()"); if(!egtpMsg->msg) { -- 2.16.6