X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_dhm.c;h=e8cdacf294e7e350c935028e1eb52114d8b0b70f;hb=5d74fef7c9fe6b65a965ceac6bfe812872dab323;hp=e387cb88983cb40dca19c17e9695503f2cde1e3c;hpb=5ea4c59cb4dd37164953218b0bd355284e11d22c;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_dhm.c b/src/5gnrmac/rg_dhm.c index e387cb889..e8cdacf29 100755 --- a/src/5gnrmac/rg_dhm.c +++ b/src/5gnrmac/rg_dhm.c @@ -36,49 +36,30 @@ 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 "du_app_mac_inf.h" #include "rg.x" #ifdef L2_OPTMZ @@ -100,7 +81,7 @@ PRIVATE Void rgDHMBldTfuDatReq ARGS((RgCellCb *cellCb, RgDlSf *dlSf, RgDlHqProcC RgTfuDatReqPduInfo *datReq)); #ifdef L2_OPTMZ -PUBLIC S16 rgDHMFreeHqProcTB +S16 rgDHMFreeHqProcTB ( RgDlHqProcCb *hqP, U8 tbIndex @@ -131,14 +112,14 @@ U8 tbIndex * **/ #ifdef ANSI -PUBLIC S16 rgDHMHqEntInit +S16 rgDHMHqEntInit ( Inst inst, RgDlHqEnt *hqE, U8 maxHqProcs ) #else -PUBLIC S16 rgDHMHqEntInit(inst,hqE, maxHqProcs) +S16 rgDHMHqEntInit(inst,hqE, maxHqProcs) Inst inst, RgDlHqEnt *hqE; U8 maxHqProcs; @@ -150,8 +131,6 @@ U8 maxHqProcs; Buffer *ceDBuf = NULLP; #endif - TRC2(rgDHMHqEntInit) - hqE->numHqProcs = maxHqProcs; /* for each harq process */ for (idx1 = 0; idx1 < hqE->numHqProcs; idx1++) @@ -163,7 +142,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; @@ -199,7 +178,7 @@ U8 maxHqProcs; } - RETVALUE(ROK); + return ROK; } /* rgDHMHqEntInit */ /** @@ -217,21 +196,19 @@ U8 maxHqProcs; * **/ #ifdef ANSI -PUBLIC Void rgDHMUeReset +Void rgDHMUeReset ( RgCellCb *cell, RgDlHqEnt *hqE ) #else -PUBLIC Void rgDHMUeReset(cell, hqE) +Void rgDHMUeReset(cell, hqE) RgCellCb *cell; RgDlHqEnt *hqE; #endif { U8 i = 0; - TRC2(rgDHMUeReset) - if(hqE->procs[0]) { /* Free all the TB memory associated with HARQ */ @@ -265,18 +242,17 @@ RgDlHqEnt *hqE; * **/ #ifdef ANSI -PUBLIC Void rgDHMHdlBufFree +Void rgDHMHdlBufFree ( Inst inst, Buffer **mBuf ) #else -PUBLIC Void rgDHMHdlBufFree(Inst inst, Buffer **mBuf) +Void rgDHMHdlBufFree(Inst inst, Buffer **mBuf) Inst inst; #endif { RgCb *rgCbP = &rgCb[inst]; - TRC2(rgDHMHdlBufFree) if (rgCbP->bufCnt < RG_MAX_DFRD_FREE_BUFS) { @@ -312,12 +288,12 @@ Inst inst; * **/ #ifdef ANSI -PUBLIC Void rgDHMFreeTbBufs +Void rgDHMFreeTbBufs ( Inst inst ) #else -PUBLIC Void rgDHMFreeTbBufs(inst) +Void rgDHMFreeTbBufs(inst) Inst inst; #endif { @@ -325,8 +301,6 @@ Inst inst; U8 start = rgCbP->bufCnt; U8 end = 0; - TRC2(rgDHMFreeTbBufs) - if (rgCbP->bufCnt < RG_MAX_FREE_BUFS_PERTTI) { end = 0; @@ -345,12 +319,12 @@ Inst inst; } /* rgDHMFreeTbBufs */ #ifdef ANSI -PUBLIC Void rgDHMFreeAllTbBufs +Void rgDHMFreeAllTbBufs ( Inst inst ) #else -PUBLIC Void rgDHMFreeAllTbBufs(inst) +Void rgDHMFreeAllTbBufs(inst) Inst inst; #endif { @@ -358,8 +332,6 @@ Inst inst; U8 start = rgCbP->bufCnt; U8 end = 0; - TRC2(rgDHMFreeAllTbBufs) - while (start != end) { start--; @@ -387,14 +359,14 @@ Inst inst; * **/ #ifdef ANSI -PUBLIC S16 rgDHMRlsHqProcTB +S16 rgDHMRlsHqProcTB ( RgCellCb *cell, RgDlHqProcCb *hqP, U8 tbIndex ) #else -PUBLIC S16 rgDHMRlsHqProcTB(cell, hqP, tbIndex) +S16 rgDHMRlsHqProcTB(cell, hqP, tbIndex) RgCellCb *cell; RgDlHqProcCb *hqP; U8 tbIndex; @@ -406,12 +378,10 @@ U8 tbIndex; // U32 lchIdx, pduIdx; #endif - TRC2(rgDHMRlsHqProcTB) - if((tbIndex > RG_MAX_TB_PER_UE) || (tbIndex == 0)) { - RETVALUE(RFAILED); + return RFAILED; } hqP->tbInfo[tbIndex-1].numSchLch = 0; @@ -457,7 +427,7 @@ U8 tbIndex; hqP->tbInfo[tbIndex-1].contResCe = NOTPRSNT; hqP->tbInfo[tbIndex-1].contResId = NULLP; - RETVALUE(ROK); + return ROK; } /* rgDHMRlsHqProc */ /** @@ -478,25 +448,23 @@ U8 tbIndex; * **/ #ifdef ANSI -PUBLIC S16 rgDHMGetHqProcFrmId +S16 rgDHMGetHqProcFrmId ( RgUeCb *ue, U8 idx, RgDlHqProcCb **hqP ) #else -PUBLIC S16 rgDHMGetHqProcFrmId(ue, idx, hqP) +S16 rgDHMGetHqProcFrmId(ue, idx, hqP) RgUeCb *ue; U8 idx; RgDlHqProcCb **hqP; #endif { - TRC2(rgDHMGetHqProcFrmId) - /* Pick the proc based on the index provided */ *hqP = (ue->dl.hqEnt.procs[idx]); - RETVALUE(ROK); + return ROK; } /* rgDHMGetHqProcFrmId */ /*PRIVATE U32 dataAvl; */ @@ -520,7 +488,7 @@ RgDlHqProcCb **hqP; * -#RFAILED **/ #ifdef ANSI -PUBLIC S16 rgDHMSndDatReq +S16 rgDHMSndDatReq ( RgCellCb *cellCb, RgDlSf *dlSf, @@ -529,7 +497,7 @@ RgDlHqProcCb *hqP, RgErrInfo *err ) #else -PUBLIC S16 rgDHMSndDatReq(cellCb, dlSf, datInfo, hqP, err) +S16 rgDHMSndDatReq(cellCb, dlSf, datInfo, hqP, err) RgCellCb *cellCb; RgDlSf *dlSf; RgTfuDatReqInfo *datInfo; @@ -545,8 +513,6 @@ RgErrInfo *err; 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++) { @@ -583,7 +549,7 @@ RgErrInfo *err; /* Data not received but ta needs to be sent. */ /* MUX TA and send it */ bldPdu.datReq = NULLP; - bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; + //bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; bldPdu.schdTbSz = hqP->tbInfo[i].tbSz; bldPdu.ta = hqP->tbInfo[i].schdTa; #ifdef LTE_ADV @@ -599,7 +565,7 @@ RgErrInfo *err; hqP->tbInfo[i].timingInfo.slot, hqP->procId, hqP->tbInfo[i].pdcch.rnti); - RETVALUE(RFAILED); + return RFAILED; } } else @@ -607,7 +573,7 @@ RgErrInfo *err; #ifdef LTEMAC_RGU_PAD /* Data not received from RLC. Padding at MAC */ bldPdu.datReq = NULLP; - bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; + //bldPdu.reqType = EVENT_SLOT_IND_TO_MAC; bldPdu.schdTbSz = hqP->tbInfo[i].tbSz; bldPdu.ta = hqP->tbInfo[i].schdTa; #ifdef LTE_ADV @@ -624,7 +590,7 @@ RgErrInfo *err; 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 @@ -654,13 +620,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 */ @@ -681,7 +647,7 @@ RgErrInfo *err; cmLListAdd2Tail(&datInfo->pdus, &(datReq->lnk)); datReq->lnk.node = (PTR)datReq; - RETVALUE(ROK); + return ROK; } /* rgDHMSndDatReq */ /** @@ -705,7 +671,7 @@ RgErrInfo *err; * -# RFAILED **/ #ifdef ANSI -PUBLIC S16 rgDHMHndlDedDatReq +S16 rgDHMHndlDedDatReq ( Inst inst, RgDlHqProcCb *hqProc, @@ -714,7 +680,7 @@ RgDlSf *dlSf, RgErrInfo *err ) #else -PUBLIC S16 rgDHMHndlDedDatReq(inst,hqProc, datReq, dlSf, err) +S16 rgDHMHndlDedDatReq(inst,hqProc, datReq, dlSf, err) Inst inst; RgDlHqProcCb *hqProc; RgRguDDatReqPerUe *datReq; @@ -731,8 +697,6 @@ RgErrInfo *err; RgTfuDatReqTbInfo *tb; #endif - TRC2(rgDHMHndlDedDatReq); - tbIndex = (U8)(datReq->transId & 0x03); /* Accept all the data requests even if delayed in case nothing * has been sent earlier on the harq proc. @@ -749,7 +713,7 @@ RgErrInfo *err; } rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); } - RETVALUE(RFAILED); + return RFAILED; } for(i=0;inmbOfTbs;i++) @@ -773,7 +737,7 @@ RgErrInfo *err; rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); printf("\nrgDHMHndlDedDatReq:: hqP %p \n", (Void *)hqProc); } - RETVALUE(RFAILED); + return RFAILED; } #ifndef L2_OPTMZ @@ -821,13 +785,13 @@ RgErrInfo *err; } rgDHMRlsHqProcTB(rgCb[inst].cell, hqProc, (U8)(j+1)); } - RETVALUE(RFAILED); + return RFAILED; } /* SFndLenMsg(hqProc->tbInfo[i].tb, &len); */ } - RETVALUE(ROK); + return ROK; } /* rgDHMHndlDedDatReq */ /** @@ -851,7 +815,7 @@ RgErrInfo *err; * -# RFAILED **/ #ifdef ANSI -PUBLIC S16 rgDHMHndlCmnDatReq +S16 rgDHMHndlCmnDatReq ( Inst inst, RgDlHqProcCb *hqProc, @@ -859,7 +823,7 @@ RgRguCmnDatReq *datReq, RgErrInfo *err ) #else -PUBLIC S16 rgDHMHndlCmnDatReq(inst,hqProc, datReq, err) +S16 rgDHMHndlCmnDatReq(inst,hqProc, datReq, err) Inst inst; RgDlHqProcCb *hqProc; RgRguCmnDatReq *datReq; @@ -869,8 +833,6 @@ RgErrInfo *err; RgUstaDgn dgn; RgBldPduInfo bldPdu; - TRC2(rgDHMHndlCmnDatReq) - #ifndef L2_OPTMZ if (hqProc->tbInfo[0].tb != NULLP) #else @@ -882,7 +844,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; @@ -904,10 +866,10 @@ RgErrInfo *err; hqProc->tbInfo[0].pdcch.rnti); RG_FREE_MSG(datReq->pdu); - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } /* rgDHMHndlCmnDatReq */ /** @@ -934,7 +896,7 @@ RgErrInfo *err; **/ RgUeCb *gUe =NULLP; #ifdef ANSI -PUBLIC S16 rgDHMSndConsolidatedStaInd +S16 rgDHMSndConsolidatedStaInd ( RgCellCb *cell, RgInfUeInfo *ueInfo, @@ -942,7 +904,7 @@ CmLteTimingInfo timingInfo, RgErrInfo *err ) #else -PUBLIC S16 rgDHMSndConsolidatedStaInd(cell, ueInfo, timingInfo, err) +S16 rgDHMSndConsolidatedStaInd(cell, ueInfo, timingInfo, err) RgCellCb *cell; RgInfUeInfo *ueInfo; CmLteTimingInfo timingInfo; @@ -973,9 +935,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++) @@ -1142,7 +1103,7 @@ RgErrInfo *err; { err->errType = RGERR_DHM_SND_STA_IND; err->errCause = RG_DHM_MEM_ALLOC_FAIL; - RETVALUE(RFAILED); + return RFAILED; } } @@ -1191,7 +1152,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; @@ -1280,7 +1241,7 @@ RgErrInfo *err; } } - RETVALUE(ROK); + return ROK; } /* rgDHMSndConsolidatedStaInd */ @@ -1330,7 +1291,6 @@ RgTfuDatReqPduInfo *datReq; #ifdef L2_OPTMZ U32 lchIdx, pduIdx; #endif - TRC2(rgDHMBldTfuDatReq) datReq->nmbOfTBs = 0; #ifndef L2_OPTMZ @@ -1471,13 +1431,13 @@ RgTfuDatReqPduInfo *datReq; * **/ #ifdef ANSI -PUBLIC S16 rgDHMFreeHqProcTB +S16 rgDHMFreeHqProcTB ( RgDlHqProcCb *hqP, U8 tbIndex ) #else -PUBLIC S16 rgDHMFreeHqProcTB(hqP, tbIndex) +S16 rgDHMFreeHqProcTB(hqP, tbIndex) RgDlHqProcCb *hqP; U8 tbIndex; #endif @@ -1485,12 +1445,10 @@ U8 tbIndex; RgTfuDatReqTbInfo *tb; /* TB to be sent to CL/PHY*/ U8 idx; - TRC2(rgDHMFreeHqProcTB) - if((tbIndex > RG_MAX_TB_PER_UE) || (tbIndex == 0)) { - RETVALUE(RFAILED); + return RFAILED; } tb = &(hqP->tbInfo[tbIndex-1].tb); @@ -1508,7 +1466,7 @@ U8 tbIndex; } hqP->tbInfo[tbIndex-1].sfLnkInfo[idx].sf = NULLP; } - RETVALUE(ROK); + return ROK; } #endif @@ -1530,19 +1488,18 @@ U8 tbIndex; * **/ #ifdef ANSI -PUBLIC Void rgDHMFreeUe +Void rgDHMFreeUe ( Inst inst, RgDlHqEnt *hqE ) #else -PUBLIC Void rgDHMFreeUe(inst,hqE) +Void rgDHMFreeUe(inst,hqE) Inst inst; RgDlHqEnt *hqE; #endif { U8 i; - TRC2(rgDHMFreeUe) if(hqE->procs) { @@ -1588,13 +1545,13 @@ RgDlHqEnt *hqE; * -# ROK **/ #ifdef ANSI -PUBLIC S16 RgSchMacRstHqEntReq +S16 RgSchMacRstHqEntReq ( Pst* pst, RgInfResetHqEnt* hqEntInfo ) #else -PUBLIC S16 RgSchMacRstHqEntReq(pst, hqEntInfo) +S16 RgSchMacRstHqEntReq(pst, hqEntInfo) Pst* pst; RgInfResetHqEnt* hqEntInfo; #endif @@ -1610,19 +1567,19 @@ 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; @@ -1646,13 +1603,13 @@ U32 gSaveVal; * -# ROK **/ #ifdef ANSI -PUBLIC S16 RgSchMacRlsHqReq +S16 RgSchMacRlsHqReq ( Pst *pst, RgInfRlsHqInfo *rlshqUeInfo ) #else -PUBLIC S16 RgSchMacRlsHqReq(pst, rlshqUeInfo) +S16 RgSchMacRlsHqReq(pst, rlshqUeInfo) Pst *pst; RgInfRlsHqInfo *rlshqUeInfo; #endif @@ -1669,8 +1626,6 @@ RgInfRlsHqInfo *rlshqUeInfo; #endif U32 startTime=0; - TRC2(RgSchMacRlsHqReq) - RG_IS_INST_VALID(pst->dstInst); inst = pst->dstInst - RG_INST_START; cell = rgCb[inst].cell; @@ -1679,7 +1634,7 @@ RgInfRlsHqInfo *rlshqUeInfo; if(NULLP == rlshqUeInfo) { - RETVALUE(RFAILED); + return RFAILED; } if((cell == NULLP) @@ -1688,12 +1643,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++) @@ -1802,7 +1757,7 @@ RgInfRlsHqInfo *rlshqUeInfo; /*starting Task*/ SStopTask(startTime,PID_MAC_AM_HARQ_RLS); - RETVALUE(ROK); + return ROK; } /* end of RgSchMacRlsHqReq */