warning set 3: fixed warning realted to unused-variable and implicit-function-declaration
[o-du/l2.git] / src / 5gnrsch / rg_sch_tom.c
index 6a076ed..ac3cb3c 100755 (executable)
@@ -81,6 +81,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 +265,9 @@ PUBLIC S16 rgSCHTomUtlFillDatSrsRecpReq ARGS(
  Bool              hqPres
  ));
 
+PUBLIC void schFillCrntTime(
+   SlotIndInfo slotInd,
+   Inst        schInst);
 
 #ifdef CA_DBG
 EXTERN U32 delayedApiCnt;
@@ -302,6 +307,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 +360,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 +443,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 +505,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 +594,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 +615,7 @@ PRIVATE S16 rgSCHTomCnsdrRelPdcch ARGS
 #endif
 #endif
 #endif
+#endif
 
 PRIVATE Void rgSchTomTtiMiscFunctions ARGS
 ((
@@ -641,14 +649,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
 ((
@@ -1096,9 +1096,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;
@@ -1579,7 +1577,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
@@ -1755,7 +1753,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;
@@ -1881,7 +1879,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 +1937,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 +1970,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;
@@ -2156,6 +2154,7 @@ PUBLIC S16 rgSCHTomSrsInd(cell, srsInd)
 *       File:  rg_sch_utl.c
 *
 */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlGenIndices
 (
@@ -2197,6 +2196,7 @@ PRIVATE S16 rgSCHTomUtlGenIndices(label, posM, valN, valK, sbInfo)
    }
    RETVALUE(ROK);
 } /* end of rgSCHTomUtlGenIndices*/
+#endif
 #endif 
 /**
  * @brief Handler for processing decode failure indication recieved from 
@@ -2275,7 +2275,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 +2329,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;
@@ -2533,7 +2533,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 +2542,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 +2572,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 */
@@ -2975,7 +2977,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;
    }
@@ -3054,7 +3056,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);
       }
@@ -4498,6 +4500,7 @@ RgSchErrInfo            *err;
  *      -# ROK 
  *      -# RFAILED 
  */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlFillSrRecpReq
 (
@@ -4586,8 +4589,8 @@ PRIVATE S16 rgSCHTomUtlFillSrRecpReq (recpReqInfo, cell, validIdx, err)
    }
    RETVALUE(ROK);
 }/* end of rgSCHTomUtlFillSrRecpReq */
-
-
+#endif
+#endif
 /** @brief This function tells will the UE has a periodic CQI/PMI/RI 
  *  reporting
  *
@@ -4665,6 +4668,7 @@ PRIVATE S16 rgSCHTomUtlWillUeRprtCqiRi ( ue, willueRprtCqiRi)
  *      -# ROK 
  *      -# RFAILED 
  */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlFillRiRecpReq
 (
@@ -4768,7 +4772,7 @@ PRIVATE S16 rgSCHTomUtlFillRiRecpReq (recpReqInfo, cell, validIdx, err)
    }
    RETVALUE(ROK);
 }/* end of rgSCHTomUtlFillRiRecpReq */
-
+#endif
 #ifdef RG_5GTF
 /** @brief This function handles filling of 5GTF CQI-RI reception request to
  * PHY.
@@ -4787,6 +4791,8 @@ PRIVATE S16 rgSCHTomUtlFillRiRecpReq (recpReqInfo, cell, validIdx, err)
  *      -# ROK 
  *      -# RFAILED 
  */
+
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq
 (
@@ -4840,7 +4846,7 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq (recpReqInfo, cell, validIdx, err)
    RETVALUE(ROK);
 }/* end of rgSCHTomUtlFillCqiRiRecpReq */
 #endif
-
+#endif
 /** @brief This function handles filling of PCQI reception request to
  * PHY.
  *
@@ -4858,6 +4864,7 @@ PRIVATE S16 rgSCHTomUtlFillCqiRiRecpReq (recpReqInfo, cell, validIdx, err)
  *      -# ROK 
  *      -# RFAILED 
  */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq
 (
@@ -4955,7 +4962,6 @@ PRIVATE S16 rgSCHTomUtlFillPcqiRecpReq (recpReqInfo, cell, validIdx, err)
    }
    RETVALUE(ROK);
 }/* end of rgSCHTomUtlFillPcqiRecpReq */
-
 /** @brief This function handles filling of SRS reception request to
  * PHY.
  *
@@ -5212,9 +5218,9 @@ PRIVATE S16 rgSCHTomUtlFillDatRecpReq (recpReqInfo, cell, validIdx, err)
 
    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.
@@ -5252,7 +5258,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;
@@ -5552,7 +5558,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);
@@ -6651,6 +6657,7 @@ Bool              isDatPresOnSecCell;
  *      -# ROK 
  *      -# RFAILED 
  **/
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgSCHTomUtlFillCqiSrsWithSr
 (
@@ -6811,7 +6818,7 @@ U16               validIdx;
 }  /* rgSCHTomUtlFillCqiSrsWithSr */
 
 #endif 
-
+#endif
 
 #ifdef LTE_TDD
 /** @brief This function handles filling of HARQ feedback repetition
@@ -8252,7 +8259,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 +8271,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 +8299,7 @@ RgSchCellCb          *cell;
  *  @param[in]  Inst   schInst
  *  @RETVALUE   None
  */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE Void rgSCHDynTDDMrkCrntSfIdx
 (
@@ -8315,7 +8323,7 @@ Inst   schInst;
 
    RETVOID;
 }
-
+#endif
 #endif
 /** @brief This function fills the TTI timinig info for each cell  
  *
@@ -8331,6 +8339,7 @@ Inst   schInst;
  * Returns: Void  
  *  
  */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE Void rgSchTomFillCellTtiInfo
 (
@@ -8403,9 +8412,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 +8457,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 +8479,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