X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Frg_lim.c;h=072f221a5ffe26677d25773bd83c4b46e1856d50;hb=49dec2270f1b3c03b36a801e153bf0786edffc24;hp=424180b4101abea06d1e33b9d9609689b4837c1c;hpb=b490cd1231cfcc837e8bfccc40c6bb106dceef7c;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lim.c b/src/5gnrmac/rg_lim.c index 424180b41..072f221a5 100755 --- a/src/5gnrmac/rg_lim.c +++ b/src/5gnrmac/rg_lim.c @@ -36,6 +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 #include "envopt.h" /* environment options */ #include "envdep.h" /* environment dependent */ #include "envind.h" /* environment independent */ @@ -84,17 +85,6 @@ 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)); @@ -655,64 +645,37 @@ void fapiMacConfigRsp() MacSendCellCfgCfm(RSP_OK); } -/** - * @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) -{ - /* fill Pst structure to send to lwr_mac to MAC */ - Pst pst; - - fillMacToSchPst(&pst); - pst.event = EVENT_SLOT_IND_TO_SCH; - - return(*macSchSlotIndOpts[pst.selector])(&pst,slotInd); -} - - /******************************************************************* * - * @brief Send slot indication to DU APP + * @brief Send stop indication to DU APP * * @details * - * Function : sendSlotIndMacToDuApp + * Function : sendStopIndMacToDuApp * * Functionality: - * Send slot indication to DU APP + * Send stop indication to DU APP * - * @params[in] Slot indication info + * @params[in] Pst info * @return ROK - success * RFAILED - failure * * ****************************************************************/ -int sendSlotIndMacToDuApp(SlotIndInfo *slotInd) +uint8_t sendStopIndMacToDuApp() { Pst pst; - SlotInfo *slotInfo; + uint8_t ret = ROK; + + MacCellStopInfo *cellStopId; - /* Send Slot Indication to DU APP */ - MAC_ALLOC(slotInfo, sizeof(SlotInfo)); - if(!slotInfo) + /* Allocate sharable memory */ + MAC_ALLOC_SHRABL_BUF(cellStopId, sizeof(MacCellStopInfo)); + if(!cellStopId) { - DU_LOG("\nMAC : Slot Indication memory allocation failed"); + DU_LOG("\nMAC : Stop Indication memory allocation failed"); return RFAILED; } - - slotInfo->cellId = macCb.macCell->cellId; - slotInfo->sfn = slotInd->sfn; - slotInfo->slot = slotInd->slot; + cellStopId->cellId = macCb.macCell->cellId; /* Fill Pst */ pst.selector = DU_MAC_LWLC; @@ -724,78 +687,19 @@ int sendSlotIndMacToDuApp(SlotIndInfo *slotInd) pst.srcProcId = rgCb[pst.srcInst].rgInit.procId; pst.region = MAC_MEM_REGION; pst.pool = MAC_POOL; - pst.event = EVENT_MAC_SLOT_IND; + pst.event = EVENT_MAC_STOP_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); + ret = MacDuAppStopInd(&pst, cellStopId); if(ret != ROK) { - DU_LOG("\nMAC : Sending of slot ind msg from MAC to SCH failed"); - RETVALUE(ret); + DU_LOG("\nMAC: Failed to send stop indication to DU APP"); + MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, cellStopId, sizeof(MacCellStopInfo)); } - - /* 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 */ - + return ROK; +} #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) /** * @brief Transmission of non-rt indication from CL.