UL data path changes at Phy stub, RLC UL UM and DU APP [Issue-ID: ODUHIGH-262]
[o-du/l2.git] / src / 5gnrrlc / kw_cfg_dl.c
index c0a2788..4e58f68 100755 (executable)
@@ -82,7 +82,7 @@ static int RLOG_FILE_ID=191;
  *      -# RFAILED 
  *
 */
-PRIVATE S16 rlcHdlMeasDlUeIdChg(RlcCb *gCb, uint8_t cellId,uint8_t oldUeId, uint8_t newUeId)
+static S16 rlcHdlMeasDlUeIdChg(RlcCb *gCb, uint8_t cellId,uint8_t oldUeId, uint8_t newUeId)
 {
    RlcL2MeasEvtCb *measEvtCb = NULLP;
    RlcL2MeasCb    *measCb    = NULLP;
@@ -123,7 +123,7 @@ PRIVATE S16 rlcHdlMeasDlUeIdChg(RlcCb *gCb, uint8_t cellId,uint8_t oldUeId, uint
  *      -# RFAILED 
  *
 */
-PRIVATE S16 rlcDelFrmDlL2Meas(RlcCb *gCb, uint8_t cellId,uint8_t ueId)
+static S16 rlcDelFrmDlL2Meas(RlcCb *gCb, uint8_t cellId,uint8_t ueId)
 {
    RlcL2MeasEvtCb *measEvtCb = NULLP;
    RlcL2MeasCb    *measCb    = NULLP;
@@ -160,7 +160,7 @@ PRIVATE S16 rlcDelFrmDlL2Meas(RlcCb *gCb, uint8_t cellId,uint8_t ueId)
 }
 
 
-PRIVATE S16 rlcAddToDlL2Meas(RlcCb *gCb, RlcDlRbCb *rlcRbCb,uint8_t cellId,uint8_t ueId)
+static S16 rlcAddToDlL2Meas(RlcCb *gCb, RlcDlRbCb *rlcRbCb,uint8_t cellId,uint8_t ueId)
 {
    RlcL2MeasEvtCb *measEvtCb = NULLP;
    RlcL2MeasCb    *measCb    = NULLP;
@@ -202,7 +202,7 @@ PRIVATE S16 rlcAddToDlL2Meas(RlcCb *gCb, RlcDlRbCb *rlcRbCb,uint8_t cellId,uint8
       {
          if (measCb->measType & LKW_L2MEAS_ACT_UE)
          {
-            if((rlcRbCb->mode == CM_LTE_MODE_UM) &&
+            if((rlcRbCb->mode == RLC_MODE_UM) &&
                   (rlcRbCb->dir & RLC_DIR_DL ))
             {
                if (rlcRbCb->m.umDl.sduQ.count)
@@ -214,7 +214,7 @@ PRIVATE S16 rlcAddToDlL2Meas(RlcCb *gCb, RlcDlRbCb *rlcRbCb,uint8_t cellId,uint8
                   }
                }
             }
-            else if (rlcRbCb->mode == CM_LTE_MODE_AM)
+            else if (rlcRbCb->mode == RLC_MODE_AM)
             {
                if ((rlcRbCb->m.amDl.cntrlBo) ||
                      (rlcRbCb->m.amDl.retxBo)  ||
@@ -315,21 +315,7 @@ PRIVATE S16 rlcAddToDlL2Meas(RlcCb *gCb, RlcDlRbCb *rlcRbCb,uint8_t cellId,uint8
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
-PRIVATE S16 rlcCfgFillDlRbCb
-(
-RlcCb            *gCb,
-RlcDlRbCb        *rbCb,
-RlcDlUeCb        *ueCb,
-RlcEntCfgInfo   *entCfg
-)
-#else
-PRIVATE S16 rlcCfgFillDlRbCb(gCb,rbCb,entCfg)
-RlcCb            *gCb;
-RlcDlRbCb        *rbCb;
-RlcDlUeCb        *ueCb;
-RlcEntCfgInfo   *entCfg;
-#endif
+static S16 rlcCfgFillDlRbCb(RlcCb *gCb,RlcDlRbCb *rbCb,RlcDlUeCb *ueCb,RlcEntCfgInfo *entCfg)
 {
 
    RLOG_ARG3(L_DEBUG,DBG_RBID,entCfg->rbId,
@@ -341,7 +327,7 @@ RlcEntCfgInfo   *entCfg;
    /* Initialize according to entMode */
    switch (entCfg->entMode)
    {
-      case CM_LTE_MODE_TM:
+      case RLC_MODE_TM:
       {
          rbCb->lch.lChId  = entCfg->lCh[0].lChId;
          rbCb->lch.lChType = entCfg->lCh[0].type;
@@ -349,22 +335,30 @@ RlcEntCfgInfo   *entCfg;
          break;
       }
 
-      case CM_LTE_MODE_UM:
+      case RLC_MODE_UM:
       {
          rbCb->lch.lChId  = entCfg->lCh[0].lChId;
          rbCb->lch.lChType = entCfg->lCh[0].type;
          rbCb->dir = entCfg->dir;
+
+        /* Spec 38.322 Section 7.1 
+         * All UM state variables can take values from 0 to 63 for 6 bit SN or 
+         * from 0 to 4095 for 12 bit SN. All arithmetic operations on UM state 
+         * variables are affected by the UM modulus 
+         * (i.e. final value = [value from arithmetic operation] modulo 64
+         * for 6 bit SN and 4096 for 12 bit SN)
+         */
          rbCb->m.umDl.snLen = entCfg->m.umInfo.dl.snLen;
-         if (entCfg->m.umInfo.dl.snLen == RLC_UM_CFG_5BIT_SN_LEN)
-            rbCb->m.umDl.modBitMask = 0x1f;
+         if (entCfg->m.umInfo.dl.snLen == RLC_UM_CFG_6BIT_SN_LEN)
+            rbCb->m.umDl.modBitMask = 0x3f;
          else
-            rbCb->m.umDl.modBitMask = 0x3ff;
+            rbCb->m.umDl.modBitMask = 0xfff;
 
          ueCb->lCh[rbCb->lch.lChId - 1].dlRbCb = rbCb;
 
          break;
       }
-      case CM_LTE_MODE_AM:
+      case RLC_MODE_AM:
       {
          /* Down Link Information 
           * indx = 0 as Down Link   */
@@ -431,21 +425,13 @@ RlcEntCfgInfo   *entCfg;
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
-PRIVATE S16 rlcCfgUpdateDlRb
+static S16 rlcCfgUpdateDlRb
 (
-RlcCb            *gCb,
-RlcDlRbCb        *rbCb,
+RlcCb           *gCb,
+RlcDlRbCb       *rbCb,
 void            *ptr,
 RlcEntCfgInfo   *entCfg
 )
-#else
-PRIVATE S16 rlcCfgUpdateDlRb(gCb,rbCb, ptr, entCfg)
-RlcCb            *gCb;
-RlcDlRbCb        *rbCb;
-void            *ptr;
-RlcEntCfgInfo   *entCfg;
-#endif
 {
    
    if (rbCb->mode != entCfg->entMode)
@@ -461,7 +447,7 @@ RlcEntCfgInfo   *entCfg;
 
    switch (rbCb->mode)
    {
-      case CM_LTE_MODE_TM:
+      case RLC_MODE_TM:
       {
          RlcDlCellCb *cellCb = (RlcDlCellCb *)ptr;
 
@@ -473,7 +459,7 @@ RlcEntCfgInfo   *entCfg;
          break;
       }
 
-      case CM_LTE_MODE_UM:
+      case RLC_MODE_UM:
       {
          RlcDlUeCb *ueCb = (RlcDlUeCb *)ptr;
 
@@ -490,7 +476,7 @@ RlcEntCfgInfo   *entCfg;
          break;
       }
 
-      case CM_LTE_MODE_AM:
+      case RLC_MODE_AM:
       {
          RlcDlUeCb *ueCb = (RlcDlUeCb *)ptr;
 
@@ -546,7 +532,6 @@ RlcEntCfgInfo   *entCfg;
  *    -# ROK
  *    -# RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgAddDlRb
 (
 RlcCb               *gCb,
@@ -555,14 +540,6 @@ CmLteCellId        cellId,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgAddDlRb(gCb,ueId, cellId, entCfg, entCfm)
-RlcCb               *gCb;
-CmLteRnti          ueId;
-CmLteCellId        cellId;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    RlcDlUeCb     *ueCb = NULLP;   /* UE Control Block */
    RlcDlCellCb   *cellCb;         /* Cell Control Block */
@@ -613,7 +590,7 @@ RlcEntCfgCfmInfo   *entCfm;
       if (((entCfg->lCh[0].type == CM_LTE_LCH_BCCH) || 
            (entCfg->lCh[0].type == CM_LTE_LCH_PCCH) ||
            (entCfg->lCh[0].type == CM_LTE_LCH_CCCH)) &&
-          (entCfg->entMode == CM_LTE_MODE_TM))
+          (entCfg->entMode == RLC_MODE_TM))
       {
          /* Cell CB present */
          rlcDbmFetchDlCellCb(gCb, cellId, &cellCb);
@@ -684,7 +661,7 @@ RlcEntCfgCfmInfo   *entCfm;
       }
       else
       {
-         reason= (entCfg->entMode != CM_LTE_MODE_TM)? CKW_CFG_REAS_RB_MODE_MIS:
+         reason= (entCfg->entMode != RLC_MODE_TM)? CKW_CFG_REAS_RB_MODE_MIS:
                                                       CKW_CFG_REAS_LCHTYPE_MIS;
          /* Fill entCfm structure */
          RLC_CFG_FILL_CFG_CFM(entCfm, entCfg->rbId, entCfg->rbType, 
@@ -706,11 +683,11 @@ RlcEntCfgCfmInfo   *entCfm;
          return RFAILED;
       }
       if ((((entCfg->lCh[0].type == CM_LTE_LCH_DCCH) && 
-            (entCfg->entMode != CM_LTE_MODE_UM) && 
+            (entCfg->entMode != RLC_MODE_UM) && 
             (CM_LTE_SRB == entCfg->rbType)) ||
            ((entCfg->lCh[0].type == CM_LTE_LCH_DTCH) && 
             (CM_LTE_DRB == entCfg->rbType))) &&
-          (entCfg->entMode != CM_LTE_MODE_TM))
+          (entCfg->entMode != RLC_MODE_TM))
       {
          /* UE CB present */
          if ( rlcDbmFetchDlUeCb(gCb,ueId, cellId, &ueCb) == ROK)
@@ -748,7 +725,7 @@ RlcEntCfgCfmInfo   *entCfm;
 
          /* Validate LChId for UM and AM modes */
          if ((entCfg->lCh[0].lChId <= 0) ||
-             ((entCfg->entMode == CM_LTE_MODE_AM)&&
+             ((entCfg->entMode == RLC_MODE_AM)&&
                (entCfg->lCh[1].lChId <= 0)))
          {
             /* Fill entCfm structure */                               
@@ -783,7 +760,7 @@ RlcEntCfgCfmInfo   *entCfm;
       }
       else
       {
-         if (entCfg->entMode == CM_LTE_MODE_TM)
+         if (entCfg->entMode == RLC_MODE_TM)
          {
             reason = CKW_CFG_REAS_RB_MODE_MIS;
          }
@@ -871,7 +848,6 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgReCfgDlRb
 (
 RlcCb               *gCb,
@@ -880,14 +856,6 @@ CmLteCellId        cellId,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgReCfgDlRb(gCb,ueId, cellId, entCfg, entCfm)
-RlcCb               *gCb;
-CmLteRnti          ueId;
-CmLteCellId        cellId;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    RlcDlRbCb     *rbCb;     /* RB Control Block */
    RlcDlRbCb     tRbCb;     /* KW RB Control Block */
@@ -1072,7 +1040,6 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgDelDlRb
 (
 RlcCb               *gCb,
@@ -1081,14 +1048,6 @@ CmLteCellId        cellId,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgDelRb(gCb,ueId, cellId, entCfg, entCfm)
-RlcCb               *gCb;
-CmLteRnti          ueId;
-CmLteCellId        cellId;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    S16          ret;       /* Return Value */
    RlcDlUeCb     *ueCb;     /* UE Control Block */
@@ -1206,13 +1165,13 @@ RlcEntCfgCfmInfo   *entCfm;
       RLC_UPD_L2_DECR_NONIP_PER_QCI_RB_COUNT(gCb, rlcRbCb);
 #endif
       /* Free the Buffers of RbCb */
-      if( CM_LTE_MODE_UM == rlcRbCb->mode)
+      if( RLC_MODE_UM == rlcRbCb->mode)
       {
          rlcUmmFreeDlRbCb(gCb,rlcRbCb);
          /* Delete RbCb  */
          RLC_FREE(gCb,rlcRbCb, sizeof(RlcDlRbCb));     
       }
-      else if( CM_LTE_MODE_AM == rlcRbCb->mode)
+      else if( RLC_MODE_AM == rlcRbCb->mode)
       {
          rlcAmmFreeDlRbCb(gCb,rlcRbCb);
       }
@@ -1266,25 +1225,15 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -# ROK
  *    -# RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgReEstDlRb
 (
-RlcCb               *gCb,
+RlcCb              *gCb,
 CmLteRnti          ueId,
 CmLteCellId        cellId,
 Bool               sndReEstInd,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgReEstDlRb(gCb,ueId, cellId,sndReEstInd,entCfg, entCfm)
-RlcCb               *gCb;
-CmLteRnti          ueId;
-CmLteCellId        cellId;
-Bool               sndReEstInd;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    RlcDlRbCb     *rbCb;   /* RB Control Block */
    CmLteRlcId   rlcId;   /* RLC Identifier */
@@ -1318,19 +1267,19 @@ RlcEntCfgCfmInfo   *entCfm;
 
    switch (rbCb->mode)
    {
-      case CM_LTE_MODE_TM:
+      case RLC_MODE_TM:
          {
             rlcDlTmmReEstablish(gCb,rbCb);
             break;
          }
 
-      case CM_LTE_MODE_UM:
+      case RLC_MODE_UM:
          {
             rlcDlUmmReEstablish(gCb,rlcId,sndReEstInd,rbCb);
             break;
          }
 
-      case CM_LTE_MODE_AM:
+      case RLC_MODE_AM:
          {           
             rlcAmmDlReEstablish(gCb, rlcId, rbCb);
             break;
@@ -1367,23 +1316,14 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgDelDlUe
 (
-RlcCb               *gCb,
+RlcCb              *gCb,
 CmLteRnti          ueId,
 CmLteCellId        cellId,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgDelDlUe(ueId, cellId, entCfg, entCfm)
-RlcCb               *gCb;
-CmLteRnti          ueId;
-CmLteCellId        cellId;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    S16        ret;     /* Return Value */
    RlcDlUeCb   *ueCb;   /* UE Control Block */
@@ -1458,7 +1398,6 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -#ROK
  *    -#RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgDelDlCell
 (
 RlcCb               *gCb,
@@ -1466,13 +1405,6 @@ CmLteCellId        cellId,
 RlcEntCfgInfo      *entCfg,
 RlcEntCfgCfmInfo   *entCfm
 )
-#else
-S16 rlcCfgDelCell(gCb,cellId, entCfg, entCfm)
-RlcCb               *gCb;
-CmLteCellId        cellId;
-RlcEntCfgInfo      *entCfg;
-RlcEntCfgCfmInfo   *entCfm;
-#endif
 {
    RlcDlCellCb   *cellCb;   /* UE Control Block */
    uint8_t       rbId;      /* RB Identifier */
@@ -1542,7 +1474,6 @@ RlcEntCfgCfmInfo   *entCfm;
  *    -# ROK
  *    -# RFAILED
  */
-#ifdef ANSI
 S16 rlcCfgDlUeIdChng
 (
 RlcCb        *gCb,
@@ -1550,13 +1481,6 @@ CkwUeInfo   *ueInfo,
 CkwUeInfo   *newUeInfo,
 CmStatus    *status
 )
-#else
-S16 rlcCfgDlUeIdChng(gCb,ueInfo,newUeInfo,status)
-RlcCb        *gCb;
-CkwUeInfo   *ueInfo;
-CkwUeInfo   *newUeInfo;
-CmStatus    *status;
-#endif
 {
    RlcDlUeCb *ueCb;
 /*kw004.201 Adding of Missing Trace in LTE RLC PDCP*/