[Epic-ID: ODUHIGH-538] Compilation fix
[o-du/l2.git] / src / du_app / du_mgr_main.c
index 21312b5..724d21b 100644 (file)
 
 /* This file is the entry point for DU APP */
 #include "common_def.h"
+#include "du_tmr.h"
 #include "lrg.h"
 #include "legtp.h"
 #include "lrg.x"
 #include "lkw.x"
 #include "du_app_mac_inf.h"
 #include "du_app_rlc_inf.h"
+#include "du_e2ap_mgr.h"
 #include "du_cfg.h"
 #include "du_mgr.h"
 #include "du_mgr_main.h"
 #include "du_sctp.h"
 #include "du_egtp.h"
+#include "du_cell_mgr.h"
+#include "du_f1ap_msg_hdl.h"
 
 #ifdef O1_ENABLE
 
@@ -40,8 +44,10 @@ uint8_t rlcUlActvTsk (Pst *, Buffer *);
 uint8_t rlcUlActvInit (Ent, Inst, Region, Reason);
 uint8_t rlcDlActvTsk (Pst *, Buffer *);
 uint8_t rlcDlActvInit (Ent, Inst, Region, Reason);
-uint8_t rgActvTsk (Pst *, Buffer *);
-uint8_t rgActvInit (Ent, Inst, Region, Reason);
+uint8_t macActvTsk (Pst *, Buffer *);
+uint8_t macActvInit (Ent, Inst, Region, Reason);
+uint8_t schActvTsk (Pst *, Buffer *);
+uint8_t schActvInit(Ent, Inst, Region, Reason);
 uint8_t lwrMacActvTsk(Pst *, Buffer *);
 uint8_t lwrMacActvInit(Ent, Inst, Region, Reason);
 #ifndef INTEL_WLS_MEM
@@ -160,13 +166,11 @@ uint8_t setRrmPolicy(RrmPolicyList rrmPolicy[], uint8_t policyNum)
        {
            if(duCb.sliceState == SLICE_INFO_NOT_AVAILABLE)
            {
-              BuildAndSendSliceConfigReq(duCfgParam.tempSliceCfg.rrmPolicy, duCfgParam.tempSliceCfg.totalRrmPolicy,\
-              duCfgParam.tempSliceCfg.totalSliceCount);
+              BuildAndSendSliceConfigReq();
            }
            else 
            {
-              BuildAndSendSliceRecfgReq(duCfgParam.tempSliceCfg.rrmPolicy, duCfgParam.tempSliceCfg.totalRrmPolicy,\
-              duCfgParam.tempSliceCfg.totalSliceCount);
+              BuildAndSendSliceRecfgReq();
            }
        }
     }
@@ -362,6 +366,7 @@ uint8_t sctpInit(SSTskId sysTskId)
          sysTskId);
    return ROK;
 }
+
 /*******************************************************************
  *
  * @brief Initializes RLC DL, MAC TAPA task
@@ -394,7 +399,7 @@ uint8_t rlcDlInit(SSTskId sysTskId)
 
    /* Register MAC TAPA Task */
    if(ODU_REG_TTSK((Ent)ENTMAC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
-            rgActvInit, (ActvTsk)rgActvTsk) != ROK)
+            macActvInit, (ActvTsk)macActvTsk) != ROK)
    {
       return RFAILED;
    }
@@ -403,9 +408,42 @@ uint8_t rlcDlInit(SSTskId sysTskId)
    {
       return RFAILED;
    }
+   return ROK;
+ }
 
-   DU_LOG("\nINFO   -->  DU_APP : RLC DL and MAC TAPA task created and registered to \
-   %d sys task", sysTskId);
+/*******************************************************************
+ *
+ * @brief Initializes SCH TAPA task
+ *
+ * @details
+ *
+ *    Function : schInit
+ *
+ *    Functionality:
+ *       - Registers and attaches TAPA tasks for SCH
+ *
+ * @params[in] system task ID
+ * @return ROK     - success
+ *         RFAILED - failure
+ *
+ * ****************************************************************/
+ uint8_t schInit(SSTskId sysTskId)
+ {
+   /* Register SCH TAPA Task */
+   if(ODU_REG_TTSK((Ent)ENTMAC, (Inst)SCH_INST_START, (Ttype)TTNORM, (Prior)PRIOR0,
+            schActvInit, (ActvTsk)schActvTsk) != ROK)
+   {
+      return RFAILED;
+   }
+   /* Attach SCH Task */
+   if (ODU_ATTACH_TTSK((Ent)ENTMAC, (Inst)SCH_INST_START, sysTskId)!= ROK)
+   {
+      return RFAILED;
+   }
+
+
+   DU_LOG("\nINFO   -->  DU_APP : SCH TAPA task created and registered to \
+         %d sys task", sysTskId);
    return ROK;
 }
 
@@ -535,7 +573,7 @@ uint8_t phyStubInit(SSTskId sysTskId)
 uint8_t commonInit()
 {
    /* Declare system task Ids */
-   SSTskId du_app_stsk, egtp_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, lwr_mac_stsk, phy_stub_slot_ind_stsk;
+   SSTskId du_app_stsk, egtp_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, sch_stsk, lwr_mac_stsk, phy_stub_slot_ind_stsk;
 
    pthread_attr_t attr;
 
@@ -543,58 +581,82 @@ uint8_t commonInit()
 
    /* Intel L1 using core 0-15. ODU-High using 16-21 */
    /* system task for DU APP */
-   if(ODU_CREATE_TASK(PRIOR0, &du_app_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.duAppSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for DU APP failed");
       return RFAILED;
    }
+
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 16, 0);
+#endif
 
    /* system task for EGTP */
-   if(ODU_CREATE_TASK(PRIOR0, &egtp_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.egtpSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for EGTP failed");
       return RFAILED;
    }
+
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&egtp_stsk, SS_AFFINITY_MODE_EXCL, 27, 0);
+#endif
 
    /* system task for RLC_DL and MAC */
-   if(ODU_CREATE_TASK(PRIOR0, &rlc_mac_cl_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.rlcMacSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for RLC DL/MAC failed");
       return RFAILED;
    }
    pthread_attr_init(&attr);
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 18, 0);
+#endif
 
    /* system task for RLC UL */
-   if(ODU_CREATE_TASK(PRIOR1, &rlc_ul_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR1, &duCfgParam.threadInfo.rlcUlSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for RLC UL failed");
       return RFAILED;
    }
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 22, 0);
+#endif
+   
+   /* system task for SCH */
+   if(ODU_CREATE_TASK(PRIOR1, &duCfgParam.threadInfo.schSTskId) != ROK)
+   {
+      DU_LOG("\nERROR  -->  DU_APP : System Task creation for SCH failed");
+      return RFAILED;
+   }
+#ifdef INTEL_THREAD_AFFINITY
+   ODU_SET_THREAD_AFFINITY(&sch_stsk, SS_AFFINITY_MODE_EXCL, 22, 0);
+#endif
 
    /* system task for SCTP receiver thread */
-   if(ODU_CREATE_TASK(PRIOR0, &sctp_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.sctpSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for SCTP failed");
       return RFAILED;
    }
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 25, 0);
+#endif
 
    /* system task for lower-mac receiver thread */
-   if(ODU_CREATE_TASK(PRIOR0, &lwr_mac_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.lwrMacSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for Lower MAC failed");
       return RFAILED;
    }
+#ifdef INTEL_THREAD_AFFINITY
    ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 21, 0);
+#endif
 
 #ifndef INTEL_WLS_MEM
    /* system task for phy stub's slot indication generator thread */
-   if(ODU_CREATE_TASK(PRIOR0, &phy_stub_slot_ind_stsk) != ROK)
+   if(ODU_CREATE_TASK(PRIOR0, &duCfgParam.threadInfo.phyStubSlotIndSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : System Task creation for Phy stub slot indication generator failed. MAX STSK [%d]", SS_MAX_STSKS);
       return RFAILED;
@@ -603,44 +665,50 @@ uint8_t commonInit()
 #endif
 
    /* Create TAPA tasks */
-   if(duAppInit(du_app_stsk) != ROK)
+   if(duAppInit(duCfgParam.threadInfo.duAppSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : DU APP TAPA Task initialization failed");
       return RFAILED;
    }
 
-   if(egtpInit(egtp_stsk) != ROK)
+   if(egtpInit(duCfgParam.threadInfo.egtpSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : EGTP TAPA Task initialization failed");
       return RFAILED;
    }
 
-   if(sctpInit(sctp_stsk) != ROK)
+   if(sctpInit(duCfgParam.threadInfo.sctpSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : SCTP TAPA Task initialization failed");
       return RFAILED;
    }
 
-   if(rlcDlInit(rlc_mac_cl_stsk) != ROK)
+   if(rlcDlInit(duCfgParam.threadInfo.rlcMacSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : RLC DL Tapa Task initialization failed");
       return RFAILED;
    } 
 
-   if(rlcUlInit(rlc_ul_stsk) != ROK)
+   if(rlcUlInit(duCfgParam.threadInfo.rlcUlSTskId) != ROK)
    {
      DU_LOG("\nERROR  -->  DU_APP : RLC UL Tapa Task initialization failed");
      return RFAILED;
    } 
 
-   if(lwrMacInit(lwr_mac_stsk) != ROK)
+   if(schInit(duCfgParam.threadInfo.schSTskId) != ROK)
+   {
+      DU_LOG("\nERROR  -->  DU_APP : SCH Tapa Task initialization failed");
+      return RFAILED;
+   }
+
+   if(lwrMacInit(duCfgParam.threadInfo.lwrMacSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : Lower MAC Tapa Task initialization failed");
       return RFAILED;
    }
 
 #ifndef INTEL_WLS_MEM
-   if(phyStubInit(phy_stub_slot_ind_stsk) != ROK)
+   if(phyStubInit(duCfgParam.threadInfo.phyStubSlotIndSTskId) != ROK)
    {
       DU_LOG("\nERROR  -->  DU_APP : PHY stub slot indication Tapa Task initialization failed");
       return RFAILED;
@@ -707,6 +775,9 @@ uint8_t tst(void)
    if(start_O1_module() != ROK)
       return RFAILED;
 #endif
+
+   memset(&duCfgParam, 0, sizeof(DuCfgParams));
+
    //Initialize TAPA layers
    if(duInit() != ROK)
    {