X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_lmm.c;h=8db8f032b1aa3f6d4955c7f8e2755244e1ef07d1;hb=5d64905a366e340b65b01021ec4eec4f7350a94e;hp=5c64f0328fc81f4f852cc207b9c634d16da2e94b;hpb=5ea4c59cb4dd37164953218b0bd355284e11d22c;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lmm.c b/src/5gnrmac/rg_lmm.c index 5c64f0328..8db8f032b 100755 --- a/src/5gnrmac/rg_lmm.c +++ b/src/5gnrmac/rg_lmm.c @@ -77,7 +77,6 @@ static int RLOG_MODULE_ID=4096; #include "lrg.x" /* LRG Interface includes */ #include "rgr.x" /* LRG Interface includes */ #include "du_app_mac_inf.h" -#include "mac_sch_interface.h" #include "rg.x" /* MAC includes */ #ifdef SS_DIAG #include "ss_diag.h" /* Common log file */ @@ -86,7 +85,7 @@ static int RLOG_MODULE_ID=4096; #include "ss_rbuf.x" #include "lwr_mac.h" /* MAC CL defines */ - +#include "mac.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -2103,6 +2102,7 @@ int MacHdlCellCfgReq Pst cfmPst; int ret = ROK; RgCellCb *cellCb; + MacCellCb *macCellCb; Inst inst = pst->dstInst; cmMemset((U8 *)&cfmPst, 0, sizeof(Pst)); @@ -2117,6 +2117,13 @@ int MacHdlCellCfgReq memcpy(&cellCb->macCellCfg,macCellCfg,sizeof(MacCellCfg)); rgCb[inst].cell = cellCb; + MAC_ALLOC(macCellCb,sizeof(MacCellCb)); + if(macCellCb == NULLP) + { + DU_LOG("\nMAC : macCellCb is NULL at handling of macCellCfg\n"); + return RFAILED; + } + macCb.macCell = macCellCb; /* Send cell cfg to scheduler */ ret = MacSchCellCfgReq(pst, macCellCfg); if(ret != ROK) @@ -2159,15 +2166,26 @@ int MacSchCellCfgReq schCellCfg.phyCellId = macCellCfg->phyCellId; schCellCfg.bandwidth = macCellCfg->dlCarrCfg.bw; schCellCfg.dupMode = macCellCfg->dupType; - schCellCfg.ssbPbchPwr = macCellCfg->ssbCfg.ssbPbchPwr; - schCellCfg.scsCommon = macCellCfg->ssbCfg.scsCmn; - schCellCfg.ssbOffsetPointA = macCellCfg->ssbCfg.ssbOffsetPointA; - schCellCfg.ssbPeriod = macCellCfg->ssbCfg.ssbPeriod; - schCellCfg.ssbSubcOffset = macCellCfg->ssbCfg.ssbScOffset; + + /* fill ssb scheduler parameters */ + schCellCfg.ssbSchCfg.ssbPbchPwr = macCellCfg->ssbCfg.ssbPbchPwr; + schCellCfg.ssbSchCfg.scsCommon = macCellCfg->ssbCfg.scsCmn; + schCellCfg.ssbSchCfg.ssbOffsetPointA = macCellCfg->ssbCfg.ssbOffsetPointA; + schCellCfg.ssbSchCfg.ssbPeriod = macCellCfg->ssbCfg.ssbPeriod; + schCellCfg.ssbSchCfg.ssbSubcOffset = macCellCfg->ssbCfg.ssbScOffset; for(uint8_t idx=0; idxssbCfg.ssbMask[idx]; + schCellCfg.ssbSchCfg.nSSBMask[idx] = macCellCfg->ssbCfg.ssbMask[idx]; } + + /* fill SIB1 scheduler parameters */ + schCellCfg.sib1SchCfg.sib1PduLen = macCellCfg->sib1Cfg.sib1PduLen; + schCellCfg.sib1SchCfg.sib1NewTxPeriod = macCellCfg->sib1Cfg.sib1NewTxPeriod; + schCellCfg.sib1SchCfg.sib1RepetitionPeriod = macCellCfg->sib1Cfg.sib1RepetitionPeriod; + schCellCfg.sib1SchCfg.coresetZeroIndex = macCellCfg->sib1Cfg.coresetZeroIndex; + schCellCfg.sib1SchCfg.searchSpaceZeroIndex = macCellCfg->sib1Cfg.searchSpaceZeroIndex; + schCellCfg.sib1SchCfg.sib1Mcs = macCellCfg->sib1Cfg.sib1Mcs; + cfgPst.srcProcId = pst->dstProcId; cfgPst.dstProcId = pst->srcProcId; cfgPst.srcEnt = ENTRG;