warning set 4
[o-du/l2.git] / src / 5gnrmac / rg_lmm.c
index 19bfcf0..70cc657 100755 (executable)
@@ -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;