invoked by PHY towards MAC
*/
/* 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 "rgu.h" /* RGU defines */
#include "tfu.h" /* RGU defines */
#include "lrg.h" /* layer management defines for LTE-MAC */
#include "rg.h" /* defines and macros for MAC */
#include "rg_env.h" /* defines and macros for MAC */
#include "rg_err.h" /* defines and macros for MAC */
-
+#include "rgm.h" /* layer management typedefs for MAC */
/* 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 "crg.x" /* CRG interface typedefs */
#include "rgu.x" /* RGU types */
#include "tfu.x" /* RGU types */
#include "lrg.x" /* layer management typedefs for MAC */
-#include "crg.x" /* CRG interface typedefs */
#include "rg_sch_inf.x" /* SCH interface typedefs */
#include "rg_prg.x" /* PRG interface typedefs */
#include "rgm.x" /* layer management typedefs for MAC */
-#include "rgm.h" /* layer management typedefs for MAC */
-#include "du_app_mac_inf.h"
#include "rg.x" /* typedefs for MAC */
-
#ifdef MAC_RLC_UL_RBUF
#include "ss_rbuf.h"
#include "ss_rbuf.x"
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U8 subframe
+U16 slot
));
PRIVATE S16 rgTOMProcCCCHSduInDatInd ARGS((
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U8 subframe
+U16 slot
));
PUBLIC S16 rgHndlFlowCntrl
RGADDTOCRNTTIME(dlSf->schdTime, datInfo->timingInfo, TFU_DLDATA_DLDELTA);
#endif
datInfo->cellId = cellCb->cellId;
- if((0 == (datInfo->timingInfo.sfn % 30)) && (0 == datInfo->timingInfo.subframe))
+ if((0 == (datInfo->timingInfo.sfn % 30)) && (0 == datInfo->timingInfo.slot))
{
- //printf("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.subframe);
+ //printf("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.slot);
}
#ifdef TFU_ALLOC_EVENT_NO_INIT
datInfo->bchDat.pres = 0;
U32 rgMacGT;
-/**
- * @brief Handler for processing TTI indication recieved from
- * PHY for a cell.
- *
- * @details
- *
- * Function: rgTOMTtiInd
- *
- * Handler for processing TTI indication recieved from PHY
- * for a cell.
- *
- * Invoked by: RgLiTfuTtiInd
- *
- * Processing Steps:
- * - Get cell and update the cell's current time with the timing value given
- * by PHY
- * - Invoke the cmPrcTmr to process the timing queue.
- * - Append the PHICH information to the downlink subframe that needs to go
- * out to PHY in this subframe.
- * - Invoke DHM to release the downlink subframe that occured earlier
- * rgDHMRlsDlsfHqProc.
- * - Invoke the TTI handler of scheduler.
- * - Invoke the TTI handler of RAM module.
- * - Get the downlink subframe that has to go out to PHY in this subframe
- * rgSCHSubFrmGet.
- * - Invoke rgTOMUtlProcTA to perform and timing advance processing.
- * - Invoke rgTOMUtlProcDlSf to do further processing on the downlink
- * subframe.
- * - Get the downlink subframe that would occur after RG_DL_DELTA and
- * invoke rgTOMUtlProcDlSfStaInd to send status indications to the higher
- * layer.
- * - Invoke GOM's TTI handler rgGOMTtiHndlr
- * - Invoke COM's TTI handler rgCOMTtiHndlr
- *
- * @param[in] Inst inst
- * @param[in] TfuTtiIndInfo *ttiInd
- * @return S16
- * -# ROK
- * -# RFAILED
- **/
-#if (defined (MAC_FREE_RING_BUF) || defined (RLC_FREE_RING_BUF))
-pthread_t gMacTId = 0;
-#endif
-#ifdef ANSI
-PUBLIC S16 rgTOMTtiInd
-(
-Inst inst,
-TfuTtiIndInfo *ttiInfo
-)
-#else
-PUBLIC S16 rgTOMTtiInd(inst, ttiInfo)
-Inst inst;
-TfuTtiIndInfo *ttiInfo;
-#endif
-{
- RgCellCb *cellCb;
- RgErrInfo err;
- RgDlSf *dlSf;
-/* ADD Changes for Downlink UE Timing Optimization */
-#ifdef LTEMAC_DLUE_TMGOPTMZ
- RgDlSf *prevDlSf;
- CmLteTimingInfo prevTmInfo;
-#endif
- TfuTtiCellInfo *ttiInd = &ttiInfo->cells[0];
-
- TRC2(rgTOMTtiInd);
-
-#ifdef MAC_FREE_RING_BUF
- gMacTId = pthread_self();
-#endif
- cellCb = rgCb[inst].cell;
- if ((cellCb == NULLP)
- ||(cellCb->cellId != ttiInd->cellId))
- {
-
- RLOG_ARG0(L_ERROR,DBG_CELLID,ttiInd->cellId,
- "Unable to get the cellCb for cell");
- err.errType = RGERR_TOM_TTIIND;
- err.errCause = RGERR_TOM_INV_CELL_ID;
- RETVALUE(RFAILED);
- }
- RGCPYTIMEINFO(ttiInd->timingInfo, cellCb->crntTime);
- if((0 == (ttiInd->timingInfo.sfn % 30)) && (0 == ttiInd->timingInfo.sfn))
- {
- //printf("5GTF_CHECK rgTOMTtiInd (%d : %d)\n", ttiInd->timingInfo.sfn, ttiInd->timingInfo.subframe);
- }
- rgMacGT = (ttiInd->timingInfo.sfn * RG_NUM_SUB_FRAMES_5G) + ttiInd->timingInfo.subframe;
-#ifdef LTE_L2_MEAS
- rgL2Meas(cellCb);
- /*Included to track the number of 10240 cycles completed */
-
- if((cellCb->crntTime.sfn == 0) && (cellCb->crntTime.subframe==0))
- {
- cellCb->ttiCycle += 1;
- }
-
-#endif
-
- /*Check if we have transmitted the previous DL SF, it could be the
- case that we haven't received all the DATA from RLC as yet
- and thus we would not have transmitted previous DL SF yet.*/
-/* ADD Changes for Downlink UE Timing Optimization */
-#ifdef LTEMAC_DLUE_TMGOPTMZ
- RGSUBFRMCRNTTIME(ttiInd->timingInfo, prevTmInfo, 1);
- prevDlSf = &cellCb->subFrms[(prevTmInfo.subframe % RG_NUM_SUB_FRAMES)];
- if(FALSE == prevDlSf->txDone)
- {
- if (ROK != rgTOMUtlProcDlSf (prevDlSf, cellCb, &err))
- {
- RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to process "
- "previous downlink subframe for cell");
- err.errType = RGERR_TOM_TTIIND;
- }
-
- /* Mark this frame as sent */
- prevDlSf->txDone = TRUE;
-
- if(prevDlSf->remDatReqCnt)
- {
- /*We have not received 1 or more data requests from RLC, this is
- error scenario. MAC & SCH need to discard the allocations for
- which data request hasn't been received as yet. And MAC
- needs to inform SCH about the list of UEs for which
- allocation need to be discarded. */
- prevDlSf->remDatReqCnt = 0;
- }
- }
-#endif
- dlSf = &cellCb->subFrms[(ttiInd->timingInfo.subframe % RG_NUM_SUB_FRAMES)];
-
- if((dlSf->txDone == TRUE) ||
- (!RG_TIMEINFO_SAME(ttiInd->timingInfo,dlSf->schdTime)))
- {
- /* MS_WORKAROUND */
-#ifndef LTEMAC_DLUE_TMGOPTMZ
- TfuDatReqInfo *datInfo;
- CmLteTimingInfo timingInfo;
-#ifdef TFU_DL_DELTA_CHANGE
- RGADDTOCRNTTIME(cellCb->crntTime, timingInfo, TFU_DLDATA_DLDELTA);
-#else
- RGADDTOCRNTTIME(cellCb->crntTime, timingInfo, TFU_DELTA);
-#endif
- /* Fill Data Request from MAC for BCH */
- if ((timingInfo.sfn % 4 == 0) && (timingInfo.subframe == 0))
- {
- if (ROK != rgAllocEventMem(inst,(Ptr *)&datInfo,
- sizeof(TfuDatReqInfo)))
- {
- RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgTOMUtlProcDlSf() Unable to Allocate TfuDatReqInfo for cell");
- RETVALUE(RFAILED);
- }
- else
- {
- cmLListInit(&datInfo->pdus);
- datInfo->cellId = cellCb->cellId;
- datInfo->bchDat.pres = NOTPRSNT;
- datInfo->timingInfo = timingInfo;
-
-
- /* sending the dummy data req to Phy */
- if (rgLIMTfuDatReq(inst,datInfo) != ROK)
- {
- RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgTOMUtlProcDlSf() Unable to send data info for cell");
- }
-
- }
- }
-#endif
- /* Freeing as the part of CL Non RT Indication */
- /* TDOD : Generalize for all SOCs */
-#if !(defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD))
- rgDHMFreeTbBufs(inst);
-#endif
- RETVALUE(ROK);
- }
-
- /*Return if there is still some data to be received
- from RLC for this DL SF. */
-/* ADD Changes for Downlink UE Timing Optimization */
-#ifdef LTEMAC_DLUE_TMGOPTMZ
- if(0 != dlSf->remDatReqCnt)
- {
- /* Freeing as the part of CL Non RT Indication */
- /* TODO : Generalize for all SOCs and remove this flag */
-#if !(defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD))
- rgDHMFreeTbBufs(inst);
-#endif
- RETVALUE(ROK);
- }
-#endif
-
-#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((ttiInd->timingInfo.subframe % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_DL_BR_PRC);
-#endif
-
- if (ROK != rgTOMUtlProcDlSf (dlSf, cellCb, &err))
- {
- RLOG_ARG0(L_ERROR,DBG_CELLID,ttiInd->cellId,
- "Unable to process downlink subframe for cell");
- err.errType = RGERR_TOM_TTIIND;
- }
-#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((ttiInd->timingInfo.subframe % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_DL_AFTER_PRC);
-#endif
-
- /* Mark this frame as sent */
- dlSf->txDone = TRUE;
-
- /* Freeing as the part of CL Non RT Indication */
- /* TODO : Generalize for all SOCs and remove this flag */
-#if !(defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD))
- rgDHMFreeTbBufs(inst);
-#endif
- RETVALUE(ROK);
-} /* rgTOMTtiInd */
-
/** @brief This function allocates the RgMacPdu that will be populated by DEMUX
* with the SubHeaders list and the values of the Control elements.
*
}
RETVALUE(ROK);
-} /* rgTOMTtiInd */
+}
#endif
Bool isSpsRnti,
Bool *spsToBeActvtd,
U16 *sduSize,
- U8 subframe,
+ U16 slot,
U32 *lcgBytes
)
#else
-PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,spsToBeActvtd,sduSize, subframe, lcgBytes)
+PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,spsToBeActvtd,sduSize, slot, lcgBytes)
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
Bool isSpsRnti;
Bool *spsToBeActvtd;
U16 *sduSize;
- U8 subframe;
+ U16 slot;
U32 *lcgBytes;
#endif
#else /* LTEMAC_SPS */
RgCellCb *cellCb,
RgUeCb *ueCb,
RgMacPdu *pdu,
- U8 subframe,
+ U16 slot,
U32 *lcgBytes
)
#else
-PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes)
+PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, slot, lcgBytes)
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
- U8 subframe;
+ U16 slot;
U32 *lcgByes;
#endif
#endif
TRC2(rgTOMUtlProcMsg)
#ifndef LTE_L2_MEAS
- UNUSED(subframe);
+ UNUSED(slot);
#endif
if(pdu->sduLst.first)
&cpySz);
}
#ifdef XEON_SPECIFIC_CHANGES
- CM_LOG_DEBUG(CM_LOG_ID_MAC, "CCCH SDU of size(%d) received for UE(%d) CRES[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x] Time[%d %d]\n", ((S16)ccchSz), ueCb->ueId,ueCb->contResId.resId[0], ueCb->contResId.resId[1], ueCb->contResId.resId[2], ueCb->contResId.resId[3], ueCb->contResId.resId[4], ueCb->contResId.resId[5], cellCb->crntTime.sfn, cellCb->crntTime.subframe);
+ CM_LOG_DEBUG(CM_LOG_ID_MAC, "CCCH SDU of size(%d) received for UE(%d) CRES[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x] Time[%d %d]\n", ((S16)ccchSz), ueCb->ueId,ueCb->contResId.resId[0], ueCb->contResId.resId[1], ueCb->contResId.resId[2], ueCb->contResId.resId[3], ueCb->contResId.resId[4], ueCb->contResId.resId[5], cellCb->crntTime.sfn, cellCb->crntTime.slot);
#endif
sdu->mBuf = NULLP;
rgUIMSndCmnDatInd(inst,cellCb->rguUlSap,cDatInd);
dDatInd->numLch = 0;
}
#ifdef LTE_L2_MEAS
- ulSf = &cellCb->ulSf[(subframe % RG_NUM_SUB_FRAMES)];
+ ulSf = &cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)];
if(ulSf->ueUlAllocInfo != NULLP)
{
for(idx1 = 0; idx1 < ulSf->numUe; idx1++)
CmLList *node;
TfuDatInfo *datInfo;
RgLowSapCb *tfuSap;
- U8 subframe;
+ U16 slot;
#ifdef LTEMAC_SPS
Bool isSpsRnti=FALSE;
Pst schPst1;
- RgInfSpsRelInfo relInfo;
- Bool spsToBeActvtd = FALSE;
+ // RgInfSpsRelInfo relInfo;
+ Bool spsToBeActvtd = FALSE;
U16 sduSize = 0;
#endif
U32 lcgBytes[RGINF_MAX_LCG_PER_UE];
cmLListInit(&sfInfo->ueLst);
sfInfo->cellId = datInd->cellId;
sfInfo->timingInfo = datInd->timingInfo;
- subframe = datInd->timingInfo.subframe;
+ slot = datInd->timingInfo.slot;
node = datInd->datIndLst.first;
for (;node; node=node->next)
if (ceInfo.bitMask & RG_CCCH_SDU_PRSNT)
{
ret = rgTOMProcCCCHSduInDatInd(pdu, prevUeCb, \
- cellCb, datInfo, &ceInfo, subframe);
+ cellCb, datInfo, &ceInfo, slot);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
else if (ceInfo.bitMask & RG_CRNTI_CE_PRSNT)
{
ret = rgTOMProcCrntiCEInDatInd(pdu, prevUeCb, \
- cellCb, datInfo, &ceInfo, subframe);
+ cellCb, datInfo, &ceInfo, slot);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
ueCb->ul.implRelCntr = 0;
ueCb->ul.explRelCntr = 0;
- relInfo.cellSapId = cellCb->schInstMap.cellSapId;
+#if 0
+ relInfo.cellSapId = cellCb->schInstMap.cellSapId;
relInfo.cRnti = ueCb->ueId;
- relInfo.isExplRel = FALSE;
+ relInfo.isExplRel= FALSE;
//TODO: commented for compilation without SCH RgMacSchSpsRel(&schPst1, &relInfo);
+#endif
}
}
else
rgTOML2MCompileActiveLCs (cellCb, ueCb, pdu, &ceInfo);
#endif
#ifdef LTEMAC_SPS
- if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, subframe, (U32 *)&lcgBytes)) != ROK)
+ if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, slot, (U32 *)&lcgBytes)) != ROK)
#else
- if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, subframe, (U32 *)&lcgBytes)) != ROK)
+ if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, (U32 *)&lcgBytes)) != ROK)
#endif /* LTEMAC_SPS */
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
}
/* Free the allocated memory for ueUlAllocInfo here */
#ifdef LTE_L2_MEAS
- if(cellCb->ulSf[(subframe % RG_NUM_SUB_FRAMES)].ueUlAllocInfo != NULLP)
+ if(cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].ueUlAllocInfo != NULLP)
{
/*ccpu00117052 - MOD - Passing double for proper NULLP
assignment */
- rgFreeSBuf(inst,(Data **)&(cellCb->ulSf[(subframe % RG_NUM_SUB_FRAMES)].ueUlAllocInfo),
- ((cellCb->ulSf[(subframe % RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc)));
+ rgFreeSBuf(inst,(Data **)&(cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].ueUlAllocInfo),
+ ((cellCb->ulSf[(slot % RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc)));
}
#endif
/* RRM_RBC_X */
TRC2(rgHndlCmnChnl)
- dlSf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)];
+ dlSf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)];
if(cmnLcInfo->bitMask & RGINF_BCH_INFO)
{
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.subframe);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->pcchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.subframe);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bcchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.subframe);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.slot);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
TRC2(rgHndlUlUeInfo)
- ulSf = &cell->ulSf[(timingInfo.subframe % RGSCH_NUM_SUB_FRAMES)];
+ ulSf = &cell->ulSf[(timingInfo.slot % RGSCH_NUM_SUB_FRAMES)];
/* rg003.301-MOD- Corrected the purifier memory leak */
if (ulSf->numUe != ueInfo->numUes)
}
}
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.subframe % RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_FREE);
- CM_ADD_INFO((cell->crntTime.subframe % RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_FREE, ulSf->numUe);
+ CM_MEAS_TIME((cell->crntTime.slot % RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_FREE);
+ CM_ADD_INFO((cell->crntTime.slot % RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_FREE, ulSf->numUe);
#endif
ulSf->numUe = ueInfo->numUes;
if((ulSf->ueUlAllocInfo == NULLP) && (ueInfo->numUes > 0))
{
/* Allocate memory for ulAllocInfo */
- if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.subframe % RGSCH_NUM_SUB_FRAMES)].
+ if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.slot % RGSCH_NUM_SUB_FRAMES)].
ueUlAllocInfo), ueInfo->numUes * sizeof(RgUeUlAlloc))) != ROK)
{
RETVALUE(ret);
}
}
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.subframe % RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_ALLOC);
- CM_ADD_INFO((cell->crntTime.subframe % RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_ALLOC, ueInfo->numUes);
+ CM_MEAS_TIME((cell->crntTime.slot % RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_ALLOC);
+ CM_ADD_INFO((cell->crntTime.slot % RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_ALLOC, ueInfo->numUes);
#endif
if (ulSf->ueUlAllocInfo != NULLP)
{
{
for(i=0;i< RG_MAX_TB_PER_UE;i++)
{
- if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf == dlSf)
+ if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf)
{
- cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sfLnk));
- hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sfLnk.node = NULLP;
+ cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk));
+ hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk.node = NULLP;
printf("\n rgTOMRlsSf:: hqP %p \n", (Void *)hqP);
}
- hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf = NULLP;
+ hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf = NULLP;
}
}
}
RETVALUE(RFAILED);
}
- dlSf = &cell->subFrms[(sfInfo->timingInfo.subframe % RG_NUM_SUB_FRAMES)];
+ dlSf = &cell->subFrms[(sfInfo->timingInfo.slot % RG_NUM_SUB_FRAMES)];
rgTOMRlsSf(inst,dlSf);
dlSf->schdTime = sfInfo->timingInfo;
#ifdef LTE_ADV
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.subframe % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_B4_UE_SCHD);
+ CM_MEAS_TIME((cell->crntTime.slot % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_B4_UE_SCHD);
#endif
rgHndlSchdUe(cell, sfInfo->timingInfo, &sfInfo->ueInfo, &err);
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.subframe % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_UE_SCHD);
+ CM_MEAS_TIME((cell->crntTime.slot % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_UE_SCHD);
#endif
rgLaaChkAndReqTbs(dlSf,cell, inst);
}
#endif
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.subframe % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_MEAS);
+ CM_MEAS_TIME((cell->crntTime.slot % RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_MEAS);
#endif
/* Fix[ccpu00126310]: Tracks Data Requests from RLC for both loosely and tight coupled
RLC-MAC */
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U8 subframe
+U16 slot
)
#else
-PRIVATE S16 rgTOMProcCrntiCEInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, subframe)
+PRIVATE S16 rgTOMProcCrntiCEInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, slot)
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
-U8 subframe;
+U16 slot;
#endif
{
RgUeCb *ueCb = NULLP;
TRC2(rgTOMProcCrntiCEInDatInd)
#ifndef LTE_L2_MEAS
- UNUSED(subframe);
+ UNUSED(slot);
#endif
ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti);
rgRAMFreeUeCb(inst,ueCb);
ueCb = prevUeCb;
#ifdef LTEMAC_SPS
- if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, subframe, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, slot, NULLP)) != ROK)
#else
- if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, subframe, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK)
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U8 subframe
+U16 slot
)
#else
-PRIVATE S16 rgTOMProcCCCHSduInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, subframe)
+PRIVATE S16 rgTOMProcCCCHSduInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, slot)
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
-U8 subframe;
+U16 slot;
#endif
{
RgUeCb *ueCb = NULLP;
TRC2(rgTOMProcCCCHSduInDatInd)
#ifndef LTE_L2_MEAS
- UNUSED(subframe);
+ UNUSED(slot);
#endif
if (ceInfo->bitMask & RG_CRNTI_CE_PRSNT)
RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
"CCCH SDU received through tmpCrnti(%d)",datInfo->rnti);
#ifdef LTEMAC_SPS
- if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, subframe, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, slot, NULLP)) != ROK)
#else
- if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, subframe, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, NULLP)) != ROK)
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed",