Moving all common header file into common_def.h file
[o-du/l2.git] / src / 5gnrmac / rg_lim.c
index ccead37..b003352 100755 (executable)
@@ -36,17 +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 "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 */
@@ -54,33 +44,25 @@ static int RLOG_MODULE_ID=4096;
 #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
@@ -252,6 +234,7 @@ U8      status;
   *   -# ROK
   *   -# RFAILED
   */
+#ifdef UNUSED_FUNC
 #ifdef ANSI
 PRIVATE S16 rgLIMValidateSap
 (
@@ -285,7 +268,7 @@ PRIVATE S16 rgLIMValidateSap(inst,suId)
    }
    RETVALUE(ROK);
 } /* end of rgLIMValidateSap */
-
+#endif
 /** @brief This function frees up the TfuDatIndInfo structure
  *
  * @details
@@ -588,65 +571,115 @@ TfuDelDatReqInfo *delDatReq;
 }  /* 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.