#include "rg.x" /* typedefs for MAC */
#include "mac_sch_interface.h"
-/* local defines */
+#include "mac_upr_inf_api.h"
-/* local typedefs */
-
/* local externs */
#ifdef UNUSED_FUNC
PRIVATE S16 rgLIMValidateSap ARGS((Inst inst,SuId suId));
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.
*
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*/
ret = sendSlotIndMacToSch(slotInd);
if(ret != ROK)
{
- DU_LOG("\nsending of slot ind msg from MAC to SCH failed");
+ DU_LOG("\nMAC : Sending of slot ind msg from MAC to SCH failed");
RETVALUE(ret);
}
ret = macProcessSlotInd(inst,*slotInd);
if(ret != ROK)
{
- DU_LOG("\nmacProcessSlotInd failed");
+ 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);