macCellCfg
[o-du/l2.git] / src / 5gnrmac / rg_cl_li.c
index d41c17b..95eab81 100644 (file)
 #include "ssi.x"
 #include "cm_hash.x"
 
-#include "lcl.h"
-#include "rg_cl.h"
+#include "du_mgr_mac_inf.h"
+#include "lwr_mac.h"
 #include "rg_cl_phy.h"
+#include "fapi.h"
 /*#include "wls_lib.h"*/
 
 EXTERN S16 sendToPhy ARGS((U16 msgType, U32 msgLen, void *msg));
@@ -137,7 +138,7 @@ ClCellCb   *cellCb
    U8             *configTlvs;
    L1L2ConfigReq  *FAPIConfigReq;
    L1L2Tlv        *nextTlv;
-   ClCellCfg      cellCfg;
+   MacCellCfg      cellCfg;
 
    FAPIConfigReqSize = sizeof(L1L2ConfigReq)
                        + (cellCb->cellCfg.numTlv * sizeof(L1L2Tlv));
@@ -185,7 +186,7 @@ ClCellCb   *cellCb
 
    /* Filling SSB configuration */
    fillConfigTLV(nextTlv, configTlvs, CFG_TAG_SS_PBCH_PWR, sizeof(U16), cellCfg.ssbCfg.ssbPbchPwr, &msgLen);
-   fillConfigTLV(nextTlv, configTlvs, CFG_TAG_BCH_PAYLOAD, sizeof(U16), cellCfg.ssbCfg.bchPayload, &msgLen);
+   fillConfigTLV(nextTlv, configTlvs, CFG_TAG_BCH_PAYLOAD, sizeof(U16), cellCfg.ssbCfg.bchPayloadOption, &msgLen);
    fillConfigTLV(nextTlv, configTlvs, CFG_TAG_SCS_COMM, sizeof(U16), cellCfg.ssbCfg.scsCmn, &msgLen);
    fillConfigTLV(nextTlv, configTlvs, CFG_TAG_SSB_OFFS_POINT_A, sizeof(U16), cellCfg.ssbCfg.ssbPrbOffset, &msgLen);
    fillConfigTLV(nextTlv, configTlvs, CFG_TAG_BETA_PSS, sizeof(U16), cellCfg.ssbCfg.betaPss, &msgLen);
@@ -275,6 +276,50 @@ S16 rgClHndlCfgReq(void *msg)
    RETVALUE(ROK);
 }
 
+/*******************************************************************
+ *
+ * @brief Handles FAPI param response
+ *
+ * @details
+ *
+ *    Function : lwrMacHndlParamReq
+ *
+ *    Functionality:
+ *         -Handles FAPI param request
+ *
+ * @params[in] Message pointer
+ *             
+ * @return void
+ *
+ *****************************************************************/
+S16 lwrMacHndlParamReq(void *msg)
+{
+   ClCellCb   *cellCb = NULLP;
+   fapi_param_resp_t *paramRsp;
+
+   paramRsp = (fapi_param_resp_t *)msg;
+
+   if(paramRsp->error_code != MSG_OK)
+   {
+      printf("\nPHY configuration failed");
+      RETVALUE(RFAILED);
+   }
+   
+   if(paramRsp->tlvs[0].value == 0)
+   {
+      cellCb->phyState    = PHY_STATE_IDLE;
+      clGlobalCp.phyState = PHY_STATE_IDLE;           
+   }
+  
+   printf("\nReceived successful PHY configuration response");
+
+   SPutSBuf(0, 0, (Data *)msg, paramRsp->header.length);
+
+
+   RETVALUE(ROK);
+
+}
+
 /**********************************************************************
          End of file
 **********************************************************************/