PUCCH CHANGES AT SCH AND LOWER MAC
[o-du/l2.git] / src / 5gnrmac / rg_lmm.c
index d5176f1..68321b7 100755 (executable)
@@ -38,6 +38,7 @@ static int RLOG_FILE_ID=220;
 static int RLOG_MODULE_ID=4096;
 
 /* header include files (.h) */
+#include "stdbool.h"
 #include "envopt.h"        /* environment options */
 #include "envdep.h"        /* environment dependent */
 #include "envind.h"        /* environment independent */
@@ -98,7 +99,7 @@ EXTERN Void rgGetSId ARGS((SystemId *s));
 
 /* Public variable declaration */
 ClCb   clGlobalCp;
-MacCb  macCb;
+extern MacCb  macCb;
 
 int MacSchCellCfgReq(Pst *pst,MacCellCfg *macCellCfg);
 
@@ -2113,7 +2114,7 @@ int MacHdlCellCfgReq
    Pst cfmPst;
    uint16_t ret = ROK;
    RgCellCb      *cellCb;
-       MacCellCb     *macCellCb;
+       MacCellCb     *macCellCb = NULLP;
    Inst inst = pst->dstInst;
 
    cmMemset((U8 *)&cfmPst, 0, sizeof(Pst));
@@ -2134,6 +2135,7 @@ int MacHdlCellCfgReq
       DU_LOG("\nMAC : macCellCb is NULL at handling of macCellCfg\n");
       return RFAILED;
    }
+       memset(macCellCb, 0, sizeof(MacCellCb));
    macCb.macCell = macCellCb;
    macCb.macCell->cellId = macCellCfg->cellId;
    /* Send cell cfg to scheduler */
@@ -2207,6 +2209,7 @@ int MacSchCellCfgReq
           macCellCfg->prachCfg.prachSubcSpacing;
        schCellCfg.schRachCfg.msg1FreqStart = macCellCfg->prachCfg.msg1FreqStart;
        schCellCfg.schRachCfg.msg1Fdm       = macCellCfg->prachCfg.msg1Fdm;
+       schCellCfg.schRachCfg.rootSeqLen    = macCellCfg->prachCfg.rootSeqLen;
        schCellCfg.schRachCfg.rootSeqIdx    = macCellCfg->prachCfg.fdm[0].rootSeqIdx;
        schCellCfg.schRachCfg.numRootSeq    = macCellCfg->prachCfg.fdm[0].numRootSeq;
        schCellCfg.schRachCfg.k1            = macCellCfg->prachCfg.fdm[0].k1;
@@ -2217,6 +2220,52 @@ int MacSchCellCfgReq
        schCellCfg.schRachCfg.rsrpThreshSsb = macCellCfg->prachCfg.rsrpThreshSsb;
        schCellCfg.schRachCfg.raRspWindow   = macCellCfg->prachCfg.raRspWindow;
 
+   /* fill initial DL BWP */
+       schCellCfg.schInitialDlBwp.bwp.freqAlloc.startPrb = macCellCfg->initialDlBwp.bwp.firstPrb;
+       schCellCfg.schInitialDlBwp.bwp.freqAlloc.numPrb = macCellCfg->initialDlBwp.bwp.numPrb;
+   schCellCfg.schInitialDlBwp.bwp.scs = macCellCfg->initialDlBwp.bwp.scs;
+   schCellCfg.schInitialDlBwp.bwp.cyclicPrefix = macCellCfg->initialDlBwp.bwp.cyclicPrefix;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.searchSpaceId =
+          macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.searchSpaceId;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.coresetId =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.coresetId;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.monitoringSlot =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.monitoringSlot;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.duration =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.duration;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.monitoringSymbol =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.monitoringSymbol;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel1 =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel1;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel2 =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel2;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel4 =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel4;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel8 =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel8;
+   schCellCfg.schInitialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel16 =
+      macCellCfg->initialDlBwp.pdcchCommon.commonSearchSpace.candidate.aggLevel16;
+   schCellCfg.schInitialDlBwp.pdschCommon.k0 = macCellCfg->initialDlBwp.pdschCommon.k0;
+   schCellCfg.schInitialDlBwp.pdschCommon.mappingType =
+      macCellCfg->initialDlBwp.pdschCommon.mappingType;
+   schCellCfg.schInitialDlBwp.pdschCommon.startSymbol =
+      macCellCfg->initialDlBwp.pdschCommon.startSymbol;
+   schCellCfg.schInitialDlBwp.pdschCommon.lengthSymbol =
+      macCellCfg->initialDlBwp.pdschCommon.lengthSymbol;
+
+   /* fill initial UL BWP */
+       schCellCfg.schInitialUlBwp.bwp.freqAlloc.startPrb = macCellCfg->initialUlBwp.bwp.firstPrb;
+       schCellCfg.schInitialUlBwp.bwp.freqAlloc.numPrb = macCellCfg->initialUlBwp.bwp.numPrb;
+   schCellCfg.schInitialUlBwp.bwp.scs = macCellCfg->initialUlBwp.bwp.scs;
+   schCellCfg.schInitialUlBwp.bwp.cyclicPrefix = macCellCfg->initialUlBwp.bwp.cyclicPrefix;
+   schCellCfg.schInitialUlBwp.puschCommon.k2 = macCellCfg->initialUlBwp.puschCommon.k2;
+   schCellCfg.schInitialUlBwp.puschCommon.mappingType =
+      macCellCfg->initialUlBwp.puschCommon.mappingType;
+   schCellCfg.schInitialUlBwp.puschCommon.startSymbol =
+      macCellCfg->initialUlBwp.puschCommon.startSymbol;
+   schCellCfg.schInitialUlBwp.puschCommon.lengthSymbol =
+      macCellCfg->initialUlBwp.puschCommon.lengthSymbol;
+
 
    cfgPst.srcProcId = pst->dstProcId;
        cfgPst.dstProcId = pst->srcProcId;