X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_lmm.c;h=51742fbe216aa27c9285742fa3e6befb2ccdf576;hb=e0ab592152182a8a00aa8e7968209d2c4152e1e9;hp=186599df7f6fe799a86e56652dea037953ee545c;hpb=dcf40f0b1856cf1fad8209661067cf6e0aa9837a;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lmm.c b/src/5gnrmac/rg_lmm.c index 186599df7..51742fbe2 100755 --- a/src/5gnrmac/rg_lmm.c +++ b/src/5gnrmac/rg_lmm.c @@ -45,6 +45,7 @@ #include "rgr.h" /* LRG Interface defines */ #include "rg.h" /* MAC defines */ #include "rg_err.h" /* MAC error defines */ +#include "mac_utils.h" /* header/extern include files (.x) */ #include "crg.x" /* CRG Interface includes */ @@ -61,12 +62,11 @@ #endif #include "ss_rbuf.h" #include "ss_rbuf.x" -#include "lwr_mac.h" /* MAC CL defines */ #include "mac_sch_interface.h" #include "lwr_mac_upr_inf.h" #include "mac.h" -#include "lwr_mac_phy.h" #include "lwr_mac_fsm.h" +#include "lwr_mac_phy.h" #ifdef __cplusplus extern "C" { @@ -77,7 +77,6 @@ Void rgGetSId ARGS((SystemId *s)); #endif /* __cplusplus */ /* Public variable declaration */ -LwrMacCb lwrMacCb; MacCb macCb; /* forward references */ @@ -186,19 +185,11 @@ Reason reason /* reason */ SAttachSRngBuf(SS_RNG_BUF_ULMAC_TO_ULRLC, SS_RBUF_ENT_ULRLC,SS_RNG_RX); #endif - /* Initializing CL control block */ - memset(&lwrMacCb, 0, sizeof(LwrMacCb)); - lwrMacCb.region = region; - lwrMacCb.pool = 0; - lwrMacCb.clCfgDone = TRUE; - lwrMacCb.numCell = 0; - lwrMacCb.phyState = PHY_STATE_IDLE; - /* Initialize Scheduler as well */ - schActvInit(ENTMAC, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP); + schActvInit(ENTMAC, SCH_INST_START, DFLT_REGION, PWR_UP); /* Initialize lower mac */ - lwrMacLayerInit(); + lwrMacLayerInit(region, 0); return ROK; @@ -258,8 +249,6 @@ RgMngmt *cfg /* config structure */ #ifdef INTEL_WLS_MEM /* Start WLS message receiver thread */ LwrMacStartWlsRcvr(); - /* Allocate memory for UL transmissions */ - LwrMacEnqueueWlsBlock(); #endif reason = rgLMMGenCfg(inst,&cfg->t.cfg); break; @@ -495,7 +484,7 @@ RgMngmt *sta /* status structure */ if (sta->t.ssta.s.sysId.ptNmb != NULLP) { - SPutSBuf(pst->region, pst->pool, (Data *)sta->t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE); + MAC_FREE(sta->t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE); } memset(&cfm, 0, sizeof(RgMngmt)); @@ -508,9 +497,8 @@ RgMngmt *sta /* status structure */ if(rgCb[inst].rgInit.cfgDone != TRUE) { SGetDateTime(&cfm.t.ssta.dt); - if (SGetSBuf(cfmPst.region, cfmPst.pool, - (Data **)&(cfm.t.ssta.s.sysId.ptNmb), LRG_MAX_PT_NUM_SIZE) - != ROK) + MAC_ALLOC(cfm.t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE); + if(cfm.t.ssta.s.sysId.ptNmb == NULLP) { DU_LOG("\nERROR --> MAC : Memory Unavailable for Confirmation"); return ROK; @@ -529,9 +517,8 @@ RgMngmt *sta /* status structure */ { case STGEN: SGetDateTime(&cfm.t.ssta.dt); - if (SGetSBuf(cfmPst.region, cfmPst.pool, - (Data **)&(cfm.t.ssta.s.sysId.ptNmb), LRG_MAX_PT_NUM_SIZE) - != ROK) + MAC_ALLOC(cfm.t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE); + if(cfm.t.ssta.s.sysId.ptNmb == NULLP) { DU_LOG("\nERROR --> MAC : Memory Unavailable for Confirmation"); return ROK; @@ -848,6 +835,7 @@ RgCfg *cfg /* Configuaration information */ rgCb[inst].rgInit.pool = cfg->s.genCfg.mem.pool; rgCb[inst].genCfg.tmrRes = cfg->s.genCfg.tmrRes; + macCb.tmrRes = cfg->s.genCfg.tmrRes; macCb.macInst = rgCb[inst].rgInit.inst; macCb.procId = rgCb[inst].rgInit.procId; @@ -861,10 +849,8 @@ RgCfg *cfg /* Configuaration information */ } /* allocate RGR saps */ - if (SGetSBuf(rgCb[inst].rgInit.region, - rgCb[inst].rgInit.pool, - (Data **)&rgCb[inst].rguSap, - (sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps)) != ROK) + MAC_ALLOC(rgCb[inst].rguSap, sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps); + if(rgCb[inst].rguSap == NULLP) { DU_LOG("\nERROR --> MAC : rgGenCfg(): Failed to allocate mem for RGU SAP's.\n"); return RFAILED; @@ -878,28 +864,25 @@ RgCfg *cfg /* Configuaration information */ } rgCb[inst].tfuSap.sapSta.sapState = LRG_NOT_CFG; /* Initialize the timer blocks */ - cmInitTimers(rgCb[inst].tmrBlk, RG_MAX_TIMER); + cmInitTimers(macCb.tmrBlk, MAX_NUM_TIMER); /* Initialzie the timer queue */ - memset(&rgCb[inst].tmrTq, 0, sizeof(CmTqType)*RG_TQ_SIZE); + memset(&macCb.tmrTq, 0, sizeof(CmTqType) * MAC_TQ_SIZE); /* Initialize the timer control point */ - memset(&rgCb[inst].tmrTqCp, 0, sizeof(CmTqCp)); - rgCb[inst].tmrTqCp.tmrLen = RG_TQ_SIZE; -#if 0 + memset(&macCb.tmrTqCp, 0, sizeof(CmTqCp)); + macCb.tmrTqCp.tmrLen = MAC_TQ_SIZE; + /* Timer Registration request to SSI */ - if (SRegTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst, - (S16)rgCb[inst].genCfg.tmrRes, rgActvTmr) != ROK) + if(ODU_REG_TMR_MT(ENTMAC, macCb.macInst, macCb.tmrRes, macActvTmr) != ROK) { DU_LOG("\nERROR --> MAC : Failed to register timer"); - SPutSBuf(rgCb[inst].rgInit.region, - rgCb[inst].rgInit.pool, - (Data *)rgCb[inst].rguSap, + MAC_FREE(rgCb[inst].rguSap, (sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps)); return (LCM_REASON_MEM_NOAVAIL); } -#endif + /* Set Config done in TskInit */ rgCb[inst].rgInit.cfgDone = TRUE; @@ -957,18 +940,15 @@ static Void rgLMMShutdown(Inst inst) } /* Deleting the RGU SAPs */ - SPutSBuf(rgCb[inst].rgInit.region, - rgCb[inst].rgInit.pool, - (Data *)rgCb[inst].rguSap, + MAC_FREE(rgCb[inst].rguSap, (sizeof(RgUpSapCb) * rgCb[inst].numRguSaps)); - rgCb[inst].rguSap = NULLP; rgCb[inst].inactiveCell = NULLP; rgCb[inst].cell = NULLP; /* De-register the Timer Service */ (Void) SDeregTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst, - (S16)rgCb[inst].genCfg.tmrRes, rgActvTmr); + (S16)rgCb[inst].genCfg.tmrRes, macActvTmr); /* call back the task initialization function to intialize * the global RgCb Struct */ @@ -1629,7 +1609,7 @@ uint8_t event /* event */ return; } - if (SGetMsg(pst.region, pst.pool, &dstMbuf) != ROK) + if (ODU_GET_MSG_BUF(pst.region, pst.pool, &dstMbuf) != ROK) { DU_LOG("\nERROR --> MAC : dstMbuf Allocation Failed"); return; @@ -1756,31 +1736,6 @@ uint8_t status /* Status */ return (ret); } - -/** - * @brief LTE MAC timer call back function registered with SSI. - * - * @details - * - * Function : rgActvTmr - * - * This function is invoked by SSI for every timer activation - * period expiry. - * - * @return S16 - * -# ROK - **/ -S16 rgActvTmr(Ent ent,Inst inst) -{ - Inst macInst = (inst - RG_INST_START); - - /* Check if any MAC timer has expired */ - cmPrcTmr(&rgCb[macInst].tmrTqCp, rgCb[macInst].tmrTq, (PFV) rgLMMTmrExpiry); - - return ROK; - -} /* end of rgActvTmr */ - /********************************************************************** End of file