X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrmac%2Frg_tom.c;h=0bd91d4d55ab0a293e679d7c81ed1fbddb47e740;hb=def50dc175cebc67238db5f1acd5ff322a2279bd;hp=d00219147fc020a7834a7eefb4fa4710fe6cda4b;hpb=451e626d5ac7c7e7586bab23358161230449af46;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_tom.c b/src/5gnrmac/rg_tom.c index d00219147..0bd91d4d5 100755 --- a/src/5gnrmac/rg_tom.c +++ b/src/5gnrmac/rg_tom.c @@ -36,17 +36,7 @@ static int RLOG_MODULE_ID=4096; 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 */ @@ -55,29 +45,17 @@ invoked by PHY towards 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" @@ -88,7 +66,7 @@ invoked by PHY towards MAC PRIVATE S16 rgTOMUtlProcDlSf ARGS(( RgDlSf *dlSf, RgCellCb *cellCb, RgErrInfo *err)); #else -PUBLIC S16 rgTOMUtlProcDlSf ARGS((RgDlSf *dlSf, RgCellCb *cellCb, +S16 rgTOMUtlProcDlSf ARGS((RgDlSf *dlSf, RgCellCb *cellCb, RgErrInfo *err)); #endif PRIVATE S16 rgTOMProcCrntiCEInDatInd ARGS(( @@ -97,7 +75,7 @@ RgUeCb *prevUeCb, RgCellCb *cellCb, TfuDatInfo *datInfo, RgInfCeInfo *ceInfo, -U8 subframe +uint16_t slot )); PRIVATE S16 rgTOMProcCCCHSduInDatInd ARGS(( @@ -106,10 +84,10 @@ RgUeCb *prevUeCb, RgCellCb *cellCb, TfuDatInfo *datInfo, RgInfCeInfo *ceInfo, -U8 subframe +uint16_t slot )); -PUBLIC S16 rgHndlFlowCntrl +S16 rgHndlFlowCntrl ( RgCellCb *cell, RgInfSfAlloc *sfInfo @@ -148,7 +126,7 @@ PRIVATE S16 rgTomUtlPrepareL2MUlThrpInfo ARGS TB, which is not guaranteed if higher Range values are used */ /* Note: taking value 10 for BSR index 1 */ #ifndef MAC_5GTF_UPDATE -PRIVATE U32 rgLwrBsrTbl[64] = { +PRIVATE uint32_t rgLwrBsrTbl[64] = { 0, 10, 10, 12, 14, 17, 19, 22, 26, 31, 36, 42, 49, 57, 67, 78, 91, 107, 125, 146, 171, 200, 234, 274, 321, @@ -160,7 +138,7 @@ PRIVATE U32 rgLwrBsrTbl[64] = { }; #else -PRIVATE U32 rgLwrBsrTbl[64] = { +PRIVATE uint32_t rgLwrBsrTbl[64] = { 0,10,13,16,19,23,29,35,43,53,65,80,98,120,147,181,223,274,337,414, 509,625,769,945,1162,1429,1757,2161,2657,3267,4017,4940,6074,7469, 9185,11294,13888,17077,20999,25822,31752,39045,48012,59039,72598, @@ -178,9 +156,9 @@ PRIVATE U32 rgLwrBsrTbl[64] = { } /* global variables */ -PUBLIC U32 rgUlrate_tfu; +uint32_t rgUlrate_tfu; #ifdef EMTC_ENABLE -EXTERN U32 grgUlrate_tfu; +EXTERN uint32_t grgUlrate_tfu; #endif /** @brief This function fills the PDSCH data of a downlink subframe @@ -223,10 +201,9 @@ PRIVATE S16 rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err) TfuDatReqPduInfo *datReq=NULLP; /* Moving node declaration to limited scope for optimization */ RgDlHqProcCb *hqCb; - U8 idx; + uint8_t idx; Inst inst = cellCb->macInst - RG_INST_START; - TRC2(rgTOMUtlFillDatReqPdus) /* first lets send the BCCH data down to PHY */ if (dlSf->bcch.tb != NULLP) @@ -236,7 +213,7 @@ PRIVATE S16 rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err) { err->errCause = RGERR_TOM_MEM_EXHAUST; RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion "); - RETVALUE(ret); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ @@ -282,7 +259,7 @@ PRIVATE S16 rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err) { err->errCause = RGERR_TOM_MEM_EXHAUST; RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion CRNTI:%d",datReq->rnti); - RETVALUE(ret); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ @@ -322,7 +299,7 @@ PRIVATE S16 rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err) err->errCause = RGERR_TOM_MEM_EXHAUST; RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"Memory Exhaustion CRNTI:%d", datReq->rnti); - RETVALUE(ret); + return (ret); } #ifdef TFU_ALLOC_EVENT_NO_INIT #ifndef L2_OPTMZ @@ -373,7 +350,7 @@ PRIVATE S16 rgTOMUtlFillDatReqPdus(datInfo, dlSf, cellCb, err) } /* end of while */ } - RETVALUE(ROK); + return ROK; } /* end of rgTOMUtlFillDatReqPdus*/ /** @brief This function does all the processing related to a single downlink @@ -409,14 +386,14 @@ PRIVATE S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) #endif #else #ifdef ANSI -PUBLIC S16 rgTOMUtlProcDlSf +S16 rgTOMUtlProcDlSf ( RgDlSf *dlSf, RgCellCb *cellCb, RgErrInfo *err ) #else -PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) +S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) RgDlSf *dlSf; RgCellCb *cellCb; RgErrInfo *err; @@ -427,14 +404,13 @@ PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) TfuDatReqInfo *datInfo; Inst inst = cellCb->macInst - RG_INST_START; - TRC2(rgTOMUtlProcDlSf); /* Fill Data Request Info from scheduler to PHY */ if ((ret = rgAllocEventMem(inst,(Ptr *)&datInfo, sizeof(TfuDatReqInfo))) != ROK) { RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to Allocate TfuDatReqInfo"); - RETVALUE(ret); + return (ret); } else { @@ -445,9 +421,9 @@ PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) 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; @@ -465,7 +441,7 @@ PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) if ((ret = rgTOMEmtcUtlFillDatReqPdus(datInfo, dlSf, cellCb, err)) != ROK) { RG_FREE_MEM(datInfo); - RETVALUE(ret); + return (ret); } #endif /* Fill the DLSCH PDUs of BCCH, PCCH and Dedicated Channels */ @@ -473,7 +449,7 @@ PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) { RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId,"Unable to send data for cell"); RG_FREE_MEM(datInfo); - RETVALUE(ret); + return (ret); } if((datInfo->pdus.count) || (datInfo->bchDat.pres == TRUE)) { @@ -489,228 +465,10 @@ PUBLIC S16 rgTOMUtlProcDlSf (dlSf, cellCb, err) RG_FREE_MEM(datInfo); } } - RETVALUE(ROK); + return ROK; } /* end of */ -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 */ +uint32_t rgMacGT; /** @brief This function allocates the RgMacPdu that will be populated by DEMUX * with the SubHeaders list and the values of the Control elements. @@ -742,9 +500,8 @@ Inst inst; Mem evntMem; RgUstaDgn dgn; /* Alarm diagnostics structure */ - VOLATILE U32 startTime=0; + VOLATILE uint32_t startTime=0; - TRC2(rgTOMUtlAllocPduEvnt); evntMem.region = rgCb[inst].rgInit.region; evntMem.pool = rgCb[inst].rgInit.pool; @@ -762,13 +519,13 @@ Inst inst; rgLMMStaInd(inst,LCM_CATEGORY_RESOURCE, LCM_EVENT_DMEM_ALLOC_FAIL, LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); RLOG0(L_ERROR,"Allocation of DUX event failed"); - RETVALUE(RFAILED); + return RFAILED; } /*stoping Task*/ SStopTask(startTime, PID_TOMUTL_CMALLCEVT); - RETVALUE(ROK); + return ROK; } /* end of */ /** @brief This function frees up the RgMacPdu structure that has been @@ -802,7 +559,6 @@ PRIVATE Void rgTOMUtlFreePduEvnt (pdu, error) RgMacSdu *sdu; CmLList *node; - TRC2(rgTOMUtlFreePduEvnt); /* Steps of freeing up the PDU. * 1. loop through the subHdrLst and free up all the buffers. * 2. free up the whole event @@ -818,7 +574,7 @@ PRIVATE Void rgTOMUtlFreePduEvnt (pdu, error) } } RG_FREE_MEM(pdu); - RETVOID; + return; } /* end of rgTOMUtlFreePduEvnt */ /** @brief This function allocates the RgMacPdu that will be populated by DEMUX @@ -851,9 +607,8 @@ RgInfSfDatInd **sfInfo; Mem evntMem; RgUstaDgn dgn; /* Alarm diagnostics structure */ - VOLATILE U32 startTime=0; + VOLATILE uint32_t startTime=0; - TRC2(rgTOMInfAllocPduEvnt); evntMem.region = rgCb[inst].rgInit.region; evntMem.pool = rgCb[inst].rgInit.pool; @@ -870,13 +625,13 @@ RgInfSfDatInd **sfInfo; rgLMMStaInd(inst,LCM_CATEGORY_RESOURCE, LCM_EVENT_DMEM_ALLOC_FAIL, LCM_CAUSE_MEM_ALLOC_FAIL, &dgn); RLOG0(L_ERROR,"Allocation failed"); - RETVALUE(RFAILED); + return RFAILED; } /*stoping Task*/ SStopTask(startTime, PID_TOMINF_CMALLCEVT); - RETVALUE(ROK); + return ROK; } /* end of */ /** @brief This function frees up the RgMacPdu structure that has been @@ -903,10 +658,9 @@ PRIVATE Void rgTOMInfFreePduEvnt (sfInfo) RgInfSfDatInd *sfInfo; #endif { - TRC2(rgTOMInfFreePduEvnt); RG_FREE_MEM(sfInfo); - RETVOID; + return; } /* end of rgTOMUtlFreePduEvnt */ #ifdef LTE_L2_MEAS @@ -941,10 +695,9 @@ PRIVATE S16 rgTomUtlPrepareL2MUlThrpInfo(cellCb,ueCb,dDatInd) RgRguDedDatInd *dDatInd; #endif { - U8 lcId; - U8 lcgId; - U8 loop; - TRC2(rgTomUtlPrepareL2MUlThrpInfo); + uint8_t lcId; + uint8_t lcgId; + uint8_t loop; dDatInd->burstInd = RGU_L2M_UL_BURST_END; for(loop=0;loopnumLch;loop++) @@ -961,8 +714,8 @@ PRIVATE S16 rgTomUtlPrepareL2MUlThrpInfo(cellCb,ueCb,dDatInd) } } - RETVALUE(ROK); -} /* rgTOMTtiInd */ + return ROK; +} #endif @@ -987,7 +740,7 @@ PRIVATE S16 rgTomUtlPrepareL2MUlThrpInfo(cellCb,ueCb,dDatInd) * @param [in] RgUeCb *ueCb * @param [in] CmLteRnti rnti * @param [in] RgMacPdu *pdu - * @param [out] U32 *lcgBytes + * @param [out] uint32_t *lcgBytes * * @return S16 * -# ROK @@ -1005,20 +758,20 @@ PRIVATE S16 rgTOMUtlProcMsg RgMacPdu *pdu, Bool isSpsRnti, Bool *spsToBeActvtd, - U16 *sduSize, - U8 subframe, - U32 *lcgBytes + uint16_t *sduSize, + uint16_t slot, + uint32_t *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; - U32 *lcgBytes; + uint16_t *sduSize; + uint16_t slot; + uint32_t *lcgBytes; #endif #else /* LTEMAC_SPS */ #ifdef ANSI @@ -1027,16 +780,16 @@ PRIVATE S16 rgTOMUtlProcMsg RgCellCb *cellCb, RgUeCb *ueCb, RgMacPdu *pdu, - U8 subframe, - U32 *lcgBytes + uint16_t slot, + uint32_t *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; - U32 *lcgByes; + uint16_t slot; + uint32_t *lcgByes; #endif #endif { @@ -1054,17 +807,17 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) #endif #ifdef LTE_L2_MEAS - U8 idx1; - U8 idx2; - RgUlSf *ulSf; - U16 totalBytesRcvd = 0; - U16 sduLen[RGU_MAX_LC] = {0}; - U8 qciVal[RGU_MAX_LC] = {0}; - U8 numPrb = 0; + uint8_t idx1; + uint8_t idx2; + RgUlSf *ulSf; + uint16_t totalBytesRcvd = 0; + uint16_t sduLen[RGU_MAX_LC] = {0}; + uint8_t qciVal[RGU_MAX_LC] = {0}; + uint8_t numPrb = 0; #endif - U8 lcgId; - MsgLen bufSz; + uint8_t lcgId; + MsgLen bufSz; /* Moved outside of LTE_L2_MEAS * scope as this pointer will now be used to @@ -1085,10 +838,9 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) ulLcCb = NULLP; - TRC2(rgTOMUtlProcMsg) #ifndef LTE_L2_MEAS - UNUSED(subframe); + UNUSED(slot); #endif if(pdu->sduLst.first) @@ -1100,7 +852,7 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) /* code for common channel dat indications */ if ((ret = rgAllocShrablSBuf (inst,(Data**)&cDatInd, sizeof(RgRguCmnDatInd))) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } cDatInd->cellId = cellCb->cellId; cDatInd->rnti = ueCb->ueId; @@ -1118,33 +870,33 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) &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); - RETVALUE(ROK); + return ROK; } /* end of common channel processing */ #ifndef SS_RBUF if ((ret = rgAllocShrablSBuf (inst,(Data**)&dDatInd, sizeof(RgRguDedDatInd))) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } #else glblueCb5 = ueCb; elem = SRngGetWIndx(SS_RNG_BUF_ULMAC_TO_ULRLC); if (NULLP == elem) { - RETVALUE(RFAILED); + return RFAILED; } dDatInd = (RgRguDedDatInd *)elem; - cmMemset((U8 *)dDatInd, 0x00, sizeof(RgRguDedDatInd)); + memset(dDatInd, 0x00, sizeof(RgRguDedDatInd)); #endif dDatInd->cellId = cellCb->cellId; dDatInd->rnti = ueCb->ueId; 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++) @@ -1176,10 +928,10 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) } #ifdef RLC_STA_PROC_IN_MAC/* RLC Status PDU Processing */ { - extern S16 kwProcDlStatusPdu(Pst *udxPst,SuId suId, + extern S16 rlcProcDlStatusPdu(Pst *udxPst,SuId suId, CmLteCellId cellId,CmLteRnti rnti,CmLteLcId lcId,Buffer *rlcSdu); - if(ROK == kwProcDlStatusPdu(&(cellCb->rguDlSap->sapCfg.sapPst), + if(ROK == rlcProcDlStatusPdu(&(cellCb->rguDlSap->sapCfg.sapPst), cellCb->rguDlSap->sapCfg.suId, cellCb->cellId,ueCb->ueId,sdu->lcId,sdu->mBuf)) { @@ -1200,21 +952,21 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); - RETVALUE(ret); + return (ret); } #ifndef SS_RBUF if ((ret = rgAllocShrablSBuf (inst,(Data**)&dDatInd, sizeof(RgRguDedDatInd))) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } #else elem = SRngGetWIndx(SS_RNG_BUF_ULMAC_TO_ULRLC); if (NULLP == elem) { - RETVALUE(RFAILED); + return RFAILED; } dDatInd = (RgRguDedDatInd *)elem; - cmMemset((U8 *)dDatInd, 0x00, sizeof(RgRguDedDatInd)); + memset(dDatInd, 0x00, sizeof(RgRguDedDatInd)); #endif dDatInd->cellId = cellCb->cellId; dDatInd->rnti = ueCb->ueId; @@ -1307,7 +1059,7 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) { ueCb->ul.explRelCntr = 0; /* Indicate scheduler for explicit release */ - cmMemset((U8*)&schPst1, (U8)0, sizeof(Pst)); + memset(&schPst1, 0, sizeof(Pst)); rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); //TODO: commented for compilation without SCH #if 0 @@ -1345,7 +1097,7 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "Failed to send datIndication to RGU CRNTI:%d",ueCb->ueId); - RETVALUE(ret); + return (ret); } } #ifndef SS_RBUF @@ -1356,7 +1108,7 @@ PRIVATE S16 rgTOMUtlProcMsg(cellCb, ueCb, pdu, subframe, lcgBytes) rgFreeSharableSBuf(inst,(Data **)&dDatInd,sizeof(RgRguDedDatInd)); } #endif - RETVALUE(ROK); + return ROK; } /* end of */ /** @brief This function frees up the RgMacPdu structure that has been @@ -1379,21 +1131,21 @@ PRIVATE S16 rgTOMUtlInsSchInfo ( RgMacPdu *pdu, RgInfSfDatInd *sfInfo, -RgInfCeInfo *ceInfo, -CmLteRnti rnti, -Bool spsToBeActvtd, -U16 sduSize, -U32 *lcgBytes +RgInfCeInfo *ceInfo, +CmLteRnti rnti, +Bool spsToBeActvtd, +uint16_t sduSize, +uint32_t *lcgBytes ) #else PRIVATE S16 rgTOMUtlInsSchInfo (pdu, sfInfo, ceInfo, rnti,spsToBeActvtd,sduSize, lcgBytes) RgMacPdu *pdu; -RgInfSfDatInd *sfInfo; -RgInfCeInfo *ceInfo; -CmLteRnti rnti; -Bool spsToBeActvtd; -U16 sduSize; -U32 *lcgBytes; +RgInfSfDatInd *sfInfo; +RgInfCeInfo *ceInfo; +CmLteRnti rnti; +Bool spsToBeActvtd; +uint16_t sduSize; +uint32_t *lcgBytes; #endif #else @@ -1404,7 +1156,7 @@ RgMacPdu *pdu, RgInfSfDatInd *sfInfo, RgInfCeInfo *ceInfo, CmLteRnti rnti, -U32 *lcgBytes +uint32_t *lcgBytes ) #else PRIVATE S16 rgTOMUtlInsSchInfo (pdu, sfInfo, ceInfo, rnti, lcgBytes) @@ -1412,22 +1164,21 @@ RgMacPdu *pdu; RgInfSfDatInd *sfInfo; RgInfCeInfo *ceInfo; CmLteRnti rnti; -U32 *lcgBytes; +uint32_t *lcgBytes; #endif #endif { S16 ret; RgInfUeDatInd *ueInfo; - U32 lcgId = 0; - U32 idx = 0; + uint32_t lcgId = 0; + uint32_t idx = 0; - TRC2(rgTOMUtlInsSchInfo); RG_TOM_INF_ALLOC(sfInfo, sizeof(RgInfUeDatInd), ueInfo, ret); if(ROK != ret) { - RETVALUE(RFAILED); + return RFAILED; } ueInfo->rnti = rnti; @@ -1445,7 +1196,7 @@ U32 *lcgBytes; } } cmLListAdd2Tail(&sfInfo->ueLst, &ueInfo->ueLstEnt); - RETVALUE(ROK); + return ROK; } /* end of rgTOMUtlInsSchInfo */ #include @@ -1488,13 +1239,13 @@ U32 *lcgBytes; * -# RFAILED **/ #ifdef ANSI -PUBLIC S16 rgTOMDatInd +S16 rgTOMDatInd ( Inst inst, TfuDatIndInfo *datInd ) #else -PUBLIC S16 rgTOMDatInd(inst,datInd) +S16 rgTOMDatInd(inst,datInd) Inst inst; TfuDatIndInfo *datInd; #endif @@ -1511,18 +1262,17 @@ Inst inst; CmLList *node; TfuDatInfo *datInfo; RgLowSapCb *tfuSap; - U8 subframe; + uint16_t slot; #ifdef LTEMAC_SPS Bool isSpsRnti=FALSE; Pst schPst1; - RgInfSpsRelInfo relInfo; + // RgInfSpsRelInfo relInfo; Bool spsToBeActvtd = FALSE; - U16 sduSize = 0; + uint16_t sduSize = 0; #endif - U32 lcgBytes[RGINF_MAX_LCG_PER_UE]; + uint32_t lcgBytes[RGINF_MAX_LCG_PER_UE]; - TRC2(rgTOMDatInd); #ifdef STUB_TTI_HANDLING_5GTF node = datInd->datIndLst.first; for (;node; node=node->next) @@ -1542,7 +1292,7 @@ Inst inst; return(RFAILED); #endif - cmMemset((U8 *)&lcgBytes, 0, sizeof(lcgBytes)); + memset(&lcgBytes, 0, sizeof(lcgBytes)); tfuSap = &(rgCb[inst].tfuSap); ueCb = NULLP; @@ -1552,7 +1302,7 @@ Inst inst; { RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to get the cellCb for cell"); - RETVALUE(RFAILED); + return RFAILED; } /* Avoiding memset as all the fields are getting initialized further */ @@ -1561,19 +1311,19 @@ Inst inst; err.errType = RGERR_TOM_DATIND; RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to Allocate PDU for DUX cell"); node = datInd->datIndLst.first; - RETVALUE(RFAILED); + return RFAILED; } 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) { datInfo = (TfuDatInfo*)node->node; { - //extern U32 ulrate_tfu; + //extern uint32_t ulrate_tfu; MsgLen len; SFndLenMsg(datInfo->mBuf, &len); #ifdef STUB_TTI_HANDLING_5GTF @@ -1599,7 +1349,7 @@ Inst inst; err.errType = RGERR_TOM_DATIND; RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"Unable to Allocate PDU for DUX cell"); rgTOMInfFreePduEvnt (sfInfo); - RETVALUE(RFAILED); + return RFAILED; } if ((ret = rgDUXDemuxData (inst,pdu, &ceInfo, @@ -1622,7 +1372,7 @@ Inst inst; 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); @@ -1635,7 +1385,7 @@ Inst inst; 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); @@ -1663,15 +1413,17 @@ Inst inst; if (ueCb->ul.implRelCntr == ueCb->ul.implRelCnt) { /* Indicate scheduler for implicit release */ - cmMemset((U8*)&schPst1, (U8)0, sizeof(Pst)); + memset(&schPst1, 0, sizeof(Pst)); rgGetPstToInst(&schPst1,inst, cellCb->schInstMap.schInst); 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 @@ -1697,9 +1449,9 @@ Inst inst; 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, (uint32_t *)&lcgBytes)) != ROK) #else - if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, subframe, (U32 *)&lcgBytes)) != ROK) + if ((ret = rgTOMUtlProcMsg (cellCb, ueCb, pdu, slot, (uint32_t *)&lcgBytes)) != ROK) #endif /* LTEMAC_SPS */ { rgTOMUtlFreePduEvnt (pdu, TRUE); @@ -1713,44 +1465,44 @@ Inst inst; #ifdef LTEMAC_SPS - if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti,spsToBeActvtd,sduSize, (U32 *)&lcgBytes) != ROK) + if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti,spsToBeActvtd,sduSize, (uint32_t *)&lcgBytes) != ROK) #else - if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti, (U32 *)&lcgBytes) != ROK) + if(rgTOMUtlInsSchInfo(pdu, sfInfo, &ceInfo, datInfo->rnti, (uint32_t *)&lcgBytes) != ROK) #endif { rgTOMInfFreePduEvnt (sfInfo); rgTOMUtlFreePduEvnt (pdu, FALSE); - RETVALUE(RFAILED); + return RFAILED; } /* free up the PDU memory */ rgTOMUtlFreePduEvnt (pdu, FALSE); } /* 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 */ /* Update PRB used for all GBR QCIs to scheduler */ - cmMemcpy((U8*) &sfInfo->qcisUlPrbCnt[0], - (U8*) &cellCb->qcisUlPrbCnt[0], - (RGM_MAX_QCI_REPORTS * sizeof(U32))); + memcpy( &sfInfo->qcisUlPrbCnt[0], + &cellCb->qcisUlPrbCnt[0], + (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); /* clear the cellCb ul prb value */ - cmMemset((U8*)&cellCb->qcisUlPrbCnt[0], 0, - (RGM_MAX_QCI_REPORTS * sizeof(U32))); + memset(&cellCb->qcisUlPrbCnt[0], 0, + (RGM_MAX_QCI_REPORTS * sizeof(uint32_t))); /* RRM_RBC_Y */ rgGetPstToInst(&schPst, inst,cellCb->schInstMap.schInst); sfInfo->cellSapId = cellCb->schInstMap.cellSapId; //TODO: commented for compilation without SCH RgMacSchSfRecp(&schPst, sfInfo); - RETVALUE(ROK); + return ROK; } /* rgTOMDatInd */ /** @@ -1809,9 +1561,8 @@ RgErrInfo *err; RgDlSf *dlSf; Inst inst = cell->macInst - RG_INST_START; - 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) { @@ -1819,30 +1570,30 @@ RgErrInfo *err; #if (ERRCLASS & ERRCLS_DEBUG) if(NULLP == (bch = rgDBMGetBcchOnBch(cell))) { - RETVALUE(RFAILED); + return RFAILED; } if(cmnLcInfo->bchInfo.lcId != bch->lcId) { - RETVALUE(RFAILED); + return RFAILED; } #endif if (rgAllocShrablSBuf (inst,(Data**)&staInd, sizeof(RguCStaIndInfo)) != ROK) { err->errCause = RGERR_TOM_MEM_EXHAUST; - RETVALUE(RFAILED); + return RFAILED; } 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++; #endif if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } #else /*Store the received BCH Data in the scheduled subframe*/ @@ -1855,11 +1606,11 @@ RgErrInfo *err; #if (ERRCLASS & ERRCLS_DEBUG) if(NULLP == (pcch = rgDBMGetPcch(cell))) { - RETVALUE(RFAILED); + return RFAILED; } if(cmnLcInfo->pcchInfo.lcId != pcch->lcId) { - RETVALUE(RFAILED); + return RFAILED; } #endif @@ -1874,12 +1625,12 @@ RgErrInfo *err; if (rgAllocShrablSBuf (inst,(Data**)&staInd, sizeof(RguCStaIndInfo)) != ROK) { err->errCause = RGERR_TOM_MEM_EXHAUST; - RETVALUE(RFAILED); + return RFAILED; } 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++; @@ -1889,7 +1640,7 @@ RgErrInfo *err; */ if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } } @@ -1907,7 +1658,7 @@ RgErrInfo *err; if(NULLP == (bcch=rgDBMGetBcchOnDlsch(cell,cmnLcInfo->bcchInfo.lcId))) { - RETVALUE(RFAILED); + return RFAILED; } if(TRUE == cmnLcInfo->bcchInfo.sndStatInd) { @@ -1916,19 +1667,19 @@ RgErrInfo *err; sizeof(RguCStaIndInfo)) != ROK) { err->errCause = RGERR_TOM_MEM_EXHAUST; - RETVALUE(RFAILED); + return RFAILED; } 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++; #endif if (rgUIMSndCmnStaInd (inst,cell->rguDlSap,staInd) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } } else @@ -1942,7 +1693,7 @@ RgErrInfo *err; #endif/*RGR_SI_SCH*/ } - RETVALUE(ROK); + return ROK; } /* end of rgHndlCmnChnl */ /** @@ -1989,16 +1740,15 @@ RgErrInfo *err; #endif { - TRC2(rgHndlSchdUe); if(NULLP == ueInfo->allocInfo) { - RETVALUE(RFAILED); + return RFAILED; } rgDHMSndConsolidatedStaInd(cell, ueInfo, timingInfo, err); - RETVALUE(ROK); + return ROK; } /* end of rgHndlSchdUe */ #ifdef LTE_L2_MEAS @@ -2032,13 +1782,12 @@ RgInfUlUeInfo *ueInfo; #endif { Inst inst = cell->macInst - RG_INST_START; - U8 idx; + uint8_t idx; RgUlSf *ulSf; S16 ret; - 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) @@ -2050,22 +1799,22 @@ RgInfUlUeInfo *ueInfo; } } #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); + return (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) { @@ -2076,7 +1825,7 @@ RgInfUlUeInfo *ueInfo; } } RGCPYTIMEINFO(timingInfo, ulSf->schdTime); - RETVALUE(ROK); + return ROK; } /* end of rgHndlUlUeInfo */ #endif /** @@ -2100,20 +1849,19 @@ RgInfUlUeInfo *ueInfo; * -# ROK **/ #ifdef ANSI -PUBLIC Void rgTOMRlsSf +Void rgTOMRlsSf ( Inst inst, RgDlSf *dlSf ) #else -PUBLIC Void rgTOMRlsSf(dlSf) +Void rgTOMRlsSf(dlSf) Inst inst; RgDlSf *dlSf; #endif { - U8 idx; + uint8_t idx; - TRC2(rgTOMRlsSf) if(dlSf->txDone == FALSE) { @@ -2146,29 +1894,29 @@ RgDlSf *dlSf; RLC-MAC */ dlSf->statIndDone = FALSE; #endif - if (dlSf->tbs.count) - { - U8 i; + if (dlSf->tbs.count) + { + uint8_t i; CmLList *node; RgDlHqProcCb *hqP; - RGDBGERRNEW(inst, (rgPBuf(inst), + RGDBGERRNEW(inst, (rgPBuf(inst), "Error Stale TBs in Subframes TBS list\n")); node = dlSf->tbs.first; - while(node) - { - hqP = (RgDlHqProcCb*)node->node; - node = node->next; + while(node) + { + hqP = (RgDlHqProcCb*)node->node; + node = node->next; if (hqP) { 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; } } } @@ -2177,7 +1925,7 @@ RgDlSf *dlSf; cmLListInit(&dlSf->tbs); dlSf->txDone = FALSE; dlSf->numRaRsp = 0; - RETVOID; + return; } /** @@ -2198,22 +1946,21 @@ RgDlSf *dlSf; * -# ROK **/ #ifdef ANSI -PUBLIC S16 rgHndlFlowCntrl +S16 rgHndlFlowCntrl ( RgCellCb *cell, RgInfSfAlloc *sfInfo ) #else -PUBLIC S16 rgHndlFlowCntrl(cell, sfInfo) +S16 rgHndlFlowCntrl(cell, sfInfo) RgCellCb *cell; RgInfSfAlloc *sfInfo; #endif { RguFlowCntrlInd *flowCntrlInd; Pst *pst; - U32 ueIdx; - U32 lcIdx; - TRC3(rgHndlFlowCntrl); + uint32_t ueIdx; + uint32_t lcIdx; pst = &cell->rguDlSap->sapCfg.sapPst; /* flowCntrlInd is alloced in cell init time and will be re-used throughout */ @@ -2238,7 +1985,7 @@ RgInfSfAlloc *sfInfo; } } RgUiRguFlowCntrlInd(pst, cell->rguDlSap->sapCfg.spId,flowCntrlInd); /* TODO: Rishi confirm if the suId and pst pointer is correct */ - RETVALUE(ROK); + return ROK; } /** * @brief Function is called by the scheduler once it has completed the @@ -2267,13 +2014,13 @@ RgInfSfAlloc *sfInfo; * -# ROK **/ #ifdef ANSI -PUBLIC S16 RgSchMacSfAllocReq +S16 RgSchMacSfAllocReq ( Pst *pst, RgInfSfAlloc *sfInfo ) #else -PUBLIC S16 RgSchMacSfAllocReq(pst, sfInfo) +S16 RgSchMacSfAllocReq(pst, sfInfo) Pst *pst; RgInfSfAlloc *sfInfo; #endif @@ -2281,10 +2028,9 @@ RgInfSfAlloc *sfInfo; RgCellCb *cell; RgDlSf *dlSf; RgErrInfo err; - VOLATILE U32 startTime=0; + VOLATILE uint32_t startTime=0; Inst inst; - TRC2(RgSchMacSfAllocReq) RG_IS_INST_VALID(pst->dstInst); inst = pst->dstInst - RG_INST_START; @@ -2293,16 +2039,16 @@ RgInfSfAlloc *sfInfo; if(NULLP == sfInfo) { - RETVALUE(RFAILED); + return RFAILED; } if((cell = rgCb[inst].cell) == NULLP) { RLOG_ARG0(L_ERROR,DBG_CELLID,sfInfo->cellId, "No cellCb found with cell"); - RETVALUE(RFAILED); + return 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; @@ -2325,11 +2071,11 @@ RgInfSfAlloc *sfInfo; #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); @@ -2341,11 +2087,11 @@ RgInfSfAlloc *sfInfo; if(rgHndlUlUeInfo(cell, sfInfo->ulUeInfo.timingInfo, &sfInfo->ulUeInfo) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } #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 */ @@ -2382,7 +2128,7 @@ RgInfSfAlloc *sfInfo; } /*stoping Task*/ SStopTask(startTime, PID_MAC_SF_ALLOC_REQ); - RETVALUE(ROK); + return ROK; } /* end of RgSchMacSfAllocReq */ /** * @brief Handler for processing data indication recieved from PHY for UEs. @@ -2421,16 +2167,16 @@ RgUeCb *prevUeCb, RgCellCb *cellCb, TfuDatInfo *datInfo, RgInfCeInfo *ceInfo, -U8 subframe +uint16_t 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; +uint16_t slot; #endif { RgUeCb *ueCb = NULLP; @@ -2439,13 +2185,12 @@ U8 subframe; #ifdef LTEMAC_SPS Bool spsToBeActvtd; - U16 sduSize; + uint16_t sduSize; #endif - TRC2(rgTOMProcCrntiCEInDatInd) #ifndef LTE_L2_MEAS - UNUSED(subframe); + UNUSED(slot); #endif ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti); @@ -2454,7 +2199,7 @@ U8 subframe; { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); - RETVALUE(RFAILED); + return RFAILED; } prevUeCb = rgDBMGetUeCb (cellCb, ceInfo->ces.cRnti); @@ -2462,7 +2207,7 @@ U8 subframe; { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "RNTI:%d Received MSG3 with CRNTI,unable to find ueCb", ceInfo->ces.cRnti); - RETVALUE(RFAILED); + return RFAILED; } RLOG_ARG2(L_DEBUG,DBG_CELLID,cellCb->cellId, "CRNTI CE(%d) received through tmpCrnti(%d)", @@ -2471,16 +2216,16 @@ U8 subframe; 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, "RNTI:%d Processing for MSG3 failed",datInfo->rnti); - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } /** * @brief Handler for processing data indication recieved from PHY for UEs. @@ -2523,16 +2268,16 @@ RgUeCb *prevUeCb, RgCellCb *cellCb, TfuDatInfo *datInfo, RgInfCeInfo *ceInfo, -U8 subframe +uint16_t 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; +uint16_t slot; #endif { RgUeCb *ueCb = NULLP; @@ -2540,21 +2285,20 @@ U8 subframe; #ifdef LTEMAC_SPS Bool spsToBeActvtd; - U16 sduSize; + uint16_t sduSize; #endif - TRC2(rgTOMProcCCCHSduInDatInd) #ifndef LTE_L2_MEAS - UNUSED(subframe); + UNUSED(slot); #endif if (ceInfo->bitMask & RG_CRNTI_CE_PRSNT) { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "CRNTI:%d Received MSG3 with CCCH",ceInfo->ces.cRnti); - RETVALUE(RFAILED); + return RFAILED; } ueCb = rgDBMGetUeCbFromRachLst (cellCb, datInfo->rnti); @@ -2563,7 +2307,7 @@ U8 subframe; { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId, "RNTI:%d Processing for MSG3 failed", datInfo->rnti); - RETVALUE(RFAILED); + return RFAILED; } /* Fix: syed Drop any duplicate Msg3(CCCH Sdu) */ if (ueCb->dl.hqEnt.numHqProcs) @@ -2571,7 +2315,7 @@ U8 subframe; /* HqE is already initialized by a previuos Msg3 */ RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Processing for MSG3 failed. Duplicate " "MSG3 received. Dropping", datInfo->rnti); - RETVALUE(RFAILED); + return RFAILED; } if(rgDHMHqEntInit(inst,&ueCb->dl.hqEnt, @@ -2579,21 +2323,21 @@ U8 subframe; { RLOG_ARG1(L_ERROR,DBG_CELLID,cellCb->cellId,"RNTI:%d Harq Initialization failed ", datInfo->rnti); - RETVALUE(RFAILED); + return RFAILED; } 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", datInfo->rnti); - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } #ifdef LTE_L2_MEAS @@ -2626,9 +2370,8 @@ PRIVATE S16 rgTOMUtlL2MStoreBufSz (ueCb, ceInfo) RgInfCeInfo *ceInfo; #endif { - U8 lcgId; - U8 bsr; - TRC2(rgTOMUtlL2MStoreBufSz); + uint8_t lcgId; + uint8_t bsr; if(ceInfo->bitMask & RG_TRUNC_BSR_CE_PRSNT) { @@ -2650,7 +2393,7 @@ PRIVATE S16 rgTOMUtlL2MStoreBufSz (ueCb, ceInfo) ueCb->ul.lcgArr[2].lcgBsInfo.outStndngBs = rgLwrBsrTbl[ceInfo->ces.bsr.longBsr.bs3]; ueCb->ul.lcgArr[3].lcgBsInfo.outStndngBs = rgLwrBsrTbl[ceInfo->ces.bsr.longBsr.bs4]; } - RETVALUE(ROK); + return ROK; } /* end of rgTOMUtlL2MStoreBufSz*/ /** @brief : Compiles list of LCs received in UL data for DTCH RBs @@ -2686,7 +2429,6 @@ PRIVATE Void rgTOML2MCompileActiveLCs(cellCb, ueCb, pdu, ceInfo) RgMacSdu *sdu; RgUlLcCb *ulLcCb; - TRC2(rgTOML2MCompileActiveLCs) node = pdu->sduLst.first; while (node)