#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 */
/* Public variable declaration */
ClCb clGlobalCp;
-MacCb macCb;
+extern MacCb macCb;
+
+int MacSchCellCfgReq(Pst *pst,MacCellCfg *macCellCfg);
/* forward references */
PRIVATE U16 rgLMMGenCfg ARGS((
Pst *cfmPst
));
-extern U16 packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
+extern int packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
packMacCellCfgConfirm packMacCellCfmOpts[] =
{
/* Initialize Scheduler as well */
schActvInit(ENTRG, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP);
+ /* Initialize lower mac */
+ lwrMacInit();
+
RETVALUE(ROK);
} /* rgActvInit */
* -# 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
)
{
Pst cfmPst;
- int ret = ROK;
+ uint16_t ret = ROK;
RgCellCb *cellCb;
MacCellCb *macCellCb;
Inst inst = pst->dstInst;
macCellCfgFillCfmPst(pst,&cfmPst);
ret = (*packMacCellCfmOpts[cfmPst.selector])(&cfmPst,&macCellCfgCfm);
}
+#ifdef INTEL_WLS
+ LwrMacEnqueueWlsBlock();
+#endif
return ret;
} /* end of MacHdlCellCfgReq */
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;
+
+ /* fill initial DL BWP */
+ schCellCfg.schInitialDlBwp.bwp.firstPrb = macCellCfg->initialDlBwp.bwp.firstPrb;
+ schCellCfg.schInitialDlBwp.bwp.numPrb = macCellCfg->initialDlBwp.bwp.numPrb;
+ schCellCfg.schInitialDlBwp.bwp.scs = macCellCfg->initialDlBwp.bwp.scs;
+ schCellCfg.schInitialDlBwp.bwp.cyclicPrefix = macCellCfg->initialDlBwp.bwp.cyclicPrefix;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.searchSpaceId =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.searchSpaceId;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.coresetId =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.coresetId;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.monitoringSlot =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.monitoringSlot;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.duration =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.duration;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.monitoringSymbol =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.monitoringSymbol;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel1 =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel1;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel2 =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel2;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel4 =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel4;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel8 =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel8;
+ schCellCfg.schInitialDlBwp.pdcchCommon.raSearchSpace.candidate.aggLevel16 =
+ macCellCfg->initialDlBwp.pdcchCommon.raSearchSpace.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 DL BWP */
+ schCellCfg.schInitialUlBwp.bwp.firstPrb = macCellCfg->initialUlBwp.bwp.firstPrb;
+ schCellCfg.schInitialUlBwp.bwp.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;
cfgPst.srcEnt = ENTRG;
{
if(schCellCfgCfm->rsp == RSP_OK)
{
- sendToLowerMac(PARAM_REQUEST, 0, (void *)NULL);
+ sendToLowerMac(CONFIG_REQUEST, 0, (void *)NULL);
}
else
{