X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_rom.c;h=48e31f281c6b8b7c7084c5230d07c0c2784d97bc;hb=4d45b914f9e94203603d3b9fdbcb1aad361301dd;hp=06886fff97f0c9161b26c4b73062de6aa7a9eac4;hpb=829bbd114f1c3dc00c1da47bca0a8207c049df3f;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_rom.c b/src/5gnrmac/rg_rom.c index 06886fff9..48e31f281 100755 --- a/src/5gnrmac/rg_rom.c +++ b/src/5gnrmac/rg_rom.c @@ -37,19 +37,7 @@ static int RLOG_FILE_ID=184; static int RLOG_MODULE_ID=4096; /* header include files (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ - -#include "gen.h" /* general */ -#include "ssi.h" /* system services */ - -#include "cm_tkns.h" /* Common Token Defines */ -#include "cm_llist.h" /* Common Link List Defines */ -#include "cm_hash.h" /* Common Hash List Defines */ -#include "cm_mblk.h" /* common memory link list library */ -#include "cm_lte.h" /* Common LTE */ - +#include "common_def.h" #include "rg_env.h" /* MAC Environment Defines */ #include "crg.h" /* CRG Interface defines */ #include "rgu.h" /* RGU Interface defines */ @@ -61,15 +49,6 @@ static int RLOG_MODULE_ID=4096; #include "rg_err.h" /* MAC error defines */ /* header/extern include files (.x) */ -#include "gen.x" /* general */ -#include "ssi.x" /* system services */ -#include "cm5.x" /* Timer */ -#include "cm_tkns.x" /* Common Token Definitions */ -#include "cm_llist.x" /* Common Link List Definitions */ -#include "cm_lib.x" /* Common Library Definitions */ -#include "cm_hash.x" /* Common Hash List Definitions */ -#include "cm_mblk.x" /* common memory link list library */ -#include "cm_lte.x" /* Common LTE */ #include "crg.x" /* CRG Interface includes */ #include "rgu.x" /* RGU Interface includes */ @@ -78,6 +57,7 @@ static int RLOG_MODULE_ID=4096; #include "rg_prg.x" /* PRG Interface includes */ #include "lrg.x" /* LRG Interface includes */ +#include "du_app_mac_inf.h" #include "rg.x" /* MAC includes */ /* local defines */ @@ -136,6 +116,7 @@ Inst inst; RgRguDedDatReq *datReq; #endif { +#if 0 RgCellCb *cell; RgUeCb *ue; U8 idx1,idx2; @@ -174,22 +155,22 @@ RgRguDedDatReq *datReq; /* Update stats */ rgUpdtRguDedSts(inst,cell->rguDlSap,RG_RGU_SDU_DROP, datReq); } - RETVALUE(RFAILED); + return RFAILED; } /* Add loop here to scan for all UEs in the consolidated DDatReq*/ for(idx = 0; idx < datReq->nmbOfUeGrantPerTti; idx++) { - timingInfo.subframe = (U8)((datReq->datReq[idx].transId >> 8) & 0XFF); + timingInfo.slot = (U8)((datReq->datReq[idx].transId >> 8) & 0XFF); timingInfo.sfn = (U16)((datReq->datReq[idx].transId >> 16) & 0xFFFF); - sf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)]; + sf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)]; if( (sf->txDone == TRUE) || (!RG_TIMEINFO_SAME(sf->schdTime,timingInfo))) { #if (ERRCLASS & ERRCLS_DEBUG) - /* Transmission is already done for this subframe. This is a delayed + /* Transmission is already done for this slot. This is a delayed * datReq. So discard */ rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_MEM); rgLMMStaInd(inst,LCM_CATEGORY_PROTOCOL, LCM_EVENT_UI_INV_EVT, @@ -209,7 +190,7 @@ RgRguDedDatReq *datReq; RG_DROP_RGUDDATREQ_MBUF(datReq->datReq[idx]); #endif continue; - // RETVALUE(RFAILED); + // return RFAILED; } if ((ue = rgDBMGetUeCb(cell, datReq->datReq[idx].rnti)) == NULLP) @@ -235,7 +216,7 @@ RgRguDedDatReq *datReq; RG_DROP_RGUDDATREQ_MBUF(datReq->datReq[idx]); #endif /* Return from here as above functions found more datReq than expected*/ - /* RETVALUE(ret); */ + /* return (ret); */ } #endif /* Conitnue for next UE */ @@ -268,7 +249,7 @@ RgRguDedDatReq *datReq; RG_DROP_RGUDDATREQ_MBUF(datReq->datReq[idx]); #endif /* Return from here as above functions found more datReq than expected*/ - //RETVALUE(ret); + //return (ret); } #endif continue; @@ -304,7 +285,7 @@ RgRguDedDatReq *datReq; #ifdef CCPU_OPT boRpt.setMaxDlPrio= datReq->datReq[idx].datReqTb[idx1].lchData[idx2].boReport.staPduPrsnt; #endif - //TODO: commented for compilation without SCH RgMacSchDedBoUpdt(&schPst, &boRpt); + RgMacSchDedBoUpdt(&schPst, &boRpt); } } @@ -321,13 +302,14 @@ RgRguDedDatReq *datReq; RG_DROP_RGUDDATREQ_MBUF(datReq->datReq[idx]); #endif /* Return from here as above functions found more datReq than expected*/ - // RETVALUE(ret); + // return (ret); } #endif } /* for loop for num of Ue per TTI*/ +#endif /* Data send successfully to PHY. lets retuns ROK*/ - RETVALUE(ROK); + return ROK; } /* rgROMDedDatReq */ @@ -387,7 +369,7 @@ RgRguCmnDatReq *datReq; { rgUpdtRguCmnSts(inst,cell->rguDlSap,RG_RGU_SDU_DROP); } - RETVALUE(RFAILED); + return RFAILED; } if (datReq->lcId == cell->dlCcchId) @@ -397,7 +379,7 @@ RgRguCmnDatReq *datReq; /*Get the timing Info*/ /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ - timingInfo.subframe = (U8)((datReq->transId >> 8) & 0XFF); + timingInfo.slot = (U8)((datReq->transId >> 8) & 0XFF); timingInfo.sfn = (U16)((datReq->transId >> 16) & 0xFFFF); #endif } @@ -408,7 +390,7 @@ RgRguCmnDatReq *datReq; /*Get the timing Info*/ /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ - timingInfo.subframe = (U8)(datReq->transId & 0XFF); + timingInfo.slot = (U8)(datReq->transId & 0XFF); timingInfo.sfn = (U16)((datReq->transId >> 8) & 0xFFFF); #endif } @@ -426,14 +408,14 @@ RgRguCmnDatReq *datReq; /* ADD Changes for Downlink UE Timing Optimization */ #ifdef LTEMAC_DLUE_TMGOPTMZ - RG_ARRAY_BOUND_CHECK(0, cell->subFrms, (timingInfo.subframe % RG_NUM_SUB_FRAMES)); - sf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)]; + RG_ARRAY_BOUND_CHECK(0, cell->subFrms, (timingInfo.slot % RG_NUM_SUB_FRAMES)); + sf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)]; ret = rgROMUpdDlSfRemDataCnt(cell, sf); /*Added check for RFAILED as above function can return RFAILED*/ #endif - RETVALUE(ret); + return (ret); } /* rgROMCmnDatReq */ /** @@ -493,26 +475,26 @@ RgErrInfo *err; "rgROMHndlCcchDatReq(): Invalid ue Id"); #endif err->errCause = RGERR_ROM_INV_UE_ID; - RETVALUE(RFAILED); + return RFAILED; } } - timingInfo.subframe = (U8)((datReq->transId >> 8) & 0XFF); + timingInfo.slot = (U8)((datReq->transId >> 8) & 0XFF); timingInfo.sfn = (U16)((datReq->transId >> 16) & 0xFFFF); - sf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)]; + sf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)]; if( (sf->txDone == TRUE) || (!RG_TIMEINFO_SAME(sf->schdTime,timingInfo))) { #if (ERRCLASS & ERRCLS_DEBUG) - /* Transmission is already done for this subframe. This is a delayed + /* Transmission is already done for this slot. This is a delayed * datReq. So discard */ rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_MEM); rgLMMStaInd(inst,LCM_CATEGORY_PROTOCOL, LCM_EVENT_UI_INV_EVT, LRG_CAUSE_DELAYED_DATREQ, &dgn); #endif err->errCause = RGERR_ROM_DELAYED_DATREQ; - RETVALUE(RFAILED); + return RFAILED; } hqPId = (U8)(datReq->transId); @@ -531,10 +513,10 @@ RgErrInfo *err; /* Release First TB */ rgDHMRlsHqProcTB(cell, hqProc, 1); /* err shall be filled in appropriately by DHM */ - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } /* rgROMHndlCcchDatReq */ @@ -585,52 +567,52 @@ RgErrInfo *err; TRC2(rgROMHndlBcchPcchDatReq); - timingInfo.subframe = (U8)(datReq->transId & 0XFF); + timingInfo.slot = (U8)(datReq->transId & 0XFF); timingInfo.sfn = (U16)((datReq->transId >> 8) & 0xFFFF); - sf = &cell->subFrms[(timingInfo.subframe % RG_NUM_SUB_FRAMES)]; + sf = &cell->subFrms[(timingInfo.slot % RG_NUM_SUB_FRAMES)]; if( (sf->txDone == TRUE) || (!RG_TIMEINFO_SAME(sf->schdTime,timingInfo))) { #if (ERRCLASS & ERRCLS_DEBUG) - /* Transmission is already done for this subframe. This is a delayed + /* Transmission is already done for this slot. This is a delayed * datReq. So discard */ rgFillDgnParams(inst,&dgn, LRG_USTA_DGNVAL_MEM); rgLMMStaInd(inst,LCM_CATEGORY_PROTOCOL, LCM_EVENT_UI_INV_EVT, LRG_CAUSE_DELAYED_DATREQ, &dgn); #endif err->errCause = RGERR_ROM_DELAYED_DATREQ; - RETVALUE(RFAILED); + return RFAILED; } #ifndef RGR_SI_SCH bcch = rgDBMGetBcchOnDlsch(cell,datReq->lcId); if (bcch ) { - /* Store BCCH-DLSCH data received in Scheduled subframe */ + /* Store BCCH-DLSCH data received in Scheduled slot */ sf->bcch.tb = datReq->pdu; SCpyMsgMsg(datReq->pdu, RG_GET_MEM_REGION(rgCb[inst]), RG_GET_MEM_POOL(rgCb[inst]), &bcch->tb); - RETVALUE(ROK); + return ROK; } bch = rgDBMGetBcchOnBch(cell); if ((bch) && (bch->lcId == datReq->lcId)) { - /* Store BCH data received in Scheduled subframe */ + /* Store BCH data received in Scheduled slot */ sf->bch.tb = datReq->pdu; - RETVALUE(ROK); + return ROK; } #endif/*RGR_SI_SCH*/ pcch = rgDBMGetPcch(cell); if ((pcch) && (pcch->lcId == datReq->lcId)) { - /* Store PCCH-DLSCH data received in Scheduled subframe */ + /* Store PCCH-DLSCH data received in Scheduled slot */ sf->pcch.tb = datReq->pdu; - RETVALUE(ROK); + return ROK; } /* Handle lcCb fetch failure */ @@ -638,7 +620,7 @@ RgErrInfo *err; "rgROMHndlBcchPcchDatReq(): Invalid Lc Id"); err->errCause = RGERR_ROM_INV_LC_ID; - RETVALUE(RFAILED); + return RFAILED; } /* rgROMHndlBcchPcchDatReq */ /** @@ -683,25 +665,27 @@ RgRguDedStaRsp *staRsp; if(((cell = rgCb[inst].cell) != NULLP) && (cell->cellId == staRsp->cellId)) { - RgInfDedBoRpt boRpt; Pst schPst; - boRpt.cellSapId = cell->schInstMap.cellSapId; - boRpt.cellId = staRsp->cellId; - boRpt.rnti = staRsp->rnti; - boRpt.lcId = staRsp->lcId; - boRpt.bo = staRsp->boReport.bo; - boRpt.oldestSduArrTime = staRsp->boReport.oldestSduArrTime; - boRpt.staPduBo = staRsp->boReport.staPduBo; - boRpt.oldestSduArrTime = staRsp->boReport.oldestSduArrTime; - rgGetPstToInst(&schPst,inst, cell->schInstMap.schInst); +#ifdef UNUSED_VAR + RgInfDedBoRpt boRpt + boRpt.cellSapId = cell->schInstMap.cellSapId; + boRpt.cellId = staRsp->cellId; + boRpt.rnti = staRsp->rnti; + boRpt.lcId = staRsp->lcId; + boRpt.bo = staRsp->boReport.bo; + boRpt.oldestSduArrTime = staRsp->boReport.oldestSduArrTime; + boRpt.staPduBo = staRsp->boReport.staPduBo; + boRpt.oldestSduArrTime = staRsp->boReport.oldestSduArrTime; +#endif + rgGetPstToInst(&schPst,inst, cell->schInstMap.schInst); schPst.event = 0; //TODO: commented for compilation without SCH RgMacSchDedBoUpdt(&schPst, &boRpt); - RETVALUE(ROK); + return ROK; } RLOG_ARG2(L_ERROR,DBG_CELLID,staRsp->cellId,"Invalid cell for CRNTI:%d LCID:%d ", staRsp->rnti,staRsp->lcId); - RETVALUE(RFAILED); + return RFAILED; } /* rgROMDedStaRsp */ S16 RgMacSchBrdcmDedBoUpdtReq( @@ -712,23 +696,26 @@ CmLteLcId lcId, S32 bo ) { - RgInfDedBoRpt boRpt; + RgCellCb *cell; //if ((cell = rgDBMGetCellCb(cellId)) != NULLP) if (((cell = rgCb[inst].cell) != NULLP) && (cell->cellId == cellId)) - { + { Pst schPst; - boRpt.cellSapId = cell->schInstMap.cellSapId; - boRpt.cellId = cellId; - boRpt.rnti = rnti; - boRpt.lcId = lcId; - boRpt.bo = bo; +#ifdef UNUSED_VAR + RgInfDedBoRpt boRpt; + boRpt.cellSapId = cell->schInstMap.cellSapId; + boRpt.cellId = cellId; + boRpt.rnti = rnti; + boRpt.lcId = lcId; + boRpt.bo = bo; +#endif rgGetPstToInst(&schPst,inst, cell->schInstMap.schInst); schPst.event = 0; //TODO: commented for compilation without SCH RgMacSchDedBoUpdtReq (&schPst,&boRpt); } - RETVALUE(ROK); + return ROK; } /** * @brief Handler for StaRsp received on RGU for a common logical channel. @@ -774,7 +761,7 @@ RgRguCmnStaRsp *staRsp; "Invalid cell for CRNTI:%d LCID:%d",staRsp->u.rnti,staRsp->lcId); err.errType = RGERR_ROM_CMNSTARSP; err.errCause = RGERR_ROM_INV_CELL_ID; - RETVALUE(RFAILED); + return RFAILED; } /* handle status response on CCCH */ @@ -787,7 +774,7 @@ RgRguCmnStaRsp *staRsp; rgROMHndlBcchPcchStaRsp(cell, staRsp, &err); } - RETVALUE(ROK); + return ROK; } /* rgROMCmnStaRsp */ #ifdef LTE_L2_MEAS @@ -848,12 +835,12 @@ RgRguL2MUlThrpMeasReq *measReq; } } } - RETVALUE(ROK); + return ROK; } } RLOG_ARG1(L_ERROR,DBG_CELLID,measReq->cellId,"Invalid cell CRNTI:%d", measReq->rnti); - RETVALUE(RFAILED); + return RFAILED; } /* rgROML2MUlThrpMeasReq */ #endif @@ -892,21 +879,22 @@ RgErrInfo *err; { Pst schPst; Inst macInst = cell->macInst - RG_INST_START; - RgInfCmnBoRpt boRpt; + //RgInfCmnBoRpt boRpt; TRC2(rgROMHndlCcchStaRsp); - - +#ifdef UNUSED_VAR + RgInfCmnBoRpt boRpt; boRpt.cellSapId = cell->schInstMap.cellSapId; boRpt.cellId = staRsp->cellId; boRpt.u.rnti = staRsp->u.rnti; boRpt.lcId = staRsp->lcId; boRpt.lcType = staRsp->lcType; boRpt.bo = staRsp->bo; +#endif rgGetPstToInst(&schPst,macInst, cell->schInstMap.schInst); //TODO: commented for compilation without SCH RgMacSchCmnBoUpdt(&schPst, &boRpt); - RETVALUE(ROK); + return ROK; } /* rgROMHndlCcchStaRsp */ @@ -942,7 +930,7 @@ RgErrInfo *err; #endif { Pst schPst; - RgInfCmnBoRpt boRpt; + //RgInfCmnBoRpt boRpt; Inst macInst = cell->macInst - RG_INST_START; TRC2(rgROMHndlBcchPcchStaRsp); @@ -953,7 +941,7 @@ RgErrInfo *err; /* Handle lcCb fetch failure */ RLOG_ARG1(L_ERROR,DBG_CELLID,cell->cellId,"Invalid LCID:%d",staRsp->lcId); err->errCause = RGERR_ROM_INV_LC_ID; - RETVALUE(RFAILED); + return RFAILED; } /* MS_WORKAROUND : This is to ensure that the queue for BCH is not filled with old BO requests : This assumes that BO is not received more than 4 frames in advance from the enodeb application */ @@ -963,18 +951,18 @@ RgErrInfo *err; nextBchSfn = (cell->crntTime.sfn + 4 - (cell->crntTime.sfn%4)) % RG_MAX_SFN; if ((staRsp->u.timeToTx.sfn != nextBchSfn) || - ((staRsp->u.timeToTx.sfn == cell->crntTime.sfn) && (cell->crntTime.subframe >= 7))) + ((staRsp->u.timeToTx.sfn == cell->crntTime.sfn) && (cell->crntTime.slot >= 7))) { - RETVALUE(ROK); + return ROK; } } - +/* boRpt.cellSapId = cell->schInstMap.cellSapId; boRpt.cellId = staRsp->cellId; boRpt.u.timeToTx = staRsp->u.timeToTx; boRpt.lcId = staRsp->lcId; boRpt.lcType = staRsp->lcType; - boRpt.bo = staRsp->bo; + boRpt.bo = staRsp->bo;*/ #ifdef EMTC_ENABLE if(cell->emtcEnable) { @@ -988,7 +976,7 @@ RgErrInfo *err; rgGetPstToInst(&schPst,macInst, cell->schInstMap.schInst); //TODO: commented for compilation without SCH RgMacSchCmnBoUpdt(&schPst, &boRpt); - RETVALUE(ROK); + return ROK; } /* rgROMHndlBcchPcchStaRsp */ /* ADD Changes for Downlink UE Timing Optimization */ @@ -1032,7 +1020,7 @@ RgDlSf *dlSf; * request than the allocation. Do nothing for this. */ RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId, "RX new data while remDatReqCnt is 0 for cell"); - RETVALUE(RFAILED); + return RFAILED; } /*Decrement the remaining data request to be received countter @@ -1050,7 +1038,7 @@ RgDlSf *dlSf; if (ROK != rgTOMUtlProcDlSf (dlSf, cellCb, &err)) { RLOG_ARG0(L_ERROR,DBG_CELLID,cellCb->cellId, - "Unable to process downlink subframe for cell"); + "Unable to process downlink slot for cell"); err.errType = RGERR_ROM_DEDDATREQ; } @@ -1058,7 +1046,7 @@ RgDlSf *dlSf; dlSf->txDone = TRUE; } - RETVALUE(ROK); + return ROK; } /* rgROMUpdDlSfRemDataCnt*/ #endif