Merge "Developer-guide.rst"
[o-du/l2.git] / src / du_app / du_mgr_main.c
index 53e75f3..7f112cb 100644 (file)
 #include "lrg.x"
 #include "lkw.x"
 #include "du_app_mac_inf.h"
+#include "du_app_rlc_inf.h"
 #include "du_cfg.h"
+#include "du_mgr.h"
 #include "du_mgr_main.h"
 #include "du_sctp.h"
 #include "du_egtp.h"
 
-extern S16 kwUlActvTsk (Pst *, Buffer *);
-extern S16 kwUlActvInit (Ent, Inst, Region, Reason);
-extern S16 kwDlActvTsk (Pst *, Buffer *);
-extern S16 kwDlActvInit (Ent, Inst, Region, Reason);
-extern S16 rgActvTsk (Pst *, Buffer *);
-extern S16 rgActvInit (Ent, Inst, Region, Reason);
+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 lwrMacActvTsk(Pst *, Buffer *);
+uint8_t lwrMacActvInit(Ent, Inst, Region, Reason);
 
 /* Global variable */
 DuCfgParams duCfgParam;
@@ -55,16 +59,16 @@ DuCfgParams duCfgParam;
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 duAppInit(SSTskId sysTskId)
+uint8_t duAppInit(SSTskId sysTskId)
 {
        /* Register DU APP TAPA Task for DU */
-       if(SRegTTsk((Ent)ENTDUAPP, (Inst)DU_INST, (Ttype)TTNORM, (Prior)PRIOR0,
+       if(ODU_REG_TTSK((Ent)ENTDUAPP, (Inst)DU_INST, (Ttype)TTNORM, (Prior)PRIOR0,
             duActvInit, (ActvTsk)duActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach DU APP TAPA Task for DU */
-   if (SAttachTTsk((Ent)ENTDUAPP, (Inst)0, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTDUAPP, (Inst)0, sysTskId)!= ROK)
    {
       return RFAILED;
    }
@@ -91,16 +95,16 @@ S16 duAppInit(SSTskId sysTskId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 egtpInit(SSTskId sysTskId)
+uint8_t egtpInit(SSTskId sysTskId)
 {
    /* Register DU APP TAPA Task for DU */
-   if(SRegTTsk((Ent)ENTEGTP, (Inst)EGTP_INST, (Ttype)TTNORM, (Prior)PRIOR0,
+   if(ODU_REG_TTSK((Ent)ENTEGTP, (Inst)EGTP_INST, (Ttype)TTNORM, (Prior)PRIOR0,
              egtpActvInit, (ActvTsk)egtpActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach DU APP TAPA Task for DU */
-   if (SAttachTTsk((Ent)ENTEGTP, (Inst)0, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTEGTP, (Inst)0, sysTskId)!= ROK)
    {
       return RFAILED;
    }
@@ -127,16 +131,16 @@ S16 egtpInit(SSTskId sysTskId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 sctpInit(SSTskId sysTskId)
+uint8_t sctpInit(SSTskId sysTskId)
 {
    /* Register SCTP TAPA Task */
-   if(SRegTTsk((Ent)ENTSCTP, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
+   if(ODU_REG_TTSK((Ent)ENTSCTP, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
             sctpActvInit, (ActvTsk)sctpActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach SCTP TAPA Task */
-   if (SAttachTTsk((Ent)ENTSCTP, (Inst)SCTP_INST, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTSCTP, (Inst)SCTP_INST, sysTskId)!= ROK)
    {
       return RFAILED;
    }
@@ -161,28 +165,28 @@ S16 sctpInit(SSTskId sysTskId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 rlcDlInit(SSTskId sysTskId)
+uint8_t rlcDlInit(SSTskId sysTskId)
 {
    /* Register RLC DL TAPA Task */
-   if(SRegTTsk((Ent)ENTKW, (Inst)1, (Ttype)TTNORM, (Prior)PRIOR0,
-            kwDlActvInit, (ActvTsk)kwDlActvTsk) != ROK)
+   if(ODU_REG_TTSK((Ent)ENTRLC, (Inst)1, (Ttype)TTNORM, (Prior)PRIOR0,
+            rlcDlActvInit, (ActvTsk)rlcDlActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach RLC DL Task */
-   if (SAttachTTsk((Ent)ENTKW, (Inst)1, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTRLC, (Inst)1, sysTskId)!= ROK)
    {
       return RFAILED;
    }
 
    /* Register MAC TAPA Task */
-   if(SRegTTsk((Ent)ENTRG, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
+   if(ODU_REG_TTSK((Ent)ENTMAC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
             rgActvInit, (ActvTsk)rgActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach MAC Task */
-   if (SAttachTTsk((Ent)ENTRG, (Inst)0, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTMAC, (Inst)0, sysTskId)!= ROK)
    {
       return RFAILED;
    }
@@ -208,16 +212,16 @@ S16 rlcDlInit(SSTskId sysTskId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 rlcUlInit(SSTskId sysTskId)
+uint8_t rlcUlInit(SSTskId sysTskId)
 {
    /* Register RLC UL TAPA Task */
-   if(SRegTTsk((Ent)ENTKW, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
-            kwUlActvInit, (ActvTsk)kwUlActvTsk) != ROK)
+   if(ODU_REG_TTSK((Ent)ENTRLC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
+            rlcUlActvInit, (ActvTsk)rlcUlActvTsk) != ROK)
    {
       return RFAILED;
    }
    /* Attach RLC DL Task */
-   if (SAttachTTsk((Ent)ENTKW, (Inst)0, sysTskId)!= ROK)
+   if (ODU_ATTACH_TTSK((Ent)ENTRLC, (Inst)0, sysTskId)!= ROK)
    {
       return RFAILED;
    }
@@ -226,6 +230,41 @@ S16 rlcUlInit(SSTskId sysTskId)
    return ROK;
 }
 
+/*******************************************************************
+ *
+ * @brief Initializes Lower MAC receiver task
+ *
+ * @details
+ *
+ *    Function : lwrMacInit
+ *
+ *    Functionality:
+ *       - Registers and attaches TAPA tasks for Lower MAC receiver
+ *
+ * @params[in] system task ID
+ * @return ROK     - success
+ *         RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t lwrMacInit(SSTskId sysTskId)
+{
+   /* Register SCTP TAPA Task */
+   if(ODU_REG_TTSK((Ent)ENTLWRMAC, (Inst)0, (Ttype)TTNORM, (Prior)PRIOR0,
+            lwrMacActvInit, (ActvTsk)lwrMacActvTsk) != ROK)
+   {
+      return RFAILED;
+   }
+   /* Attach SCTP TAPA Task */
+   if (ODU_ATTACH_TTSK((Ent)ENTLWRMAC, (Inst)0, sysTskId)!= ROK)
+   {
+      return RFAILED;
+   }
+
+   DU_LOG("\nDU_APP : LWR MAC TAPA task created and registered to %d sys task",
+         sysTskId);
+   return ROK;
+}
+
 /*******************************************************************
  *
  * @brief Initializes system and TAPA tasks
@@ -242,28 +281,56 @@ S16 rlcUlInit(SSTskId sysTskId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 commonInit()
+uint8_t commonInit()
 {
    /* Declare system task Ids */
-   SSTskId du_app_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk;
+   SSTskId du_app_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, lwr_mac_stsk;
 
    pthread_attr_t attr;
 
-   SSetProcId(DU_PROC);
+   ODU_SET_PROC_ID(DU_PROC);
 
    /* system task for DU APP */
-   SCreateSTsk(PRIOR0, &du_app_stsk);
+   if(ODU_CREATE_TASK(PRIOR0, &du_app_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : System Task creation for DU APP failed");
+      return RFAILED;
+   }
+   ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 15, 0);
 
    /* system task for RLC_DL and MAC */
-   SCreateSTsk(PRIOR0, &rlc_mac_cl_stsk);
+   if(ODU_CREATE_TASK(PRIOR0, &rlc_mac_cl_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : System Task creation for RLC DL/MAC failed");
+      return RFAILED;
+   }
    pthread_attr_init(&attr);
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+   ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 16, 0);
 
    /* system task for RLC UL */
-   SCreateSTsk(PRIOR1, &rlc_ul_stsk);
+   if(ODU_CREATE_TASK(PRIOR1, &rlc_ul_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : System Task creation for RLC UL failed");
+      return RFAILED;
+   }
+   ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 17, 0);
 
    /* system task for SCTP receiver thread */
-   SCreateSTsk(PRIOR0, &sctp_stsk);
+   if(ODU_CREATE_TASK(PRIOR0, &sctp_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : System Task creation for SCTP failed");
+      return RFAILED;
+   }
+   ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 18, 0);
+
+   /* system task for lower-mac receiver thread */
+   if(ODU_CREATE_TASK(PRIOR0, &lwr_mac_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : System Task creation for Lower MAC failed");
+      return RFAILED;
+   }
+   ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 19, 0);
 
    /* Create TAPA tasks */
    if(duAppInit(du_app_stsk) != ROK)
@@ -295,6 +362,13 @@ S16 commonInit()
      DU_LOG("\nDU_APP : RLC UL Tapa Task initialization failed");
      return RFAILED;
    } 
+
+   if(lwrMacInit(lwr_mac_stsk) != ROK)
+   {
+      DU_LOG("\nDU_APP : Lower MAC Tapa Task initialization failed");
+      return RFAILED;
+   }
+
    return ROK;
 }
 
@@ -315,7 +389,7 @@ S16 commonInit()
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 duInit()
+uint8_t duInit()
 {
    int ret = ROK;
    if(commonInit() != ROK)
@@ -347,7 +421,7 @@ void init_log()
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 tst(void)
+uint8_t tst(void)
 {
        init_log();