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 "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_mgr_mac_inf.h"
+#include "du_app_mac_inf.h"
#include "rg.x" /* typedefs for MAC */
-/* local defines */
+#include "mac_upr_inf_api.h"
+#include "mac.h"
-/* local typedefs */
-
/* local externs */
+#ifdef UNUSED_FUNC
PRIVATE S16 rgLIMValidateSap ARGS((Inst inst,SuId suId));
+#endif
PRIVATE Void rgLIMUtlFreeDatIndEvnt ARGS((TfuDatIndInfo *datInd,
Bool error));
#ifdef RG_UNUSED
* -# ROK
* -# RFAILED
*/
+#ifdef UNUSED_FUNC
#ifdef ANSI
PRIVATE S16 rgLIMValidateSap
(
}
RETVALUE(ROK);
} /* end of rgLIMValidateSap */
-
+#endif
/** @brief This function frees up the TfuDatIndInfo structure
*
* @details
} /* rgLIMTfuDatReq*/
#endif /*L2_OPTMZ */
-/**
- * @brief Transmission time interval indication from PHY.
+/*******************************************************************
+ *
+ * @brief Fills post structure
*
* @details
*
- * Function : RgLiTfuTtiInd
- *
- * 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] TfuTtiIndInfo *ttiInd
- * @return S16
- * -# ROK
- * -# RFAILED
- **/
-#ifdef ANSI
-PUBLIC S16 RgLiTfuTtiInd
-(
-Pst *pst,
-SuId suId,
-TfuTtiIndInfo *ttiInd
-)
-#else
-PUBLIC S16 RgLiTfuTtiInd(pst, suId, ttiInd)
-Pst *pst;
-SuId suId;
-TfuTtiIndInfo *ttiInd;
-#endif
+ * 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)
{
- S16 ret;
- VOLATILE U32 startTime=0;
- Inst inst;
+ 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 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 config response from PHY */
- TRC3(RgLiTfuTtiInd);
+ /* Send cell config cfm to DU APP */
+ MacSendCellCfgCfm(RSP_OK);
+}
- RG_IS_INST_VALID(pst->dstInst);
- inst = pst->dstInst - RG_INST_START;
- /*starting Task*/
- SStartTask(&startTime, PID_MAC_TTI_IND);
+/*******************************************************************
+ *
+ * @brief Send stop indication to DU APP
+ *
+ * @details
+ *
+ * Function : sendStopIndMacToDuApp
+ *
+ * Functionality:
+ * Send stop indication to DU APP
+ *
+ * @params[in] Pst info
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t sendStopIndMacToDuApp()
+{
+ Pst pst;
+ uint8_t ret = ROK;
-#ifdef NO_ERRCLS
- if ((ret = rgLIMValidateSap (pst->dstInst - RG_INST_START,suId)) != ROK)
+ MacCellStopInfo *cellStopId;
+
+ /* Allocate sharable memory */
+ MAC_ALLOC_SHRABL_BUF(cellStopId, sizeof(MacCellStopInfo));
+ if(!cellStopId)
{
- RLOG_ARG0(L_ERROR,DBG_CELLID,ttiInd->cells[0].cellId,"SAP Validation failed");
- RETVALUE(ret);
+ DU_LOG("\nMAC : Stop Indication memory allocation failed");
+ return RFAILED;
}
-#endif
-
- /* Now call the TOM (Tfu ownership module) primitive to process further */
- ret = rgTOMTtiInd(inst,ttiInd);
-
-
- /*stoping Task*/
- SStopTask(startTime, PID_MAC_TTI_IND);
-
- RETVALUE(ret);
-} /* RgLiTfuTtiInd */
-
+ cellStopId->cellId = macCb.macCell->cellId;
+
+ /* Fill Pst */
+ pst.selector = ODU_SELECTOR_LWLC;
+ pst.srcEnt = ENTRG;
+ pst.dstEnt = ENTDUAPP;
+ pst.dstInst = 0;
+ pst.srcInst = macCb.macInst;
+ 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_STOP_IND;
+ pst.route = 0;
+ pst.prior = 0;
+ pst.intfVer = 0;
+
+ ret = MacDuAppStopInd(&pst, cellStopId);
+ if(ret != ROK)
+ {
+ DU_LOG("\nMAC: Failed to send stop indication to DU APP");
+ MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, cellStopId, sizeof(MacCellStopInfo));
+ }
+ return ROK;
+}
#if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD)
/**
* @brief Transmission of non-rt indication from CL.