MIB periodicity fix 72/4372/2
authorBalaji Shankaran <balaji.shankaran@radisys.com>
Fri, 10 Jul 2020 11:02:26 +0000 (16:32 +0530)
committerBalaji Shankaran <balaji.shankaran@radisys.com>
Mon, 13 Jul 2020 09:34:34 +0000 (15:04 +0530)
Jira ID : ODUHIGH-183

Change-Id: Ib4b4fac7782dbf1a387539b96c2d790b700f926f
Signed-off-by: Balaji Shankaran <balaji.shankaran@radisys.com>
src/5gnrmac/lwr_mac_fsm.c
src/du_app/du_cfg.c
src/du_app/du_cfg.h
src/du_app/du_sys_info_hdl.c

index 56224e1..355c98b 100644 (file)
@@ -3282,11 +3282,13 @@ uint16_t handleDlTtiReq(SlotIndInfo currTimingInfo)
                                fillMsgHeader(&dlTtiReq->header, FAPI_DL_TTI_REQUEST, msgLen);
                                LwrMacSendToPhy(dlTtiReq->header.message_type_id, dlTtiReqMsgSize, (void *)dlTtiReq);
                        }
+                       memset(currDlSlot, 0, sizeof(MacDlSlot));
                        return ROK;
                }
                else
                {
                        DU_LOG("\nLWR_MAC: Failed to allocate memory for DL TTI Request");
+                       memset(currDlSlot, 0, sizeof(MacDlSlot));
                        return RFAILED;
                }
        }
index 3093959..4bc0340 100644 (file)
@@ -159,7 +159,7 @@ S16 readMacCfg()
    duCfgParam.macCellCfg.ssbCfg.scsCmn = SUBCARRIER_SPACING;
    duCfgParam.macCellCfg.ssbCfg.ssbOffsetPointA = OFFSET_TO_POINT_A;
    duCfgParam.macCellCfg.ssbCfg.betaPss = BETA_PSS;
-   duCfgParam.macCellCfg.ssbCfg.ssbPeriod = SSB_PERIODICITY;
+   duCfgParam.macCellCfg.ssbCfg.ssbPeriod = SSB_PERIODICITY_20MS;
    duCfgParam.macCellCfg.ssbCfg.ssbScOffset = SSB_SUBCARRIER_OFFSET;
    duCfgParam.macCellCfg.ssbCfg.ssbMask[0] = 1; /* only one SSB is transmitted */
    duCfgParam.macCellCfg.ssbCfg.ssbMask[1] = 0;
@@ -471,7 +471,7 @@ S16 fillServCellCfgCommSib(SrvCellCfgCommSib *srvCellCfgComm)
    srvCellCfgComm->tddCfg = tddCfg;
 
    srvCellCfgComm->ssbPosInBurst = 192;
-   srvCellCfgComm->ssbPrdServingCell = SSB_PERIODICITY;
+   srvCellCfgComm->ssbPrdServingCell = SSB_PERIODICITY_20MS;
    srvCellCfgComm->ssPbchBlockPwr = SSB_PBCH_PWR;
 
    return ROK;
index 3c2f0a9..e3b96ba 100644 (file)
 #define SCS_CARRIER_BANDWIDTH 273         /* Subcarrier spacing- carrier bandwidth */
 #define OFFSET_TO_POINT_A 24                     /* PRB Offset to Point A */
 #define BETA_PSS BETA_PSS_0DB  
-#define SSB_PERIODICITY 2
+#define SSB_PERIODICITY_5MS   5
+#define SSB_PERIODICITY_10MS  10
+#define SSB_PERIODICITY_20MS  20
+#define SSB_PERIODICITY_40MS  40
+#define SSB_PERIODICITY_80MS  80
+#define SSB_PERIODICITY_160MS 160
 #define SSB_SUBCARRIER_OFFSET 0               
 #define SSB_MULT_CARRIER_BAND FALSE
 #define MULT_CELL_CARRIER FALSE
index 90f4203..f1c01ef 100644 (file)
@@ -2175,7 +2175,34 @@ uint8_t BuildServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
    ssbPosInBurst->buf[0] = duSrvCellCfg.ssbPosInBurst;  
    ssbPosInBurst->bits_unused = 0;
 
-   srvCellCfg->ssb_PeriodicityServingCell = duSrvCellCfg.ssbPrdServingCell;
+       switch(duSrvCellCfg.ssbPrdServingCell)
+       {
+          case SSB_PERIODICITY_5MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms5;
+                       break;
+          case SSB_PERIODICITY_10MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms10;
+                       break;
+               case SSB_PERIODICITY_20MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms20;
+                       break;
+               case SSB_PERIODICITY_40MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms40;
+                       break;
+               case SSB_PERIODICITY_80MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms80;
+                       break;
+               case SSB_PERIODICITY_160MS:
+                  srvCellCfg->ssb_PeriodicityServingCell = \
+                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms160;
+                       break;
+       }
+
    srvCellCfg->ss_PBCH_BlockPower = duSrvCellCfg.ssPbchBlockPwr;
 
    /* Downlink config common */