X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrmac%2Frg_lmm.c;h=3065bfbafeee7e45d8438d71eeb27ef689d871aa;hb=4d45b914f9e94203603d3b9fdbcb1aad361301dd;hp=e3dd82ed0f1f11a2f35428b3d64019533de322d0;hpb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lmm.c b/src/5gnrmac/rg_lmm.c index e3dd82ed0..3065bfbaf 100755 --- a/src/5gnrmac/rg_lmm.c +++ b/src/5gnrmac/rg_lmm.c @@ -38,47 +38,39 @@ static int RLOG_FILE_ID=220; 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 Defines */ +#include "common_def.h" #include "rg_env.h" /* MAC Environment Defines */ #include "crg.h" /* CRG Interface defines */ #include "rgu.h" /* RGU Interface defines */ #include "tfu.h" /* RGU Interface defines */ -#include "rg_sch_inf.h" /* RGR Interface defines */ +#include "rg_sch_inf.h" /* RGR Interface defines */ #include "lrg.h" /* LRG Interface defines */ +#include "rgr.h" /* LRG Interface defines */ #include "rg.h" /* MAC defines */ #include "rg_err.h" /* MAC error defines */ /* header/extern include files (.x) */ -#include "gen.x" /* general */ -#include "ssi.x" /* system services */ -#include "cm5.x" /* system services */ -#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 Defines */ #include "crg.x" /* CRG Interface includes */ #include "rgu.x" /* RGU Interface includes */ #include "tfu.x" /* RGU Interface includes */ #include "rg_sch_inf.x" /* SCH Interface includes */ #include "rg_prg.x" /* PRG Interface includes */ #include "lrg.x" /* LRG Interface includes */ +#include "rgr.x" /* LRG Interface includes */ +#include "du_app_mac_inf.h" #include "rg.x" /* MAC includes */ #ifdef SS_DIAG #include "ss_diag.h" /* Common log file */ #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" + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -87,6 +79,9 @@ EXTERN Void rgGetSId ARGS((SystemId *s)); } #endif /* __cplusplus */ +/* Public variable declaration */ +LwrMacCb lwrMacCb; +extern MacCb macCb; /* forward references */ PRIVATE U16 rgLMMGenCfg ARGS(( @@ -202,7 +197,22 @@ Reason reason; /* reason */ SAttachSRngBuf(SS_RNG_BUF_ULMAC_TO_ULRLC, SS_RBUF_ENT_ULMAC,SS_RNG_TX); SAttachSRngBuf(SS_RNG_BUF_ULMAC_TO_ULRLC, SS_RBUF_ENT_ULRLC,SS_RNG_RX); #endif - RETVALUE(ROK); + + /* 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(ENTRG, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP); + + /* Initialize lower mac */ + lwrMacInit(); + + return ROK; } /* rgActvInit */ @@ -291,7 +301,7 @@ RgMngmt *cfg; /* config structure */ RgMiLrgCfgCfm(&cfmPst, &cfm); - RETVALUE(ROK); + return ROK; }/*-- RgMiLrgCfgReq --*/ @@ -356,7 +366,7 @@ RgMngmt *sts; /* statistics structure */ cfm.cfm.reason = LCM_REASON_GENCFG_NOT_DONE; RgMiLrgStsCfm(&cfmPst,&cfm); RLOG0(L_ERROR, "Gen Cfg not done"); - RETVALUE(ROK); + return ROK; } switch(sts->hdr.elmId.elmnt) @@ -467,7 +477,7 @@ RgMngmt *sts; /* statistics structure */ break; } RgMiLrgStsCfm(&cfmPst,&cfm); - RETVALUE(ROK); + return ROK; }/*-- RgMiLrgStsReq --*/ @@ -535,7 +545,7 @@ RgMngmt *sta; /* status structure */ != ROK) { RLOG0(L_ERROR, "Memory Unavailable for Confirmation"); - RETVALUE(ROK); + return ROK; } cmMemset((U8 *)(cfm.t.ssta.s.sysId.ptNmb), 0, LRG_MAX_PT_NUM_SIZE); rgGetSId(&cfm.t.ssta.s.sysId); @@ -544,7 +554,7 @@ RgMngmt *sta; /* status structure */ cfm.hdr.elmId.elmnt = sta->hdr.elmId.elmnt; RgMiLrgStaCfm(&cfmPst, &cfm); RLOG0(L_ERROR, "Gen Cfg not done"); - RETVALUE(ROK); + return ROK; } switch(sta->hdr.elmId.elmnt) @@ -556,7 +566,7 @@ RgMngmt *sta; /* status structure */ != ROK) { RLOG0(L_ERROR, "Memory Unavailable for Confirmation"); - RETVALUE(ROK); + return ROK; } cmMemset((U8 *)(cfm.t.ssta.s.sysId.ptNmb), 0, LRG_MAX_PT_NUM_SIZE); rgGetSId(&cfm.t.ssta.s.sysId); @@ -596,7 +606,7 @@ RgMngmt *sta; /* status structure */ RLOG1(L_ERROR, "Invalid elmnt=%d",sta->hdr.elmId.elmnt); break; } - RETVALUE(ROK); + return ROK; }/*-- RgMiLrgStaReq --*/ @@ -662,7 +672,7 @@ RgMngmt *cntrl; /* control structure */ cfm.hdr.elmId.elmnt = cntrl->hdr.elmId.elmnt; RgMiLrgCntrlCfm(&cfmPst, &cfm); RLOG0(L_ERROR, "Gen Cfg not done"); - RETVALUE(ROK); + return ROK; } /* General Config done, process the Control request */ @@ -683,7 +693,7 @@ RgMngmt *cntrl; /* control structure */ RLOG1(L_ERROR, "invalid elmnt=%d",cntrl->hdr.elmId.elmnt); break; } - RETVALUE(ret); + return (ret); }/*-- RgMiLrgCntrlReq --*/ @@ -729,14 +739,14 @@ Elmnt sapType; /* Sap Type */ /* Check if Gen Config has been done */ if(rgCb[inst].rgInit.cfgDone != TRUE) - RETVALUE(LCM_REASON_GENCFG_NOT_DONE); + return (LCM_REASON_GENCFG_NOT_DONE); switch(sapType) { case STRGUSAP: if ((cfg->s.rguSap.spId > LRG_MAX_RGU_SAPS) && - (cfg->s.rguSap.selector != RGU_SEL_TC) && - (cfg->s.rguSap.selector != RGU_SEL_LC)) + (cfg->s.rguSap.selector != ODU_SELECTOR_TC) && + (cfg->s.rguSap.selector != ODU_SELECTOR_LC)) { ret = LCM_REASON_INVALID_PAR_VAL; RLOG0(L_ERROR, "unsupported Selector value for RGU"); @@ -766,8 +776,8 @@ Elmnt sapType; /* Sap Type */ * there is cfg request with sap is 1*/ break; case STCRGSAP: - if ((cfg->s.crgSap.selector != CRG_SEL_TC) && - (cfg->s.crgSap.selector != CRG_SEL_LC)) + if ((cfg->s.crgSap.selector != ODU_SELECTOR_TC) && + (cfg->s.crgSap.selector != ODU_SELECTOR_LC)) { ret = LCM_REASON_INVALID_PAR_VAL; RLOG0(L_ERROR, "unsupported Selector value for CRG"); @@ -796,8 +806,8 @@ Elmnt sapType; /* Sap Type */ break; case STTFUSAP: #ifndef CL_MAC_LWLC - if ((cfg->s.tfuSap.selector != TFU_SEL_TC) && - (cfg->s.tfuSap.selector != TFU_SEL_LC)) + if ((cfg->s.tfuSap.selector != ODU_SELECTOR_TC) && + (cfg->s.tfuSap.selector != ODU_SELECTOR_LC)) { ret = LCM_REASON_INVALID_PAR_VAL; RLOG0(L_ERROR, "unsupported Selector value for TFU"); @@ -831,7 +841,7 @@ Elmnt sapType; /* Sap Type */ /* would never reach here */ break; } - RETVALUE(ret); + return (ret); } @@ -873,13 +883,13 @@ RgCfg *cfg; /* Configuaration information */ /* Check if General Configuration is done already */ if (rgCb[inst].rgInit.cfgDone == TRUE) { - RETVALUE(LCM_REASON_INVALID_MSGTYPE); + return (LCM_REASON_INVALID_MSGTYPE); } - if ((cfg->s.genCfg.lmPst.selector != LRG_SEL_TC) && - (cfg->s.genCfg.lmPst.selector != LRG_SEL_LC)) + if ((cfg->s.genCfg.lmPst.selector != ODU_SELECTOR_TC) && + (cfg->s.genCfg.lmPst.selector != ODU_SELECTOR_LC)) { RLOG0(L_ERROR, "unsupported Selector value for RGU"); - RETVALUE(LCM_REASON_INVALID_PAR_VAL); + return (LCM_REASON_INVALID_PAR_VAL); } /* Update the Pst structure for LM interface */ cmMemcpy((U8 *)&rgCb[inst].rgInit.lmPst, (U8 *)&cfg->s.genCfg.lmPst, @@ -893,13 +903,17 @@ RgCfg *cfg; /* Configuaration information */ rgCb[inst].rgInit.region = cfg->s.genCfg.mem.region; rgCb[inst].rgInit.pool = cfg->s.genCfg.mem.pool; rgCb[inst].genCfg.tmrRes = cfg->s.genCfg.tmrRes; + + macCb.macInst = rgCb[inst].rgInit.inst; + macCb.procId = rgCb[inst].rgInit.procId; + /* Initialize SAP States */ rgCb[inst].crgSap.sapSta.sapState = LRG_NOT_CFG; if(cfg->s.genCfg.numRguSaps == 0) { RGDBGERRNEW(inst,(rgPBuf(inst), "\nrgGenCfg(): Invalid numRguSap.\n")); - RETVALUE(RFAILED); + return RFAILED; } /* allocate RGR saps */ @@ -909,7 +923,7 @@ RgCfg *cfg; /* Configuaration information */ (sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps)) != ROK) { RGDBGERRNEW(inst,(rgPBuf(inst), "\nrgGenCfg(): Failed to allocate mem for RGU SAP's.\n")); - RETVALUE(RFAILED); + return RFAILED; } rgCb[inst].numRguSaps = cfg->s.genCfg.numRguSaps; @@ -926,6 +940,7 @@ RgCfg *cfg; /* Configuaration information */ /* Initialize the timer control point */ cmMemset((U8 *)&rgCb[inst].tmrTqCp, 0, sizeof(CmTqCp)); rgCb[inst].tmrTqCp.tmrLen = RG_TQ_SIZE; +#if 0 /* Timer Registration request to SSI */ if (SRegTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst, (S16)rgCb[inst].genCfg.tmrRes, rgActvTmr) != ROK) @@ -938,12 +953,13 @@ RgCfg *cfg; /* Configuaration information */ (Data *)rgCb[inst].rguSap, (sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps)); - RETVALUE(LCM_REASON_MEM_NOAVAIL); + return (LCM_REASON_MEM_NOAVAIL); } +#endif /* Set Config done in TskInit */ rgCb[inst].rgInit.cfgDone = TRUE; - RETVALUE(ret); + return (ret); } @@ -1419,7 +1435,7 @@ PTR cb; /* Entry for which Timer Expired */ arg.wait = tmrVal; cmPlcCbTq(&arg); - RETVALUE(ROK); + return ROK; } @@ -1490,7 +1506,7 @@ PTR cb; /* Entry for which Timer Expired */ } - RETVALUE(ret); + return (ret); } @@ -1557,7 +1573,7 @@ S16 tmrEvnt; /* Timer Event */ ret = RFAILED; break; } - RETVALUE(ret); + return (ret); } @@ -1604,7 +1620,7 @@ RgUstaDgn *dgn; if(rgCb[inst].rgInit.usta == FALSE) { - RETVALUE(ROK); + return ROK; } cmMemset((U8 *)&usta, 0, sizeof(RgMngmt)); @@ -1625,7 +1641,7 @@ RgUstaDgn *dgn; rgCb[inst].rgInit.lmPst.pool = rgCb[inst].genCfg.ustaResp.response.mem.pool; usta.hdr.transId = rgCb[inst].genCfg.ustaResp.transId; - RETVALUE(RgMiLrgStaInd(&rgCb[inst].rgInit.lmPst, &usta)); + return (RgMiLrgStaInd(&rgCb[inst].rgInit.lmPst, &usta)); } @@ -1824,7 +1840,7 @@ U8 status; /* Status */ if(rgCb[inst].tfuSap.sapCfg.suId != suId) { RLOG0(L_ERROR, "Invalid SuId"); - RETVALUE(RFAILED); + return RFAILED; } /* check the Sap State */ @@ -1834,9 +1850,9 @@ U8 status; /* Status */ break; case LRG_BND: /* SAP is already bound */ - RETVALUE(ROK); + return ROK; default: - RETVALUE(RFAILED); + return RFAILED; } cfmPst = rgCb[inst].rgInit.lmPst; @@ -1880,7 +1896,7 @@ U8 status; /* Status */ ret = RgMiLrgCntrlCfm(&cfmPst, &cntrlCfm); - RETVALUE(ret); + return (ret); } @@ -1915,11 +1931,10 @@ Inst inst; /* Check if any MAC timer has expired */ cmPrcTmr(&rgCb[macInst].tmrTqCp, rgCb[macInst].tmrTq, (PFV) rgLMMTmrExpiry); - RETVALUE(ROK); + return ROK; } /* end of rgActvTmr */ - /********************************************************************** End of file