X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Frg_sch_mga.c;h=d57979c423d07cd2e67524b5889bc51fd017dba0;hb=2bd852089c3226f721d83b30f816b90f803237f6;hp=26886675d43733de83aef8e2e169d7638c7487c2;hpb=def50dc175cebc67238db5f1acd5ff322a2279bd;p=o-du%2Fl2.git diff --git a/src/5gnrsch/rg_sch_mga.c b/src/5gnrsch/rg_sch_mga.c index 26886675d..d57979c42 100755 --- a/src/5gnrsch/rg_sch_mga.c +++ b/src/5gnrsch/rg_sch_mga.c @@ -31,9 +31,6 @@ /** @file rg_sch_mga.c @brief This module handles schedulers' measurement gap and ack-nack repetiton functionality */ -static const char* RLOG_MODULE_NAME="MAC"; -static int RLOG_MODULE_ID=4096; -static int RLOG_FILE_ID=169; /* header include files -- defines (.h) */ #include "common_def.h" @@ -45,8 +42,6 @@ static int RLOG_FILE_ID=169; #include "rg_sch_err.h" #include "rg_sch.h" #include "rg_sch_cmn.h" -#include "rl_interface.h" -#include "rl_common.h" /* header/extern include files (.x) */ #include "tfu.x" /* RGU types */ @@ -56,33 +51,33 @@ static int RLOG_FILE_ID=169; #include "rg_sch.x" /* typedefs for Scheduler */ /* local defines */ -PRIVATE S16 rgSCHMeasGapANRepUtlAddUe ARGS(( +static S16 rgSCHMeasGapANRepUtlAddUe ARGS(( RgSchCellCb *cell, RgSchUeCb *ue, RgrUeMeasGapCfg *cfg)); -PRIVATE S16 rgSCHMeasGapANRepUtlRmvUe ARGS(( +static S16 rgSCHMeasGapANRepUtlRmvUe ARGS(( RgSchCellCb *cell, RgSchUeCb *ue)); -PRIVATE S16 rgSchAckNackRepUtlRmvUe ARGS(( +static S16 rgSchAckNackRepUtlRmvUe ARGS(( RgSchCellCb *cell, RgSchUeCb *ue)); -PRIVATE Void rgSchAckNackRepUtlHdlTti ARGS(( +static Void rgSchAckNackRepUtlHdlTti ARGS(( RgSchCellCb *cell, CmLListCp *ackNackRepQ)); -PRIVATE Void rgSCHMeasGapANRepUtlHdlTti ARGS(( +static Void rgSCHMeasGapANRepUtlHdlTti ARGS(( RgSchCellCb *cell, CmLListCp *measGapQ)); #ifdef LTE_TDD -PRIVATE uint8_t rgSCHAckNakRepFindUlDuration ARGS(( +static uint8_t rgSCHAckNakRepFindUlDuration ARGS(( RgSchCellCb *cell, RgSchDlSf *dlSf, CmLteTimingInfo repTime, uint8_t repCnt)); -PRIVATE Void rgSCHAckNakRepGetUlOffsetFrmDl ARGS(( +static Void rgSCHAckNakRepGetUlOffsetFrmDl ARGS(( RgSchDlSf *dlSf, CmLteTimingInfo crntDlTime, uint8_t *noSubfrms)); @@ -124,19 +119,7 @@ uint8_t *noSubfrms)); * -# ROK **/ -#ifdef ANSI -S16 rgSCHMeasGapANRepUeCfg -( -RgSchCellCb *cell, -RgSchUeCb *ue, -RgrUeCfg *ueCfg -) -#else -S16 rgSCHMeasGapANRepUeCfg(cell, ue, ueCfg) -RgSchCellCb *cell; -RgSchUeCb *ue; -RgrUeCfg *ueCfg; -#endif +S16 rgSCHMeasGapANRepUeCfg(RgSchCellCb *cell,RgSchUeCb *ue,RgrUeCfg *ueCfg) { ue->measGapCb.isMesGapEnabled = ueCfg->ueMesGapCfg.isMesGapEnabled; @@ -197,19 +180,7 @@ RgrUeCfg *ueCfg; * -# RFAILED **/ -#ifdef ANSI -S16 rgSCHMeasGapANRepUeRecfg -( -RgSchCellCb *cell, -RgSchUeCb *ue, -RgrUeRecfg *ueRecfg -) -#else -S16 rgSCHMeasGapANRepUeRecfg(cell, ue, ueRecfg) -RgSchCellCb *cell; -RgSchUeCb *ue; -RgrUeRecfg *ueRecfg; -#endif +S16 rgSCHMeasGapANRepUeRecfg(RgSchCellCb *cell,RgSchUeCb *ue,RgrUeRecfg *ueRecfg) { RgrUeMeasGapCfg *reCfg; RgSchUeMeasGapCb *ueMeasCb; @@ -301,19 +272,7 @@ RgrUeRecfg *ueRecfg; * @param * @return */ -#ifdef ANSI -PRIVATE S16 rgSCHMeasGapANRepUtlAddUe -( -RgSchCellCb *cell, -RgSchUeCb *ue, -RgrUeMeasGapCfg *cfg -) -#else -PRIVATE S16 rgSCHMeasGapANRepUtlAddUe (cell, ue, cfg) -RgSchCellCb *cell; -RgSchUeCb *ue; -RgrUeMeasGapCfg *cfg; -#endif +static S16 rgSCHMeasGapANRepUtlAddUe(RgSchCellCb *cell,RgSchUeCb *ue,RgrUeMeasGapCfg *cfg) { switch (cfg->gapPrd) @@ -330,8 +289,7 @@ RgrUeMeasGapCfg *cfg; &(ue->measGapCb.measQLnk)); break; default: - RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId, - "rgSCHMeasGapANRepUeRecfg() Incorrect GAP Period" + DU_LOG("\nERROR --> SCH : rgSCHMeasGapANRepUeRecfg() Incorrect GAP Period" "CRNTI:%d",ue->ueId); return RFAILED; } @@ -353,17 +311,7 @@ RgrUeMeasGapCfg *cfg; * @param * @return */ -#ifdef ANSI -PRIVATE S16 rgSCHMeasGapANRepUtlRmvUe -( -RgSchCellCb *cell, -RgSchUeCb *ue -) -#else -PRIVATE S16 rgSCHMeasGapANRepUtlRmvUe (cell, ue) -RgSchCellCb *cell; -RgSchUeCb *ue; -#endif +static S16 rgSCHMeasGapANRepUtlRmvUe(RgSchCellCb *cell,RgSchUeCb *ue) { switch (ue->measGapCb.gapPrd) @@ -413,19 +361,7 @@ RgSchUeCb *ue; * -# ROK **/ -#ifdef ANSI -Void rgSCHMeasGapANRepUeDel -( -RgSchCellCb *cell, -RgSchUeCb *ue, -Bool isUeDel -) -#else -Void rgSCHMeasGapANRepUeDel(cell, ue, isUeDel) -RgSchCellCb *cell; -RgSchUeCb *ue; -Bool isUeDel; -#endif +Void rgSCHMeasGapANRepUeDel(RgSchCellCb *cell,RgSchUeCb *ue,Bool isUeDel) { if (ue->measGapCb.isMesGapEnabled) @@ -491,26 +427,16 @@ Bool isUeDel; * @param * @return */ -#ifdef ANSI -PRIVATE S16 rgSchAckNackRepUtlRmvUe -( - RgSchCellCb *cell, - RgSchUeCb *ue - ) -#else -PRIVATE S16 rgSchAckNackRepUtlRmvUe (cell, ue) - RgSchCellCb *cell; - RgSchUeCb *ue; -#endif +static S16 rgSchAckNackRepUtlRmvUe(RgSchCellCb *cell,RgSchUeCb *ue) { - uint8_t hqIdx; - uint8_t repIdx; + uint8_t hqIdx; + uint8_t repIdx; RgSchDlHqProcCb *hqP; - uint8_t tbCnt; + uint8_t tbCnt; - RgSchDlHqEnt *hqEnt = RG_SCH_CMN_GET_UE_HQE(ue, cell); + RgSchDlHqEnt *hqEnt = RG_SCH_CMN_GET_UE_HQE(ue, cell); for (hqIdx = 0; hqIdx < hqEnt->numHqPrcs; hqIdx++) { @@ -602,17 +528,9 @@ PRIVATE S16 rgSchAckNackRepUtlRmvUe (cell, ue) * -# ROK **/ -#ifdef ANSI -S16 rgSCHMeasGapANRepTtiHndl -( -RgSchCellCb *cell -) -#else -S16 rgSCHMeasGapANRepTtiHndl(cell) -RgSchCellCb *cell; -#endif +S16 rgSCHMeasGapANRepTtiHndl(RgSchCellCb *cell) { - uint8_t offset; + uint8_t offset; CmLListCp *queue; RgSchDlSf *dlSf; CmLteTimingInfo repTime; @@ -682,17 +600,7 @@ RgSchCellCb *cell; * @param CmLListCp *ackNakRepQ * @return Void */ -#ifdef ANSI -PRIVATE Void rgSchAckNackRepUtlHdlTti -( -RgSchCellCb *cell, -CmLListCp *ackNackRepQ -) -#else -PRIVATE Void rgSchAckNackRepUtlHdlTti (cell, ackNackRepQ) -RgSchCellCb *cell; -CmLListCp *ackNackRepQ; -#endif +static Void rgSchAckNackRepUtlHdlTti(RgSchCellCb *cell,CmLListCp *ackNackRepQ) { CmLList *node; RgSchUeCb *ue; @@ -727,17 +635,7 @@ CmLListCp *ackNackRepQ; * @param * @return */ -#ifdef ANSI -PRIVATE Void rgSCHMeasGapANRepUtlHdlTti -( -RgSchCellCb *cell, -CmLListCp *measGapQ -) -#else -PRIVATE Void rgSCHMeasGapANRepUtlHdlTti (cell, measGapQ) -RgSchCellCb *cell; -CmLListCp *measGapQ; -#endif +static Void rgSCHMeasGapANRepUtlHdlTti(RgSchCellCb *cell,CmLListCp *measGapQ) { CmLList *node; RgSchUeCb *ue; @@ -800,33 +698,23 @@ CmLListCp *measGapQ; * @return S16 * -# ROK **/ -#ifdef ANSI -S16 rgSCHMeasGapANRepGetDlInactvUe -( -RgSchCellCb *cell, -CmLListCp *dlInactvUeLst -) -#else -S16 rgSCHMeasGapANRepGetDlInactvUe(cell, dlInactvUeLst) -RgSchCellCb *cell; -CmLListCp *dlInactvUeLst; -#endif +S16 rgSCHMeasGapANRepGetDlInactvUe(RgSchCellCb *cell,CmLListCp *dlInactvUeLst) { - uint8_t offset; + uint8_t offset; CmLList *node; CmLList *hqNode; CmLListCp *queue; RgSchUeCb *ue; RgSchDlSf *dlSf; CmLteTimingInfo ackNakTime; - uint16_t schedTime; - uint8_t harqFdbkOffset; + uint16_t schedTime; + uint8_t harqFdbkOffset; #ifdef LTE_TDD - uint8_t repCntr; + uint8_t repCntr; #endif RgSchDlHqProcCb *hqP; RgSchDlHqTbCb *tbCb; - uint32_t i; + uint32_t i; schedTime = cell->crntTime.sfn * RGSCH_NUM_SUB_FRAMES_5G + cell->crntTime.slot + RG_DL_DELTA; @@ -1005,35 +893,25 @@ CmLListCp *dlInactvUeLst; * -# ROK **/ -#ifdef ANSI -S16 rgSCHMeasGapANRepGetUlInactvUe -( -RgSchCellCb *cell, -CmLListCp *ulInactvUeLst -) -#else -S16 rgSCHMeasGapANRepGetUlInactvUe(cell, ulInactvUeLst) -RgSchCellCb *cell; -CmLListCp *ulInactvUeLst; -#endif +S16 rgSCHMeasGapANRepGetUlInactvUe(RgSchCellCb *cell,CmLListCp *ulInactvUeLst) { - uint8_t offset; - CmLList *node; - CmLList *hqNode; - CmLListCp *queue; - RgSchUeCb *ue; - CmLteTimingInfo ackNakTime; - RgSchDlSf *dlSf; - uint16_t schedTime; - uint8_t pdcchToPuschGap; - uint8_t idx=0; + uint8_t offset; + CmLList *node; + CmLList *hqNode; + CmLListCp *queue; + RgSchUeCb *ue; + CmLteTimingInfo ackNakTime; + RgSchDlSf *dlSf; + uint16_t schedTime; + uint8_t pdcchToPuschGap; + uint8_t idx=0; #ifdef LTE_TDD - uint8_t repCntr; + uint8_t repCntr; #endif RgSchDlHqProcCb *hqP; RgSchDlHqTbCb *tbCb; - uint32_t i; + uint32_t i; /*ccpu00139481- Meas Gap should be monitored in UL with TFU_ULCNTRL_DLDELTA*/ schedTime = cell->crntTime.sfn * RGSCH_NUM_SUB_FRAMES_5G + cell->crntTime.slot + \ @@ -1065,7 +943,8 @@ CmLListCp *ulInactvUeLst; * ahead - UE cant read PDCCH format0 if it is in measurement gap. */ rgSCHTmrStartTmr (cell, ue, RG_SCH_TMR_UL_MEASGAP, (RG_SCH_MEAS_GAP_LEN + pdcchToPuschGap - idx)); - //printf("Starting Meas Gap 40 @ DL TTI- (%d:%d) K-%d offset-%d Len %d \n", ackNakTime.sfn, ackNakTime.subframe, harqFdbkOffset, offset, RG_SCH_MEAS_GAP_LEN + harqFdbkOffset-idx); + //DU_LOG("\nINFO --> SCH : Starting Meas Gap 40 @ DL TTI- (%d:%d) K-%d offset-%d Len %d \n", ackNakTime.sfn,\ + ackNakTime.subframe, harqFdbkOffset, offset, RG_SCH_MEAS_GAP_LEN + harqFdbkOffset-idx); } node = node->next; } @@ -1087,7 +966,8 @@ CmLListCp *ulInactvUeLst; /* Start timer */ rgSCHTmrStartTmr (cell, ue, RG_SCH_TMR_UL_MEASGAP, (RG_SCH_MEAS_GAP_LEN + pdcchToPuschGap - idx)); - //printf("Starting Meas Gap 80 @ DL TTI- (%d:%d) K-%d offset-%d Len %d \n", ackNakTime.sfn, ackNakTime.subframe, harqFdbkOffset, offset, RG_SCH_MEAS_GAP_LEN + harqFdbkOffset-idx); + //DU_LOG("\nINFO --> SCH : Starting Meas Gap 80 @ DL TTI- (%d:%d) K-%d offset-%d Len %d \n", ackNakTime.sfn,\ + ackNakTime.subframe, harqFdbkOffset, offset, RG_SCH_MEAS_GAP_LEN + harqFdbkOffset-idx); } node = node->next; } @@ -1182,17 +1062,7 @@ CmLListCp *ulInactvUeLst; * -# ROK **/ -#ifdef ANSI -Void rgSCHMeasGapANRepDlInactvTmrExpry -( -RgSchUeCb *ue, -uint8_t tmrEvnt -) -#else -Void rgSCHMeasGapANRepDlInactvTmrExpry(ue, tmrEvnt) -RgSchUeCb *ue; -uint8_t tmrEvnt; -#endif +Void rgSCHMeasGapANRepDlInactvTmrExpry(RgSchUeCb *ue,uint8_t tmrEvnt) { RgSchCellCb *cell = ue->cell; @@ -1241,17 +1111,7 @@ uint8_t tmrEvnt; * -# ROK **/ -#ifdef ANSI -Void rgSCHMeasGapANRepUlInactvTmrExpry -( -RgSchUeCb *ue, -uint8_t tmrEvnt -) -#else -Void rgSCHMeasGapANRepUlInactvTmrExpry(ue, tmrEvnt) -RgSchUeCb *ue; -uint8_t tmrEvnt; -#endif +Void rgSCHMeasGapANRepUlInactvTmrExpry(RgSchUeCb *ue,uint8_t tmrEvnt) { RgSchCellCb *cell = ue->cell; @@ -1294,15 +1154,7 @@ uint8_t tmrEvnt; * -# ROK **/ -#ifdef ANSI -Void rgSCHMeasGapANRepTmrExpry -( -RgSchUeCb *ue -) -#else -Void rgSCHMeasGapANRepTmrExpry(ue) -RgSchUeCb *ue; -#endif +Void rgSCHMeasGapANRepTmrExpry(RgSchUeCb *ue) { ue->measGapCb.isMeasuring = FALSE; @@ -1333,15 +1185,7 @@ RgSchUeCb *ue; * -# ROK **/ -#ifdef ANSI -Void rgSCHAckNakRepTmrExpry -( -RgSchUeCb *ue -) -#else -Void rgSCHAckNakRepTmrExpry(ue) -RgSchUeCb *ue; -#endif +Void rgSCHAckNakRepTmrExpry(RgSchUeCb *ue) { ue->ackNakRepCb.isAckNakRep = FALSE; @@ -1382,17 +1226,7 @@ RgSchUeCb *ue; * -# ROK **/ -#ifdef ANSI -Void rgSCHAckNakRepAddToQ -( -RgSchCellCb *cell, -RgSchDlSf *crntDlSf -) -#else -Void rgSCHAckNakRepAddToQ(cell, crntDlSf) -RgSchCellCb *cell; -RgSchDlSf *crntDlSf; -#endif +Void rgSCHAckNakRepAddToQ(RgSchCellCb *cell,RgSchDlSf *crntDlSf) { RgSchUeCb *ue; CmLList *node; @@ -1449,28 +1283,14 @@ RgSchDlSf *crntDlSf; * **/ -#ifdef ANSI -PRIVATE uint8_t rgSCHAckNakRepFindUlDuration -( -RgSchCellCb *cell, -RgSchDlSf *dlSf, -CmLteTimingInfo repTime, -uint8_t repCnt -) -#else -PRIVATE uint8_t rgSCHAckNakRepFindUlDuration(cell, dlSf, repTime, repCnt) -RgSchCellCb *cell; -RgSchDlSf *dlSf; -CmLteTimingInfo repTime; -uint8_t repCnt; -#endif +static uint8_t rgSCHAckNakRepFindUlDuration(RgSchCellCb *cell,RgSchDlSf *dlSf,CmLteTimingInfo repTime,uint8_t repCnt) { CmLteTimingInfo ulfrm; uint8_t noSubfrms = 0; uint16_t ulDlCfgIdx = cell->ulDlCfgIdx; - S16 rem = 0; + S16 rem = 0; S16 idx; - S8 diff; + S8 diff; rgSCHAckNakRepGetUlOffsetFrmDl(dlSf, repTime, &noSubfrms); RG_SCH_ADD_TO_CRNT_TIME(repTime, ulfrm, noSubfrms); @@ -1510,20 +1330,8 @@ uint8_t repCnt; * **/ -#ifdef ANSI -PRIVATE Void rgSCHAckNakRepGetUlOffsetFrmDl -( -RgSchDlSf *dlSf, -CmLteTimingInfo crntDlTime, -uint8_t *noSubfrms -) -#else -PRIVATE Void rgSCHAckNakRepGetUlOffsetFrmDl(dlSf, crntDlTime, noSubfrms) -RgSchDlSf *dlSf; -CmLteTimingInfo crntDlTime; -uint8_t *noSubfrms; -#endif - { +static Void rgSCHAckNakRepGetUlOffsetFrmDl(RgSchDlSf *dlSf,CmLteTimingInfo crntDlTime,uint8_t *noSubfrms ) +{ if(dlSf->dlFdbkInfo.sfnOffset != 0) {