@brief This module handles the Periodic CQI/PMI/RI, SRS, SR and Half Duplex
functionality
*/
-#ifdef LTEMAC_HDFDD
-static const char* RLOG_MODULE_NAME="MAC";
-static int RLOG_MODULE_ID=4096;
-static int RLOG_FILE_ID=165;
-#endif
/* header include files -- defines (.h) */
#include "common_def.h"
#include "rgm.h"
#include "rg_sch.h"
#include "rg_sch_cmn.h"
-#include "rl_interface.h"
-#include "rl_common.h"
/* header/extern include files (.x) */
#include "tfu.x" /* RGU types */
* -# RFAILED
*/
-#ifdef ANSI
-S16 rgSCHHdFddUeCfg
-(
-RgSchCellCb *cellCb,
-RgSchUeCb *ueCb,
-Bool hdFddEnbl
-)
-#else /* ANSI */
-S16 rgSCHHdFddUeCfg (cellCb, ueCb, hdFddEnbl)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-Bool hdFddEnbl;
-#endif /* ANSI */
+S16 rgSCHHdFddUeCfg(RgSchCellCb *cellCb,RgSchUeCb *ueCb,Bool hdFddEnbl)
{
uint8_t sfi;
- RLOG_ARG2(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHHdFddUeCfg(): UeId =%d hdFddEnbl=%d",
+ DU_LOG("\nDEBUG --> SCH : rgSCHHdFddUeCfg(): UeId =%d hdFddEnbl=%d",
ueCb->ueId, hdFddEnbl);
if(ueCb->hdFddEnbld == TRUE)
{
if (hdFddEnbl == FALSE)
{
/* Do not allow switch from HD-FDD to FD-FDD configuration */
- RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgSCHHdFddUeCfg(): HD-FDD to FD-FDD Configuration is not allowed"
+ DU_LOG("\nERROR --> SCH : rgSCHHdFddUeCfg(): HD-FDD to FD-FDD Configuration is not allowed"
"CRNTI:%d",ueCb->ueId);
}
else
{
/* If already enabled then it can be second reconfiguration */
- RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgSCHHdFddUeCfg(): HD-FDD already enabled for this UE"
+ DU_LOG("\nERROR --> SCH : rgSCHHdFddUeCfg(): HD-FDD already enabled for this UE"
"CRNTI:%d",ueCb->ueId);
}
return RFAILED;
(ueCb->ul.ulSpsCfg.isUlSpsEnabled == TRUE ||
ueCb->dl.dlSpsCfg.isDlSpsEnabled == TRUE))
{
- RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgSCHHdFddUeCfg(): Could'nt do HDFDD cfg, SPS already configured"
+ DU_LOG("\nERROR --> SCH : rgSCHHdFddUeCfg(): Could'nt do HDFDD cfg, SPS already configured"
"CRNTI:%d",ueCb->ueId);
return RFAILED;
}
}
else
{
- RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,
- "rgSCHHdFddUeCfg(): Could not allocate memory for hd-fdd ueCb"
+ DU_LOG("\nERROR --> SCH : rgSCHHdFddUeCfg(): Could not allocate memory for hd-fdd ueCb"
"CRNTI:%d",ueCb->ueId);
return RFAILED;
}
* -# ROK
*
*/
-#ifdef ANSI
-S16 rgSCHHdFddUeDel
-(
-RgSchCellCb *cellCb,
-RgSchUeCb *ueCb
-)
-#else /* ANSI */
-S16 rgSCHHdFddUeDel(cellCb, ueCb)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-#endif /* ANSI */
+S16 rgSCHHdFddUeDel(RgSchCellCb *cellCb,RgSchUeCb *ueCb)
{
- RLOG_ARG2(L_DEBUG,DBG_CELLID,cellCb->cellId,
- " rgSCHHdFddUeDel(): UeId =%d hdFdd=%x",
+ DU_LOG("\nDEBUG --> SCH : rgSCHHdFddUeDel(): UeId =%d hdFdd=%x",
ueCb->ueId, ueCb->hdFddEnbld);
* @return None
*/
-#ifdef ANSI
-Void rgSCHCmnHdFddPtUlMrk
-(
-RgSchCellCb *cellCb
-)
-#else /* ANSI */
-Void rgSCHCmnHdFddPtUlMrk (cellCb)
-RgSchCellCb *cellCb;
-#endif /* ANSI */
+Void rgSCHCmnHdFddPtUlMrk(RgSchCellCb *cellCb)
{
- uint16_t sfn; /* System Frame Number */
- uint32_t pti; /* Index into Periodic table */
- uint16_t sfi; /* Index into HDFDD state table */
- CmLListCp *cqiLst;
- CmLListCp *srsLst;
- CmLListCp *srLst;
- CmLListCp *riLst;
- CmLList *cqiNode;
- CmLList *srsNode;
- CmLList *srNode;
- CmLList *riNode;
- CmLteTimingInfo timeInfo;
- RgSchUePCqiCb *cqiCb = NULLP;
- RgSchUePCqiCb *riCb = NULLP;
+ uint16_t sfn; /* System Frame Number */
+ uint32_t pti; /* Index into Periodic table */
+ uint16_t sfi; /* Index into HDFDD state table */
+ CmLListCp *cqiLst;
+ CmLListCp *srsLst;
+ CmLListCp *srLst;
+ CmLListCp *riLst;
+ CmLList *cqiNode;
+ CmLList *srsNode;
+ CmLList *srNode;
+ CmLList *riNode;
+ CmLteTimingInfo timeInfo;
+ RgSchUePCqiCb *cqiCb = NULLP;
+ RgSchUePCqiCb *riCb = NULLP;
timeInfo = cellCb->crntTime;
* @return None
*
*/
-#ifdef ANSI
-Void rgSCHCmnHdFddChkUlAllow
-(
- RgSchCellCb *cellCb,
- RgSchUeCb *ueCb,
- uint8_t *allow
-)
-#else /* ANSI */
-Void rgSCHCmnHdFddChkUlAllow ( cellCb, ueCb, allow)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-uint8_t *allow;
-#endif /* ANSI */
+Void rgSCHCmnHdFddChkUlAllow(RgSchCellCb *cellCb,RgSchUeCb *ueCb,uint8_t *allow)
{
- uint16_t sfn;
- uint16_t sfi;
+ uint16_t sfn;
+ uint16_t sfi;
CmLteTimingInfo timeInfo;
RgSchDlSf *sf = NULLP; /* Dl subframe info */
- uint8_t ulOffset
+ uint8_t ulOffset
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- " rgSCHCmnHdFddChkUlAllow: ueId=%d ", ueCb->ueId);
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddChkUlAllow: ueId=%d ", ueCb->ueId);
*allow = FALSE;
/* Common channel scheduled */
/* Mark the BCCH/PCCH occasion */
RG_SCH_HDFDD_MARKSTATE(ueCb, RG_SCH_HDFDD_DLDATA, sfn, sfi);
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkUlAllow: Already marked for Cmn DL, ueId = %d ",
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddChkUlAllow: Already marked for Cmn DL, ueId = %d ",
ueCb->ueId);
}
if ((ueCb->hdFddCb->subfrm[sfi].sfn == sfn) &&
{
/* Downlink scheduled */
*allow = FALSE;
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkUlAllow: Already marked for DL, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkUlAllow: Already marked for DL, ueId = %d ",
ueCb->ueId);
return;
}
{
/* No place for HARQ feedback */
*allow = FALSE;
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkUlAllow: No Place for HARQ, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkUlAllow: No Place for HARQ, ueId = %d ",
ueCb->ueId);
return;
ueCb->hdFddCb->subfrm[sfi].subFrmDir == RG_SCH_HDFDD_UL)
{
*allow = FALSE;
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- " rgSCHCmnHdFddChkUlAllow: No Place for UL grant, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkUlAllow: No Place for UL grant, ueId = %d ",
ueCb->ueId);
return;
{
/* This subframe may be a switching gaurd time */
*allow = FALSE;
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- " rgSCHCmnHdFddChkUlAllow: No Place for Guard time, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkUlAllow: No Place for Guard time, ueId = %d ",
ueCb->ueId);
return;
/* Mark the BCCH/PCCH occasion */
RG_SCH_HDFDD_MARKSTATE(ueCb, RG_SCH_HDFDD_DLDATA, timeInfo.sfn, sfi);
*allow = FALSE;
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkUlAllow: Already marked for Cmn DL, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkUlAllow: Already marked for Cmn DL, ueId = %d ",
ueCb->ueId);
return;
* Valdity of this pointer is not done in this function
*
*/
-#ifdef ANSI
Void rgSCHCmnHdFddChkDlAllow
(
RgSchCellCb *cellCb,
RgSchUeCb *ueCb,
Bool *allow /* Valdity of this pointer is not done in this function */
)
-#else /* ANSI */
-Void rgSCHCmnHdFddChkDlAllow ( cellCb, ueCb, allow)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-Bool *allow; /* Valdity of this pointer is not done in this function */
-#endif /* ANSI */
{
uint16_t sfn;
uint16_t sfi;
timeInfo = cellCb->crntTime;
RGSCH_INCR_SUB_FRAME(timeInfo, RG_SCH_CMN_DL_DELTA);
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddDlSchAll (): ueId=%d ", ueCb->ueId);
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddDlSchAll (): ueId=%d ", ueCb->ueId);
/* Also get subframe pointer to fetch Common Ch allocation */
sf = rgSCHUtlSubFrmGet(cellCb, timeInfo);
(ueCb->hdFddCb->subfrm[sfi].subFrmDir == RG_SCH_HDFDD_UL))
{
/* Uplink scheduled */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkDlAllow: sf is UL, ueId=%d ", ueCb->ueId);
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkDlAllow: sf is UL, ueId=%d ", ueCb->ueId);
*allow = FALSE;
return;
}
(ueCb->hdFddCb->subfrm[sfi].subFrmDir == RG_SCH_HDFDD_UL))
{
/* This subframe may be a switching guard time */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- " rgSCHCmnHdFddChkDlAllow: Guard time rule not met, ueId=%d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkDlAllow: Guard time rule not met, ueId=%d ",
ueCb->ueId);
*allow = FALSE;
return;
/* Common channel scheduled */
/* Do the marking for this subframe */
RG_SCH_HDFDD_MARKSTATE(ueCb, RG_SCH_HDFDD_DLDATA, tempTimeInfo.sfn, sfi);
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkDlAllow: Possible systemInfo, ueId=%d ",
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddChkDlAllow: Possible systemInfo, ueId=%d ",
ueCb->ueId);
}
ueCb->hdFddCb->subfrm[sfi].subFrmDir != RG_SCH_HDFDD_UL)
{
/* No place for HARQ feedback */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkDlAllow: No place for HARQ feedback, ueId=%d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkDlAllow: No place for HARQ feedback, ueId=%d ",
ueCb->ueId);
*allow = FALSE;
/* Common channel scheduled */
/* Do the marking for this subframe */
RG_SCH_HDFDD_MARKSTATE(ueCb, RG_SCH_HDFDD_DLDATA, tempTimeInfo.sfn, sfi);
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkDlAllow: (GT) Possible systemInfo, ueId=%d ",
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddChkDlAllow: (GT) Possible systemInfo, ueId=%d ",
ueCb->ueId);
}
ueCb->hdFddCb->subfrm[sfi].subFrmDir == RG_SCH_HDFDD_DLDATA)
{
/* No place for HARQ feedback */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkDlAllow: (GT) No place for HARQ feedback,"
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkDlAllow: (GT) No place for HARQ feedback,"
"ueId=%d ",ueCb->ueId);
*allow = FALSE;
*
*/
-#ifdef ANSI
-Void rgSCHCmnHdFddChkNackAllow
-(
-RgSchCellCb *cellCb,
-RgSchUeCb *ueCb,
-CmLteTimingInfo timeInfo,
-Bool *sndNACK
-)
-#else /* ANSI */
-Void rgSCHCmnHdFddChkNackAllow(cellCb, ueCb, timeInfo, sndNACK)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-CmLteTimingInfo timeInfo;
-Bool *sndNACK;
-#endif /* ANSI */
+Void rgSCHCmnHdFddChkNackAllow(RgSchCellCb *cellCb,RgSchUeCb *ueCb,CmLteTimingInfo timeInfo,Bool *sndNACK)
{
RgSchDlSf *sf;
CmLteTimingInfo tempTimeInfo;
if(RG_SCH_HDFDD_ISCMN_SCHED(sf))
{
/* Yes, Cannot send NACK */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkNackAllow: Cannot send NACK, ueId = %d ",
+ DU_LOG("\nERROR --> SCH : rgSCHCmnHdFddChkNackAllow: Cannot send NACK, ueId = %d ",
ueCb->ueId);
*sndNACK = FALSE;
}
else
{
/* safe, Send NACK */
- RLOG_ARG1(L_DEBUG,DBG_CELLID,cellCb->cellId,
- "rgSCHCmnHdFddChkNackAllow: NACk can be sent, ueId = %d ",
+ DU_LOG("\nDEBUG --> SCH : rgSCHCmnHdFddChkNackAllow: NACk can be sent, ueId = %d ",
ueCb->ueId);
*sndNACK = TRUE;
}
*
* @return None
*/
-#ifdef ANSI
-Void rgSCHCmnHdFddUpdULMark
-(
-RgSchCellCb *cellCb,
-RgSchUeCb *ueCb
-)
-#else /* ANSI */
-Void rgSCHCmnHdFddUpdULMark ( cellCb, ueCb)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-#endif /* ANSI */
+Void rgSCHCmnHdFddUpdULMark(RgSchCellCb *cellCb,RgSchUeCb *ueCb)
{
uint16_t sfn;
* @return None
*/
-#ifdef ANSI
-Void rgSCHCmnHdFddUpdDLMark
-(
-RgSchCellCb *cellCb,
-RgSchUeCb *ueCb
-)
-#else /* ANSI */
-Void rgSCHCmnHdFddUpdDLMark (cellCb, ueCb)
-RgSchCellCb *cellCb;
-RgSchUeCb *ueCb;
-#endif /* ANSI */
+Void rgSCHCmnHdFddUpdDLMark(RgSchCellCb *cellCb,RgSchUeCb *ueCb)
{
uint16_t sfn;
* @return None
*/
-#ifdef ANSI
-Void rgSCHHdFddGetSfn
-(
- uint16_t *sfn,
- CmLteTimingInfo timeInfo,
- S16 offset
-)
-#else /* ANSI */
-Void rgSCHHdFddGetSfn (sfn, timeInfo, offset)
- uint16_t *sfn;
- CmLteTimingInfo timeInfo;
- S16 offset;
-#endif /* ANSI */
+Void rgSCHHdFddGetSfn(uint16_t *sfn,CmLteTimingInfo timeInfo,S16 offset)
{
uint16_t tempSfn;
S16 tempSfCount;