Code Review
/
o-du
/
l2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix for seg fault at 5th and 20th slot and SIB1
[o-du/l2.git]
/
src
/
5gnrmac
/
rg_tom.c
diff --git
a/src/5gnrmac/rg_tom.c
b/src/5gnrmac/rg_tom.c
index
ce4dd60
..
e4f3127
100755
(executable)
--- a/
src/5gnrmac/rg_tom.c
+++ b/
src/5gnrmac/rg_tom.c
@@
-75,9
+75,10
@@
invoked by PHY towards MAC
#include "rg_prg.x" /* PRG interface typedefs */
#include "rgm.x" /* layer management typedefs for MAC */
#include "rgm.h" /* layer management typedefs for MAC */
#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_mgr_mac_inf.h"
+#include "du_app_mac_inf.h"
+#include "mac.h"
#include "rg.x" /* typedefs for MAC */
#include "rg.x" /* typedefs for MAC */
-
+#include "lwr_mac_fsm.h"
#ifdef MAC_RLC_UL_RBUF
#include "ss_rbuf.h"
#include "ss_rbuf.x"
#ifdef MAC_RLC_UL_RBUF
#include "ss_rbuf.h"
#include "ss_rbuf.x"
@@
-97,7
+98,7
@@
RgUeCb *prevUeCb,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U
8 subframe
+U
16 slot
));
PRIVATE S16 rgTOMProcCCCHSduInDatInd ARGS((
));
PRIVATE S16 rgTOMProcCCCHSduInDatInd ARGS((
@@
-106,7
+107,7
@@
RgUeCb *prevUeCb,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U
8 subframe
+U
16 slot
));
PUBLIC S16 rgHndlFlowCntrl
));
PUBLIC S16 rgHndlFlowCntrl
@@
-445,9
+446,9
@@
PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err)
RGADDTOCRNTTIME(dlSf->schdTime, datInfo->timingInfo, TFU_DLDATA_DLDELTA);
#endif
datInfo->cellId = cellCb->cellId;
RGADDTOCRNTTIME(dlSf->schdTime, datInfo->timingInfo, TFU_DLDATA_DLDELTA);
#endif
datInfo->cellId = cellCb->cellId;
- if((0 == (datInfo->timingInfo.sfn % 30)) && (0 == datInfo->timingInfo.s
ubframe
))
+ if((0 == (datInfo->timingInfo.sfn % 30)) && (0 == datInfo->timingInfo.s
lot
))
{
{
- //printf("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.s
ubframe
);
+ //printf("5GTF_CHECK rgTOMUtlProcDlSf dat (%d : %d)\n", datInfo->timingInfo.sfn, datInfo->timingInfo.s
lot
);
}
#ifdef TFU_ALLOC_EVENT_NO_INIT
datInfo->bchDat.pres = 0;
}
#ifdef TFU_ALLOC_EVENT_NO_INIT
datInfo->bchDat.pres = 0;
@@
-500,12
+501,12
@@
U32 rgMacGT;
*
* @details
*
*
* @details
*
- * Function:
rgTOMTti
Ind
+ * Function:
macProcessSlot
Ind
*
*
- * Handler for processing
TTI
indication recieved from PHY
+ * Handler for processing
slot
indication recieved from PHY
* for a cell.
*
* for a cell.
*
- * Invoked by:
RgLiTfuTti
Ind
+ * Invoked by:
macProcessSlot
Ind
*
* Processing Steps:
* - Get cell and update the cell's current time with the timing value given
*
* Processing Steps:
* - Get cell and update the cell's current time with the timing value given
@@
-529,7
+530,7
@@
U32 rgMacGT;
* - Invoke COM's TTI handler rgCOMTtiHndlr
*
* @param[in] Inst inst
* - Invoke COM's TTI handler rgCOMTtiHndlr
*
* @param[in] Inst inst
- * @param[in]
TfuTtiIndInfo *tti
Ind
+ * @param[in]
SlotIndInfo slot
Ind
* @return S16
* -# ROK
* -# RFAILED
* @return S16
* -# ROK
* -# RFAILED
@@
-537,17
+538,11
@@
U32 rgMacGT;
#if (defined (MAC_FREE_RING_BUF) || defined (RLC_FREE_RING_BUF))
pthread_t gMacTId = 0;
#endif
#if (defined (MAC_FREE_RING_BUF) || defined (RLC_FREE_RING_BUF))
pthread_t gMacTId = 0;
#endif
-#ifdef ANSI
-PUBLIC S16 rgTOMTtiInd
+PUBLIC S16 macProcessSlotInd
(
Inst inst,
(
Inst inst,
-TfuTtiIndInfo *ttiInfo
+SlotIndInfo slotInd
)
)
-#else
-PUBLIC S16 rgTOMTtiInd(inst, ttiInfo)
-Inst inst;
-TfuTtiIndInfo *ttiInfo;
-#endif
{
RgCellCb *cellCb;
RgErrInfo err;
{
RgCellCb *cellCb;
RgErrInfo err;
@@
-557,35
+552,30
@@
TfuTtiIndInfo *ttiInfo;
RgDlSf *prevDlSf;
CmLteTimingInfo prevTmInfo;
#endif
RgDlSf *prevDlSf;
CmLteTimingInfo prevTmInfo;
#endif
-
TfuTtiCellInfo *tti
Ind = &ttiInfo->cells[0];
+
//SlotIndInfo *slot
Ind = &ttiInfo->cells[0];
- TRC2(
rgTOMTti
Ind);
+ TRC2(
macProcessSlot
Ind);
#ifdef MAC_FREE_RING_BUF
gMacTId = pthread_self();
#endif
#ifdef MAC_FREE_RING_BUF
gMacTId = pthread_self();
#endif
+
cellCb = rgCb[inst].cell;
cellCb = rgCb[inst].cell;
- if ((cellCb == NULLP)
- ||(cellCb->cellId != ttiInd->cellId))
+ if (cellCb == NULLP)
{
{
-
- 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);
}
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;
+
+ RGCPYTIMEINFO(slotInd, cellCb->crntTime);
+
+ rgMacGT = (slotInd.sfn * RG_NUM_SUB_FRAMES_5G) + slotInd.slot;
#ifdef LTE_L2_MEAS
rgL2Meas(cellCb);
/*Included to track the number of 10240 cycles completed */
#ifdef LTE_L2_MEAS
rgL2Meas(cellCb);
/*Included to track the number of 10240 cycles completed */
- if((cellCb->crntTime.sfn == 0) && (cellCb->crntTime.s
ubframe
==0))
+ if((cellCb->crntTime.sfn == 0) && (cellCb->crntTime.s
lot
==0))
{
cellCb->ttiCycle += 1;
}
{
cellCb->ttiCycle += 1;
}
@@
-597,8
+587,8
@@
TfuTtiIndInfo *ttiInfo;
and thus we would not have transmitted previous DL SF yet.*/
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
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.s
ubframe
% RG_NUM_SUB_FRAMES)];
+ RGSUBFRMCRNTTIME(
slotInd
, prevTmInfo, 1);
+ prevDlSf = &cellCb->subFrms[(prevTmInfo.s
lot
% RG_NUM_SUB_FRAMES)];
if(FALSE == prevDlSf->txDone)
{
if (ROK != rgTOMUtlProcDlSf (prevDlSf, cellCb, &err))
if(FALSE == prevDlSf->txDone)
{
if (ROK != rgTOMUtlProcDlSf (prevDlSf, cellCb, &err))
@@
-622,10
+612,17
@@
TfuTtiIndInfo *ttiInfo;
}
}
#endif
}
}
#endif
- dlSf = &cellCb->subFrms[(ttiInd->timingInfo.subframe % RG_NUM_SUB_FRAMES)];
+
+/* Trigger for DL TTI REQ */
+ CmLteTimingInfo timingInfo;
+ RGADDTOCRNTTIME(cellCb->crntTime, timingInfo, TFU_DELTA);
+ handleDlTtiReq(&timingInfo);
+ handleUlTtiReq(&timingInfo);
+
+ dlSf = &cellCb->subFrms[(slotInd.slot % RG_NUM_SUB_FRAMES)];
if((dlSf->txDone == TRUE) ||
if((dlSf->txDone == TRUE) ||
- (!RG_TIMEINFO_SAME(
ttiInd->timingInfo
,dlSf->schdTime)))
+ (!RG_TIMEINFO_SAME(
slotInd
,dlSf->schdTime)))
{
/* MS_WORKAROUND */
#ifndef LTEMAC_DLUE_TMGOPTMZ
{
/* MS_WORKAROUND */
#ifndef LTEMAC_DLUE_TMGOPTMZ
@@
-637,7
+634,7
@@
TfuTtiIndInfo *ttiInfo;
RGADDTOCRNTTIME(cellCb->crntTime, timingInfo, TFU_DELTA);
#endif
/* Fill Data Request from MAC for BCH */
RGADDTOCRNTTIME(cellCb->crntTime, timingInfo, TFU_DELTA);
#endif
/* Fill Data Request from MAC for BCH */
- if ((timingInfo.sfn % 4 == 0) && (timingInfo.s
ubframe
== 0))
+ if ((timingInfo.sfn % 4 == 0) && (timingInfo.s
lot
== 0))
{
if (ROK != rgAllocEventMem(inst,(Ptr *)&datInfo,
sizeof(TfuDatReqInfo)))
{
if (ROK != rgAllocEventMem(inst,(Ptr *)&datInfo,
sizeof(TfuDatReqInfo)))
@@
-688,17
+685,17
@@
TfuTtiIndInfo *ttiInfo;
#endif
#ifdef XEON_SPECIFIC_CHANGES
#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);
+ CM_MEAS_TIME((
slotInd.slot
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_DL_BR_PRC);
#endif
if (ROK != rgTOMUtlProcDlSf (dlSf, cellCb, &err))
{
#endif
if (ROK != rgTOMUtlProcDlSf (dlSf, cellCb, &err))
{
-
RLOG_ARG0(L_ERROR,DBG_CELLID,tti
Ind->cellId,
-
"Unable to process downlink subframe for cell");
+
//RLOG_ARG0(L_ERROR,DBG_CELLID,slot
Ind->cellId,
+
//
"Unable to process downlink subframe for cell");
err.errType = RGERR_TOM_TTIIND;
}
#ifdef XEON_SPECIFIC_CHANGES
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);
+ CM_MEAS_TIME((
slotInd->slot
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_DL_AFTER_PRC);
#endif
/* Mark this frame as sent */
#endif
/* Mark this frame as sent */
@@
-710,7
+707,7
@@
TfuTtiIndInfo *ttiInfo;
rgDHMFreeTbBufs(inst);
#endif
RETVALUE(ROK);
rgDHMFreeTbBufs(inst);
#endif
RETVALUE(ROK);
-} /*
rgTOMTti
Ind */
+} /*
macProcessSlot
Ind */
/** @brief This function allocates the RgMacPdu that will be populated by DEMUX
* with the SubHeaders list and the values of the Control elements.
/** @brief This function allocates the RgMacPdu that will be populated by DEMUX
* with the SubHeaders list and the values of the Control elements.
@@
-962,7
+959,7
@@
PRIVATE S16 rgTomUtlPrepareL2MUlThrpInfo(cellCb,ueCb,dDatInd)
}
RETVALUE(ROK);
}
RETVALUE(ROK);
-}
/* rgTOMTtiInd */
+}
#endif
#endif
@@
-1006,18
+1003,18
@@
PRIVATE S16 rgTOMUtlProcMsg
Bool isSpsRnti,
Bool *spsToBeActvtd,
U16 *sduSize,
Bool isSpsRnti,
Bool *spsToBeActvtd,
U16 *sduSize,
- U
8 subframe
,
+ U
16 slot
,
U32 *lcgBytes
)
#else
U32 *lcgBytes
)
#else
-PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,spsToBeActvtd,sduSize, s
ubframe
, lcgBytes)
+PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,spsToBeActvtd,sduSize, s
lot
, lcgBytes)
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
Bool isSpsRnti;
Bool *spsToBeActvtd;
U16 *sduSize;
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
Bool isSpsRnti;
Bool *spsToBeActvtd;
U16 *sduSize;
- U
8 subframe
;
+ U
16 slot
;
U32 *lcgBytes;
#endif
#else /* LTEMAC_SPS */
U32 *lcgBytes;
#endif
#else /* LTEMAC_SPS */
@@
-1027,15
+1024,15
@@
PRIVATE S16 rgTOMUtlProcMsg
RgCellCb *cellCb,
RgUeCb *ueCb,
RgMacPdu *pdu,
RgCellCb *cellCb,
RgUeCb *ueCb,
RgMacPdu *pdu,
- U
8 subframe
,
+ U
16 slot
,
U32 *lcgBytes
)
#else
U32 *lcgBytes
)
#else
-PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, s
ubframe
, lcgBytes)
+PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, s
lot
, lcgBytes)
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
RgCellCb *cellCb;
RgUeCb *ueCb;
RgMacPdu *pdu;
- U
8 subframe
;
+ U
16 slot
;
U32 *lcgByes;
#endif
#endif
U32 *lcgByes;
#endif
#endif
@@
-1088,7
+1085,7
@@
PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes)
TRC2(rgTOMUtlProcMsg)
#ifndef LTE_L2_MEAS
TRC2(rgTOMUtlProcMsg)
#ifndef LTE_L2_MEAS
- UNUSED(s
ubframe
);
+ UNUSED(s
lot
);
#endif
if(pdu->sduLst.first)
#endif
if(pdu->sduLst.first)
@@
-1118,7
+1115,7
@@
PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes)
&cpySz);
}
#ifdef XEON_SPECIFIC_CHANGES
&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.s
ubframe
);
+ 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.s
lot
);
#endif
sdu->mBuf = NULLP;
rgUIMSndCmnDatInd(inst,cellCb->rguUlSap,cDatInd);
#endif
sdu->mBuf = NULLP;
rgUIMSndCmnDatInd(inst,cellCb->rguUlSap,cDatInd);
@@
-1144,7
+1141,7
@@
PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes)
dDatInd->numLch = 0;
}
#ifdef LTE_L2_MEAS
dDatInd->numLch = 0;
}
#ifdef LTE_L2_MEAS
- ulSf = &cellCb->ulSf[(s
ubframe
% RG_NUM_SUB_FRAMES)];
+ ulSf = &cellCb->ulSf[(s
lot
% RG_NUM_SUB_FRAMES)];
if(ulSf->ueUlAllocInfo != NULLP)
{
for(idx1 = 0; idx1 < ulSf->numUe; idx1++)
if(ulSf->ueUlAllocInfo != NULLP)
{
for(idx1 = 0; idx1 < ulSf->numUe; idx1++)
@@
-1511,12
+1508,12
@@
Inst inst;
CmLList *node;
TfuDatInfo *datInfo;
RgLowSapCb *tfuSap;
CmLList *node;
TfuDatInfo *datInfo;
RgLowSapCb *tfuSap;
- U
8 subframe
;
+ U
16 slot
;
#ifdef LTEMAC_SPS
Bool isSpsRnti=FALSE;
Pst schPst1;
#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];
U16 sduSize = 0;
#endif
U32 lcgBytes[RGINF_MAX_LCG_PER_UE];
@@
-1566,7
+1563,7
@@
Inst inst;
cmLListInit(&sfInfo->ueLst);
sfInfo->cellId = datInd->cellId;
sfInfo->timingInfo = datInd->timingInfo;
cmLListInit(&sfInfo->ueLst);
sfInfo->cellId = datInd->cellId;
sfInfo->timingInfo = datInd->timingInfo;
- s
ubframe = datInd->timingInfo.subframe
;
+ s
lot = datInd->timingInfo.slot
;
node = datInd->datIndLst.first;
for (;node; node=node->next)
node = datInd->datIndLst.first;
for (;node; node=node->next)
@@
-1622,7
+1619,7
@@
Inst inst;
if (ceInfo.bitMask & RG_CCCH_SDU_PRSNT)
{
ret = rgTOMProcCCCHSduInDatInd(pdu, prevUeCb, \
if (ceInfo.bitMask & RG_CCCH_SDU_PRSNT)
{
ret = rgTOMProcCCCHSduInDatInd(pdu, prevUeCb, \
- cellCb, datInfo, &ceInfo, s
ubframe
);
+ cellCb, datInfo, &ceInfo, s
lot
);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
@@
-1635,7
+1632,7
@@
Inst inst;
else if (ceInfo.bitMask & RG_CRNTI_CE_PRSNT)
{
ret = rgTOMProcCrntiCEInDatInd(pdu, prevUeCb, \
else if (ceInfo.bitMask & RG_CRNTI_CE_PRSNT)
{
ret = rgTOMProcCrntiCEInDatInd(pdu, prevUeCb, \
- cellCb, datInfo, &ceInfo, s
ubframe
);
+ cellCb, datInfo, &ceInfo, s
lot
);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
if (ret == RFAILED)
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
@@
-1668,10
+1665,12
@@
Inst inst;
ueCb->ul.implRelCntr = 0;
ueCb->ul.explRelCntr = 0;
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.cRnti = ueCb->ueId;
-
relInfo.isExplRel
= FALSE;
+
relInfo.isExplRel
= FALSE;
//TODO: commented for compilation without SCH RgMacSchSpsRel(&schPst1, &relInfo);
//TODO: commented for compilation without SCH RgMacSchSpsRel(&schPst1, &relInfo);
+#endif
}
}
else
}
}
else
@@
-1697,9
+1696,9
@@
Inst inst;
rgTOML2MCompileActiveLCs (cellCb, ueCb, pdu, &ceInfo);
#endif
#ifdef LTEMAC_SPS
rgTOML2MCompileActiveLCs (cellCb, ueCb, pdu, &ceInfo);
#endif
#ifdef LTEMAC_SPS
- if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, s
ubframe
, (U32 *)&lcgBytes)) != ROK)
+ if ((ret = rgTOMUtlProcMsg(cellCb, ueCb, pdu, isSpsRnti,&spsToBeActvtd,&sduSize, s
lot
, (U32 *)&lcgBytes)) != ROK)
#else
#else
- if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
ubframe
, (U32 *)&lcgBytes)) != ROK)
+ if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
lot
, (U32 *)&lcgBytes)) != ROK)
#endif /* LTEMAC_SPS */
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
#endif /* LTEMAC_SPS */
{
rgTOMUtlFreePduEvnt (pdu, TRUE);
@@
-1728,12
+1727,12
@@
Inst inst;
}
/* Free the allocated memory for ueUlAllocInfo here */
#ifdef LTE_L2_MEAS
}
/* Free the allocated memory for ueUlAllocInfo here */
#ifdef LTE_L2_MEAS
- if(cellCb->ulSf[(s
ubframe
% RG_NUM_SUB_FRAMES)].ueUlAllocInfo != NULLP)
+ if(cellCb->ulSf[(s
lot
% RG_NUM_SUB_FRAMES)].ueUlAllocInfo != NULLP)
{
/*ccpu00117052 - MOD - Passing double for proper NULLP
assignment */
{
/*ccpu00117052 - MOD - Passing double for proper NULLP
assignment */
- rgFreeSBuf(inst,(Data **)&(cellCb->ulSf[(s
ubframe
% RG_NUM_SUB_FRAMES)].ueUlAllocInfo),
- ((cellCb->ulSf[(s
ubframe
% RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc)));
+ rgFreeSBuf(inst,(Data **)&(cellCb->ulSf[(s
lot
% RG_NUM_SUB_FRAMES)].ueUlAllocInfo),
+ ((cellCb->ulSf[(s
lot
% RG_NUM_SUB_FRAMES)].numUe) * sizeof(RgUeUlAlloc)));
}
#endif
/* RRM_RBC_X */
}
#endif
/* RRM_RBC_X */
@@
-1811,7
+1810,7
@@
RgErrInfo *err;
TRC2(rgHndlCmnChnl)
TRC2(rgHndlCmnChnl)
- dlSf = &cell->subFrms[(timingInfo.s
ubframe
% RG_NUM_SUB_FRAMES)];
+ dlSf = &cell->subFrms[(timingInfo.s
lot
% RG_NUM_SUB_FRAMES)];
if(cmnLcInfo->bitMask & RGINF_BCH_INFO)
{
if(cmnLcInfo->bitMask & RGINF_BCH_INFO)
{
@@
-1835,7
+1834,7
@@
RgErrInfo *err;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bchInfo.lcId;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
ubframe
);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
lot
);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
@@
-1879,7
+1878,7
@@
RgErrInfo *err;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->pcchInfo.lcId;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->pcchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
ubframe
);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
lot
);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
@@
-1921,7
+1920,7
@@
RgErrInfo *err;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bcchInfo.lcId;
staInd->cellId = cell->cellId;
staInd->rnti = RG_INVALID_RNTI;
staInd->lcId = cmnLcInfo->bcchInfo.lcId;
- staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
ubframe
);
+ staInd->transId = (timingInfo.sfn << 8) | (timingInfo.s
lot
);
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
/* ADD Changes for Downlink UE Timing Optimization */
#ifdef LTEMAC_DLUE_TMGOPTMZ
dlSf->remDatReqCnt++;
@@
-2038,7
+2037,7
@@
RgInfUlUeInfo *ueInfo;
TRC2(rgHndlUlUeInfo)
TRC2(rgHndlUlUeInfo)
- ulSf = &cell->ulSf[(timingInfo.s
ubframe
% RGSCH_NUM_SUB_FRAMES)];
+ ulSf = &cell->ulSf[(timingInfo.s
lot
% RGSCH_NUM_SUB_FRAMES)];
/* rg003.301-MOD- Corrected the purifier memory leak */
if (ulSf->numUe != ueInfo->numUes)
/* rg003.301-MOD- Corrected the purifier memory leak */
if (ulSf->numUe != ueInfo->numUes)
@@
-2050,22
+2049,22
@@
RgInfUlUeInfo *ueInfo;
}
}
#ifdef XEON_SPECIFIC_CHANGES
}
}
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.s
ubframe
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_FREE);
- CM_ADD_INFO((cell->crntTime.s
ubframe
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_FREE, ulSf->numUe);
+ CM_MEAS_TIME((cell->crntTime.s
lot
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_FREE);
+ CM_ADD_INFO((cell->crntTime.s
lot
% 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 */
#endif
ulSf->numUe = ueInfo->numUes;
if((ulSf->ueUlAllocInfo == NULLP) && (ueInfo->numUes > 0))
{
/* Allocate memory for ulAllocInfo */
- if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.s
ubframe
% RGSCH_NUM_SUB_FRAMES)].
+ if((ret = rgAllocSBuf(inst,(Data**)&(cell->ulSf[(timingInfo.s
lot
% RGSCH_NUM_SUB_FRAMES)].
ueUlAllocInfo), ueInfo->numUes * sizeof(RgUeUlAlloc))) != ROK)
{
RETVALUE(ret);
}
}
#ifdef XEON_SPECIFIC_CHANGES
ueUlAllocInfo), ueInfo->numUes * sizeof(RgUeUlAlloc))) != ROK)
{
RETVALUE(ret);
}
}
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.s
ubframe
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_ALLOC);
- CM_ADD_INFO((cell->crntTime.s
ubframe
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_ALLOC, ueInfo->numUes);
+ CM_MEAS_TIME((cell->crntTime.s
lot
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MEAS_ALLOC);
+ CM_ADD_INFO((cell->crntTime.s
lot
% RGSCH_NUM_SUB_FRAMES), CM_DBG_MEAS_ALLOC, ueInfo->numUes);
#endif
if (ulSf->ueUlAllocInfo != NULLP)
{
#endif
if (ulSf->ueUlAllocInfo != NULLP)
{
@@
-2162,13
+2161,13
@@
RgDlSf *dlSf;
{
for(i=0;i< RG_MAX_TB_PER_UE;i++)
{
{
for(i=0;i< RG_MAX_TB_PER_UE;i++)
{
- if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
ubframe
% 2].sf == dlSf)
+ if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
lot
% 2].sf == dlSf)
{
{
- cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
ubframe
% 2].sfLnk));
- hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
ubframe
% 2].sfLnk.node = NULLP;
+ cmLListDelFrm(&dlSf->tbs, &(hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
lot
% 2].sfLnk));
+ hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
lot
% 2].sfLnk.node = NULLP;
printf("\n rgTOMRlsSf:: hqP %p \n", (Void *)hqP);
}
printf("\n rgTOMRlsSf:: hqP %p \n", (Void *)hqP);
}
- hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
ubframe
% 2].sf = NULLP;
+ hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.s
lot
% 2].sf = NULLP;
}
}
}
}
}
}
@@
-2302,7
+2301,7
@@
RgInfSfAlloc *sfInfo;
RETVALUE(RFAILED);
}
RETVALUE(RFAILED);
}
- dlSf = &cell->subFrms[(sfInfo->timingInfo.s
ubframe
% RG_NUM_SUB_FRAMES)];
+ dlSf = &cell->subFrms[(sfInfo->timingInfo.s
lot
% RG_NUM_SUB_FRAMES)];
rgTOMRlsSf(inst,dlSf);
dlSf->schdTime = sfInfo->timingInfo;
rgTOMRlsSf(inst,dlSf);
dlSf->schdTime = sfInfo->timingInfo;
@@
-2325,11
+2324,11
@@
RgInfSfAlloc *sfInfo;
#ifdef LTE_ADV
#ifdef XEON_SPECIFIC_CHANGES
#ifdef LTE_ADV
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.s
ubframe
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_B4_UE_SCHD);
+ CM_MEAS_TIME((cell->crntTime.s
lot
% 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
#endif
rgHndlSchdUe(cell, sfInfo->timingInfo, &sfInfo->ueInfo, &err);
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.s
ubframe
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_UE_SCHD);
+ CM_MEAS_TIME((cell->crntTime.s
lot
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_UE_SCHD);
#endif
rgLaaChkAndReqTbs(dlSf,cell, inst);
#endif
rgLaaChkAndReqTbs(dlSf,cell, inst);
@@
-2345,7
+2344,7
@@
RgInfSfAlloc *sfInfo;
}
#endif
#ifdef XEON_SPECIFIC_CHANGES
}
#endif
#ifdef XEON_SPECIFIC_CHANGES
- CM_MEAS_TIME((cell->crntTime.s
ubframe
% RG_NUM_SUB_FRAMES), CM_DBG_MAC_TTI_IND, CM_DBG_MAC_MEAS);
+ CM_MEAS_TIME((cell->crntTime.s
lot
% 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 */
#endif
/* Fix[ccpu00126310]: Tracks Data Requests from RLC for both loosely and tight coupled
RLC-MAC */
@@
-2421,16
+2420,16
@@
RgUeCb *prevUeCb,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U
8 subframe
+U
16 slot
)
#else
)
#else
-PRIVATE S16 rgTOMProcCrntiCEInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, s
ubframe
)
+PRIVATE S16 rgTOMProcCrntiCEInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, s
lot
)
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
-U
8 subframe
;
+U
16 slot
;
#endif
{
RgUeCb *ueCb = NULLP;
#endif
{
RgUeCb *ueCb = NULLP;
@@
-2445,7
+2444,7
@@
U8 subframe;
TRC2(rgTOMProcCrntiCEInDatInd)
#ifndef LTE_L2_MEAS
TRC2(rgTOMProcCrntiCEInDatInd)
#ifndef LTE_L2_MEAS
- UNUSED(s
ubframe
);
+ UNUSED(s
lot
);
#endif
ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti);
#endif
ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti);
@@
-2471,9
+2470,9
@@
U8 subframe;
rgRAMFreeUeCb(inst,ueCb);
ueCb = prevUeCb;
#ifdef LTEMAC_SPS
rgRAMFreeUeCb(inst,ueCb);
ueCb = prevUeCb;
#ifdef LTEMAC_SPS
- if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, s
ubframe
, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, s
lot
, NULLP)) != ROK)
#else
#else
- if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
ubframe
, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
lot
, NULLP)) != ROK)
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
@@
-2523,16
+2522,16
@@
RgUeCb *prevUeCb,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
RgCellCb *cellCb,
TfuDatInfo *datInfo,
RgInfCeInfo *ceInfo,
-U
8 subframe
+U
16 slot
)
#else
)
#else
-PRIVATE S16 rgTOMProcCCCHSduInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, s
ubframe
)
+PRIVATE S16 rgTOMProcCCCHSduInDatInd( pdu, prevUeCb, cellCb, datInfo, ceInfo, s
lot
)
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
RgMacPdu *pdu;
RgUeCb *prevUeCb;
RgCellCb *cellCb;
TfuDatInfo *datInfo;
RgInfCeInfo *ceInfo;
-U
8 subframe
;
+U
16 slot
;
#endif
{
RgUeCb *ueCb = NULLP;
#endif
{
RgUeCb *ueCb = NULLP;
@@
-2547,7
+2546,7
@@
U8 subframe;
TRC2(rgTOMProcCCCHSduInDatInd)
#ifndef LTE_L2_MEAS
TRC2(rgTOMProcCCCHSduInDatInd)
#ifndef LTE_L2_MEAS
- UNUSED(s
ubframe
);
+ UNUSED(s
lot
);
#endif
if (ceInfo->bitMask & RG_CRNTI_CE_PRSNT)
#endif
if (ceInfo->bitMask & RG_CRNTI_CE_PRSNT)
@@
-2584,9
+2583,9
@@
U8 subframe;
RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
"CCCH SDU received through tmpCrnti(%d)",datInfo->rnti);
#ifdef LTEMAC_SPS
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, s
ubframe
, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg(cellCb, ueCb, pdu, FALSE,&spsToBeActvtd,&sduSize, s
lot
, NULLP)) != ROK)
#else
#else
- if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
ubframe
, NULLP)) != ROK)
+ if ((rgTOMUtlProcMsg (cellCb, ueCb, pdu, s
lot
, NULLP)) != ROK)
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed",
#endif /* LTEMAC_SPS */
{
RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed",