X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrmac%2Frg_lim.c;h=d710c4f226acaa0382f921dcd69513b90ac44844;hb=18376996c17ece8306c1fe9539a00010bea607d5;hp=ecfb9516bd5453b0cc7ccb2fdca14a00d631d9bb;hpb=d2d9dcbd92e8f1be15dd5891aaf9ada9bc071e1a;p=o-du%2Fl2.git diff --git a/src/5gnrmac/rg_lim.c b/src/5gnrmac/rg_lim.c index ecfb9516b..d710c4f22 100755 --- a/src/5gnrmac/rg_lim.c +++ b/src/5gnrmac/rg_lim.c @@ -601,9 +601,55 @@ TfuDelDatReqInfo *delDatReq; } /* rgLIMTfuDatReq*/ #endif /*L2_OPTMZ */ +/******************************************************************* + * + * @brief Fills post structure + * + * @details + * + * Function : fillMacToSchPst + * + * Functionality: + * Fills post structure to be used when sending msg from + * MAC to SCH + * + * @params[in] Post structure pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +void fillMacToSchPst(Pst *pst) +{ + pst->srcProcId = 0; + pst->dstProcId = 0; + pst->srcEnt = ENTRG; + pst->dstEnt = ENTRG; + pst->srcInst = 0; + pst->dstInst = 1; + pst->region = 0; + pst->pool = 0; + pst->selector = MAC_SELECTOR_TC; +} + +/******************************************************************* + * + * @brief MAC handler for config response from PHY + * + * @details + * + * Function : fapiMacConfigRsp + * + * Functionality: + * Processes config response from PHY and sends cell config + * confirm to DU APP + * + * @params[in] + * @return void + * + * ****************************************************************/ void fapiMacConfigRsp() { - /* TODO : Processing of conig response from PHY */ + /* TODO : Processing of config response from PHY */ /* Send cell config cfm to DU APP */ MacSendCellCfgCfm(RSP_OK); @@ -625,19 +671,11 @@ void fapiMacConfigRsp() **/ 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; + + fillMacToSchPst(&pst); pst.event = EVENT_SLOT_IND_TO_SCH; - pst.region = 0; - pst.pool = 0; - pst.selector = MAC_SELECTOR_TC; return(*macSchSlotIndOpts[pst.selector])(&pst,slotInd); } @@ -662,10 +700,11 @@ int sendSlotIndMacToSch(SlotIndInfo *slotInd) int sendSlotIndMacToDuApp(SlotIndInfo *slotInd) { Pst pst; + uint16_t ret; SlotInfo *slotInfo; - - /* Send Slot Indication to DU APP */ - MAC_ALLOC(slotInfo, sizeof(SlotInfo)); + + /* Allocate sharable memory */ + MAC_ALLOC_SHRABL_BUF(slotInfo, sizeof(SlotInfo)); if(!slotInfo) { DU_LOG("\nMAC : Slot Indication memory allocation failed"); @@ -691,72 +730,15 @@ int sendSlotIndMacToDuApp(SlotIndInfo *slotInd) 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 = MacDuAppSlotInd(&pst, slotInfo); 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); + DU_LOG("\nMAC: Failed to send slot indication to DU APP"); + MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, slotInfo, sizeof(SlotInfo)); } - - /*stoping Task*/ - SStopTask(startTime, PID_MAC_TTI_IND); - - RETVALUE(ret); -} /* fapiMacSlotInd */ + + return ret; +} #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) /**