X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrsch%2Frg_sch_lmm.c;h=dbb5cd62fe1379bc9a8a46fb2d6e9cabb1758456;hb=e596baac85d7993d92b3077ddc1b99af14b5e8a6;hp=b94a6f5264e8b281ac07cec84ad99f9085dc17a2;hpb=3235ecfc7414aa0b72d0ad50db63ae8b5626045b;p=o-du%2Fl2.git diff --git a/src/5gnrsch/rg_sch_lmm.c b/src/5gnrsch/rg_sch_lmm.c index b94a6f526..dbb5cd62f 100755 --- a/src/5gnrsch/rg_sch_lmm.c +++ b/src/5gnrsch/rg_sch_lmm.c @@ -34,21 +34,9 @@ request primitives are defined here. */ -static const char* RLOG_MODULE_NAME="MAC"; -static int RLOG_MODULE_ID=4096; -static int RLOG_FILE_ID=167; /* 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 "rgr.h" /* RGR Interface defines */ #include "tfu.h" /* RGU Interface defines */ @@ -60,19 +48,8 @@ static int RLOG_FILE_ID=167; #ifdef LTE_L2_MEAS #include "rg_sch_cmn.h" /* typedefs for Scheduler */ #endif -#include "rl_interface.h" -#include "rl_common.h" - +#include "sch_utils.h" /* 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 "rgr.x" /* RGR Interface includes */ #include "rgm.x" /* RGM Interface includes */ #include "tfu.x" /* RGU Interface includes */ @@ -83,27 +60,27 @@ static int RLOG_FILE_ID=167; #include "rg_sch_cmn.x" /* typedefs for Scheduler */ #endif #ifndef LTE_L2_MEAS -PUBLIC Void rgSCHCmnInit ARGS((Void)); +Void rgSCHCmnInit ARGS((Void)); #endif /* forward references */ - - -PRIVATE U16 rgSCHLmmSapCfg ARGS(( +extern int schActvInit(Ent entity, Inst instId, Region region, Reason reason); +#ifdef UNUSE_FUN +static uint16_t rgSCHLmmSapCfg ARGS(( Inst inst, RgCfg *cfg, - U8 sapIdx, + uint8_t sapIdx, Elmnt sapType )); - -PRIVATE Void rgSCHLmmShutdown ARGS(( +#endif +static Void rgSCHLmmShutdown ARGS(( Inst inst )); -PUBLIC void printSchCellInfo(void) +void printSchCellInfo(void) { - U8 idx=0; - U8 inst=0; + uint8_t idx=0; + uint8_t inst=0; for (idx = 0; idx < rgSchCb[inst].numSaps; idx++) { /* Unbind all the TFU SAP */ @@ -111,82 +88,12 @@ PUBLIC void printSchCellInfo(void) * with this SAP */ if (rgSchCb[inst].tfuSap[idx].cell != NULLP) { - RLOG1(L_INFO,"CELL %d\n", idx); - RLOG1(L_INFO,"NUM UEs :%d\n",rgSchCb[inst].tfuSap[idx].cell->ueLst.nmbEnt); + DU_LOG("\nINFO --> SCH : CELL %d\n", idx); + DU_LOG("\nINFO --> SCH : NUM UEs :%d\n",rgSchCb[inst].tfuSap[idx].cell->ueLst.nmbEnt); } } } - -/** - * @brief Task Initiation callback function. - * - * @details - * - * Function : schActvInit - * - * This function is supplied as one of parameters during MAC's - * task registration. SSI will invoke this function once, after - * it creates and attaches this TAPA Task to a system task. - * - * @param[in] Ent Entity, the entity ID of this task. - * @param[in] Inst Inst, the instance ID of this task. - * @param[in] Region Region, the region ID registered for memory - * usage of this task. - * @param[in] Reason Reason. - * @return S16 - * -# ROK - **/ -#ifdef ANSI -PUBLIC S16 schActvInit -( -Ent entity, /* entity */ -Inst instId, /* instance */ -Region region, /* region */ -Reason reason /* reason */ -) -#else -PUBLIC S16 schActvInit(entity, instId, region, reason) -Ent entity; /* entity */ -Inst instId; /* instance */ -Region region; /* region */ -Reason reason; /* reason */ -#endif -{ - Inst inst = (instId - SCH_INST_START); - - TRC2(schActvInit); - - /* Initialize the MAC TskInit structure to zero */ - cmMemset ((U8 *)&rgSchCb[inst], 0, sizeof(RgSchCb)); - - /* Initialize the MAC TskInit with received values */ - rgSchCb[inst].rgSchInit.ent = entity; - rgSchCb[inst].rgSchInit.inst = inst; - rgSchCb[inst].rgSchInit.region = region; - rgSchCb[inst].rgSchInit.pool = 0; - rgSchCb[inst].rgSchInit.reason = reason; - rgSchCb[inst].rgSchInit.cfgDone = FALSE; - rgSchCb[inst].rgSchInit.acnt = FALSE; - rgSchCb[inst].rgSchInit.usta = FALSE; - rgSchCb[inst].rgSchInit.trc = FALSE; -#ifdef DEBUGP -#ifdef RG_DEBUG - /* disabling debugs by default */ - /* rgSchCb[inst].rgSchInit.dbgMask = 0xffffffff; */ -#endif -#endif /* DEBUGP */ - rgSchCb[inst].rgSchInit.procId = SFndProcId(); - - rgSchCb[inst].rgrSap = NULLP; - rgSchCb[inst].tfuSap = NULLP; - rgSchCb[inst].rgmSap = NULLP; - rgSCHCmnInit(); - - RETVALUE(ROK); -} /* schActvInit */ - - /** * @brief SAP Configuration Handler. * @@ -194,51 +101,42 @@ Reason reason; /* reason */ * * Function : rgSCHLmmSapCfg * - * This function in called by HandleSchGenCfgReq(). It handles the + * This function in called by SchProcGenCfgReq(). It handles the * interface SAP configuration of the scheduler instance. It * initializes the sapState to LRG_UNBND. Returns * reason for success/failure of this function. * * @param[in] RgCfg *cfg, the Configuaration information - * @return U16 + * @return uint16_t * -# LCM_REASON_GENCFG_NOT_DONE * -# LCM_REASON_INVALID_SAP * -# LCM_REASON_NOT_APPL **/ -#ifdef ANSI -PRIVATE U16 rgSCHLmmSapCfg +#ifdef UNUSE_FUN +static uint16_t rgSCHLmmSapCfg ( Inst dInst, RgCfg *cfg, /* Configuaration information */ -U8 sapIdx, /* SAP index */ +uint8_t sapIdx, /* SAP index */ Elmnt sapType /* SAP Type */ ) -#else -PRIVATE U16 rgSCHLmmSapCfg(dInst, cfg, sapIdx, sapType) -Inst dInst; -RgCfg *cfg; /* Configuaration information */ -U8 sapIdx; /* SAP index */ -Elmnt sapType; /* SAP Type */ -#endif { - U16 ret = LCM_REASON_NOT_APPL; + uint16_t ret = LCM_REASON_NOT_APPL; RgSchLowSapCfgInfo *lowSapCfg = NULLP; RgSchUpSapCfgInfo *upSapCfg = NULLP; Inst inst = (dInst - SCH_INST_START); - TRC2(rgSCHLmmSapCfg) - /* Check if Gen Config has been done */ switch(sapType) { case STRGRSAP: #ifndef CL_MAC_LWLC - if ((cfg->s.schInstCfg.rgrSap[sapIdx].selector != RGR_SEL_TC) && - (cfg->s.schInstCfg.rgrSap[sapIdx].selector != RGR_SEL_LC)) + if ((cfg->s.schInstCfg.rgrSap[sapIdx].selector != ODU_SELECTOR_TC) && + (cfg->s.schInstCfg.rgrSap[sapIdx].selector != ODU_SELECTOR_LC)) { ret = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCfg(): unsupported" + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCfg(): unsupported" " Selector value for RGR."); break; } @@ -268,11 +166,11 @@ Elmnt sapType; /* SAP Type */ break; case STTFUSAP: #ifndef CL_MAC_LWLC - if ((cfg->s.schInstCfg.tfuSap[sapIdx].selector != TFU_SEL_TC) && - (cfg->s.schInstCfg.tfuSap[sapIdx].selector != TFU_SEL_LC)) + if ((cfg->s.schInstCfg.tfuSap[sapIdx].selector != ODU_SELECTOR_TC) && + (cfg->s.schInstCfg.tfuSap[sapIdx].selector != ODU_SELECTOR_LC)) { ret = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCfg(): unsupported" + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCfg(): unsupported" " Selector value for TFU."); break; } @@ -301,8 +199,8 @@ Elmnt sapType; /* SAP Type */ lowSapCfg->sapPst.prior = cfg->s.schInstCfg.tfuSap[sapIdx].prior; lowSapCfg->suId = cfg->s.schInstCfg.tfuSap[sapIdx].suId; lowSapCfg->spId = cfg->s.schInstCfg.tfuSap[sapIdx].spId; - cmMemcpy((U8 *)&lowSapCfg->bndTmr, - (U8 *)&cfg->s.schInstCfg.tfuSap[sapIdx].bndTmr, + memcpy(&lowSapCfg->bndTmr, + &cfg->s.schInstCfg.tfuSap[sapIdx].bndTmr, sizeof(TmrCfg)); break; case STRGMSAP: @@ -312,7 +210,7 @@ Elmnt sapType; /* SAP Type */ (cfg->s.schInstCfg.rgmSap[sapIdx].selector != RGM_SEL_TC)) { ret = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCfg(): unsupported" + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCfg(): unsupported" " Selector value for RGM."); break; } @@ -344,168 +242,9 @@ Elmnt sapType; /* SAP Type */ /* would never reach here */ break; } - RETVALUE(ret); + return (ret); } - - -/** - * @brief Scheduler instance Configuration Handler. - * - * @details - * - * Function : SchInstCfg - * - * This function in called by HandleSchGenCfgReq(). It handles the - * general and SAP configurations of the scheduler instance. It initializes - * the hash lists of rgSchCb. Returns - * reason for success/failure of this function. - * - * @param[in] RgCfg *cfg, the Configuaration information - * @return U16 - * -# LCM_REASON_NOT_APPL - * -# LCM_REASON_INVALID_MSGTYPE - * -# LCM_REASON_MEM_NOAVAIL - **/ -#ifdef ANSI -PUBLIC U16 SchInstCfg -( -RgCfg *cfg, /* Configuaration information */ -Inst dInst -) -#else -PUBLIC U16 SchInstCfg(cfg,dInst) -RgCfg *cfg; /* Configuaration information */ -Inst dInst; -#endif -{ - U16 ret = LCM_REASON_NOT_APPL; - Inst inst = (dInst - SCH_INST_START); - - TRC2(SchInstCfg) - - printf("\nEntered SchInstCfg()"); - /* Check if Instance Configuration is done already */ - if (rgSchCb[inst].rgSchInit.cfgDone == TRUE) - { - RETVALUE(LCM_REASON_INVALID_MSGTYPE); - } - if ((cfg->s.schInstCfg.genCfg.lmPst.selector != LRG_SEL_TC) && - (cfg->s.schInstCfg.genCfg.lmPst.selector != LRG_SEL_LC)) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg(): unsupported " - "Selector value for lmPst."); - RETVALUE(LCM_REASON_INVALID_PAR_VAL); - } - /* Update the Pst structure for LM interface */ - cmMemcpy((U8 *)&rgSchCb[inst].rgSchInit.lmPst, - (U8 *)&cfg->s.schInstCfg.genCfg.lmPst, - sizeof(Pst)); - - rgSchCb[inst].rgSchInit.inst = inst; - rgSchCb[inst].rgSchInit.lmPst.srcProcId = rgSchCb[inst].rgSchInit.procId; - rgSchCb[inst].rgSchInit.lmPst.srcEnt = rgSchCb[inst].rgSchInit.ent; - rgSchCb[inst].rgSchInit.lmPst.srcInst = rgSchCb[inst].rgSchInit.inst + - SCH_INST_START; - rgSchCb[inst].rgSchInit.lmPst.event = EVTNONE; - - rgSchCb[inst].rgSchInit.region = cfg->s.schInstCfg.genCfg.mem.region; - rgSchCb[inst].rgSchInit.pool = cfg->s.schInstCfg.genCfg.mem.pool; - rgSchCb[inst].genCfg.tmrRes = cfg->s.schInstCfg.genCfg.tmrRes; -#ifdef LTE_ADV - rgSchCb[inst].genCfg.forceCntrlSrbBoOnPCel = cfg->s.schInstCfg.genCfg.forceCntrlSrbBoOnPCel; - rgSchCb[inst].genCfg.isSCellActDeactAlgoEnable = cfg->s.schInstCfg.genCfg.isSCellActDeactAlgoEnable; -#endif - rgSchCb[inst].genCfg.startCellId = cfg->s.schInstCfg.genCfg.startCellId; - -/* Not adding any SAPs towards SCH now */ -#if 0 - /* allocate RGR saps */ - if (SGetSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data **)&rgSchCb[inst].rgrSap, - (sizeof(RgSchUpSapCb) * cfg->s.schInstCfg.numSaps)) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg: SGetSBuf for " - "RGR saps failed"); - RETVALUE(RFAILED); - } - /* allocate RGM saps */ - if (SGetSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data **)&rgSchCb[inst].rgmSap, - (sizeof(RgSchUpSapCb) * cfg->s.schInstCfg.numSaps)) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg: SGetSBuf for " - "RGM saps failed"); - RETVALUE(RFAILED); - } - - - /* allocate TFU saps */ - if (SGetSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data **)&rgSchCb[inst].tfuSap, - (sizeof(RgSchLowSapCb) * cfg->s.schInstCfg.numSaps)) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg: SGetSBuf for TFU " - "saps failed"); - RETVALUE(RFAILED); - } - - /* allocate for bndCfmResponses */ - if (SGetSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data **)&rgSchCb[inst].genCfg.bndCfmResp, - (sizeof(RgSchLmResponse) * cfg->s.schInstCfg.numSaps)) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg: SGetSBuf for bind" - " confirm responses failed"); - RETVALUE(RFAILED); - } -#ifdef LTE_ADV - rgSCHLaaInitEnbCb(&rgSchCb[inst]); -#endif - rgSchCb[inst].numSaps = cfg->s.schInstCfg.numSaps; - for (idx = 0; idx < cfg->s.schInstCfg.numSaps; idx++) - { - /* Initialize SAP State and configure SAP */ - rgSchCb[inst].rgrSap[idx].sapSta.sapState = LRG_NOT_CFG; - rgSchCb[inst].rgrSap[idx].cell = NULLP; - rgSCHLmmSapCfg(dInst, cfg, idx, STRGRSAP); - - rgSchCb[inst].rgmSap[idx].sapSta.sapState = LRG_NOT_CFG; - rgSchCb[inst].rgmSap[idx].cell = NULLP; - rgSCHLmmSapCfg(dInst, cfg, idx, STRGMSAP); - - rgSchCb[inst].tfuSap[idx].sapSta.sapState = LRG_NOT_CFG; - rgSchCb[inst].tfuSap[idx].cell = NULLP; - rgSCHLmmSapCfg(dInst, cfg, idx, STTFUSAP); - rgSchCb[inst].tfuSap[idx].numBndRetries = 0; - } #endif - /* Initialzie the timer queue */ - cmMemset((U8 *)&rgSchCb[inst].tmrTq, 0, sizeof(CmTqType)*RGSCH_TQ_SIZE); - /* Initialize the timer control point */ - cmMemset((U8 *)&rgSchCb[inst].tmrTqCp, 0, sizeof(CmTqCp)); - rgSchCb[inst].tmrTqCp.tmrLen = RGSCH_TQ_SIZE; - - /* SS_MT_TMR needs to be enabled as schActvTmr needs instance information */ - /* Timer Registration request to SSI */ - if (SRegTmrMt(rgSchCb[inst].rgSchInit.ent, dInst, - (S16)rgSchCb[inst].genCfg.tmrRes, schActvTmr) != ROK) - { - RLOG_ARG0(L_ERROR,DBG_INSTID,inst, "SchInstCfg(): Failed to " - "register timer."); - RETVALUE(LCM_REASON_MEM_NOAVAIL); - } - - /* Set Config done in TskInit */ - rgSchCb[inst].rgSchInit.cfgDone = TRUE; - printf("\nScheduler gen config done"); - - RETVALUE(ret); -} - /*********************************************************** * @@ -523,30 +262,20 @@ Inst dInst; * File : rg_sch_lmm.c * **********************************************************/ -#ifdef ANSI -PRIVATE Void rgSCHLmmShutdown -( -Inst inst -) -#else -PRIVATE Void rgSCHLmmShutdown(inst) -Inst inst; -#endif +static Void rgSCHLmmShutdown(Inst inst) { Inst dInst = inst + SCH_INST_START; - U8 idx; + uint8_t idx; #ifdef LTE_L2_MEAS CmLList *lnk = NULLP; RgSchCb *instCb = &rgSchCb[inst]; RgSchCellCb *cell = NULLP; RgSchL2MeasCb *measCb; - U8 ulAllocIdx; + uint8_t ulAllocIdx; RgSchCmnUlCell *cellUl; RgSchClcBoRpt *bo = NULL; #endif - TRC2(rgSCHLmmShutdown) - #ifdef LTE_L2_MEAS for (idx = 0; idx < instCb->numSaps; idx++) { @@ -609,7 +338,7 @@ Inst inst; /* Unbind all the TFU SAP */ if(rgSchCb[inst].tfuSap[idx].sapSta.sapState == LRG_WAIT_BNDCFM) { - rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, LRG_UNBND); + //rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, LRG_UNBND); if (rgSchCb[inst].tfuSap[idx].sapCfg.bndTmr.enb == TRUE) { rgSCHLmmStopTmr(inst, RGSCH_BNDREQ_TMR, (PTR)&rgSchCb[inst].tfuSap[idx]); @@ -618,7 +347,7 @@ Inst inst; } if(rgSchCb[inst].tfuSap[idx].sapSta.sapState == LRG_BND) { - rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, LRG_UNBND); + //rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, LRG_UNBND); rgSchCb[inst].tfuSap[idx].sapSta.sapState = LRG_UNBND; } /* Free the memory held by the cell associated with this SAP */ @@ -628,29 +357,21 @@ Inst inst; } /* Free the memory held by the scheduler instance */ /* Deallocate RGR saps */ - SPutSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data *)rgSchCb[inst].rgrSap, + SCH_FREE(rgSchCb[inst].rgrSap, (sizeof(RgSchUpSapCb) * rgSchCb[inst].numSaps)); rgSchCb[inst].rgrSap = NULLP; /* Deallocate RGM saps */ - SPutSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data *)rgSchCb[inst].rgmSap, + SCH_FREE(rgSchCb[inst].rgmSap, (sizeof(RgSchUpSapCb) * rgSchCb[inst].numSaps)); rgSchCb[inst].rgmSap = NULLP; /* Deallocate TFU saps */ - SPutSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data *)rgSchCb[inst].tfuSap, + SCH_FREE(rgSchCb[inst].tfuSap, (sizeof(RgSchLowSapCb) * rgSchCb[inst].numSaps)); rgSchCb[inst].tfuSap = NULLP; /* Deallocate bndCfmResponses */ - SPutSBuf(rgSchCb[inst].rgSchInit.region, - rgSchCb[inst].rgSchInit.pool, - (Data *)rgSchCb[inst].genCfg.bndCfmResp, + SCH_FREE(rgSchCb[inst].genCfg.bndCfmResp, (sizeof(RgSchLmResponse) * rgSchCb[inst].numSaps)); rgSchCb[inst].genCfg.bndCfmResp = NULLP; /* De-register the Timer Service */ @@ -665,7 +386,7 @@ Inst inst; /* Set Config done in TskInit */ rgSchCb[inst].rgSchInit.cfgDone = FALSE; - RETVOID; + return; } @@ -684,22 +405,9 @@ Inst inst; * File : rg_sch_lmm.c * **********************************************************/ -#ifdef ANSI -PUBLIC Void rgSCHLmmGenCntrl -( -RgMngmt *cntrl, -RgMngmt *cfm, -Pst *cfmPst -) -#else -PUBLIC Void rgSCHLmmGenCntrl(cntrl, cfm, cfmPst) -RgMngmt *cntrl; -RgMngmt *cfm; -Pst *cfmPst; -#endif +Void rgSCHLmmGenCntrl(RgMngmt *cntrl,RgMngmt *cfm,Pst *cfmPst) { Inst inst = (cfmPst->srcInst - SCH_INST_START); /* Scheduler instance ID */ - TRC2(rgSCHLmmGenCntrl) cfm->cfm.status = LCM_PRIM_OK; cfm->cfm.reason = LCM_REASON_NOT_APPL; @@ -715,8 +423,8 @@ Pst *cfmPst; /* Enable Unsolicited Status (alarms) */ rgSchCb[inst].rgSchInit.usta = TRUE; /*Store the response and TransId for sending the Alarms */ - cmMemcpy((U8 *)&rgSchCb[inst].genCfg.ustaResp.response, - (U8 *)&cntrl->hdr.response, sizeof(Resp)); + memcpy(&rgSchCb[inst].genCfg.ustaResp.response, + &cntrl->hdr.response, sizeof(Resp)); rgSchCb[inst].genCfg.ustaResp.transId = cntrl->hdr.transId; break; case SADBG: @@ -744,8 +452,8 @@ Pst *cfmPst; * L2 * statistics * */ - cmMemset((U8 *)&hqRetxStats, 0, sizeof(RgSchHqRetxStats)); - cmMemset((U8 *)&hqFailStats, 0, sizeof(RgSchNackAckStats)); + memset(&hqRetxStats, 0, sizeof(RgSchHqRetxStats)); + memset(&hqFailStats, 0, sizeof(RgSchNackAckStats)); #endif break; } @@ -753,7 +461,7 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmGenCntrl(): " + DU_LOG("\nERROR --> SCH : rgSCHLmmGenCntrl(): " "invalid subaction=%d", cntrl->t.cntrl.subAction); break; } @@ -777,7 +485,7 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmGenCntrl():" + DU_LOG("\nERROR --> SCH : rgSCHLmmGenCntrl():" " invalid subaction=%d", cntrl->t.cntrl.subAction); break; } @@ -789,12 +497,12 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmGenCntrl(): invalid" + DU_LOG("\nERROR --> SCH : rgSCHLmmGenCntrl(): invalid" " action=%d", cntrl->t.cntrl.action); break; } RgMiLrgSchCntrlCfm(cfmPst, cfm); - RETVOID; + return; } @@ -813,31 +521,23 @@ Pst *cfmPst; * File : rg_sch_lmm.c * **********************************************************/ -#ifdef ANSI -PUBLIC Void rgSCHLmmSapCntrl +Void rgSCHLmmSapCntrl ( RgMngmt *cntrl, RgMngmt *cfm, Pst *cfmPst ) -#else -PUBLIC Void rgSCHLmmSapCntrl(cntrl, cfm, cfmPst) -RgMngmt *cntrl; -RgMngmt *cfm; -Pst *cfmPst; -#endif { - U8 idx; + uint8_t idx; /* TODO Pass InstId instead of using InstId from cfmPst */ Inst inst = (cfmPst->srcInst - SCH_INST_START); /* Scheduler instance Id */ - TRC2(rgSCHLmmSapCntrl) /* Only TFU SAP can be controlled by LM */ switch(cntrl->hdr.elmId.elmnt) { case STTFUSAP: - idx = (U8)cntrl->t.cntrl.s.rgSapCntrl.suId; + idx = (uint8_t)cntrl->t.cntrl.s.rgSapCntrl.suId; if (idx > LRG_MAX_SAPS_PER_INST) { cfm->cfm.status = LCM_PRIM_NOK; @@ -866,8 +566,8 @@ Pst *cfmPst; rgSchCb[inst].tfuSap[idx].numBndRetries++; /* Store the response and TransId for sending * the Control confirm */ - cmMemcpy((U8 *)&rgSchCb[inst].genCfg.bndCfmResp[idx].response, - (U8 *)&cntrl->hdr.response, sizeof(Resp)); + memcpy(&rgSchCb[inst].genCfg.bndCfmResp[idx].response, + &cntrl->hdr.response, sizeof(Resp)); rgSchCb[inst].genCfg.bndCfmResp[idx].transId = cntrl->hdr.transId; @@ -878,9 +578,9 @@ Pst *cfmPst; * Request to TFU */ RgMiLrgSchCntrlCfm(cfmPst, cfm); - rgSCHUtlTfuBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg.suId, - rgSchCb[inst].tfuSap[idx].sapCfg.spId); - RETVOID; + //rgSCHUtlTfuBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg.suId, + // rgSchCb[inst].tfuSap[idx].sapCfg.spId); + return; } break; case AUBND: @@ -895,8 +595,8 @@ Pst *cfmPst; } else { - rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, - TFU_UBNDREQ_MNGMT); + //rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, + // TFU_UBNDREQ_MNGMT); if (rgSchCb[inst].tfuSap[idx].sapCfg.bndTmr.enb == TRUE) { rgSCHLmmStopTmr(inst, RGSCH_BNDREQ_TMR, @@ -913,15 +613,15 @@ Pst *cfmPst; if ((rgSchCb[inst].tfuSap[idx].sapSta.sapState == LRG_WAIT_BNDCFM) || (rgSchCb[inst].tfuSap[idx].sapSta.sapState == LRG_BND)) { - rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, - TFU_UBNDREQ_MNGMT); + //rgSCHUtlTfuUBndReq(inst, rgSchCb[inst].tfuSap[idx].sapCfg, + // TFU_UBNDREQ_MNGMT); if (rgSchCb[inst].tfuSap[idx].sapCfg.bndTmr.enb == TRUE) { rgSCHLmmStopTmr(inst, RGSCH_BNDREQ_TMR, (PTR)&rgSchCb[inst].tfuSap[idx]); } } - cmMemset((U8 *)&rgSchCb[inst].tfuSap[idx], 0, sizeof(RgSchLowSapCb)); + memset(&rgSchCb[inst].tfuSap[idx], 0, sizeof(RgSchLowSapCb)); rgSchCb[inst].tfuSap[idx].sapSta.sapState = LRG_NOT_CFG; cfm->cfm.status = LCM_PRIM_OK; cfm->cfm.reason = LCM_REASON_NOT_APPL; @@ -929,13 +629,13 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCntrl(): " + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCntrl(): " "invalid action=%d", cntrl->t.cntrl.action); break; } break; case STRGRSAP: - idx = (U8)cntrl->t.cntrl.s.rgSapCntrl.spId; + idx = (uint8_t)cntrl->t.cntrl.s.rgSapCntrl.spId; if (idx > LRG_MAX_SAPS_PER_INST) { cfm->cfm.status = LCM_PRIM_NOK; @@ -944,7 +644,7 @@ Pst *cfmPst; switch(cntrl->t.cntrl.action) { case ADEL: - cmMemset((U8 *)&rgSchCb[inst].rgrSap[idx], 0, sizeof(RgSchUpSapCb)); + memset(&rgSchCb[inst].rgrSap[idx], 0, sizeof(RgSchUpSapCb)); rgSchCb[inst].rgrSap[idx].sapSta.sapState = LRG_NOT_CFG; cfm->cfm.status = LCM_PRIM_OK; cfm->cfm.reason = LCM_REASON_NOT_APPL; @@ -952,13 +652,13 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCntrl(): " + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCntrl(): " "invalid action=%d", cntrl->t.cntrl.action); break; } break; case STRGMSAP: - idx = (U8)cntrl->t.cntrl.s.rgSapCntrl.spId; + idx = (uint8_t)cntrl->t.cntrl.s.rgSapCntrl.spId; if (idx > LRG_MAX_SAPS_PER_INST) { cfm->cfm.status = LCM_PRIM_NOK; @@ -967,7 +667,7 @@ Pst *cfmPst; switch(cntrl->t.cntrl.action) { case ADEL: - cmMemset((U8 *)&rgSchCb[inst].rgmSap[idx], 0, sizeof(RgSchUpSapCb)); + memset(&rgSchCb[inst].rgmSap[idx], 0, sizeof(RgSchUpSapCb)); rgSchCb[inst].rgmSap[idx].sapSta.sapState = LRG_NOT_CFG; cfm->cfm.status = LCM_PRIM_OK; cfm->cfm.reason = LCM_REASON_NOT_APPL; @@ -975,7 +675,7 @@ Pst *cfmPst; default: cfm->cfm.status = LCM_PRIM_NOK; cfm->cfm.reason = LCM_REASON_INVALID_PAR_VAL; - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmSapCntrl(): " + DU_LOG("\nERROR --> SCH : rgSCHLmmSapCntrl(): " "invalid action=%d", cntrl->t.cntrl.action); break; } @@ -983,10 +683,10 @@ Pst *cfmPst; default: /* Would never come here. */ - RETVOID; + return; } RgMiLrgSchCntrlCfm(cfmPst, cfm); - RETVOID; + return; } @@ -1006,40 +706,29 @@ Pst *cfmPst; * File : rg_sch_lmm.c * **********************************************************/ -#ifdef ANSI -PUBLIC Void SchFillCfmPst +Void SchFillCfmPst ( Pst *reqPst, Pst *cfmPst, RgMngmt *cfm ) -#else -PUBLIC Void SchFillCfmPst(reqPst, cfmPst, cfm) -Pst *reqPst; -Pst *cfmPst; -RgMngmt *cfm; -#endif { Inst inst; - TRC2(SchFillCfmPst) - inst = (reqPst->dstInst - SCH_INST_START); - cfmPst->srcEnt = rgSchCb[inst].rgSchInit.ent; - cfmPst->srcInst = (Inst) 0; + cfmPst->srcEnt = ENTMAC; + cfmPst->srcInst = (Inst) 1; cfmPst->srcProcId = rgSchCb[inst].rgSchInit.procId; - cfmPst->dstEnt = reqPst->srcEnt; + cfmPst->dstEnt = ENTMAC; cfmPst->dstInst = (Inst) 0; cfmPst->dstProcId = reqPst->srcProcId; cfmPst->selector = cfm->hdr.response.selector; - cfmPst->prior = cfm->hdr.response.prior; - cfmPst->route = cfm->hdr.response.route; cfmPst->region = cfm->hdr.response.mem.region; cfmPst->pool = cfm->hdr.response.mem.pool; - RETVOID; + return; } @@ -1056,36 +745,26 @@ RgMngmt *cfm; * code based on "tmrEvnt". * * @param[in] S16 tmrEvnt, the Timer Event - * @param[in] U32 tmrVal, the Wait Time + * @param[in] uint32_t tmrVal, the Wait Time * @param[in] PTR cb, Entry for which Timer expired * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 rgSCHLmmStartTmr +S16 rgSCHLmmStartTmr ( -Inst inst, -S16 tmrEvnt, /* Timer Event */ -U32 tmrVal, /* Wait Time */ -PTR cb /* Entry for which Timer Expired */ +Inst inst, +S16 tmrEvnt, /* Timer Event */ +uint32_t tmrVal, /* Wait Time */ +PTR cb /* Entry for which Timer Expired */ ) -#else -PUBLIC S16 rgSCHLmmStartTmr(inst, tmrEvnt, tmrVal, cb) -Inst inst; /* scheduler instance ID */ -S16 tmrEvnt; /* Timer Event */ -U32 tmrVal; /* Wait Time */ -PTR cb; /* Entry for which Timer Expired */ -#endif { CmTmrArg arg; /* Inst dInst = inst + SCH_INST_START; */ - TRC2(rgSCHLmmStartTmr) - UNUSED(tmrEvnt); /* Initialize the arg structure */ - cmMemset((U8 *)&arg, 0, sizeof(CmTmrArg)); + memset(&arg, 0, sizeof(CmTmrArg)); arg.tqCp = &rgSchCb[inst].tmrTqCp; arg.tq = rgSchCb[inst].tmrTq; @@ -1097,7 +776,7 @@ PTR cb; /* Entry for which Timer Expired */ arg.wait = tmrVal; cmPlcCbTq(&arg); - RETVALUE(ROK); + return ROK; } @@ -1120,26 +799,17 @@ PTR cb; /* Entry for which Timer Expired */ * -# ROK * -# RFAILED **/ -#ifdef ANSI -PUBLIC S16 rgSCHLmmStopTmr +S16 rgSCHLmmStopTmr ( -Inst inst, /* Scheduler instance */ -S16 tmrEvnt, /* Timer Event */ -PTR cb /* Entry for which Timer Expired */ +Inst inst, /* Scheduler instance */ +S16 tmrEvnt, /* Timer Event */ +PTR cb /* Entry for which Timer Expired */ ) -#else -PUBLIC S16 rgSCHLmmStopTmr(inst, tmrEvnt, cb) -Inst inst; /* Scheduler instance */ -S16 tmrEvnt; /* Timer Event */ -PTR cb; /* Entry for which Timer Expired */ -#endif { CmTmrArg arg; - U8 i; + uint8_t i; S16 ret; - TRC2(rgSCHLmmStopTmr) - ret = RFAILED; for(i=0;itmrBlk.tmrEvnt == tmrEvnt) { /* Initialize the arg structure */ - cmMemset((U8 *)&arg, 0, sizeof(CmTmrArg)); + memset(&arg, 0, sizeof(CmTmrArg)); arg.tqCp = &rgSchCb[inst].tmrTqCp; arg.tq = rgSchCb[inst].tmrTq; @@ -1166,7 +836,7 @@ PTR cb; /* Entry for which Timer Expired */ } - RETVALUE(ret); + return (ret); } @@ -1186,24 +856,14 @@ PTR cb; /* Entry for which Timer Expired */ * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 rgSCHLmmTmrExpiry +S16 rgSCHLmmTmrExpiry ( PTR cb, /* Pointer to timer control block */ S16 tmrEvnt /* Timer Event */ ) -#else -PUBLIC S16 rgSCHLmmTmrExpiry(cb,tmrEvnt) -PTR cb; /* Pointer to timer control block */ -S16 tmrEvnt; /* Timer Event */ -#endif { S16 ret = ROK; RgSchLowSapCb *tfuSap = (RgSchLowSapCb *)cb; -#ifdef DEBUGP - Inst inst = tfuSap->cell->instIdx; -#endif - TRC2(rgSCHLmmTmrExpiry) switch(tmrEvnt) @@ -1212,32 +872,32 @@ S16 tmrEvnt; /* Timer Event */ tfuSap->numBndRetries++; if(tfuSap->numBndRetries > RGSCH_MAX_BNDRETRY) { - rgSCHLmmStaInd((U8)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), - (U16)LCM_CATEGORY_INTERFACE, (U16)LCM_EVENT_BND_FAIL, - (U16)LCM_CAUSE_TMR_EXPIRED, (RgUstaDgn *)NULLP); + rgSCHLmmStaInd((uint8_t)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), + (uint16_t)LCM_CATEGORY_INTERFACE, (uint16_t)LCM_EVENT_BND_FAIL, + (uint16_t)LCM_CAUSE_TMR_EXPIRED, (RgUstaDgn *)NULLP); } else { /* Restart the bind timer */ if (tfuSap->sapCfg.bndTmr.enb == TRUE) { - ret = rgSCHLmmStartTmr((U8)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), + ret = rgSCHLmmStartTmr((uint8_t)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), RGSCH_BNDREQ_TMR, - (U32)tfuSap->sapCfg.bndTmr.val, cb); + (uint32_t)tfuSap->sapCfg.bndTmr.val, cb); } /* Send bind request */ - rgSCHUtlTfuBndReq((U8)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), - tfuSap->sapCfg.suId, tfuSap->sapCfg.spId); + //rgSCHUtlTfuBndReq((uint8_t)(tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), + //tfuSap->sapCfg.suId, tfuSap->sapCfg.spId); } break; default: - RLOG_ARG1(L_ERROR,DBG_INSTID,inst, "rgSCHLmmTmrExpiry(): Invalid" + DU_LOG("\nERROR --> SCH : rgSCHLmmTmrExpiry(): Invalid" " tmrEvnt=%d", tmrEvnt); ret = RFAILED; break; } - RETVALUE(ret); + return (ret); } @@ -1257,31 +917,22 @@ S16 tmrEvnt; /* Timer Event */ * * @param[in] Pst *pst, Post Structure * @param[in] SuId suId, Service user ID - * @param[in] U8 status, Status + * @param[in] uint8_t status, Status * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 rgSCHLmmBndCfm +S16 rgSCHLmmBndCfm ( Pst *pst, /* Post Structure */ SuId suId, /* Service user ID */ -U8 status /* Status */ +uint8_t status /* Status */ ) -#else -PUBLIC S16 rgSCHLmmBndCfm(pst,suId,status) -Pst *pst; /* Post Structure */ -SuId suId; /* Service user Id */ -U8 status; /* Status */ -#endif { S16 ret = ROK; RgMngmt cntrlCfm; Pst cfmPst; Inst inst = (pst->dstInst - SCH_INST_START); /* scheduler instance */ - TRC2(rgSCHLmmBndCfm) - /* check the SAP State */ switch(rgSchCb[inst].tfuSap[suId].sapSta.sapState) @@ -1290,9 +941,9 @@ U8 status; /* Status */ break; case LRG_BND: /* SAP is already bound */ - RETVALUE(ROK); + return ROK; default: - RETVALUE(RFAILED); + return RFAILED; } cfmPst = rgSchCb[inst].rgSchInit.lmPst; @@ -1302,7 +953,7 @@ U8 status; /* Status */ cfmPst.region = rgSchCb[inst].genCfg.bndCfmResp[suId].response.mem.region; cfmPst.pool = rgSchCb[inst].genCfg.bndCfmResp[suId].response.mem.pool; - cmMemset((U8 *)&cntrlCfm, 0, sizeof(RgMngmt)); + memset(&cntrlCfm, 0, sizeof(RgMngmt)); switch(status) { @@ -1317,7 +968,7 @@ U8 status; /* Status */ cntrlCfm.cfm.status = LCM_PRIM_OK; cntrlCfm.cfm.reason = LCM_REASON_NOT_APPL; /* Sending Status Indication to Layer Manager */ - rgSCHLmmStaInd((U8)(rgSchCb[inst].tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), + rgSCHLmmStaInd((uint8_t)(rgSchCb[inst].tfuSap->sapCfg.sapPst.srcInst - SCH_INST_START), LCM_CATEGORY_INTERFACE, LCM_EVENT_BND_OK, LCM_CAUSE_LYR_SPECIFIC, (RgUstaDgn *)NULLP); break; @@ -1340,7 +991,7 @@ U8 status; /* Status */ ret = RgMiLrgSchCntrlCfm(&cfmPst, &cntrlCfm); - RETVALUE(ret); + return (ret); } /** @@ -1353,41 +1004,29 @@ U8 status; /* Status */ * This API is used by the other modules of MAC to send a unsolicited * status indication to the Layer Manager. * - * @param[in] U16 category, the Alarm category - * @param[in] U16 event, the Alarm event - * @param[in] U16 cause, the cause of the Alarm + * @param[in] uint16_t category, the Alarm category + * @param[in] uint16_t event, the Alarm event + * @param[in] uint16_t cause, the cause of the Alarm * @param[in] RgUstaDgn *dgn, Alarm Diagonostics * @return S16 * -# ROK **/ -#ifdef ANSI -PUBLIC S16 rgSCHLmmStaInd +S16 rgSCHLmmStaInd ( Inst inst, -U16 category, -U16 event, -U16 cause, +uint16_t category, +uint16_t event, +uint16_t cause, RgUstaDgn *dgn ) -#else -PUBLIC S16 rgSCHLmmStaInd(inst, category, event, cause, dgn) -Inst inst; -U16 category; -U16 event; -U16 cause; -RgUstaDgn *dgn; -#endif { RgMngmt usta; - TRC2(rgSCHLmmStaInd) - if(rgSchCb[inst].rgSchInit.usta == FALSE) { - RETVALUE(ROK); + return ROK; } - - cmMemset((U8 *)&usta, 0, sizeof(RgMngmt)); + memset(&usta, 0, sizeof(RgMngmt)); SGetDateTime(&usta.t.usta.cmAlarm.dt); usta.t.usta.cmAlarm.category = category; @@ -1395,7 +1034,7 @@ RgUstaDgn *dgn; usta.t.usta.cmAlarm.cause = cause; if (dgn != NULLP) { - cmMemcpy((U8 *)&usta.t.usta.dgn, (U8 *)dgn, sizeof(RgUstaDgn)); + memcpy(&usta.t.usta.dgn, dgn, sizeof(RgUstaDgn)); } rgSchCb[inst].rgSchInit.lmPst.selector = @@ -1410,50 +1049,10 @@ RgUstaDgn *dgn; rgSchCb[inst].genCfg.ustaResp.response.mem.pool; usta.hdr.transId = rgSchCb[inst].genCfg.ustaResp.transId; - RETVALUE(RgMiLrgSchStaInd(&rgSchCb[inst].rgSchInit.lmPst, &usta)); + return (RgMiLrgSchStaInd(&rgSchCb[inst].rgSchInit.lmPst, &usta)); } -/** - * @brief Scheduler instance timer call back function registered with SSI. - * - * @details - * - * Function : schActvTmr - * - * This function is invoked by SSI for every timer activation - * period expiry. Note that SS_MT_TMR flag needs to be enabled for this - * as isntId is needed.As part of SRegTmr call for scheduler instance - * SS_MT_TMR flag needs to be enabled and schActvTmr needs to be given as - * callback function - * - * @return S16 - * -# ROK - **/ -#ifdef ANSI -PUBLIC S16 schActvTmr -( -Ent ent, -Inst inst -) -#else -PUBLIC S16 schActvTmr(ent, inst) -Ent ent; -Inst inst; -#endif -{ - Inst schInst = (inst - SCH_INST_START); - TRC2(schActvTmr) - - /* Check if any timer in the scheduler instance has expired */ - cmPrcTmr(&rgSchCb[schInst].tmrTqCp, - rgSchCb[schInst].tmrTq, (PFV) rgSCHLmmTmrExpiry); - - RETVALUE(ROK); - -} /* end of schActvTmr */ - - /********************************************************************** End of file