X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrmac%2Frg_lmm.c;h=70cc657a52c18faf0b8753ef10150b85e413f4eb;hb=8340c342ebcfc82193c3f66e7f15047c1e37399b;hp=19bfcf04b90a594824957d1c6f8fec06f34477be;hpb=d2d9dcbd92e8f1be15dd5891aaf9ada9bc071e1a;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lmm.c b/src/5gnrmac/rg_lmm.c index 19bfcf04b..70cc657a5 100755 --- a/src/5gnrmac/rg_lmm.c +++ b/src/5gnrmac/rg_lmm.c @@ -83,9 +83,11 @@ static int RLOG_MODULE_ID=4096; #endif #include "ss_rbuf.h" #include "ss_rbuf.x" - #include "lwr_mac.h" /* MAC CL defines */ #include "mac.h" +#include "lwr_mac_phy.h" +#include "lwr_mac_fsm.h" + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -98,6 +100,8 @@ EXTERN Void rgGetSId ARGS((SystemId *s)); ClCb clGlobalCp; MacCb macCb; +int MacSchCellCfgReq(Pst *pst,MacCellCfg *macCellCfg); + /* forward references */ PRIVATE U16 rgLMMGenCfg ARGS(( Inst inst, @@ -132,7 +136,7 @@ RgMngmt *cfm, Pst *cfmPst )); -extern U16 packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm); +extern int packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm); packMacCellCfgConfirm packMacCellCfmOpts[] = { @@ -246,6 +250,9 @@ Reason reason; /* reason */ /* Initialize Scheduler as well */ schActvInit(ENTRG, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP); + /* Initialize lower mac */ + lwrMacInit(); + RETVALUE(ROK); } /* rgActvInit */ @@ -1984,13 +1991,13 @@ Inst inst; * -# ROK **/ #ifdef ANSI -PUBLIC S16 MacSchGenCfgReq +PUBLIC int MacSchGenCfgReq ( Pst *pst, /* post structure */ RgMngmt *cfg /* config structure */ ) #else -PUBLIC S16 MacSchGenCfgReq(pst, cfg) +PUBLIC int MacSchGenCfgReq(pst, cfg) Pst *pst; /* post structure */ RgMngmt *cfg; /* config structure */ #endif @@ -2104,7 +2111,7 @@ int MacHdlCellCfgReq ) { Pst cfmPst; - int ret = ROK; + uint16_t ret = ROK; RgCellCb *cellCb; MacCellCb *macCellCb; Inst inst = pst->dstInst; @@ -2139,6 +2146,9 @@ int MacHdlCellCfgReq macCellCfgFillCfmPst(pst,&cfmPst); ret = (*packMacCellCfmOpts[cfmPst.selector])(&cfmPst,&macCellCfgCfm); } +#ifdef INTEL_WLS + LwrMacEnqueueWlsBlock(); +#endif return ret; } /* end of MacHdlCellCfgReq */ @@ -2191,6 +2201,23 @@ int MacSchCellCfgReq schCellCfg.sib1SchCfg.searchSpaceZeroIndex = macCellCfg->sib1Cfg.searchSpaceZeroIndex; schCellCfg.sib1SchCfg.sib1Mcs = macCellCfg->sib1Cfg.sib1Mcs; + /* fill RACH config params */ + schCellCfg.schRachCfg.prachCfgIdx = macCellCfg->prachCfg.prachCfgIdx; + schCellCfg.schRachCfg.prachSubcSpacing = \ + macCellCfg->prachCfg.prachSubcSpacing; + schCellCfg.schRachCfg.msg1FreqStart = macCellCfg->prachCfg.msg1FreqStart; + schCellCfg.schRachCfg.msg1Fdm = macCellCfg->prachCfg.msg1Fdm; + schCellCfg.schRachCfg.rootSeqIdx = macCellCfg->prachCfg.fdm[0].rootSeqIdx; + schCellCfg.schRachCfg.numRootSeq = macCellCfg->prachCfg.fdm[0].numRootSeq; + schCellCfg.schRachCfg.k1 = macCellCfg->prachCfg.fdm[0].k1; + schCellCfg.schRachCfg.ssbPerRach = macCellCfg->prachCfg.ssbPerRach; + schCellCfg.schRachCfg.prachMultCarrBand = \ + macCellCfg->prachCfg.prachMultCarrBand; + schCellCfg.schRachCfg.raContResTmr = macCellCfg->prachCfg.raContResTmr; + schCellCfg.schRachCfg.rsrpThreshSsb = macCellCfg->prachCfg.rsrpThreshSsb; + schCellCfg.schRachCfg.raRspWindow = macCellCfg->prachCfg.raRspWindow; + + cfgPst.srcProcId = pst->dstProcId; cfgPst.dstProcId = pst->srcProcId; cfgPst.srcEnt = ENTRG;