#include "rgr.h" /* LRG Interface defines */
#include "rg.h" /* MAC defines */
#include "rg_err.h" /* MAC error defines */
+#include "mac_utils.h"
/* header/extern include files (.x) */
#include "crg.x" /* CRG Interface includes */
#endif
#include "ss_rbuf.h"
#include "ss_rbuf.x"
-#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"
+#include "lwr_mac_phy.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Public variable declaration */
-LwrMacCb lwrMacCb;
MacCb macCb;
/* forward references */
SAttachSRngBuf(SS_RNG_BUF_ULMAC_TO_ULRLC, SS_RBUF_ENT_ULRLC,SS_RNG_RX);
#endif
- /* Initializing CL control block */
- 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(ENTMAC, (DEFAULT_CELLS + SCH_INST_START), DFLT_REGION, PWR_UP);
/* Initialize lower mac */
- lwrMacLayerInit();
+ lwrMacLayerInit(region, 0);
return ROK;
#ifdef INTEL_WLS_MEM
/* Start WLS message receiver thread */
LwrMacStartWlsRcvr();
- /* Allocate memory for UL transmissions */
- LwrMacEnqueueWlsBlock();
#endif
reason = rgLMMGenCfg(inst,&cfg->t.cfg);
break;
if (sta->t.ssta.s.sysId.ptNmb != NULLP)
{
- SPutSBuf(pst->region, pst->pool, (Data *)sta->t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE);
+ MAC_FREE(sta->t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE);
}
memset(&cfm, 0, sizeof(RgMngmt));
if(rgCb[inst].rgInit.cfgDone != TRUE)
{
SGetDateTime(&cfm.t.ssta.dt);
- if (SGetSBuf(cfmPst.region, cfmPst.pool,
- (Data **)&(cfm.t.ssta.s.sysId.ptNmb), LRG_MAX_PT_NUM_SIZE)
- != ROK)
+ MAC_ALLOC(cfm.t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE);
+ if(cfm.t.ssta.s.sysId.ptNmb == NULLP)
{
DU_LOG("\nERROR --> MAC : Memory Unavailable for Confirmation");
return ROK;
{
case STGEN:
SGetDateTime(&cfm.t.ssta.dt);
- if (SGetSBuf(cfmPst.region, cfmPst.pool,
- (Data **)&(cfm.t.ssta.s.sysId.ptNmb), LRG_MAX_PT_NUM_SIZE)
- != ROK)
+ MAC_ALLOC(cfm.t.ssta.s.sysId.ptNmb, LRG_MAX_PT_NUM_SIZE);
+ if(cfm.t.ssta.s.sysId.ptNmb == NULLP)
{
DU_LOG("\nERROR --> MAC : Memory Unavailable for Confirmation");
return ROK;
rgCb[inst].rgInit.pool = cfg->s.genCfg.mem.pool;
rgCb[inst].genCfg.tmrRes = cfg->s.genCfg.tmrRes;
+ macCb.tmrRes = cfg->s.genCfg.tmrRes;
macCb.macInst = rgCb[inst].rgInit.inst;
macCb.procId = rgCb[inst].rgInit.procId;
}
/* allocate RGR saps */
- if (SGetSBuf(rgCb[inst].rgInit.region,
- rgCb[inst].rgInit.pool,
- (Data **)&rgCb[inst].rguSap,
- (sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps)) != ROK)
+ MAC_ALLOC(rgCb[inst].rguSap, sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps);
+ if(rgCb[inst].rguSap == NULLP)
{
DU_LOG("\nERROR --> MAC : rgGenCfg(): Failed to allocate mem for RGU SAP's.\n");
return RFAILED;
}
rgCb[inst].tfuSap.sapSta.sapState = LRG_NOT_CFG;
/* Initialize the timer blocks */
- cmInitTimers(rgCb[inst].tmrBlk, RG_MAX_TIMER);
+ cmInitTimers(macCb.tmrBlk, MAX_NUM_TIMER);
/* Initialzie the timer queue */
- memset(&rgCb[inst].tmrTq, 0, sizeof(CmTqType)*RG_TQ_SIZE);
+ memset(&macCb.tmrTq, 0, sizeof(CmTqType) * MAC_TQ_SIZE);
/* Initialize the timer control point */
- memset(&rgCb[inst].tmrTqCp, 0, sizeof(CmTqCp));
- rgCb[inst].tmrTqCp.tmrLen = RG_TQ_SIZE;
-#if 0
+ memset(&macCb.tmrTqCp, 0, sizeof(CmTqCp));
+ macCb.tmrTqCp.tmrLen = MAC_TQ_SIZE;
+
/* Timer Registration request to SSI */
- if (SRegTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst,
- (S16)rgCb[inst].genCfg.tmrRes, rgActvTmr) != ROK)
+ if(ODU_REG_TMR_MT(ENTMAC, macCb.macInst, macCb.tmrRes, macActvTmr) != ROK)
{
DU_LOG("\nERROR --> MAC : Failed to register timer");
- SPutSBuf(rgCb[inst].rgInit.region,
- rgCb[inst].rgInit.pool,
- (Data *)rgCb[inst].rguSap,
+ MAC_FREE(rgCb[inst].rguSap,
(sizeof(RgUpSapCb) * cfg->s.genCfg.numRguSaps));
return (LCM_REASON_MEM_NOAVAIL);
}
-#endif
+
/* Set Config done in TskInit */
rgCb[inst].rgInit.cfgDone = TRUE;
}
/* Deleting the RGU SAPs */
- SPutSBuf(rgCb[inst].rgInit.region,
- rgCb[inst].rgInit.pool,
- (Data *)rgCb[inst].rguSap,
+ MAC_FREE(rgCb[inst].rguSap,
(sizeof(RgUpSapCb) * rgCb[inst].numRguSaps));
- rgCb[inst].rguSap = NULLP;
rgCb[inst].inactiveCell = NULLP;
rgCb[inst].cell = NULLP;
/* De-register the Timer Service */
(Void) SDeregTmrMt(rgCb[inst].rgInit.ent, rgCb[inst].rgInit.inst,
- (S16)rgCb[inst].genCfg.tmrRes, rgActvTmr);
+ (S16)rgCb[inst].genCfg.tmrRes, macActvTmr);
/* call back the task initialization function to intialize
* the global RgCb Struct */
return;
}
- if (SGetMsg(pst.region, pst.pool, &dstMbuf) != ROK)
+ if (ODU_GET_MSG_BUF(pst.region, pst.pool, &dstMbuf) != ROK)
{
DU_LOG("\nERROR --> MAC : dstMbuf Allocation Failed");
return;
return (ret);
}
-\f
-/**
- * @brief LTE MAC timer call back function registered with SSI.
- *
- * @details
- *
- * Function : rgActvTmr
- *
- * This function is invoked by SSI for every timer activation
- * period expiry.
- *
- * @return S16
- * -# ROK
- **/
-S16 rgActvTmr(Ent ent,Inst inst)
-{
- Inst macInst = (inst - RG_INST_START);
-
- /* Check if any MAC timer has expired */
- cmPrcTmr(&rgCb[macInst].tmrTqCp, rgCb[macInst].tmrTq, (PFV) rgLMMTmrExpiry);
-
- return ROK;
-
-} /* end of rgActvTmr */
-
/**********************************************************************
End of file