X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Frg_sch_tom.c;h=e0c2e2bdc175fb9bb32d88bc228d20224d76e743;hb=refs%2Fchanges%2F77%2F4377%2F11;hp=6a076edbea7b148631a8f4794c9afdeeea334f2e;hpb=3235ecfc7414aa0b72d0ad50db63ae8b5626045b;p=o-du%2Fl2.git diff --git a/src/5gnrsch/rg_sch_tom.c b/src/5gnrsch/rg_sch_tom.c index 6a076edbe..e0c2e2bdc 100755 --- a/src/5gnrsch/rg_sch_tom.c +++ b/src/5gnrsch/rg_sch_tom.c @@ -37,17 +37,7 @@ static int RLOG_FILE_ID=228; static int RLOG_MODULE_ID=4096; /* header include files -- defines (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ -#include "gen.h" /* general layer */ -#include "ssi.h" /* system services */ -#include "cm5.h" /* common timers defines */ -#include "cm_hash.h" /* common hash list defines */ -#include "cm_llist.h" /* common linked list defines */ -#include "cm_mblk.h" /* memory management */ -#include "cm_tkns.h" /* common tokens */ -#include "cm_lte.h" /* common tokens */ +#include "common_def.h" #include "tfu.h" /* RGU defines */ #include "lrg.h" /* layer management defines for LTE-MAC */ #include "rgr.h" /* layer management defines for LTE-MAC */ @@ -62,15 +52,6 @@ static int RLOG_MODULE_ID=4096; /* header/extern include files (.x) */ -#include "gen.x" /* general layer typedefs */ -#include "ssi.x" /* system services typedefs */ -#include "cm5.x" /* common timers */ -#include "cm_hash.x" /* common hash list */ -#include "cm_lib.x" /* common library */ -#include "cm_llist.x" /* common linked list */ -#include "cm_mblk.x" /* memory management */ -#include "cm_tkns.x" /* common tokens */ -#include "cm_lte.x" /* common tokens */ #include "tfu.x" /* RGU types */ #include "lrg.x" /* layer management typedefs for MAC */ #include "rgr.x" /* layer management typedefs for MAC */ @@ -81,6 +62,8 @@ static int RLOG_MODULE_ID=4096; #ifdef EMTC_ENABLE #include "rg_sch_emtc_ext.x" #endif +U8 rgSCHCmnCalcPcqiBitSz(RgSchUeCb *ueCb,U8 numTxAnt); +PUBLIC S16 rgSCHDhm5gtfHqFdbkInd(RgSchUeCb *ue,RgSchCellCb *cell,CmLteTimingInfo timingInfo,TfuHqFdbk fdbk,RgSchErrInfo *err); /* local defines */ #ifdef EMTC_ENABLE EXTERN Bool rgSCHEmtcChkEmtcUe ARGS( @@ -263,6 +246,9 @@ PUBLIC S16 rgSCHTomUtlFillDatSrsRecpReq ARGS( Bool hqPres )); +PUBLIC void schFillCrntTime( + SlotIndInfo slotInd, + Inst schInst); #ifdef CA_DBG EXTERN U32 delayedApiCnt; @@ -302,6 +288,52 @@ U32 gUlCrcPassCounter = 0; #ifdef RG_5GTF EXTERN U32 gUl5gtfPdcchSend; +#endif + +#ifdef UNUSED_FUNC +#ifdef TFU_UPGRADE +PRIVATE S16 rgSCHTomUtlFillCqiSrsWithSr ARGS +(( +RgSchCellCb *cell, +RgSchUeCb *ue, +TfuRecpReqInfo *recpReqInfo, +TfuUeRecpReqInfo *pucchRecpInfo, +U16 validIdx +)); +PRIVATE Bool rgSCHTomUtlFillDatHarqRecpReq ARGS +(( +RgSchCellCb *cell, +RgSchUlAlloc *alloc, +TfuUeRecpReqInfo *datRecpInfo, +TfuRecpReqInfo *recpReqInfo +)); +PRIVATE S16 rgSCHTomUtlFillSrRecpReq ARGS(( +TfuRecpReqInfo *recpReq, +RgSchCellCb *cell, +U16 validIdx, +RgSchErrInfo *err)); +PRIVATE S16 rgSCHTomUtlFillRiRecpReq ARGS(( +TfuRecpReqInfo *recpReq, +RgSchCellCb *cell, +U16 validIdx, +RgSchErrInfo *err)); +PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq ARGS(( +TfuRecpReqInfo *recpReq, +RgSchCellCb *cell, +U16 validIdx, +RgSchErrInfo *err)); +PRIVATE S16 rgSCHTomUtlFillSrsRecpReq ARGS(( +TfuRecpReqInfo *recpReq, +RgSchCellCb *cell, +U16 validIdx, +RgSchErrInfo *err)); +PRIVATE S16 rgSCHTomUtlGenIndices ARGS(( +U32 label, +U8 posM, +U8 valN, +U8 valK, +TfuSubbandInfo* sbInfo)); +#endif PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq ARGS( ( TfuRecpReqInfo *recpReqInfo, @@ -309,9 +341,15 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq ARGS( U16 validIdx, RgSchErrInfo *err )); +PRIVATE Void rgSchTomFillCellTtiInfo ARGS +(( +TfuTtiIndInfo *ttiInd, +Inst schInst, +U8 *nCell, +RgSchCellCb *cells[] +)); #endif - /* local typedefs */ PUBLIC U32 rgBwAlloInfo[RGSCH_NUM_SUB_FRAMES]; /* Num of Rbs Allocated in each SF */ PUBLIC U32 rgBwAlcnt[RGSCH_NUM_SUB_FRAMES]; /*Num of times Allocation done in each Subframe */ @@ -386,16 +424,6 @@ PUBLIC S16 rgSCHTomFillOnlySrsRecpReq ARGS RgSchUlAlloc *alloc, TfuUeRecpReqInfo *datRecpInfo )); - -PRIVATE S16 rgSCHTomUtlFillCqiSrsWithSr ARGS -(( - RgSchCellCb *cell, - RgSchUeCb *ue, - TfuRecpReqInfo *recpReqInfo, - TfuUeRecpReqInfo *pucchRecpInfo, - U16 validIdx - )); - PRIVATE S16 rgSCHTomUtlFillCqiSrSrsWithHq ARGS (( RgSchCellCb *cell, @@ -458,50 +486,9 @@ PRIVATE S16 rgSCHTomUtlMoveSrsNxtOccasion ARGS RgSchCellCb *cell, RgSchUeCb *ue )); - -PRIVATE Bool rgSCHTomUtlFillDatHarqRecpReq ARGS -(( - RgSchCellCb *cell, - RgSchUlAlloc *alloc, - TfuUeRecpReqInfo *datRecpInfo, - TfuRecpReqInfo *recpReqInfo - )); - -PRIVATE S16 rgSCHTomUtlFillSrRecpReq ARGS(( - TfuRecpReqInfo *recpReq, - RgSchCellCb *cell, - U16 validIdx, - RgSchErrInfo *err)); - PRIVATE S16 rgSCHTomUtlWillUeRprtCqiRi ARGS(( RgSchUeCb *ue, Bool *willueRprtCqiRii)); - -PRIVATE S16 rgSCHTomUtlFillRiRecpReq ARGS(( - TfuRecpReqInfo *recpReq, - RgSchCellCb *cell, - U16 validIdx, - RgSchErrInfo *err)); - -PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq ARGS(( - TfuRecpReqInfo *recpReq, - RgSchCellCb *cell, - U16 validIdx, - RgSchErrInfo *err)); - -PRIVATE S16 rgSCHTomUtlFillSrsRecpReq ARGS(( - TfuRecpReqInfo *recpReq, - RgSchCellCb *cell, - U16 validIdx, - RgSchErrInfo *err)); - -PRIVATE S16 rgSCHTomUtlGenIndices ARGS(( - U32 label, - U8 posM, - U8 valN, - U8 valK, - TfuSubbandInfo* sbInfo)); - #endif #ifdef TFU_UPGRADE PRIVATE S16 rgSCHTomUtlFillDatRecpReq ARGS(( @@ -588,6 +575,7 @@ PRIVATE S16 rgSCHTomUtlFillSfHqFdbkForOneUe ARGS(( #ifdef LTEMAC_SPS EXTERN PUBLIC Void rgSCHCmnDlSpsSch (RgSchCellCb *cell); #ifndef LTE_TDD +#ifdef UNUSED_FUNC #ifdef TFU_UPGRADE PRIVATE S16 rgSCHTomCnsdrRelPdcch ARGS (( @@ -608,6 +596,7 @@ PRIVATE S16 rgSCHTomCnsdrRelPdcch ARGS #endif #endif #endif +#endif PRIVATE Void rgSchTomTtiMiscFunctions ARGS (( @@ -641,14 +630,6 @@ PRIVATE Void rgSCHTomUtlSendSfnTick ARGS RgSchCellCb *cell )); #endif - -PRIVATE Void rgSchTomFillCellTtiInfo ARGS -(( -TfuTtiIndInfo *ttiInd, -Inst schInst, -U8 *nCell, -RgSchCellCb *cells[] -)); #ifdef LTE_TDD PRIVATE Void rgSchTomUtlTddRlsSfAndHarq ARGS (( @@ -700,9 +681,9 @@ U32 rgSch5gtfCqi2Mcs[15] = /*HARQ Feedback interpretation in accordance with Femto Forum. Note: There is no value as '0' in Femto Forum Spec but in order to retain the existing usage in MAC (and its Acceptance), its being considered*/ -CONSTANT PRIVATE U8 rgSchTomHqFbkMap[8] = {0,1,0,0,4,4,4,4}; +//CONSTANT PRIVATE U8 rgSchTomHqFbkMap[8] = {0,1,0,0,4,4,4,4}; /*added #defines instead of magic numbers*/ -CONSTANT PRIVATE U32 rgSCHTomBinCoe[RG_SCH_MAX_NUM_UE_SEL_SUBBANDS][RG_SCH_MAX_TOT_NUM_SUBBANDS]={ +/*CONSTANT PRIVATE U32 rgSCHTomBinCoe[RG_SCH_MAX_NUM_UE_SEL_SUBBANDS][RG_SCH_MAX_TOT_NUM_SUBBANDS]={ {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28}, {0,1,3,6,10,15,21,28,36,45,55,66,78,91,105,120,136,153,171,190,210,231,253,276,300,325,351,378}, {0,0,1,4,10,20,35,56,84,120,165,220,286,364,455,560,680,816,969,1140,1330,1540,1771,2024,2300,2600,2925,3276}, @@ -710,7 +691,7 @@ CONSTANT PRIVATE U32 rgSCHTomBinCoe[RG_SCH_MAX_NUM_UE_SEL_SUBBANDS][RG_SCH_MAX_T {0,0,0,0,1,6,21,56,126,252,462,792,1287,2002,3003,4368,6188,8568,11628,15504,20349,26334,33649,42504,53130,65780,80730,98280}, {0,0,0,0,0,1,7,28,84,210,462,924,1716,3003,5005,8008,12376,18564,27132,38760,54264,74613,100947,134596,177100,230230,296010,376740} }; - +*/ /*ccpu00116923 - ADD - SRS present support*/ /*Tables Derived from 3GPP TS 36.211 Section 5.5.3.3 */ @@ -808,7 +789,7 @@ RgSchUeCb **ue; *ue = rgSCHCmnGetPoUe(cell, rapId, timingInfo); printf(" ==== inding UE from PDCCH Order Mapping\n"); } - RETVALUE(ROK); + return ROK; } /** * @brief Handler for processing Random Access request indication @@ -862,7 +843,7 @@ TfuRaReqIndInfo *raReqInd; RLOG_ARG3(L_ERROR,DBG_CELLID,cell->cellId, "rgSCHTomRaReqInd(): No cell found with raReq cellId = (%d) errorType (%d)" " errorCause(%d)",raReqInd->cellId, err.errType, err.errCause); - RETVALUE(RFAILED); + return RFAILED; } for (raRntiCnt = 0; raRntiCnt < raReqInd->nmbOfRaRnti; raRntiCnt++) @@ -908,7 +889,7 @@ TfuRaReqIndInfo *raReqInd; } } } - RETVALUE(ROK); + return ROK; } /* rgSCHTomRaReqInd */ @@ -956,7 +937,7 @@ TfuUlCqiIndInfo *ulCqiInd; RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId, "rgSCHTomUlCqiInd() Unable to get the ulCqiInd cell with id(%d)", ulCqiInd->cellId); - RETVALUE(RFAILED); + return RFAILED; } for (;node; node=node->next) @@ -984,7 +965,7 @@ TfuUlCqiIndInfo *ulCqiInd; /* wideband cqi is directly reported now. and also isTxPort0 */ rgSCHUtlUlCqiInd(cell, ue, ulCqiInfo); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomUlCqiInd */ /** @@ -1032,7 +1013,7 @@ TfuPucchDeltaPwrIndInfo *pucchDeltaPwr; RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId, "rgSCHTomPucchDeltaPwrInd() Unable to get the pucchDeltaPwr cell with id(%d)", pucchDeltaPwr->cellId); - RETVALUE(RFAILED); + return RFAILED; } node = pucchDeltaPwr->pucchDeltaPwrLst.first; @@ -1053,7 +1034,7 @@ TfuPucchDeltaPwrIndInfo *pucchDeltaPwr; } rgSCHUtlPucchDeltaPwrInd(cell, ue, ueElem->pucchDeltaPwr); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomPucchDeltaPwrInd */ /** @@ -1096,9 +1077,7 @@ TfuHqIndInfo *harqAckInd; CmLList *node; TfuHqInfo *hqInfo; Pst pst; -#ifdef TFU_UPGRADE - U8 tbCnt; -#endif + // U8 tbCnt; RgInfRlsHqInfo *rlsHqBufs = &(cell->rlsHqArr[cell->crntHqIdx]); U32 cellIdx; @@ -1112,8 +1091,8 @@ TfuHqIndInfo *harqAckInd; " the cell for cellId (%d)", harqAckInd->cellId); err.errType = RGSCHERR_TOM_HARQACKIND; err.errCause = RGSCHERR_TOM_INV_CELL_ID; - RETVALUE(RFAILED); - } + return RFAILED; + } #ifdef RG_5GTF node = harqAckInd->hqIndLst.first; for (;node; node=node->next) @@ -1247,7 +1226,7 @@ TfuHqIndInfo *harqAckInd; } } #endif - RETVALUE(ROK); + return ROK; } /* rgSCHTomHarqAckInd */ @@ -1299,8 +1278,8 @@ TfuSrIndInfo *srInd; ":%d ", srInd->cellId); err.errType = RGSCHERR_TOM_SRIND; err.errCause = RGSCHERR_TOM_INV_CELL_ID; - RETVALUE(RFAILED); - } + return RFAILED; + } node = srInd->srLst.first; @@ -1331,7 +1310,7 @@ TfuSrIndInfo *srInd; continue; } } - RETVALUE(ret); + return ROK; } /* end of rgSCHTomSrInd */ /** @@ -1377,8 +1356,8 @@ TfuDoaIndInfo *doaInd; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for doaInd cellId" ":%d", doaInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } node = doaInd->doaRpt.first; @@ -1394,7 +1373,7 @@ TfuDoaIndInfo *doaInd; } rgSCHUtlDoaInd(cell, ue, doaInfo); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomDoaInd */ /** * @brief Handler for processing downlink CQI indication recieved from @@ -1439,8 +1418,8 @@ TfuDlCqiIndInfo *dlCqiInd; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for cellId" ":%d", dlCqiInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } node = dlCqiInd->dlCqiRptsLst.first; @@ -1457,7 +1436,7 @@ TfuDlCqiIndInfo *dlCqiInd; rgSCHUtlDlCqiInd(cell, ue, dlCqiInfo, dlCqiInd->timingInfo); rgSCHUtlHdlUlTransInd(cell, ue, dlCqiInd->timingInfo); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomDlCqiInd */ /** @@ -1530,7 +1509,7 @@ PRIVATE S16 rgSCHTomUtlMovePcqiNxtOccasion(cell, ue, cqiCb) rgSCHUtlSCellHndlCqiCollsn(cqiCb); #endif - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlMovePcqiNxtOccasion */ /** @@ -1579,7 +1558,7 @@ PRIVATE S16 rgSCHTomUtlMovePriNxtOccasion(cell, ue, riCb) TRC2(rgSCHTomUtlMovePriNxtOccasion); crntTime = (cell->crntTime.sfn * RGSCH_NUM_SUB_FRAMES_5G) - +(cell->crntTime.subframe); + +(cell->crntTime.slot); #ifdef XEON_SPECIFIC_CHANGES RGSCHCPYTIMEINFO(cell->crntTime, ue->riRecpTime); #endif @@ -1653,7 +1632,7 @@ PRIVATE S16 rgSCHTomUtlMovePriNxtOccasion(cell, ue, riCb) #ifdef LTE_ADV rgSCHUtlSCellHndlRiCollsn(riCb); #endif - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlMovePriNxtOccasion */ /** @@ -1709,7 +1688,7 @@ PRIVATE S16 rgSCHTomUtlMoveSrNxtOccasion(cell, ue) cmLListAdd2Tail(&cell->pCqiSrsSrLst[ue->srCb.nSrTrIdx].srLst, &ue->srCb.srLstEnt); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlMoveSrNxtOccasion */ /** @@ -1755,7 +1734,7 @@ PRIVATE S16 rgSCHTomUtlMoveSrsNxtOccasion(cell, ue) TRC2(rgSCHTomUtlMoveSrsNxtOccasion); crntTime = (cell->crntTime.sfn * RGSCH_NUM_SUB_FRAMES_5G) - +(cell->crntTime.subframe); + +(cell->crntTime.slot); /* Compute Next Transmission Instance */ tempIdx = ue->srsCb.peri + ue->srsCb.nSrsTrIdx; @@ -1795,8 +1774,7 @@ PRIVATE S16 rgSCHTomUtlMoveSrsNxtOccasion(cell, ue) } ue->srsCb.nSrsTrIdx = srsIdx; ue->srsCb.srsDist = srsDist; - - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlMoveSrsNxtOccasion */ @@ -1858,8 +1836,8 @@ PUBLIC S16 rgSCHTomRawCqiInd(cell, rawCqiInd) { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for cellId" ":%d", rawCqiInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } node = rawCqiInd->rawCqiRpt.first; @@ -1881,7 +1859,7 @@ PUBLIC S16 rgSCHTomRawCqiInd(cell, rawCqiInd) if (rawCqiInfo->numBits >= 5) printf("cellId [%d] crnti [%d] numBits [%d] uciPayload [0x%08x] sfn/sf [%d:%d]\n", cell->cellId, rawCqiInfo->crnti, rawCqiInfo->numBits, rawCqiInfo->uciPayload, - rawCqiInd->timingInfo.sfn, rawCqiInd->timingInfo.subframe); + rawCqiInd->timingInfo.sfn, rawCqiInd->timingInfo.slot); */ if (rawCqiInfo->numBits == 1) { @@ -1939,7 +1917,7 @@ PUBLIC S16 rgSCHTomRawCqiInd(cell, rawCqiInd) } /* printf("rawCqiInfo->numBits [%d] uciPayload [0x%08x] sfn/sf [%d:%d]\n", rawCqiInfo->numBits, - rawCqiInfo->uciPayload, rawCqiInd->timingInfo.sfn, rawCqiInd->timingInfo.subframe); + rawCqiInfo->uciPayload, rawCqiInd->timingInfo.sfn, rawCqiInd->timingInfo.slot); */ } else if (rawCqiInfo->numBits == 5) @@ -1972,7 +1950,7 @@ PUBLIC S16 rgSCHTomRawCqiInd(cell, rawCqiInd) } else if (rawCqiInfo->numBits == 6) { - RgInfRlsHqInfo *rlsHqBufs = &(cell->rlsHqArr[cell->crntHqIdx]); + rlsHqBufs = &(cell->rlsHqArr[cell->crntHqIdx]); TfuHqFdbk fdbk = TFU_HQFDB_NACK; /* Process both HARQ and CQI-RI Ind*/ ri = (rawCqiInfo->uciPayload >> 26) & 0x1; @@ -2072,7 +2050,7 @@ PUBLIC S16 rgSCHTomRawCqiInd(cell, rawCqiInd) rlsHqBufs->numUes = 0; } } - RETVALUE(ROK); + return ROK; } /* rgSCHTomRawCqiInd */ /** @@ -2119,8 +2097,8 @@ PUBLIC S16 rgSCHTomSrsInd(cell, srsInd) { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for cellId" ":%d", srsInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } node = srsInd->srsRpt.first; for (;node; node=node->next) @@ -2136,7 +2114,7 @@ PUBLIC S16 rgSCHTomSrsInd(cell, srsInd) rgSCHUtlSrsInd(cell, ue, srsInfo, srsInd->timingInfo); rgSCHUtlHdlUlTransInd(cell, ue, srsInd->timingInfo); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomSrsInd */ /* @@ -2156,6 +2134,7 @@ PUBLIC S16 rgSCHTomSrsInd(cell, srsInd) * File: rg_sch_utl.c * */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlGenIndices ( @@ -2195,8 +2174,9 @@ PRIVATE S16 rgSCHTomUtlGenIndices(label, posM, valN, valK, sbInfo) xmin = idx+1; label = label-binCoe; } - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlGenIndices*/ +#endif #endif /** * @brief Handler for processing decode failure indication recieved from @@ -2263,8 +2243,8 @@ TfuCrcIndInfo *crcInd; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for cellId" ":%d", crcInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } #ifdef RG_ULSCHED_AT_CRC #ifndef LTE_ADV { @@ -2275,7 +2255,7 @@ TfuCrcIndInfo *crcInd; /*Removed the WA to drop 2nd CRC*/ RLOG_ARG2(L_ERROR,DBG_CELLID,cell->cellId,"Recieved CRC " "twice per TTI @(%u,%u)", cell->crntTime.sfn, - cell->crntTime.subframe); + cell->crntTime.slot); } lastCrc = crntCrc; } @@ -2329,7 +2309,7 @@ TfuCrcIndInfo *crcInd; #ifdef LTE_TDD /*ccpu00128820 - MOD - Msg3 alloc double delete issue*/ hqProc = &(raCb->msg3HqProc); - RGSCH_UPD_PHICH(cell->ulDlCfgIdx, crcInd->timingInfo.subframe, + RGSCH_UPD_PHICH(cell->ulDlCfgIdx, crcInd->timingInfo.slot, hqProc); #endif raCb = NULLP; @@ -2440,7 +2420,7 @@ TfuCrcIndInfo *crcInd; { RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate TfuCntrlReqInfo " "for cell"); - RETVALUE(ret); + return ret; } rgSCHCmnUlSch(cell); #ifdef LTE_L2_MEAS @@ -2454,10 +2434,10 @@ TfuCrcIndInfo *crcInd; RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"rgSCHTomCrcInd() Unable to process" " downlink subframe for cellId %d", crcInd->cellId); err.errType = RGSCHERR_TOM_TTIIND; - RETVALUE(RFAILED); - } + return RFAILED; + } #endif /* RG_ULSCHED_AT_CRC */ - RETVALUE(ROK); + return ROK; } /* rgSCHTomCrcInd */ /** @@ -2505,8 +2485,8 @@ TfuTimingAdvIndInfo *timingAdvInd; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to get the cell for cellId" "=(%d)", timingAdvInd->cellId); - RETVALUE(RFAILED); - } + return RFAILED; + } node = timingAdvInd->timingAdvLst.first; @@ -2522,7 +2502,7 @@ TfuTimingAdvIndInfo *timingAdvInd; } rgSCHDhmUpdTa (cell, ue, timingAdvInfo->timingAdv); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomTimingAdvInd */ /** @@ -2533,7 +2513,7 @@ TfuTimingAdvIndInfo *timingAdvInd; * * Function: rgSCHTomTtiInd * - * Handler for processing TTI indication recieved from PHY + * Handler for processing slot indication recieved from MAC * for a cell. This is split into the below Steps. * * 1: Complete the Uplink and Common Channel Scheduling for each Cell @@ -2542,19 +2522,19 @@ TfuTimingAdvIndInfo *timingAdvInd; * 4: Fill the Tfu structures for DL and UL Config requests * 5: Handle the RGR Config messages per Cell * - * @param[in] TfuTtiIndInfo *ttiInd + * @param[in] SlotIndInfo *slotInd * @param[in] Inst schInst * @return Void **/ #ifdef ANSI PUBLIC Void rgSCHTomTtiInd ( -TfuTtiIndInfo *ttiInd, +SlotIndInfo *slotInd, Inst schInst ) #else -PUBLIC Void rgSCHTomTtiInd(ttiInd, schInst) -TfuTtiIndInfo *ttiInd; +PUBLIC Void rgSCHTomTtiInd(slotInd, schInst) +SlotIndInfo *slotInd; Inst schInst; #endif { @@ -2572,7 +2552,9 @@ Inst schInst; glblTtiCnt++; #endif - rgSchTomFillCellTtiInfo(ttiInd, schInst, &nCell, &cell[0]); + //rgSchTomFillCellTtiInfo(slotInd, schInst, &nCell, &cell[0]); + + schFillCrntTime(*slotInd,schInst); for (i = 0; i < nCell; i++) { /* Perform UL and DL Common Channel scheduling */ @@ -2883,7 +2865,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate TfuRecpReqInfo " "for cell"); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } recpReqInfo->cellId = cell->cellId; cmLListInit(&recpReqInfo->ueRecpReqLst); @@ -2900,7 +2882,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to fill Data recption " "requests for cell"); RGSCH_FREE_MEM(recpReqInfo); - RETVALUE(ret); + return ret; } /* Filling HARQ Reception requests */ ret = rgSCHTomUtlFillHqFdbkRecpReq (recpReqInfo, cell, validIdx,err); @@ -2909,14 +2891,14 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to fill Harq Feedback " "reception requests for cell"); RGSCH_FREE_MEM(recpReqInfo); - RETVALUE(ret); + return ret; } /* sending the RecpReq to Phy */ if (rgSCHUtlTfuRecpReq(inst, cell->tfuSap->sapCfg.suId, recpReqInfo) != ROK) { RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to send Cntrl info for cell"); } - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlProcUlSf */ #ifdef LTE_TDD @@ -2964,7 +2946,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"rgSCHTomUtlPrcUlTddSpclSf() Unable to " "Allocate TfuRecpReqInfo for cell"); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } recpReqInfo->cellId = cell->cellId; cmLListInit(&recpReqInfo->ueRecpReqLst); @@ -2975,7 +2957,7 @@ RgSchErrInfo *err; /*ccpu00130768 */ if(cell->srsCfg.isSrsCfgPres && - rgSchTddCellSpSrsSubfrmTbl[cell->srsCfg.srsSubFrameCfg][recpReqInfo->timingInfo.subframe]) + rgSchTddCellSpSrsSubfrmTbl[cell->srsCfg.srsSubFrameCfg][recpReqInfo->timingInfo.slot]) { recpReqInfo->srsPres = TRUE; } @@ -2991,7 +2973,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"rgSCHTomUtlPrcUlTddSpclSf() Unable to fill" " SRS recption requests for cell");; RGSCH_FREE_MEM(recpReqInfo); - RETVALUE(ret); + return ret; } /* sending the RecpReq to Phy */ if (rgSCHUtlTfuRecpReq(inst, cell->tfuSap->sapCfg.suId, recpReqInfo) != ROK) @@ -2999,7 +2981,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"rgSCHTomUtlPrcUlTddSpclSf() Unable to send " "Cntrl info for cell"); } - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlPrcUlTddSpclSf */ #endif #endif @@ -3054,7 +3036,7 @@ RgSchErrInfo *err; cntrlInfo->dlTiming = cell->dlDciTime; cntrlInfo->cellId = cell->cellId; cntrlInfo->ulTiming = cell->hiDci0Time; - if((0 == (cntrlInfo->dlTiming.sfn % 30)) && (0 == cntrlInfo->dlTiming.subframe)) + if((0 == (cntrlInfo->dlTiming.sfn % 30)) && (0 == cntrlInfo->dlTiming.slot)) { //printf("5GTF_CHECK rgSCHTomUtlProcDlSf Cntrl dl (%d : %d) ul (%d : %d)\n", cntrlInfo->dlTiming.sfn, cntrlInfo->dlTiming.subframe, cntrlInfo->ulTiming.sfn, cntrlInfo->ulTiming.subframe); } @@ -3082,7 +3064,7 @@ RgSchErrInfo *err; RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to send PHICH info " "for cellId (%d)\n", cell->cellId)); RGSCH_FREE_MEM(cntrlInfo); - RETVALUE(ret); + return ret; } if ((ret = rgSCHTomUtlFillUlPdcch (cell, cntrlInfo, ulSf, err)) != ROK) @@ -3090,7 +3072,7 @@ RgSchErrInfo *err; RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to send PDCCH info " "for cellId (%d)\n", cell->cellId)); RGSCH_FREE_MEM(cntrlInfo); - RETVALUE(ret); + return ret; } } #ifdef EMTC_ENABLE @@ -3112,7 +3094,7 @@ RgSchErrInfo *err; RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to send PDCCH info " "for cellId (%d)\n", cell->cellId)); RGSCH_FREE_MEM(cntrlInfo); - RETVALUE(ret); + return ret; } rgBwAlloInfo[dlSf->sfNum] += dlSf->bwAssigned; rgBwAlcnt[dlSf->sfNum] ++; @@ -3137,8 +3119,8 @@ if(0 == cntrlInfo->dlMpdcchLst.count) RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to send Cntrl info " "for cell"); } + return ROK; - RETVALUE(ROK); } @@ -3195,7 +3177,7 @@ RgSchErrInfo *err; &(cntrlInfo->memCp))) != ROK) { err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT harqAck->txPower = 0; @@ -3218,7 +3200,7 @@ RgSchErrInfo *err; harqAck->lnk.node = (PTR)harqAck; node = node->next; } /* end of while */ - RETVALUE(ret); + return ret; } /* end of */ @@ -3367,7 +3349,7 @@ RgSchErrInfo *err; &(cntrlInfo->memCp))) != ROK) { err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef LTEMAC_SPS tfuPdcch->crnti = pdcch->crnti; @@ -3411,7 +3393,7 @@ RgSchErrInfo *err; gDlNumUePerTti[numUePerTti-1]++; } } - RETVALUE(ret); + return ret; } /* end of rgSCHTomUtlFillDlPdcch*/ #ifdef RGSCH_SPS_STATS @@ -3504,7 +3486,7 @@ RgSchErrInfo *err; &(cntrlInfo->memCp))) != ROK) { err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } tfuPdcch->rnti = pdcch->rnti; #ifdef LTE_ADV @@ -3536,7 +3518,7 @@ RgSchErrInfo *err; // abort(); } #endif - RETVALUE(ret); + return ret; } /* end of rgSCHTomUtlFillUlPdcch*/ /** @brief This function does the processing for Timing adjustment. @@ -3603,8 +3585,7 @@ RgSchCellCb *cell; ue->dl.taCb.numRemSf--; } } /* end of taUeLst */ - - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlProcTA */ /** @brief This function handles filling of Hq reception request to @@ -3717,7 +3698,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for cell"); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } pucchRecpInfo->type = TFU_RECP_REQ_PUCCH; if ((hqCb->hqE->ue != NULLP) /*&& @@ -3816,7 +3797,7 @@ RgSchErrInfo *err; break; } } - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillHqFdbkInfo */ #ifdef RG_5GTF @@ -3867,17 +3848,15 @@ PRIVATE S16 rgSCHTomUtlFillHqFdbkFor5gtf (recpReqInfo, cell, validIdx, hqCb, dlS Inst inst = cell->instIdx; #endif S16 ret; - CmLList *hqPNode; RgSchUeCb *ue; TfuUePucchRecpReq *pucchReqInfo = NULLP; - hqPNode = dlSfHqInfo->hqPLst.first; ue = (RgSchUeCb*)dlSfHqInfo->dlSfUeLnk.node; if (ue == NULLP) { - RETVALUE(RFAILED); - } + return RFAILED; + } ret = rgSCHUtlGetEventMem((Ptr *)&pucchRecpInfo, sizeof(TfuUeRecpReqInfo), &(recpReqInfo->memCp)); if (ret != ROK) @@ -3885,7 +3864,7 @@ PRIVATE S16 rgSCHTomUtlFillHqFdbkFor5gtf (recpReqInfo, cell, validIdx, hqCb, dlS RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to Allocate " "TfuUeRecpReqInfo for cellId=%d \n", cell->cellId)); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } pucchRecpInfo->type = TFU_RECP_REQ_PUCCH; pucchRecpInfo->rnti = ue->ueId; /* Even for Rel pdcch also setting CRNTI @@ -3910,7 +3889,7 @@ PRIVATE S16 rgSCHTomUtlFillHqFdbkFor5gtf (recpReqInfo, cell, validIdx, hqCb, dlS cmLListAdd2Tail(&recpReqInfo->ueRecpReqLst, &(pucchRecpInfo->lnk)); pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillHqFdbkForFrmt1B */ #endif @@ -3997,8 +3976,8 @@ RgSchErrInfo *err; if (ue == NULLP) { - RETVALUE(RFAILED); - } + return RFAILED; + } ret = rgSCHUtlGetEventMem((Ptr *)&pucchRecpInfo, sizeof(TfuUeRecpReqInfo), &(recpReqInfo->memCp)); if (ret != ROK) @@ -4006,7 +3985,7 @@ RgSchErrInfo *err; RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to Allocate " "TfuUeRecpReqInfo for cellId=%d \n", cell->cellId)); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } pucchRecpInfo->type = TFU_RECP_REQ_PUCCH; pucchRecpInfo->rnti = ue->ueId; /* Even for Rel pdcch also setting CRNTI @@ -4243,7 +4222,7 @@ RgSchErrInfo *err; #endif/*TFU_UPGRADE*/ cmLListAdd2Tail(&recpReqInfo->ueRecpReqLst, &(pucchRecpInfo->lnk)); pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillHqFdbkForFrmt1B */ /** @brief This function handles filling of Hq reception request to * Per Hq Proc. @@ -4324,8 +4303,8 @@ RgSchErrInfo *err; if (ue == NULLP) { - RETVALUE(RFAILED); - } + return RFAILED; + } ret = rgSCHUtlGetEventMem((Ptr *)&pucchRecpInfo, sizeof(TfuUeRecpReqInfo), &(recpReqInfo->memCp)); if (ret != ROK) @@ -4333,7 +4312,7 @@ RgSchErrInfo *err; RGSCHDBGERRNEW(inst,(rgSchPBuf(inst),"Unable to Allocate " "TfuUeRecpReqInfo for cellId=%d \n", cell->cellId)); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } pucchRecpInfo->type = TFU_RECP_REQ_PUCCH; pucchRecpInfo->rnti = ue->ueId; /* Even for Rel pdcch also setting CRNTI @@ -4364,7 +4343,7 @@ RgSchErrInfo *err; #endif/*TFU_UPGRADE*/ cmLListAdd2Tail(&recpReqInfo->ueRecpReqLst, &(pucchRecpInfo->lnk)); pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillHqFdbkForFrmt3 */ #endif/*LTE_ADV*/ @@ -4479,7 +4458,7 @@ RgSchErrInfo *err; /* Check with TDD Code */ /* FOR ACK NACK REP */ - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlFillHqFdbkRecpReq */ #ifdef TFU_UPGRADE /** @brief This function handles filling of SR reception request to @@ -4498,6 +4477,7 @@ RgSchErrInfo *err; * -# ROK * -# RFAILED */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlFillSrRecpReq ( @@ -4545,7 +4525,7 @@ PRIVATE S16 rgSCHTomUtlFillSrRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for cell RNTI:%d",ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT cmMemset((U8 *)&pucchRecpInfo->t.pucchRecpReq, 0, sizeof(TfuUePucchRecpReq)); @@ -4584,10 +4564,10 @@ PRIVATE S16 rgSCHTomUtlFillSrRecpReq (recpReqInfo, cell, validIdx, err) } pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; } - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillSrRecpReq */ - - +#endif +#endif /** @brief This function tells will the UE has a periodic CQI/PMI/RI * reporting * @@ -4632,8 +4612,8 @@ PRIVATE S16 rgSCHTomUtlWillUeRprtCqiRi ( ue, willueRprtCqiRi) {/*onDuration NOT running, do not expect cqi/pmi/ri*/ *willueRprtCqiRi = FALSE; } - RETVALUE(ROK); - } + return ROK; + } #endif /*end of LTEMAC_R9*/ /* ccpu00134258: Fix for CQI DRX issue*/ if(ue->drxCb->onDurTmrLen > 2) @@ -4644,8 +4624,7 @@ PRIVATE S16 rgSCHTomUtlWillUeRprtCqiRi ( ue, willueRprtCqiRi) } } }/*ue->isDrxEnabled*/ - - RETVALUE(ROK); + return ROK; } /*End of rgSCHTomUtlWillUeRprtCqiRi*/ /** @brief This function handles filling of RI reception request to @@ -4665,6 +4644,7 @@ PRIVATE S16 rgSCHTomUtlWillUeRprtCqiRi ( ue, willueRprtCqiRi) * -# ROK * -# RFAILED */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlFillRiRecpReq ( @@ -4731,7 +4711,7 @@ PRIVATE S16 rgSCHTomUtlFillRiRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for cell RNTI:%d",ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT cmMemset((U8 *)&pucchRecpInfo->t.pucchRecpReq, 0, sizeof(TfuUePucchRecpReq)); @@ -4766,9 +4746,9 @@ PRIVATE S16 rgSCHTomUtlFillRiRecpReq (recpReqInfo, cell, validIdx, err) riCb->riDist--; } } - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillRiRecpReq */ - +#endif #ifdef RG_5GTF /** @brief This function handles filling of 5GTF CQI-RI reception request to * PHY. @@ -4787,6 +4767,8 @@ PRIVATE S16 rgSCHTomUtlFillRiRecpReq (recpReqInfo, cell, validIdx, err) * -# ROK * -# RFAILED */ + +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq ( @@ -4819,7 +4801,7 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for cell RNTI:%d ", ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT cmMemset((U8 *)&pucchRecpInfo->t.pucchRecpReq, 0, sizeof(TfuUePucchRecpReq)); @@ -4836,11 +4818,10 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq (recpReqInfo, cell, validIdx, err) pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; } } - - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillCqiRiRecpReq */ #endif - +#endif /** @brief This function handles filling of PCQI reception request to * PHY. * @@ -4858,6 +4839,7 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq (recpReqInfo, cell, validIdx, err) * -# ROK * -# RFAILED */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq ( @@ -4926,7 +4908,7 @@ PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for cell RNTI:%d ", ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT cmMemset((U8 *)&pucchRecpInfo->t.pucchRecpReq, 0, sizeof(TfuUePucchRecpReq)); @@ -4953,9 +4935,8 @@ PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq (recpReqInfo, cell, validIdx, err) } pucchRecpInfo->lnk.node = (PTR)pucchRecpInfo; } - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillPcqiRecpReq */ - /** @brief This function handles filling of SRS reception request to * PHY. * @@ -5020,7 +5001,7 @@ PRIVATE S16 rgSCHTomUtlFillSrsRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for RNTI:%d ",ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT @@ -5052,7 +5033,7 @@ PRIVATE S16 rgSCHTomUtlFillSrsRecpReq (recpReqInfo, cell, validIdx, err) ue->srsCb.srsDist--; } } - RETVALUE(ROK); + return ROK; }/* end of rgSCHTomUtlFillSrsRecpReq */ #endif #ifndef TFU_UPGRADE @@ -5118,7 +5099,7 @@ RgSchErrInfo *err; RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for RNTI:%d ", alloc->ue->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } if (!alloc->forMsg3) { @@ -5163,7 +5144,7 @@ RgSchErrInfo *err; alloc = rgSCHUtlNextRcptnReq (cell, alloc); } /* end of while */ - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlFillDatRecpReq */ #else @@ -5206,15 +5187,14 @@ PRIVATE S16 rgSCHTomUtlFillDatRecpReq (recpReqInfo, cell, validIdx, err) RgSchUlAlloc *alloc; TfuUeRecpReqInfo *datRecpInfo; - Bool hqPres; /*Set when HARQ Rec Req is present*/ Bool isAperiodic = FALSE; /*Set when Aperiodic CQI is expected */ U8 numUePerTti = 0; TRC2(rgSCHTomUtlFillDatRecpReq); - if((0 == (recpReqInfo->timingInfo.sfn % 30)) && (0 == recpReqInfo->timingInfo.subframe)) + if((0 == (recpReqInfo->timingInfo.sfn % 30)) && (0 == recpReqInfo->timingInfo.slot)) { - //printf("5GTF_CHECK rgSCHTomUtlFillDatRecpReq (%d : %d)\n", recpReqInfo->timingInfo.sfn, recpReqInfo->timingInfo.subframe); + //printf("5GTF_CHECK rgSCHTomUtlFillDatRecpReq (%d : %d)\n", recpReqInfo->timingInfo.sfn, recpReqInfo->timingInfo.slot); } /* processing steps are * - Run through the UL allocations going out in this subframe. @@ -5232,15 +5212,13 @@ PRIVATE S16 rgSCHTomUtlFillDatRecpReq (recpReqInfo, cell, validIdx, err) RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Allocate " "TfuUeRecpReqInfo for RNTI:%d ", alloc->rnti); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } #ifdef TFU_ALLOC_EVENT_NO_INIT datRecpInfo->t.puschRecpReq.initialNSrs.pres = FALSE; datRecpInfo->t.puschRecpReq.initialNumRbs.pres = FALSE; #endif datRecpInfo->type = TFU_RECP_REQ_PUSCH; - /* ccpu00131944 - Intializing hqPres in each iteration*/ - hqPres = FALSE; /* Check if this if for MSG3 - no scope for feedback along with it. */ if ((FALSE == alloc->forMsg3)) { @@ -5252,7 +5230,7 @@ PRIVATE S16 rgSCHTomUtlFillDatRecpReq (recpReqInfo, cell, validIdx, err) { RGSCHDECRFRMCRNTTIME(cell->crntTime,dci0Time,(RGSCH_ULCTRL_RECP_DIST)); - idx = (dci0Time.sfn * RGSCH_NUM_SUB_FRAMES_5G + dci0Time.subframe)% + idx = (dci0Time.sfn * RGSCH_NUM_SUB_FRAMES_5G + dci0Time.slot)% RGSCH_ULCTRL_RECP_DIST; UNUSED(idx); datRecpInfo->t.puschRecpReq.rcpInfo = TFU_PUSCH_DATA; @@ -5300,7 +5278,7 @@ PRIVATE S16 rgSCHTomUtlFillDatRecpReq (recpReqInfo, cell, validIdx, err) cell->ulNumUeSchedPerTti[numUePerTti-1]++; gUlNumUePerTti[numUePerTti - 1]++; } - RETVALUE(ROK); + return ROK; } /* end of rgSCHTomUtlFillDatRecpReq */ #endif /* rg009.201. Added changes of TFU_UPGRADE */ @@ -5336,8 +5314,8 @@ PUBLIC S16 rgSCHTomUtlFillRiBitWidthInfo(ueCb) if (ueCb->mimoInfo.txMode != RGR_UE_TM_3 && ueCb->mimoInfo.txMode != RGR_UE_TM_4) { - RETVALUE(RFAILED); - } + return RFAILED; + } ueCb->rawCqiBitW[ueCb->cqiRiWritIdx].type = TFU_RECP_REQ_PUCCH; ueCb->rawCqiBitW[ueCb->cqiRiWritIdx].u.pucch.pucchRawCqiInfo.mode= @@ -5369,7 +5347,7 @@ PUBLIC S16 rgSCHTomUtlFillRiBitWidthInfo(ueCb) } RG_SCH_INCR_CQIRI_INDEX(ueCb->cqiRiWritIdx); - RETVALUE(ROK); + return ROK; } /*********************************************************** @@ -5519,7 +5497,7 @@ PUBLIC U8 rgSCHTomUtlFetchPcqiBitSz(ueCb, numTxAnt, ri) } RG_SCH_INCR_CQIRI_INDEX(ueCb->cqiRiWritIdx); - RETVALUE(pcqiSz); + return pcqiSz; } @@ -5552,7 +5530,7 @@ PUBLIC S16 rgSCHTomUtlPcqiSbCalcBpIdx(crntTimInfo, ueCb, cqiCb) RgSchUePCqiCb *cqiCb; #endif { - U16 tti = (crntTimInfo.sfn * RGSCH_NUM_SUB_FRAMES_5G + crntTimInfo.subframe); + U16 tti = (crntTimInfo.sfn * RGSCH_NUM_SUB_FRAMES_5G + crntTimInfo.slot); U16 prdNum = tti/cqiCb->cqiPeri; TRC2(rgSCHTomUtlPcqiSbCalcBpIdx); @@ -5571,7 +5549,7 @@ PUBLIC S16 rgSCHTomUtlPcqiSbCalcBpIdx(crntTimInfo, ueCb, cqiCb) cqiCb->prioLvl = RG_SCH_CQI_PRIO_LVL_0; #endif } - RETVALUE(ROK); + return ROK; } @@ -5670,7 +5648,7 @@ PUBLIC S16 rgSCHTomUtlMoveNxtOccasion(cell, ue, validIdx) { rgSCHTomUtlMoveSrNxtOccasion(cell, ue); } - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlMoveNxtOccasion */ @@ -5965,7 +5943,7 @@ PUBLIC S16 rgSCHTomUtlFillDatAperRecpReq(cell, cqiReq, alloc, datRecpInfo, timeI datRecpInfo->rnti = alloc->rnti; rgSCHUtlAllocRcptInfo (cell, alloc, timeInfo, &datRecpInfo->t.puschRecpReq.ulSchInfo); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillDatAperRecpReq */ @@ -6061,7 +6039,7 @@ hqPres, validIdx) datRecpInfo->rnti = alloc->rnti; rgSCHUtlAllocRcptInfo (cell, alloc, timeInfo, &datRecpInfo->t.puschRecpReq.ulSchInfo); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillDatPriRecpReq */ @@ -6131,7 +6109,7 @@ PUBLIC S16 rgSCHTomUtlFillDatPCqiRecpReq(cell, alloc, datRecpInfo, { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Unable to Fill " "CqiPmi size RNTI:%d",alloc->rnti); - RETVALUE(RFAILED); + return RFAILED; } /* Fill only the first RI index since Periodic can come @@ -6178,7 +6156,7 @@ PUBLIC S16 rgSCHTomUtlFillDatPCqiRecpReq(cell, alloc, datRecpInfo, datRecpInfo->rnti = alloc->rnti; rgSCHUtlAllocRcptInfo (cell, alloc, timeInfo, &datRecpInfo->t.puschRecpReq.ulSchInfo); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillDatPCqiRecpReq */ /** @@ -6240,7 +6218,7 @@ PUBLIC S16 rgSCHTomUtlFillDatSrsRecpReq(cell, alloc, datRecpInfo, timeInfo, datRecpInfo->rnti = alloc->rnti; rgSCHUtlAllocRcptInfo (cell, alloc, timeInfo, &datRecpInfo->t.puschRecpReq.ulSchInfo); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillDatSrsRecpReq */ /** @@ -6296,7 +6274,7 @@ PUBLIC S16 rgSCHTomFillOnlySrsRecpReq(cell, alloc, datRecpInfo) * Refer Section 5.2.2.6 of TS 36.212 V8.5.0*/ datRecpInfo->t.puschRecpReq.ulSchInfo.nSrs = 1; - RETVALUE(ROK); + return ROK; } /* rgSCHTomFillOnlySrsRecpReq */ /** @@ -6535,7 +6513,7 @@ Bool isDatPresOnSecCell; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"RNTI:%d " "Unable to Fill CqiPmi size", ue->ueId); - RETVALUE(RFAILED); + return RFAILED; } if(pucchRecpInfo->t.pucchRecpReq.uciInfo == TFU_PUCCH_HARQ_SR) { @@ -6619,7 +6597,7 @@ Bool isDatPresOnSecCell; } } UNUSED(dropCqi); - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillCqiSrSrsWithHq */ /** @@ -6651,6 +6629,7 @@ Bool isDatPresOnSecCell; * -# ROK * -# RFAILED **/ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgSCHTomUtlFillCqiSrsWithSr ( @@ -6745,8 +6724,8 @@ U16 validIdx; { RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"RNTI:%d" " Unable to Fill CqiPmi size", ue->ueId); - RETVALUE(RFAILED); - } + return RFAILED; + } pucchRecpInfo->t.pucchRecpReq.uciInfo = TFU_PUCCH_SR_CQI; } @@ -6807,11 +6786,11 @@ U16 validIdx; } } - RETVALUE(ROK); + return ROK; } /* rgSCHTomUtlFillCqiSrsWithSr */ #endif - +#endif #ifdef LTE_TDD /** @brief This function handles filling of HARQ feedback repetition @@ -6943,7 +6922,7 @@ noFdbks, memCp, elemIdx, nxtDlsf) RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to" "Allocate TfuUeRecpReqInfo for RNTI:%d ", ueCb->ueId); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } pucchRecpInfo->rnti = ueCb->ueId; #ifndef TFU_UPGRADE @@ -6993,8 +6972,7 @@ noFdbks, memCp, elemIdx, nxtDlsf) /* Go to the next node */ node = node->next; } - - RETVALUE(ROK); + return ROK; } /** @brief This function handles filling of HARQ feedback recption request @@ -7128,8 +7106,8 @@ RgSchDlHqProcCb *prvHqCb; if((anInfo == NULLP) || (anInfo->latestMIdx != dlSf->dlFdbkInfo.m)) { - RETVALUE(ROK); - } + return ROK; + } } else { @@ -7151,7 +7129,7 @@ RgSchDlHqProcCb *prvHqCb; } else { - RETVALUE(ROK); + return ROK; } /* Do not proceed if PUSCH @@ -7190,7 +7168,7 @@ RgSchDlHqProcCb *prvHqCb; n1PucchTkn, &alloc, hqSz); if (ret != ROK) { - RETVALUE(ret); + return ret; } /* TODO:: In case of F1BCS and CSI in same subframe * UE shall drop the CSI if there was at least one @@ -7270,7 +7248,7 @@ RgSchDlHqProcCb *prvHqCb; prvHqCb = hqCb; } } - RETVALUE(ROK); + return ROK; } #ifdef LTE_ADV @@ -7789,7 +7767,7 @@ PRIVATE S16 rgSCHTomUtlFillSfHqFdbkForFrmt1BCS(hqCb,hqRecpReq,noFdbks,dlSf,pdcch default: break; } - RETVALUE(ROK); + return ROK; } #endif @@ -7876,7 +7854,7 @@ U8 hqSz; RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to " "Allocate TfuUeRecpReqInfo for cell RNTI:%d",rnti); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } alloc = TRUE; #ifdef TFU_ALLOC_EVENT_NO_INIT @@ -7891,7 +7869,7 @@ U8 hqSz; RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to " "Allocate TfuUeRecpReqInfo for cell RNTI:%d",rnti); err->errCause = RGSCHERR_TOM_MEM_EXHAUST; - RETVALUE(ret); + return ret; } cmMemset((U8 *)pucchInfo->pucchRecpInfo->t.pucchRecpReq.hqInfo.hqRes,0xff,sizeof(U16)*TFU_MAX_HQ_RES); #ifdef TFU_ALLOC_EVENT_NO_INIT @@ -7956,8 +7934,7 @@ U8 hqSz; because of kworks*/ RGSCHDBGERRNEW(cellCb->instIdx,(rgSchPBuf(cellCb->instIdx), "ANInfo should not be NULL for cellId=%d \n", cellCb->cellId)); - RETVALUE(RFAILED); - + return RFAILED; } #endif } @@ -7966,7 +7943,7 @@ U8 hqSz; {/* This needs to be revisited while adding support for PUCCH format 3 */ RGSCHDBGERRNEW(cellCb->instIdx,(rgSchPBuf(cellCb->instIdx),"Invalid Pucch format configured..")); - RETVALUE(RFAILED); + return RFAILED; } } else @@ -8118,7 +8095,7 @@ U8 hqSz; *pucchInfoRef = pucchInfo; *allocRef = alloc; - RETVALUE(ROK); + return ROK; } #endif @@ -8183,7 +8160,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to send PHICH info for " "cell"); RGSCH_FREE_MEM(cntrlInfo); - RETVALUE(ret); + return ret; } /* Fill UL Pdcch */ @@ -8192,7 +8169,7 @@ RgSchErrInfo *err; RLOG_ARG0(L_ERROR,DBG_CELLID,cell->cellId,"Unable to send PDCCH info for " "cell"); RGSCH_FREE_MEM(cntrlInfo); - RETVALUE(ret); + return ret; } #ifdef EMTC_ENABLE @@ -8219,8 +8196,7 @@ RgSchErrInfo *err; { RGSCH_FREE_MEM(cntrlInfo); } - - RETVALUE(ROK); + return ROK; } /* end of */ #endif /* #ifdef RG_ULSCHED_AT_CRC*/ @@ -8252,7 +8228,7 @@ RgSchCellCb *cell; /* Added support for period = 0 to disable tick to RRM */ if ((cell->rrmTtiIndPrd != 0) && ((cell->crntTime.sfn % cell->rrmTtiIndPrd) == 0) && - (cell->crntTime.subframe == 0)) + (cell->crntTime.slot == 0)) { /* Allocate a TTI indication structure and send to RRM over RGR interface */ if (rgSCHUtlAllocSBuf (cell->instIdx, @@ -8264,7 +8240,7 @@ RgSchCellCb *cell; RETVOID; } rgrTtiInd->cellId = cell->cellId; - rgrTtiInd->hSfn = cell->crntTime.hSfn; + //rgrTtiInd->hSfn = cell->crntTime.hSfn; rgrTtiInd->sfn = cell->crntTime.sfn; if (rgSCHUtlRgrTtiInd (cell, rgrTtiInd) != ROK) @@ -8292,6 +8268,7 @@ RgSchCellCb *cell; * @param[in] Inst schInst * @RETVALUE None */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE Void rgSCHDynTDDMrkCrntSfIdx ( @@ -8315,7 +8292,7 @@ Inst schInst; RETVOID; } - +#endif #endif /** @brief This function fills the TTI timinig info for each cell * @@ -8331,6 +8308,7 @@ Inst schInst; * Returns: Void * */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE Void rgSchTomFillCellTtiInfo ( @@ -8403,9 +8381,9 @@ RgSchCellCb *cells[]; { cell->stopDlSch = TRUE; } - if((0 == (cellInfo->timingInfo.sfn % 30)) && (0 == cellInfo->timingInfo.subframe)) + if((0 == (cellInfo->timingInfo.sfn % 30)) && (0 == cellInfo->timingInfo.slot)) { - //printf("5GTF_CHECK rgSCHTOMTtiInd (%d : %d)\n", cellInfo->timingInfo.sfn, cellInfo->timingInfo.subframe); + //printf("5GTF_CHECK rgSCHTOMTtiInd (%d : %d)\n", cellInfo->timingInfo.sfn, cellInfo->timingInfo.slot); } #ifndef EMTC_ENABLE RGSCHCPYTIMEINFO(cellInfo->timingInfo, cell->crntTime); @@ -8448,13 +8426,13 @@ RgSchCellCb *cells[]; cell->totalTime++; #endif #ifdef LTE_TDD - U8 idx = (cell->crntTime.subframe + RG_SCH_CMN_DL_DELTA) % + U8 idx = (cell->crntTime.slot + RG_SCH_CMN_DL_DELTA) % RGSCH_NUM_SUB_FRAMES_5G; cell->isDlDataAllwd = RG_SCH_CMN_CHK_DL_DATA_ALLOWED(cell, idx); /*ccpu00130639 -ADD - used in UL HARQ proc id calculation*/ - if((cell->crntTime.sfn == 0) && (cell->crntTime.subframe == 0)) + if((cell->crntTime.sfn == 0) && (cell->crntTime.slot == 0)) { /* sfn Cycle used for Tdd UL Harq Proc Determination. This sfn Cycle will have values from 0 to numUl Harq-1. */ @@ -8470,6 +8448,36 @@ RgSchCellCb *cells[]; #endif } } +#endif +void schFillCrntTime( + SlotIndInfo slotInd, + Inst schInst) +{ + U8 cellCount = 0; + for(cellCount = 0; cellCount < CM_LTE_MAX_CELLS; cellCount++) + { + RgSchCellCb *cell; + cell = rgSchCb[schInst].cells[cellCount]; + + RGSCHCPYTIMEINFO(slotInd, cell->crntTime); + + RG_SCH_ADD_TO_CRNT_TIME(cell->crntTime, cell->hiDci0Time, + TFU_ULCNTRL_DLDELTA); + RG_SCH_ADD_TO_CRNT_TIME(cell->crntTime, cell->dlDciTime, + TFU_DLCNTRL_DLDELTA); + RG_SCH_ADD_TO_CRNT_TIME(cell->crntTime, cell->rcpReqTime, + TFU_RECPREQ_DLDELTA); + RGSCHDECRFRMCRNTTIME(cell->crntTime, cell->hqRlsTime, + TFU_HQFBKIND_ULDELTA); + RGSCHDECRFRMCRNTTIME(cell->crntTime, cell->dlSfRlsTime, + RGSCH_RLS_SF_IDX); + + RGSCH_INCR_SUB_FRAME(cell->crntTime, RG_SCH_CMN_DL_DELTA); + + RgSchCmnCell *cellSch = RG_SCH_CMN_GET_CELL(cell); + cellSch->dl.time = cell->crntTime; + } +} /** @brief This function prepares the TTI for scheduling and * invokes the Common channel scheduler. Uplink scheduler