static int RLOG_MODULE_ID=4096;
/* header include files (.h) */
-#include "envopt.h" /* environment options */
-#include "envdep.h" /* environment dependent */
-#include "envind.h" /* environment independent */
-#include "gen.h" /* general */
-#include "ssi.h" /* system services */
-#include "cm_tkns.h" /* Common Token Defines */
-#include "cm_llist.h" /* Common Link List Defines */
-#include "cm_hash.h" /* Common Hash List Defines */
-#include "cm_mblk.h" /* common memory link list library */
-#include "cm_lte.h" /* Common LTE Defines */
+#include "common_def.h"
#include "rg_env.h" /* MAC Environment Defines */
#include "crg.h" /* CRG Interface defines */
#include "rgu.h" /* RGU Interface defines */
#include "rg_err.h" /* MAC error defines */
/* header/extern include files (.x) */
-#include "gen.x" /* general */
-#include "ssi.x" /* system services */
-#include "cm5.x" /* system services */
-#include "cm_tkns.x" /* Common Token Definitions */
-#include "cm_llist.x" /* Common Link List Definitions */
-#include "cm_lib.x" /* Common Library Definitions */
-#include "cm_hash.x" /* Common Hash List Definitions */
-#include "cm_mblk.x" /* common memory link list library */
-#include "cm_lte.x" /* Common LTE Defines */
#include "crg.x" /* CRG Interface includes */
#include "rgu.x" /* RGU Interface includes */
#include "tfu.x" /* RGU Interface includes */
#include "rg_prg.x" /* PRG Interface includes */
#include "lrg.x" /* LRG Interface includes */
#include "rgr.x" /* LRG Interface includes */
+#include "du_app_mac_inf.h"
#include "rg.x" /* MAC includes */
#ifdef SS_DIAG
#include "ss_diag.h" /* Common log file */
#endif
#include "ss_rbuf.h"
#include "ss_rbuf.x"
-
-#include "rg_cl.h" /* MAC CL defines */
+#include "lwr_mac.h" /* MAC CL defines */
+#include "mac_sch_interface.h"
+#include "lwr_mac_upr_inf.h"
+#include "mac.h"
+#include "lwr_mac_phy.h"
+#include "lwr_mac_fsm.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Public variable declaration */
-ClCb clGlobalCp;
+LwrMacCb lwrMacCb;
+extern MacCb macCb;
/* forward references */
PRIVATE U16 rgLMMGenCfg ARGS((
#endif
/* Initializing CL control block */
- clGlobalCp.region = region;
- clGlobalCp.pool = 0;
- clGlobalCp.clCfgDone = FALSE;
- clGlobalCp.numOfCells = 0;
- clGlobalCp.phyState = PHY_STATE_IDLE;
-
- if( cmHashListInit(&clGlobalCp.cellCbLst, MAX_NUM_CELL_SUPP, 0x0, FALSE,
- CM_HASH_KEYTYPE_DEF, clGlobalCp.region, clGlobalCp.pool ) != ROK )
- {
- printf("\n Cellcb hash list initialization failed for MAC CL");
- RETVALUE(RFAILED);
- }
+ memset(&lwrMacCb, 0, sizeof(LwrMacCb));
+ lwrMacCb.region = region;
+ lwrMacCb.pool = 0;
+ lwrMacCb.clCfgDone = TRUE;
+ lwrMacCb.numCell = 0;
+ lwrMacCb.phyState = PHY_STATE_IDLE;
/* Initialize Scheduler as well */
schActvInit(ENTRG, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP);
+ /* Initialize lower mac */
+ lwrMacInit();
+
RETVALUE(ROK);
} /* rgActvInit */
case STTFUSAP:
reason = rgLMMSapCfg(inst,&cfg->t.cfg, cfg->hdr.elmId.elmnt);
break;
- case STCLCELL:
- reason = RgClCellCfgReq(&cfg->t.cfg.s.cellCfg);
default:
ret = LCM_PRIM_NOK;
reason = LCM_REASON_INVALID_ELMNT;
{
case STRGUSAP:
if ((cfg->s.rguSap.spId > LRG_MAX_RGU_SAPS) &&
- (cfg->s.rguSap.selector != RGU_SEL_TC) &&
- (cfg->s.rguSap.selector != RGU_SEL_LC))
+ (cfg->s.rguSap.selector != ODU_SELECTOR_TC) &&
+ (cfg->s.rguSap.selector != ODU_SELECTOR_LC))
{
ret = LCM_REASON_INVALID_PAR_VAL;
RLOG0(L_ERROR, "unsupported Selector value for RGU");
* there is cfg request with sap is 1*/
break;
case STCRGSAP:
- if ((cfg->s.crgSap.selector != CRG_SEL_TC) &&
- (cfg->s.crgSap.selector != CRG_SEL_LC))
+ if ((cfg->s.crgSap.selector != ODU_SELECTOR_TC) &&
+ (cfg->s.crgSap.selector != ODU_SELECTOR_LC))
{
ret = LCM_REASON_INVALID_PAR_VAL;
RLOG0(L_ERROR, "unsupported Selector value for CRG");
break;
case STTFUSAP:
#ifndef CL_MAC_LWLC
- if ((cfg->s.tfuSap.selector != TFU_SEL_TC) &&
- (cfg->s.tfuSap.selector != TFU_SEL_LC))
+ if ((cfg->s.tfuSap.selector != ODU_SELECTOR_TC) &&
+ (cfg->s.tfuSap.selector != ODU_SELECTOR_LC))
{
ret = LCM_REASON_INVALID_PAR_VAL;
RLOG0(L_ERROR, "unsupported Selector value for TFU");
{
RETVALUE(LCM_REASON_INVALID_MSGTYPE);
}
- if ((cfg->s.genCfg.lmPst.selector != LRG_SEL_TC) &&
- (cfg->s.genCfg.lmPst.selector != LRG_SEL_LC))
+ if ((cfg->s.genCfg.lmPst.selector != ODU_SELECTOR_TC) &&
+ (cfg->s.genCfg.lmPst.selector != ODU_SELECTOR_LC))
{
RLOG0(L_ERROR, "unsupported Selector value for RGU");
RETVALUE(LCM_REASON_INVALID_PAR_VAL);
rgCb[inst].rgInit.region = cfg->s.genCfg.mem.region;
rgCb[inst].rgInit.pool = cfg->s.genCfg.mem.pool;
rgCb[inst].genCfg.tmrRes = cfg->s.genCfg.tmrRes;
+
+ macCb.macInst = rgCb[inst].rgInit.inst;
+ macCb.procId = rgCb[inst].rgInit.procId;
+
/* Initialize SAP States */
rgCb[inst].crgSap.sapSta.sapState = LRG_NOT_CFG;
/* Initialize the timer control point */
cmMemset((U8 *)&rgCb[inst].tmrTqCp, 0, sizeof(CmTqCp));
rgCb[inst].tmrTqCp.tmrLen = RG_TQ_SIZE;
+#if 0
/* Timer Registration request to SSI */
if (SRegTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst,
(S16)rgCb[inst].genCfg.tmrRes, rgActvTmr) != ROK)
RETVALUE(LCM_REASON_MEM_NOAVAIL);
}
+#endif
/* Set Config done in TskInit */
rgCb[inst].rgInit.cfgDone = TRUE;
} /* end of rgActvTmr */
-/**
- * @brief Layer Manager Configuration request handler for Scheduler
- *
- * @details
- *
- * Function : MacSchGenCfgReq
- *
- * This function receives general configurations for Scheduler
- * from DU APP and forwards to Scheduler.
- *
- * @param[in] Pst *pst, the post structure
- * @param[in] RgMngmt *cfg, the configuration parameter's structure
- * @return S16
- * -# ROK
- **/
-#ifdef ANSI
-PUBLIC S16 MacSchGenCfgReq
-(
-Pst *pst, /* post structure */
-RgMngmt *cfg /* config structure */
-)
-#else
-PUBLIC S16 MacSchGenCfgReq(pst, cfg)
-Pst *pst; /* post structure */
-RgMngmt *cfg; /* config structure */
-#endif
-{
- printf("\nReceived Scheduler gen config at MAC");
- pst->dstInst = DEFAULT_CELLS + 1;
- HandleSchGenCfgReq(pst, cfg);
-
- return ROK;
-}
-
-/**
- * @brief Layer Manager Configuration response from Scheduler
- *
- * @details
- *
- * Function : SchSendCfgCfm
- *
- * This function sends general configurations response from
- * Scheduler to DU APP.
- *
- * @param[in] Pst *pst, the post structure
- * @param[in] RgMngmt *cfm, the configuration confirm structure
- * @return S16
- * -# ROK
- **/
-#ifdef ANSI
-PUBLIC S16 SchSendCfgCfm
-(
-Pst *pst, /* post structure */
-RgMngmt *cfm /* config confirm structure */
-)
-#else
-PUBLIC S16 SchSendCfgCfm(pst, cfm)
-Pst *pst; /* post structure */
-RgMngmt *cfm; /* config confirm structure */
-#endif
-{
- printf("\nSending Scheduler config confirm to DU APP");
- RgMiLrgSchCfgCfm(pst, cfm);
-
- RETVALUE(ROK);
-}
-
-/**
- * @brief Layer Manager Configuration request handler.
- *
- * @details
- *
- * Function : MacSchCfgReq
- *
- * This function handles the gNB and cell configuration
- * request received from DU APP.
- * This API unapcks and forwards the config towards SCH
- *
- * @param[in] Pst *pst
- * @param[in] RgrCfgTransId transId
- * @param[in] RgrCfgReqInfo *cfgReqInfo
- * @return S16
- * -# ROK
- **/
-#ifdef ANSI
-PUBLIC S16 MacSchCfgReq
-(
- Pst *pst,
- RgrCfgTransId transId,
- RgrCfgReqInfo *cfgReqInfo
-)
-#else
-PUBLIC S16 MacSchCfgReq(pst, transId, cfgReqInfo)
- Pst *pst;
- RgrCfgTransId transId;
- RgrCfgReqInfo *cfgReqInfo;
-#endif
-{
- printf("\nReceived Scheduler config at MAC");
- pst->dstInst = DEFAULT_CELLS + 1;
- HandleSchCfgReq(pst, transId, cfgReqInfo);
-
- RETVALUE(ROK);
-
-} /* end of MacSchCfgReq*/
-
-\f
/**********************************************************************
End of file