X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_lim.c;h=06b1cd838c15f2b0c5b92aee99f96831c6381489;hb=4d45b914f9e94203603d3b9fdbcb1aad361301dd;hp=def7ae811079643c886c9d0c657e251cf29ccbe2;hpb=e550b2091fb29289d12a5722b189acbede7862f0;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lim.c b/src/5gnrmac/rg_lim.c index def7ae811..06b1cd838 100755 --- a/src/5gnrmac/rg_lim.c +++ b/src/5gnrmac/rg_lim.c @@ -36,17 +36,7 @@ static const char* RLOG_MODULE_NAME="MAC"; static int RLOG_FILE_ID=182; static int RLOG_MODULE_ID=4096; /* header include files -- defines (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ -#include "gen.h" /* general layer */ -#include "ssi.h" /* system services */ -#include "cm5.h" /* common timers defines */ -#include "cm_hash.h" /* common hash list defines */ -#include "cm_llist.h" /* common linked list defines */ -#include "cm_mblk.h" /* memory management */ -#include "cm_tkns.h" /* common tokens */ -#include "cm_lte.h" /* common tokens */ +#include "common_def.h" #include "rgu.h" /* RGU defines */ #include "tfu.h" /* RGU defines */ #include "lrg.h" /* layer management defines for LTE-MAC */ @@ -54,45 +44,22 @@ static int RLOG_MODULE_ID=4096; #include "rg_sch_inf.h" /* layer management defines for LTE-MAC */ #include "rg_env.h" /* customisable defines and macros for MAC */ #include "rg.h" /* defines and macros for MAC */ -#include "du_log.h" /* header/extern include files (.x) */ -#include "gen.x" /* general layer typedefs */ -#include "ssi.x" /* system services typedefs */ -#include "cm5.x" /* common timers */ -#include "cm_hash.x" /* common hash list */ -#include "cm_lib.x" /* common library */ -#include "cm_llist.x" /* common linked list */ -#include "cm_mblk.x" /* memory management */ -#include "cm_tkns.x" /* common tokens */ -#include "cm_lte.x" /* common tokens */ #include "rgu.x" /* RGU types */ #include "tfu.x" /* RGU types */ #include "lrg.x" /* layer management typedefs for MAC */ #include "crg.x" /* layer management typedefs for MAC */ #include "rg_sch_inf.x" /* SCH interface typedefs */ #include "rg_prg.x" /* PRG interface typedefs */ -#include "du_app_mac_inf.h" #include "rg.x" /* typedefs for MAC */ -#include "mac_sch_interface.h" -#include "mac_upr_inf_api.h" - /* local externs */ +#ifdef UNUSED_FUNC PRIVATE S16 rgLIMValidateSap ARGS((Inst inst,SuId suId)); +#endif PRIVATE Void rgLIMUtlFreeDatIndEvnt ARGS((TfuDatIndInfo *datInd, Bool error)); - -/* function pointers for packing slot ind from mac to sch */ -//S16 packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd); - -MacSchSlotIndFunc macSchSlotIndOpts[] = -{ - packMacSchSlotInd, - macSchSlotInd, - packMacSchSlotInd -}; - #ifdef RG_UNUSED PRIVATE Void rgLIMUtlFreeDatReqEvnt ARGS((TfuDatReqInfo *datReq, Bool error)); @@ -144,7 +111,7 @@ SpId spId; { RLOG0(L_ERROR,"Call to RgLiTfuBndReq() failed"); } - RETVALUE(ret); + return (ret); } /* rgLIMTfuBndReq */ @@ -193,7 +160,7 @@ Reason reason; { RLOG0(L_ERROR,"Call to RgLiTfuUbndReq() failed"); } - RETVALUE(ret); + return (ret); } /* rgLIMTfuUbndReq */ @@ -246,10 +213,10 @@ U8 status; { RLOG2(L_ERROR,"Incorrect SuId. Configured (%d) Recieved (%d)", tfuSap->sapCfg.suId, suId); - RETVALUE(RFAILED); + return RFAILED; } ret = rgLMMBndCfm (pst, suId, status); - RETVALUE(ret); + return (ret); } /* RgLiTfuBndCfm */ /** @brief This function Validates the SAP information received along with the @@ -262,6 +229,7 @@ U8 status; * -# ROK * -# RFAILED */ +#ifdef UNUSED_FUNC #ifdef ANSI PRIVATE S16 rgLIMValidateSap ( @@ -285,17 +253,17 @@ PRIVATE S16 rgLIMValidateSap(inst,suId) { RLOG2(L_ERROR,"Incorrect SuId. Configured (%d) Recieved (%d)", tfuSap->sapCfg.suId, suId); - RETVALUE(RFAILED); + return RFAILED; } if (tfuSap->sapSta.sapState != LRG_BND) { RLOG1(L_ERROR,"Lower SAP not enabled SuId (%d)", tfuSap->sapCfg.suId); - RETVALUE(RFAILED); + return RFAILED; } - RETVALUE(ROK); + return ROK; } /* end of rgLIMValidateSap */ - +#endif /** @brief This function frees up the TfuDatIndInfo structure * * @details @@ -393,7 +361,7 @@ TfuDatIndInfo *datInd; { RLOG_ARG0(L_ERROR,DBG_CELLID,datInd->cellId,"SAP Validation failed"); rgLIMUtlFreeDatIndEvnt(datInd, TRUE); - RETVALUE(ret); + return (ret); } #endif /* Now call the TOM (Tfu ownership module) primitive to process further */ @@ -414,7 +382,7 @@ TfuDatIndInfo *datInd; /*stoping Task*/ SStopTask(startTime, PID_MAC_TFU_DATIND); - RETVALUE(ret); + return (ret); } /* RgLiTfuDatInd*/ #ifdef RG_UNUSED @@ -527,7 +495,7 @@ TfuDatReqInfo *datReq; /* This case will never be hit if sap is not bound then we dont get TTI */ rgLIMUtlFreeDatReqEvnt(datReq, TRUE); #endif - RETVALUE(RFAILED); + return RFAILED; } #endif @@ -539,7 +507,7 @@ TfuDatReqInfo *datReq; { RLOG_ARG0(L_ERROR,DBG_CELLID,datReq->cellId,"Call to RgLiTfuDatReq() failed"); } - RETVALUE(ret); + return (ret); } /* rgLIMTfuDatReq*/ #ifdef L2_OPTMZ @@ -585,7 +553,7 @@ TfuDelDatReqInfo *delDatReq; { RLOG_ARG1(L_ERROR,DBG_CELLID,delDatReq->cellId,"Lower SAP not bound (%d)", tfuSap->sapSta.sapState); - RETVALUE(RFAILED); + return RFAILED; } #endif @@ -594,155 +562,10 @@ TfuDelDatReqInfo *delDatReq; { RLOG_ARG0(L_ERROR,DBG_CELLID,delDatReq->cellId,"Call to RgLiTfuDelDatReq() failed"); } - RETVALUE(ret); + return (ret); } /* rgLIMTfuDatReq*/ #endif /*L2_OPTMZ */ -/** - * @brief Transmission time interval indication from PHY. - * - * @details - * - * Function : sendSlotIndMacToSch - * - * This API is invoked by MAC to send slot ind to scheduler. - * - * @param[in] SlotIndInfo *slotInd - * @return S16 - * -# ROK - * -# RFAILED - **/ -int sendSlotIndMacToSch(SlotIndInfo *slotInd) -{ - int ret = ROK; - /* fill Pst structure to send to lwr_mac to MAC */ - Pst pst; - pst.srcProcId = 0; - pst.dstProcId = 0; - pst.srcEnt = ENTRG; - pst.dstEnt = ENTRG; - pst.srcInst = 0; - pst.dstInst = 1; - pst.event = EVENT_SLOT_IND_TO_SCH; - pst.region = 0; - pst.pool = 0; - pst.selector = MAC_SELECTOR_TC; - - return(*macSchSlotIndOpts[pst.selector])(&pst,slotInd); -} - - -/******************************************************************* - * - * @brief Send slot indication to DU APP - * - * @details - * - * Function : sendSlotIndMacToDuApp - * - * Functionality: - * Send slot indication to DU APP - * - * @params[in] Slot indication info - * @return ROK - success - * RFAILED - failure - * - * ****************************************************************/ -int sendSlotIndMacToDuApp(SlotIndInfo *slotInd) -{ - Pst pst; - SlotInfo *slotInfo; - - /* Send Slot Indication to DU APP */ - MAC_ALLOC(slotInfo, sizeof(SlotInfo)); - if(!slotInfo) - { - DU_LOG("\nMAC : Slot Indication memory allocation failed"); - return RFAILED; - } - - /* Fill Pst */ - pst.selector = DU_MAC_LWLC; - pst.srcEnt = ENTRG; - pst.dstEnt = ENTDUAPP; - pst.dstInst = 0; - pst.srcInst = 0; - pst.dstProcId = rgCb[pst.srcInst].rgInit.procId; - pst.srcProcId = rgCb[pst.srcInst].rgInit.procId; - pst.region = MAC_MEM_REGION; - pst.pool = MAC_POOL; - pst.event = EVENT_MAC_SLOT_IND; - pst.route = 0; - pst.prior = 0; - pst.intfVer = 0; - - return MacDuAppSlotInd(&pst, slotInfo); - -} - -/** - * @brief Transmission time interval indication from PHY. - * - * @details - * - * Function : fapiMacSlotInd - * - * This API is invoked by PHY to indicate TTI indication to MAC for a cell. - * - * @param[in] Pst *pst - * @param[in] SuId suId - * @param[in] SlotIndInfo *slotInd - * @return S16 - * -# ROK - * -# RFAILED - **/ -PUBLIC S16 fapiMacSlotInd -( -Pst *pst, -SlotIndInfo *slotInd -) -{ - S16 ret; - VOLATILE U32 startTime=0; - Inst inst; - - DU_LOG("\nMAC : Slot Indication received"); - - RG_IS_INST_VALID(pst->dstInst); - inst = pst->dstInst - RG_INST_START; - /*starting Task*/ - SStartTask(&startTime, PID_MAC_TTI_IND); - - /* send slot indication to scheduler */ - ret = sendSlotIndMacToSch(slotInd); - if(ret != ROK) - { - DU_LOG("\nMAC : Sending of slot ind msg from MAC to SCH failed"); - RETVALUE(ret); - } - - /* Now call the TOM (Tfu ownership module) primitive to process further */ - ret = macProcessSlotInd(inst,*slotInd); - if(ret != ROK) - { - DU_LOG("\nMAC : macProcessSlotInd failed"); - RETVALUE(ret); - } - - /* send slot indication to du app */ - ret = sendSlotIndMacToDuApp(slotInd); - if(ret != ROK) - { - DU_LOG("\nMAC :Sending of slot ind msg from MAC to DU APP failed"); - RETVALUE(ret); - } - - /*stoping Task*/ - SStopTask(startTime, PID_MAC_TTI_IND); - - RETVALUE(ret); -} /* fapiMacSlotInd */ - #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) /** * @brief Transmission of non-rt indication from CL. @@ -777,11 +600,11 @@ SuId suId; if (rgLIMValidateSap (pst->dstInst - RG_INST_START, suId) != ROK) { RGDBGERRNEW(pst->dstInst - RG_INST_START, (rgPBuf(pst->dstInst - RG_INST_START),"RgLiTfuNonRtInd() SAP Validation failed.\n")); - RETVALUE(RFAILED); + return RFAILED; } #endif rgDHMFreeTbBufs(pst->dstInst - RG_INST_START); - RETVALUE(ROK); + return ROK; } /* RgLiTfuNonRtInd */ #endif