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 */
#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 */
#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));
} /* rgLIMTfuDatReq*/
#endif /*L2_OPTMZ */
-void fapiMacConfigRsp()
+/*******************************************************************
+ *
+ * @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)
{
- /* TODO : Processing of conig response from PHY */
-
- /* Send cell config cfm to DU APP */
- MacSendCellCfgCfm(RSP_OK);
+ 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 = ODU_SELECTOR_TC;
}
-/**
- * @brief Transmission time interval indication from PHY.
+/*******************************************************************
+ *
+ * @brief MAC handler for config response 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)
+ * Function : fapiMacConfigRsp
+ *
+ * Functionality:
+ * Processes config response from PHY and sends cell config
+ * confirm to DU APP
+ *
+ * @params[in]
+ * @return void
+ *
+ * ****************************************************************/
+void fapiMacConfigRsp()
{
- 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);
-}
+ /* TODO : Processing of config response from PHY */
+ /* Send cell config cfm to DU APP */
+ MacSendCellCfgCfm(RSP_OK);
+}
/*******************************************************************
*
- * @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;
+ pst.selector = ODU_SELECTOR_LWLC;
pst.srcEnt = ENTRG;
pst.dstEnt = ENTDUAPP;
pst.dstInst = 0;
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.