X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_dhm.c;h=3c648e4d28d4c2b4b360190f5e185f76d21add41;hb=ce136a8facf53778e327bead92b0cfe91b566571;hp=d77c3b4287eec22a7360c8325946be58326e7d3c;hpb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_dhm.c b/src/5gnrmac/rg_dhm.c index d77c3b428..3c648e4d2 100755 --- a/src/5gnrmac/rg_dhm.c +++ b/src/5gnrmac/rg_dhm.c @@ -36,46 +36,28 @@ static const char* RLOG_MODULE_NAME="MAC"; static int RLOG_FILE_ID=279; static int RLOG_MODULE_ID=4096; /* 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 service interface */ +#include "common_def.h" #ifdef L2_OPTMZ #include "ss_strm.h" #endif -#include "cm5.h" /* common timers */ -#include "cm_hash.h" /* common hash list */ -#include "cm_mblk.h" /* common memory link list library */ -#include "cm_llist.h" /* common linked list library */ -#include "cm_err.h" /* common error */ -#include "cm_lte.h" /* common LTE */ #include "lrg.h" #include "crg.h" -#include "rgu.h" #include "tfu.h" +#include "rgu.h" #include "rg_sch_inf.h" #include "rg_env.h" #include "rg_err.h" #include "rg.h" +#include "du_app_mac_inf.h" /* header/extern include files (.x) */ -#include "gen.x" /* general layer */ -#include "ssi.x" /* system service interface */ #ifdef L2_OPTMZ #include "ss_strm.x" #endif -#include "cm5.x" /* common timers */ -#include "cm_lib.x" /* common library */ -#include "cm_hash.x" /* common hash list */ -#include "cm_llist.x" /* common linked list library */ -#include "cm_mblk.x" /* memory management */ -#include "cm_tkns.x" /* common tokens */ -#include "cm_lte.x" /* common LTE */ #include "lrg.x" #include "crg.x" -#include "rgu.x" #include "tfu.x" +#include "rgu.x" #include "rg_sch_inf.x" #include "rg_prg.x" /* PRG interface typedefs */ #include "rg.x" @@ -86,23 +68,23 @@ static int RLOG_MODULE_ID=4096; #include "ss_task.x" #include "ss_msg.x" /* MAC includes */ /* local defines */ -//EXTERN S16 ssGetDBufOfSize(Region region,Size size,Buffer **dBuf); +// S16 ssGetDBufOfSize(Region region,Size size,Buffer **dBuf); //void prc_trace_format_string(UINT32 group_mask, UINT16 level, const char *format, ...); #endif /* local typedefs */ /* local externs */ -EXTERN S16 SIncMsgRef(Buffer *srcBuf,Region dstRegion, Pool dstPool,Buffer **dstBuf); +S16 SIncMsgRef(Buffer *srcBuf,Region dstRegion, Pool dstPool,Buffer **dstBuf); -PRIVATE Void rgDHMBldTfuDatReq ARGS((RgCellCb *cellCb, RgDlSf *dlSf, RgDlHqProcCb *hqP, +static Void rgDHMBldTfuDatReq ARGS((RgCellCb *cellCb, RgDlSf *dlSf, RgDlHqProcCb *hqP, RgTfuDatReqPduInfo *datReq)); #ifdef L2_OPTMZ -PUBLIC S16 rgDHMFreeHqProcTB +S16 rgDHMFreeHqProcTB ( -RgDlHqProcCb *hqP, -U8 tbIndex +RgDlHqProcCb *hqP, +uint8_t tbIndex ); #endif @@ -129,28 +111,14 @@ U8 tbIndex * -# RFAILED * **/ -#ifdef ANSI -PUBLIC S16 rgDHMHqEntInit -( -Inst inst, -RgDlHqEnt *hqE, -U8 maxHqProcs -) -#else -PUBLIC S16 rgDHMHqEntInit(inst,hqE, maxHqProcs) -Inst inst, -RgDlHqEnt *hqE; -U8 maxHqProcs; -#endif +S16 rgDHMHqEntInit(Inst inst, RgDlHqEnt *hqE, uint8_t maxHqProcs) { - U8 idx1,idx2; + uint8_t idx1,idx2; #ifdef L2_OPTMZ Buffer *hdrDBuf = NULLP; Buffer *ceDBuf = NULLP; #endif - TRC2(rgDHMHqEntInit) - hqE->numHqProcs = maxHqProcs; /* for each harq process */ for (idx1 = 0; idx1 < hqE->numHqProcs; idx1++) @@ -162,7 +130,7 @@ U8 maxHqProcs; rgFreeSBuf(inst,(Data **)&(hqE->procs[idx1]), sizeof(RgDlHqProcCb)); } RLOG0(L_ERROR, "Memory Alloc Failure for RgDlHqProcCb"); - RETVALUE(RFAILED); + return RFAILED; } hqE->procs[idx1]->procId = idx1; @@ -198,7 +166,7 @@ U8 maxHqProcs; } - RETVALUE(ROK); + return ROK; } /* rgDHMHqEntInit */ /** @@ -215,21 +183,9 @@ U8 maxHqProcs; * @return Void * **/ -#ifdef ANSI -PUBLIC Void rgDHMUeReset -( -RgCellCb *cell, -RgDlHqEnt *hqE -) -#else -PUBLIC Void rgDHMUeReset(cell, hqE) -RgCellCb *cell; -RgDlHqEnt *hqE; -#endif +Void rgDHMUeReset(RgCellCb *cell, RgDlHqEnt *hqE) { - U8 i = 0; - - TRC2(rgDHMUeReset) + uint8_t i = 0; if(hqE->procs[0]) { @@ -244,7 +200,7 @@ RgDlHqEnt *hqE; #endif } } - RETVOID; + return; } /* rgDHMUeReset*/ /** @@ -263,19 +219,9 @@ RgDlHqEnt *hqE; * @return Void * **/ -#ifdef ANSI -PUBLIC Void rgDHMHdlBufFree -( -Inst inst, -Buffer **mBuf -) -#else -PUBLIC Void rgDHMHdlBufFree(Inst inst, Buffer **mBuf) -Inst inst; -#endif +Void rgDHMHdlBufFree(Inst inst, Buffer **mBuf) { RgCb *rgCbP = &rgCb[inst]; - TRC2(rgDHMHdlBufFree) if (rgCbP->bufCnt < RG_MAX_DFRD_FREE_BUFS) { @@ -290,7 +236,7 @@ Inst inst; { RG_FREE_MSG(*mBuf); } - RETVOID; + return; } /** * @brief This function is called to release the @@ -310,21 +256,11 @@ Inst inst; * @return Void * **/ -#ifdef ANSI -PUBLIC Void rgDHMFreeTbBufs -( -Inst inst -) -#else -PUBLIC Void rgDHMFreeTbBufs(inst) -Inst inst; -#endif +Void rgDHMFreeTbBufs(Inst inst) { RgCb *rgCbP = &rgCb[inst]; - U8 start = rgCbP->bufCnt; - U8 end = 0; - - TRC2(rgDHMFreeTbBufs) + uint8_t start = rgCbP->bufCnt; + uint8_t end = 0; if (rgCbP->bufCnt < RG_MAX_FREE_BUFS_PERTTI) { @@ -340,24 +276,14 @@ Inst inst; SPutMsg(rgCbP->bufToFree[start]); } rgCbP->bufCnt = end; - RETVOID; + return; } /* rgDHMFreeTbBufs */ -#ifdef ANSI -PUBLIC Void rgDHMFreeAllTbBufs -( -Inst inst -) -#else -PUBLIC Void rgDHMFreeAllTbBufs(inst) -Inst inst; -#endif +Void rgDHMFreeAllTbBufs(Inst inst) { RgCb *rgCbP = &rgCb[inst]; - U8 start = rgCbP->bufCnt; - U8 end = 0; - - TRC2(rgDHMFreeAllTbBufs) + uint8_t start = rgCbP->bufCnt; + uint8_t end = 0; while (start != end) { @@ -365,7 +291,7 @@ Inst inst; SPutMsg(rgCbP->bufToFree[start]); } rgCbP->bufCnt = end; - RETVOID; + return; } /* rgDHMFreeTbBufs */ @@ -385,32 +311,18 @@ Inst inst; * @return Void * **/ -#ifdef ANSI -PUBLIC S16 rgDHMRlsHqProcTB -( -RgCellCb *cell, -RgDlHqProcCb *hqP, -U8 tbIndex -) -#else -PUBLIC S16 rgDHMRlsHqProcTB(cell, hqP, tbIndex) -RgCellCb *cell; -RgDlHqProcCb *hqP; -U8 tbIndex; -#endif +S16 rgDHMRlsHqProcTB(RgCellCb *cell, RgDlHqProcCb *hqP, uint8_t tbIndex) { - U8 idx; + uint8_t idx; #ifdef L2_OPTMZ RgTfuDatReqTbInfo *tb; /* TB to be sent to CL/PHY*/ - // U32 lchIdx, pduIdx; + // uint32_t lchIdx, pduIdx; #endif - TRC2(rgDHMRlsHqProcTB) - if((tbIndex > RG_MAX_TB_PER_UE) || (tbIndex == 0)) { - RETVALUE(RFAILED); + return RFAILED; } hqP->tbInfo[tbIndex-1].numSchLch = 0; @@ -456,7 +368,7 @@ U8 tbIndex; hqP->tbInfo[tbIndex-1].contResCe = NOTPRSNT; hqP->tbInfo[tbIndex-1].contResId = NULLP; - RETVALUE(ROK); + return ROK; } /* rgDHMRlsHqProc */ /** @@ -469,36 +381,22 @@ U8 tbIndex; * Invoked by: ROM * * @param[in] RgUeCb *ue - * @param[in] U8 idx + * @param[in] uint8_t idx * @param[in] RgDlHqProc **hqP * @return S16 * -# ROK if successful * -# RFAILED otherwise * **/ -#ifdef ANSI -PUBLIC S16 rgDHMGetHqProcFrmId -( -RgUeCb *ue, -U8 idx, -RgDlHqProcCb **hqP -) -#else -PUBLIC S16 rgDHMGetHqProcFrmId(ue, idx, hqP) -RgUeCb *ue; -U8 idx; -RgDlHqProcCb **hqP; -#endif +S16 rgDHMGetHqProcFrmId(RgUeCb *ue, uint8_t idx, RgDlHqProcCb **hqP) { - TRC2(rgDHMGetHqProcFrmId) - /* Pick the proc based on the index provided */ *hqP = (ue->dl.hqEnt.procs[idx]); - RETVALUE(ROK); + return ROK; } /* rgDHMGetHqProcFrmId */ -/*PRIVATE U32 dataAvl; */ +/*static uint32_t dataAvl; */ /** * @brief Handler for sending data to PHY * @@ -518,8 +416,7 @@ RgDlHqProcCb **hqP; * -#ROK * -#RFAILED **/ -#ifdef ANSI -PUBLIC S16 rgDHMSndDatReq +S16 rgDHMSndDatReq ( RgCellCb *cellCb, RgDlSf *dlSf, @@ -527,25 +424,15 @@ RgTfuDatReqInfo *datInfo, RgDlHqProcCb *hqP, RgErrInfo *err ) -#else -PUBLIC S16 rgDHMSndDatReq(cellCb, dlSf, datInfo, hqP, err) -RgCellCb *cellCb; -RgDlSf *dlSf; -RgTfuDatReqInfo *datInfo; -RgDlHqProcCb *hqP; -RgErrInfo *err; -#endif { - U8 i; - Inst inst = cellCb->macInst - RG_INST_START; + uint8_t i; + Inst inst = cellCb->macInst - RG_INST_START; RgTfuDatReqPduInfo *datReq; RgBldPduInfo bldPdu; /*Added this variable to figure out that whether this UE data has to be inclueded in the TFU Data request.*/ Bool dataAvlblUe; - TRC2(rgDHMSndDatReq) - dataAvlblUe = TRUE; for(i=0;i< RG_MAX_TB_PER_UE;i++) { @@ -553,15 +440,15 @@ RgErrInfo *err; "macCell(sfn sf): (%d %d) tbTimingInfo(sfn sf): (%d %d)\n" "dlSf %p dlSf->tbs.count %d hqp %p tb %p\n", hqP->tbInfo[i].pdcch.rnti, - dlSf->schdTime.sfn, dlSf->schdTime.subframe, - cellCb->crntTime.sfn, cellCb->crntTime.subframe, + dlSf->schdTime.sfn, dlSf->schdTime.slot, + cellCb->crntTime.sfn, cellCb->crntTime.slot, hqP->tbInfo[i].timingInfo.sfn, - hqP->tbInfo[i].timingInfo.subframe, + hqP->tbInfo[i].timingInfo.slot, (Void *)dlSf, dlSf->tbs.count, (Void *)hqP, (Void *)hqP->tbInfo[i].tb);*/ /* Mukesh :: in case of rpepetiton this is not rerd*/ - if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf == dlSf) + if (hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf) { /* Check if data from RLC had been received and got muxed. */ #ifndef L2_OPTMZ @@ -582,7 +469,7 @@ RgErrInfo *err; /* Data not received but ta needs to be sent. */ /* MUX TA and send it */ bldPdu.datReq = NULLP; - bldPdu.reqType = EVTTFUTTIIND; + //bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; bldPdu.schdTbSz = hqP->tbInfo[i].tbSz; bldPdu.ta = hqP->tbInfo[i].schdTa; #ifdef LTE_ADV @@ -595,10 +482,10 @@ RgErrInfo *err; RLOG1(L_ERROR, "MUXing failed for: MacInst %d", inst); RLOG4(L_ERROR, "MUXing failed for: time: %d/%d\ procId %d ueId %d", hqP->tbInfo[i].timingInfo.sfn, - hqP->tbInfo[i].timingInfo.subframe, hqP->procId, + hqP->tbInfo[i].timingInfo.slot, hqP->procId, hqP->tbInfo[i].pdcch.rnti); - RETVALUE(RFAILED); + return RFAILED; } } else @@ -606,7 +493,7 @@ RgErrInfo *err; #ifdef LTEMAC_RGU_PAD /* Data not received from RLC. Padding at MAC */ bldPdu.datReq = NULLP; - bldPdu.reqType = EVTTFUTTIIND; + //bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; bldPdu.schdTbSz = hqP->tbInfo[i].tbSz; bldPdu.ta = hqP->tbInfo[i].schdTa; #ifdef LTE_ADV @@ -620,10 +507,10 @@ RgErrInfo *err; RLOG1(L_ERROR, "MUXing failed for: MacInst %d", inst); RLOG4(L_ERROR, "MUXing failed for: time: %d/%d\ procId %d ueId %d", hqP->tbInfo[i].timingInfo.sfn, - hqP->tbInfo[i].timingInfo.subframe, hqP->procId, + hqP->tbInfo[i].timingInfo.slot, hqP->procId, hqP->tbInfo[i].pdcch.rnti); - RETVALUE(RFAILED); + return RFAILED; } #else /*Padding is not done so data for this UE will not be @@ -653,13 +540,13 @@ RgErrInfo *err; rgDHMRlsHqProcTB(cellCb, hqP, 2); } - RETVALUE(ROK); + return ROK; } if (rgGetEventMem(inst,(Ptr *)&datReq, sizeof(TfuDatReqPduInfo), &(datInfo->memCp)) != ROK) { - RETVALUE(RFAILED); + return RFAILED; } /* Fill the TFU Dat Req with information from Harq Proc */ @@ -668,19 +555,19 @@ RgErrInfo *err; /* MS_WORKAROUND for ccpu00122894 */ 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; - hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf = NULLP; + hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf = NULLP; } } cmLListAdd2Tail(&datInfo->pdus, &(datReq->lnk)); datReq->lnk.node = (PTR)datReq; - RETVALUE(ROK); + return ROK; } /* rgDHMSndDatReq */ /** @@ -703,8 +590,7 @@ RgErrInfo *err; * -# ROK * -# RFAILED **/ -#ifdef ANSI -PUBLIC S16 rgDHMHndlDedDatReq +S16 rgDHMHndlDedDatReq ( Inst inst, RgDlHqProcCb *hqProc, @@ -712,27 +598,18 @@ RgRguDDatReqPerUe *datReq, RgDlSf *dlSf, RgErrInfo *err ) -#else -PUBLIC S16 rgDHMHndlDedDatReq(inst,hqProc, datReq, dlSf, err) -Inst inst; -RgDlHqProcCb *hqProc; -RgRguDDatReqPerUe *datReq; -RgDlSf *dlSf; -RgErrInfo *err; -#endif { -// U32 len; - U8 i; - U8 j; +// uint32_t len; + uint8_t i; + uint8_t j; RgBldPduInfo bldPdu; - U8 tbIndex; + uint8_t tbIndex; #ifdef L2_OPTMZ RgTfuDatReqTbInfo *tb; #endif - TRC2(rgDHMHndlDedDatReq); - tbIndex = (U8)(datReq->transId & 0x03); + tbIndex = (uint8_t)(datReq->transId & 0x03); /* Accept all the data requests even if delayed in case nothing * has been sent earlier on the harq proc. */ @@ -746,9 +623,9 @@ RgErrInfo *err; { j++; } - rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); + rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (uint8_t)(j+1)); } - RETVALUE(RFAILED); + return RFAILED; } for(i=0;inmbOfTbs;i++) @@ -760,7 +637,7 @@ RgErrInfo *err; { continue; } - if (hqProc->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sfLnk.node == NULLP) + if (hqProc->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk.node == NULLP) { /* release corresponding TBs from SF tbs List */ for(j=0;jnmbOfTbs;j++) @@ -769,10 +646,10 @@ RgErrInfo *err; { j++; } - rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); + rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (uint8_t)(j+1)); printf("\nrgDHMHndlDedDatReq:: hqP %p \n", (Void *)hqProc); } - RETVALUE(RFAILED); + return RFAILED; } #ifndef L2_OPTMZ @@ -808,7 +685,7 @@ RgErrInfo *err; RLOG1(L_ERROR, "MUXing failed for: MacInst %d", inst); RLOG4(L_ERROR, "MUXing failed for: time: %d/%d\ procId %d ueId %d", hqProc->tbInfo[i].timingInfo.sfn, - hqProc->tbInfo[i].timingInfo.subframe, hqProc->procId, + hqProc->tbInfo[i].timingInfo.slot, hqProc->procId, hqProc->tbInfo[i].pdcch.rnti); /* release corresponding TBs from SF tbs List */ @@ -818,15 +695,15 @@ RgErrInfo *err; { j++; } - rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); + rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (uint8_t)(j+1)); } - RETVALUE(RFAILED); + return RFAILED; } /* SFndLenMsg(hqProc->tbInfo[i].tb, &len); */ } - RETVALUE(ROK); + return ROK; } /* rgDHMHndlDedDatReq */ /** @@ -849,27 +726,17 @@ RgErrInfo *err; * -# ROK * -# RFAILED **/ -#ifdef ANSI -PUBLIC S16 rgDHMHndlCmnDatReq +S16 rgDHMHndlCmnDatReq ( Inst inst, RgDlHqProcCb *hqProc, RgRguCmnDatReq *datReq, RgErrInfo *err ) -#else -PUBLIC S16 rgDHMHndlCmnDatReq(inst,hqProc, datReq, err) -Inst inst; -RgDlHqProcCb *hqProc; -RgRguCmnDatReq *datReq; -RgErrInfo *err; -#endif { RgUstaDgn dgn; RgBldPduInfo bldPdu; - TRC2(rgDHMHndlCmnDatReq) - #ifndef L2_OPTMZ if (hqProc->tbInfo[0].tb != NULLP) #else @@ -881,7 +748,7 @@ RgErrInfo *err; rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_HARQ); rgLMMStaInd(inst,LCM_CATEGORY_PROTOCOL, LCM_EVENT_UI_INV_EVT, LRG_CAUSE_HQ_PROC_BUSY, &dgn); - RETVALUE(RFAILED); + return RFAILED; } bldPdu.datReq = datReq; @@ -899,14 +766,14 @@ RgErrInfo *err; RLOG1(L_ERROR, "MUXing failed for: MacInst %d", inst); RLOG4(L_ERROR, "MUXing failed for: time: %d/%d\ procId %d ueId %d", hqProc->tbInfo[0].timingInfo.sfn, - hqProc->tbInfo[0].timingInfo.subframe, hqProc->procId, + hqProc->tbInfo[0].timingInfo.slot, hqProc->procId, hqProc->tbInfo[0].pdcch.rnti); RG_FREE_MSG(datReq->pdu); - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } /* rgDHMHndlCmnDatReq */ /** @@ -932,28 +799,20 @@ RgErrInfo *err; * -# RFAILED **/ RgUeCb *gUe =NULLP; -#ifdef ANSI -PUBLIC S16 rgDHMSndConsolidatedStaInd +S16 rgDHMSndConsolidatedStaInd ( RgCellCb *cell, RgInfUeInfo *ueInfo, CmLteTimingInfo timingInfo, RgErrInfo *err ) -#else -PUBLIC S16 rgDHMSndConsolidatedStaInd(cell, ueInfo, timingInfo, err) -RgCellCb *cell; -RgInfUeInfo *ueInfo; -CmLteTimingInfo timingInfo; -RgErrInfo *err; -#endif { SuId rguDlSpId;/*need to use spID instead of suID*/ - U8 idx; - U8 ueIdx; - U8 lcIdx; - U8 tbIndex=0,idx1; - RgDlSf *dlSf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)]; + uint8_t idx; + uint8_t ueIdx; + uint8_t lcIdx; + uint8_t tbIndex=0,idx1; + RgDlSf *dlSf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)]; Inst inst = cell->macInst - RG_INST_START; // Bool isDStaReqrd = FALSE; RgRguDedStaInd *dStaInd[rgCb[inst].numRguSaps] ; @@ -963,8 +822,8 @@ RgErrInfo *err; RgUeCb *ue; RgDlHqProcCb *hqP; RgInfUeAlloc *allocInfo; - U8 activeSapCnt = 0; - U8 staIndCnt = 0; + uint8_t activeSapCnt = 0; + uint8_t staIndCnt = 0; #ifdef LTE_ADV Bool hqPAdded = FALSE; #endif @@ -972,9 +831,8 @@ RgErrInfo *err; RgTfuDatReqTbInfo *tb; /* TB to be sent to CL/PHY*/ #endif - TRC2(rgDHMSndConsolidatedStaInd) - cmMemset ((U8 *)dStaInd, 0, (sizeof(RgRguDedStaInd *) * rgCb[inst].numRguSaps)); - cmMemset ((U8 *)rguDlSap, 0, (sizeof(RgUpSapCb *) * rgCb[inst].numRguSaps)); + memset (dStaInd, 0, (sizeof(RgRguDedStaInd *) * rgCb[inst].numRguSaps)); + memset (rguDlSap, 0, (sizeof(RgUpSapCb *) * rgCb[inst].numRguSaps)); /* Send StaInd for the scheduled UEs */ for(ueIdx = 0; ueIdx < ueInfo->numUes; ueIdx++) @@ -1041,9 +899,9 @@ RgErrInfo *err; #endif hqP->numOfTBs = allocInfo->nmbOfTBs; - hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.subframe % 2].sfLnk.node = (PTR)hqP; - hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.subframe % 2].sf = dlSf; - cmLListAdd2Tail(&dlSf->tbs,&(hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.subframe % 2].sfLnk)); + hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk.node = (PTR)hqP; + hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.slot % 2].sf = dlSf; + cmLListAdd2Tail(&dlSf->tbs,&(hqP->tbInfo[idx].sfLnkInfo[dlSf->schdTime.slot % 2].sfLnk)); /* Changes as part of performance testing*/ /* hqP->numOfTBs++;*/ hqP->tbInfo[idx].doa = allocInfo->doa; @@ -1141,7 +999,7 @@ RgErrInfo *err; { err->errType = RGERR_DHM_SND_STA_IND; err->errCause = RG_DHM_MEM_ALLOC_FAIL; - RETVALUE(RFAILED); + return RFAILED; } } @@ -1151,7 +1009,7 @@ RgErrInfo *err; cStaInd->rnti = allocInfo->rnti; cStaInd->lcId = cell->dlCcchId; cStaInd->transId = (timingInfo.sfn << 16) | - (timingInfo.subframe << 8) | idx1; + (timingInfo.slot << 8) | idx1; /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ dlSf->remDatReqCnt++; @@ -1190,7 +1048,7 @@ RgErrInfo *err; err->errType = RGERR_DHM_SND_STA_IND; err->errCause = RG_DHM_MEM_ALLOC_FAIL; /* Need to return as memory allocation will fail for other UEs also*/ - RETVALUE(RFAILED); + return RFAILED; } dStaInd[rguDlSpId]->nmbOfUeGrantPerTti = 0; rguDlSap[rguDlSpId] = ue->rguDlSap; @@ -1244,10 +1102,10 @@ RgErrInfo *err; dStaInd[rguDlSpId]->staInd[dStaInd[rguDlSpId]->nmbOfUeGrantPerTti].rnti = allocInfo->rnti; /* dStaInd->transId = (hqP->timingInfo.sfn << 16) | - (hqP->timingInfo.subframe << 8) | hqP->procId; + (hqP->timingInfo.slot << 8) | hqP->procId; */ dStaInd[rguDlSpId]->staInd[dStaInd[rguDlSpId]->nmbOfUeGrantPerTti].transId = (timingInfo.sfn << 16) | - (timingInfo.subframe << 8) | idx1; + (timingInfo.slot << 8) | idx1; dStaInd[rguDlSpId]->staInd[dStaInd[rguDlSpId]->nmbOfUeGrantPerTti].nmbOfTbs = hqP->numOfTBs; #ifdef LTE_ADV dStaInd[rguDlSpId]->staInd[dStaInd[rguDlSpId]->nmbOfUeGrantPerTti].fillCtrlPdu = allocInfo->fillCtrlPdu; @@ -1279,7 +1137,7 @@ RgErrInfo *err; } } - RETVALUE(ROK); + return ROK; } /* rgDHMSndConsolidatedStaInd */ @@ -1298,22 +1156,14 @@ RgErrInfo *err; * @return Void * None **/ -//U8 crashFlag = 0; -#ifdef ANSI -PRIVATE Void rgDHMBldTfuDatReq +//uint8_t crashFlag = 0; +static Void rgDHMBldTfuDatReq ( RgCellCb *cellCb, RgDlSf *dlSf, RgDlHqProcCb *hqP, RgTfuDatReqPduInfo *datReq ) -#else -PRIVATE Void rgDHMBldTfuDatReq(cellCb, dlSf, hqP, datReq) -RgCellCb *cellCb; -RgDlSf *dlSf; -RgDlHqProcCb *hqP; -RgTfuDatReqPduInfo *datReq; -#endif { #ifndef L2_OPTMZ @@ -1324,12 +1174,11 @@ RgTfuDatReqPduInfo *datReq; #endif #endif - U8 i; + uint8_t i; #ifdef L2_OPTMZ - U32 lchIdx, pduIdx; + uint32_t lchIdx, pduIdx; #endif - TRC2(rgDHMBldTfuDatReq) datReq->nmbOfTBs = 0; #ifndef L2_OPTMZ @@ -1351,10 +1200,10 @@ RgTfuDatReqPduInfo *datReq; for(i=0;itbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf == dlSf) && + if ((hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf) && (hqP->tbInfo[i].tb != NULLP)) #else - if ((hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.subframe % 2].sf == dlSf) && + if ((hqP->tbInfo[i].sfLnkInfo[dlSf->schdTime.slot % 2].sf == dlSf) && RgUtlIsTbMuxed(&(hqP->tbInfo[i].tb))) #endif { @@ -1405,10 +1254,10 @@ RgTfuDatReqPduInfo *datReq; if(dbgBufLen == 0) { RLOG_ARG4(L_ERROR,DBG_CELLID,cellCb->cellId, - "RNTI:%d SFN:%d subframe:%d tbIdx:%d Sdu Length 0 ", + "RNTI:%d SFN:%d slot:%d tbIdx:%d Sdu Length 0 ", datReq->rnti, hqP->tbInfo[i].timingInfo.sfn, - hqP->tbInfo[i].timingInfo.subframe,i); + hqP->tbInfo[i].timingInfo.slot,i); RLOG_ARG3(L_ERROR,DBG_CELLID,cellCb->cellId, "taPres [%d] numOfTbs [%d] format[%d]", datReq->isTApres, @@ -1448,7 +1297,7 @@ RgTfuDatReqPduInfo *datReq; datReq->nmbOfTBs++; } } - RETVOID; + return; } /* rgDHMBldTfuDatReq */ @@ -1469,27 +1318,15 @@ RgTfuDatReqPduInfo *datReq; * @return Void * **/ -#ifdef ANSI -PUBLIC S16 rgDHMFreeHqProcTB -( -RgDlHqProcCb *hqP, -U8 tbIndex -) -#else -PUBLIC S16 rgDHMFreeHqProcTB(hqP, tbIndex) -RgDlHqProcCb *hqP; -U8 tbIndex; -#endif +S16 rgDHMFreeHqProcTB(RgDlHqProcCb *hqP, uint8_t tbIndex) { RgTfuDatReqTbInfo *tb; /* TB to be sent to CL/PHY*/ - U8 idx; - - TRC2(rgDHMFreeHqProcTB) + uint8_t idx; if((tbIndex > RG_MAX_TB_PER_UE) || (tbIndex == 0)) { - RETVALUE(RFAILED); + return RFAILED; } tb = &(hqP->tbInfo[tbIndex-1].tb); @@ -1507,7 +1344,7 @@ U8 tbIndex; } hqP->tbInfo[tbIndex-1].sfLnkInfo[idx].sf = NULLP; } - RETVALUE(ROK); + return ROK; } #endif @@ -1528,20 +1365,9 @@ U8 tbIndex; * @return None. * **/ -#ifdef ANSI -PUBLIC Void rgDHMFreeUe -( -Inst inst, -RgDlHqEnt *hqE -) -#else -PUBLIC Void rgDHMFreeUe(inst,hqE) -Inst inst; -RgDlHqEnt *hqE; -#endif +Void rgDHMFreeUe(Inst inst, RgDlHqEnt *hqE) { - U8 i; - TRC2(rgDHMFreeUe) + uint8_t i; if(hqE->procs) { @@ -1566,7 +1392,7 @@ RgDlHqEnt *hqE; assignment */ } - RETVOID; + return; } /* rgDHMFreeUe */ /** @@ -1586,17 +1412,7 @@ RgDlHqEnt *hqE; * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 RgSchMacRstHqEntReq -( -Pst* pst, -RgInfResetHqEnt* hqEntInfo -) -#else -PUBLIC S16 RgSchMacRstHqEntReq(pst, hqEntInfo) -Pst* pst; -RgInfResetHqEnt* hqEntInfo; -#endif +S16 RgSchMacRstHqEntReq(Pst* pst, RgInfResetHqEnt* hqEntInfo) { Inst inst; RgCellCb *cell; @@ -1609,21 +1425,21 @@ RgInfResetHqEnt* hqEntInfo; { RGDBGERRNEW(inst,(rgPBuf(inst), "For user [%d]Cell does not exist %d\n", hqEntInfo->crnti,hqEntInfo->cellId)); - RETVALUE(RFAILED); + return RFAILED; } if ((ue = rgDBMGetUeCb(cell, hqEntInfo->crnti)) == NULLP) { RGDBGERRNEW(inst,(rgPBuf(inst), "[%d]UE does not exist for this hqEntInfo\n", hqEntInfo->crnti)); - RETVALUE(RFAILED); + return RFAILED; } rgDHMUeReset(cell, &ue->dl.hqEnt); - RETVALUE(ROK); + return ROK; } -U32 gSaveVal; +uint32_t gSaveVal; /** * @brief Function for handling RaResp request received from scheduler to MAC @@ -1633,7 +1449,7 @@ U32 gSaveVal; * Function : RgSchMacRlsHqReq * * This function shall be invoked whenever scheduler is done with the - * allocations of random access responses for a subframe. + * allocations of random access responses for a slot. * This shall invoke RAM to create ueCbs for all the rapIds allocated and * shall invoke MUX to create RAR PDUs for raRntis allocated. * @@ -1644,32 +1460,20 @@ U32 gSaveVal; * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 RgSchMacRlsHqReq -( -Pst *pst, -RgInfRlsHqInfo *rlshqUeInfo -) -#else -PUBLIC S16 RgSchMacRlsHqReq(pst, rlshqUeInfo) -Pst *pst; -RgInfRlsHqInfo *rlshqUeInfo; -#endif +S16 RgSchMacRlsHqReq(Pst *pst, RgInfRlsHqInfo *rlshqUeInfo) { Inst inst; RgCellCb *cell = NULLP; RgUeCb *ue; RgDlHqProcCb *hqP; - U8 idx1,idx2; + uint8_t idx1,idx2; #ifdef LTE_L2_MEAS - U8 tbId; + uint8_t tbId; RguHarqStatusInd hqStaInd; Bool isValidTbId = FALSE; #endif - U32 startTime=0; + uint32_t startTime=0; - TRC2(RgSchMacRlsHqReq) - RG_IS_INST_VALID(pst->dstInst); inst = pst->dstInst - RG_INST_START; cell = rgCb[inst].cell; @@ -1678,7 +1482,7 @@ RgInfRlsHqInfo *rlshqUeInfo; if(NULLP == rlshqUeInfo) { - RETVALUE(RFAILED); + return RFAILED; } if((cell == NULLP) @@ -1687,12 +1491,12 @@ RgInfRlsHqInfo *rlshqUeInfo; RLOG_ARG0(L_ERROR,DBG_CELLID,rlshqUeInfo->cellId, "No cellCb found with cellId"); - RETVALUE(RFAILED); + return RFAILED; } if(NULLP == rlshqUeInfo->ueHqInfo) { - RETVALUE(RFAILED); + return RFAILED; } for(idx1 = 0; idx1 < rlshqUeInfo->numUes; idx1++) @@ -1801,7 +1605,7 @@ RgInfRlsHqInfo *rlshqUeInfo; /*starting Task*/ SStopTask(startTime,PID_MAC_AM_HARQ_RLS); - RETVALUE(ROK); + return ROK; } /* end of RgSchMacRlsHqReq */