UL data path changes at Phy stub, RLC UL UM and DU APP [Issue-ID: ODUHIGH-262]
[o-du/l2.git] / src / 5gnrrlc / kw_amm_ul.c
index 9c052e3..adf5385 100755 (executable)
@@ -66,7 +66,7 @@ static int RLOG_FILE_ID=190;
 #ifndef RGL_SPECIFIC_CHANGES
 #ifndef TENB_ACC
 #ifndef LTE_PAL_ENB
-extern uint32_t ulrate_rgu;
+uint32_t ulrate_rgu;
 #endif
 #endif
 #endif
@@ -74,11 +74,11 @@ extern uint32_t ulrate_rgu;
 #ifndef TENB_ACC
 #ifndef TENB_T2K3K_SPECIFIC_CHANGES
 #ifndef LTE_PAL_ENB
-extern uint32_t isMemThreshReached(Region region);
+uint32_t isMemThreshReached(Region region);
 #endif
 #else
 #ifndef LTE_PAL_ENB
-extern uint32_t  isMemThreshReached(Region region);
+uint32_t  isMemThreshReached(Region region);
 #endif
 #endif
 #endif
@@ -90,38 +90,38 @@ extern uint32_t  isMemThreshReached(Region region);
 
 /* private function declarations */
 
-void rlcAmmUlAssembleCntrlInfo ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
+static void rlcAmmUlAssembleCntrlInfo ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
 
-uint8_t rlcAmmExtractHdr ARGS ((RlcCb *gCb,
+static uint8_t rlcAmmExtractHdr ARGS ((RlcCb *gCb,
                                 RlcUlRbCb   *rbCb,
                                 Buffer *pdu,
                                 RlcAmHdr *amHdr,
                                 uint8_t *fByte));
 
-bool rlcAmmUlPlacePduInRecBuf ARGS ((RlcCb *gCb,
+static bool rlcAmmUlPlacePduInRecBuf ARGS ((RlcCb *gCb,
                                      Buffer *pdu,
                                      RlcUlRbCb *rbCb,
                                      RlcAmHdr *amHdr));
 
-void rlcAmmTriggerStatus ARGS ((RlcCb *gCb,
+static void rlcAmmTriggerStatus ARGS ((RlcCb *gCb,
                                 RlcUlRbCb *rbCb,
                                 RlcSn sn,
                                 bool discFlg));
 
-uint8_t  rlcAmmUlReassembleSdus ARGS ((RlcCb *gCb,
+static uint8_t  rlcAmmUlReassembleSdus ARGS ((RlcCb *gCb,
                                      RlcUlRbCb *rbCb,
                                      RlcAmRecBuf *recBuf));
 
-PRIVATE Void rlcAmmProcPduOrSeg ARGS ((RlcCb *gCb,
+static Void rlcAmmProcPduOrSeg ARGS ((RlcCb *gCb,
                                       RlcUlRbCb *rbCb,
                                       RlcAmHdr *amHdr,
                                       Buffer *pdu));
 
-PRIVATE Void rlcAmmUpdExpByteSeg ARGS ((RlcCb *gCb,RlcAmUl *amUl, RlcSeg* newSeg));
+static Void rlcAmmUpdExpByteSeg ARGS ((RlcCb *gCb,RlcAmUl *amUl, RlcSeg* newSeg));
 
-PRIVATE Void rlcAmmExtractElmnt ARGS ((RlcCb *gCb, Buffer *pdu, RlcExtHdr *hdrInfo));
+static Void rlcAmmExtractElmnt ARGS ((RlcCb *gCb, Buffer *pdu, RlcExtHdr *hdrInfo));
 
-PRIVATE Void rlcAmmUlHndlStatusPdu ARGS ((RlcCb *gCb,
+static Void rlcAmmUlHndlStatusPdu ARGS ((RlcCb *gCb,
                                          RlcUlRbCb *rbCb,
                                          Buffer *cntrlPdu,
                                          uint8_t *fByte));
@@ -159,7 +159,7 @@ PRIVATE Void rlcAmmUlHndlStatusPdu ARGS ((RlcCb *gCb,
  *    The number of bytes required to encode this NACK information
  *
  */
-uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
+static uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
    uint16_t soStart, uint16_t soEnd, RlcUdxDlStaPdu *statusPdu, RlcSn *prevNackSn)
 {
    RlcNackInfo   *nackInfo = (statusPdu->nackInfo + statusPdu->nackCount);
@@ -172,7 +172,7 @@ uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
     *    4) NACK_SN is continuous with previous but previous NACK_SN segments
     *       are not missing in sequence till end
     */
-   if((*prevNackSn == 0xffffffff) || ((((*prevNackSn) + 1) & AMUL.snModMask) != sn) ||
+   if((*prevNackSn == 0xffffffff) || ((((*prevNackSn) + 1) & RLC_AMUL.snModMask) != sn) ||
         (((*prevNackSn) == sn) && (((nackInfo->soEnd + 1) != soStart))) ||
         ((nackInfo->isSegment) && (((*prevNackSn) + 1) == sn) && (nackInfo->soEnd != RLC_ALL_BYTES_MISSING)))
    {
@@ -205,11 +205,11 @@ uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
 
       if(isSegment)
       {
-        sizeToBeEncd += ((AMUL.snLen == RLC_AM_CFG_12BIT_SN_LEN)?6:7); /* NACK,E1,E2,Sostart,SoEnd */
+        sizeToBeEncd += ((RLC_AMUL.snLen == RLC_AM_CFG_12BIT_SN_LEN)?6:7); /* NACK,E1,E2,Sostart,SoEnd */
       }
       else
       {
-        sizeToBeEncd += ((AMUL.snLen == RLC_AM_CFG_12BIT_SN_LEN)?2:3); /* NACK,E1,E2 */
+        sizeToBeEncd += ((RLC_AMUL.snLen == RLC_AM_CFG_12BIT_SN_LEN)?2:3); /* NACK,E1,E2 */
       }
    }
    else
@@ -221,7 +221,7 @@ uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
       /* This case means there are continuous SNs/Segments. If it is the next
        * Sn then increment nackRnage. if same SN but different segment then
        * dont increment nackRange */
-      if((((*prevNackSn) + 1) & AMUL.snModMask) == sn)
+      if((((*prevNackSn) + 1) & RLC_AMUL.snModMask) == sn)
       {
         nackInfo->nackRange++;
       }
@@ -278,7 +278,7 @@ uint8_t rlcAmmUlSetNackInfo(RlcUlRbCb *rbCb, RlcSn sn, bool isSegment, \
  * @return  Void
  *
  */
-void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
+static void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
 {
    RlcUdxDlStaPdu   *pStatusPdu;
    RlcNackInfo      *nackInfo;
@@ -310,11 +310,11 @@ void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
    }
 #endif
 
-   sn = AMUL.rxNext;
-   MODAMR(sn, mSn, AMUL.rxNext, AMUL.snModMask);
-   MODAMR(AMUL.rxHighestStatus, rxHighestStatus, AMUL.rxNext, AMUL.snModMask);
+   sn = RLC_AMUL.rxNext;
+   MODAMR(sn, mSn, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
+   MODAMR(RLC_AMUL.rxHighestStatus, rxHighestStatus, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
    
-   recBuf =  rlcUtlGetRecBuf(AMUL.recBufLst, sn);
+   recBuf =  rlcUtlGetRecBuf(RLC_AMUL.recBufLst, sn);
 
    while (mSn < rxHighestStatus )
    {
@@ -386,11 +386,11 @@ void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
       }
       
 
-      sn = (sn + 1) & (AMUL.snModMask); /* MOD 1024 */
-      MODAMR(sn, mSn, AMUL.rxNext, AMUL.snModMask);
+      sn = (sn + 1) & (RLC_AMUL.snModMask); /* MOD 1024 */
+      MODAMR(sn, mSn, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
       
       /* Get the received Buffer the updated/next SN */
-      recBuf =  rlcUtlGetRecBuf(AMUL.recBufLst, sn);
+      recBuf =  rlcUtlGetRecBuf(RLC_AMUL.recBufLst, sn);
 
       /* Find the next missing sequence number if nackCnt reaches maximum and
          still Reordering window has some missing AMDPDUs / AMDPDU segments. The
@@ -430,7 +430,7 @@ void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
    /* Update ACK SN with the last sn for which feedback is not assembled */
    if ( mSn == rxHighestStatus)
    {
-      pStatusPdu->ackSn = AMUL.rxHighestStatus;
+      pStatusPdu->ackSn = RLC_AMUL.rxHighestStatus;
    }
    else
    {
@@ -443,8 +443,8 @@ void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
 
    pStatusPdu->controlBo = staPduEncSize; /*Its already in bytes */
 
-   AMUL.staTrg = FALSE;
-   AMUL.gatherStaPduInfo = FALSE;
+   RLC_AMUL.staTrg = FALSE;
+   RLC_AMUL.gatherStaPduInfo = FALSE;
 
 
    if (rlcUlUdxStaPduReq(&sapCb->pst,
@@ -464,7 +464,7 @@ void rlcAmmUlAssembleCntrlInfo(RlcCb *gCb, RlcUlRbCb *rbCb)
 }
 
 #ifdef XEON_SPECIFIC_CHANGES
-extern uint32_t  gRlcDatIndUL;
+uint32_t  gRlcDatIndUL;
 #endif
 
 #ifdef T2K_TRIGGER_RLC_REEST
@@ -506,7 +506,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
    MsgLen              rlcSduSz;  /*Holds length of Rlc Sdu*/
 #endif /* LTE_L2_MEAS */
 
-   amUl = &AMUL;
+   amUl = &RLC_AMUL;
 
    numPduToProcess = RLC_MIN(pduInfo->numPdu, RGU_MAX_PDU);
    DU_LOG("\nRLC : rlcAmmProcessPdus: numPdu[%d],numPduToProcess[%d] UEID:%d CELLID:%d",
@@ -542,7 +542,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
       {
          DU_LOG("\nRLC : rlcAmmProcessPdus: Header Extraction Failed UEID:%d CELLID:%d",
             rbCb->rlcId.ueId, rbCb->rlcId.cellId);
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          gCb->genSts.errorPdusRecv++;
          continue;
       }
@@ -550,7 +550,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
       if (amHdr.dc == 0)
       {
          rlcAmmUlHndlStatusPdu(gCb, rbCb, pdu, &fByte);
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          continue;
       }
       if((amHdr.si == RLC_SI_LAST_SEG) && (!amHdr.so))
@@ -558,7 +558,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
          DU_LOG("\nRLC: rlcAmmProcessPdus: Dropping PDU because SO can't be zero\
            for last segment sn:%u UEID:%d CELLID:%d", amHdr.sn, rbCb->rlcId.ueId,
             rbCb->rlcId.cellId);
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          continue;
       }
 #ifndef RGL_SPECIFIC_CHANGES
@@ -569,9 +569,9 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
     /* Changed the condition to TRUE from ROK  */
       if(isMemThreshReached(rlcCb[0]->init.region) == TRUE)
       {
-         extern uint32_t rlculdrop;
+         uint32_t rlculdrop;
         rlculdrop++;
-        RLC_FREE_BUF(pdu);
+        ODU_PUT_MSG_BUF(pdu);
         continue;
       }
 #endif
@@ -580,9 +580,9 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
       /*ccpu00142274 - UL memory based flow control*/
       if(isMemThreshReached(rlcCb[0]->init.region) != ROK)
       {
-         extern uint32_t rlculdrop;
+         uint32_t rlculdrop;
          rlculdrop++;
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          continue;
       }
 #endif
@@ -596,7 +596,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
       {
          if(rbCb->rlcId.rbType == CM_LTE_DRB)
          {
-            RLC_FREE_BUF(pdu);
+            ODU_PUT_MSG_BUF(pdu);
             continue;
          }
       }
@@ -696,7 +696,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
          }
 
          /* Check if reOrdTmr is running and update rxNextStatusTrig accordingly */
-         tmrRunning = rlcChkTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+         tmrRunning = rlcChkTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
          if (tmrRunning)
          {
             Bool snInWin = RLC_AM_CHK_SN_WITHIN_RECV_WINDOW(amUl->rxNextStatusTrig, amUl);
@@ -704,7 +704,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
             if ( (amUl->rxNextStatusTrig == amUl->rxNext) || ( (!snInWin) &&
                                              (amUl->rxNextStatusTrig != amUl->vrMr) ) )
             {
-               rlcStopTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+               rlcStopTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
                tmrRunning = FALSE;
             }
          }
@@ -713,7 +713,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
          {
             if (amUl->rxNextHighestRcvd > amUl->rxNext)
             {
-               rlcStartTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+               rlcStartTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
                amUl->rxNextStatusTrig = amUl->rxNextHighestRcvd;
 
                DU_LOG("\nRLC: rlcAmmProcessPdus: Updated rxNextStatusTrig = %d \
@@ -768,7 +768,7 @@ void rlcAmmProcessPdus(RlcCb *gCb, RlcUlRbCb *rbCb, KwPduInfo *pduInfo)
  *     -# RFAILED
  *
  */
-uint8_t rlcAmmExtractHdr(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *pdu, RlcAmHdr *amHdr, uint8_t *fByte)
+static uint8_t rlcAmmExtractHdr(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *pdu, RlcAmHdr *amHdr, uint8_t *fByte)
 {
    uint8_t    snByte;
    RlcSn      sn = 0;
@@ -841,21 +841,7 @@ uint8_t rlcAmmExtractHdr(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *pdu, RlcAmHdr *amH
  *     -# RFAILED
  *
  */
-#ifdef ANSI
-PRIVATE S16 rlcAmmExtractHdrOld
-(
-RlcCb       *gCb,
-Buffer     *pdu,
-RlcAmHdr    *amHdr,
-uint8_t         *fByte
-)
-#else
-PRIVATE S16 rlcAmmExtractHdrOld(gCb, pdu, amHdr, fByte)
-RlcCb       *gCb;
-Buffer     *pdu;
-RlcAmHdr    *amHdr;
-uint8_t         *fByte;
-#endif
+static S16 rlcAmmExtractHdrOld(RlcCb *gCb,Buffer *pdu,RlcAmHdr *amHdr,uint8_t *fByte)
 {
    uint8_t         e;
    uint8_t         snByte;
@@ -963,7 +949,7 @@ uint8_t         *fByte;
  *  @return  Void
  *
  */
-void rlcAmmUlHndlStatusPdu(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *cntrlPdu, uint8_t *fByte)
+static void rlcAmmUlHndlStatusPdu(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *cntrlPdu, uint8_t *fByte)
 {
    uint8_t          e1;
    RlcExtHdr        hdrInfo;
@@ -1141,16 +1127,16 @@ void rlcAmmUlHndlStatusPdu(RlcCb *gCb, RlcUlRbCb *rbCb, Buffer *cntrlPdu, uint8_
  * @return  Void
  *
  */
-void rlcAmmUlRlsAllSegs(RlcCb *gCb, RlcAmRecBuf *recBuf)
+static void rlcAmmUlRlsAllSegs(RlcCb *gCb, RlcAmRecBuf *recBuf)
 {
    RlcSeg *seg;
 
    RLC_LLIST_FIRST_SEG(recBuf->segLst, seg);
    while (seg != NULLP)
    {
-      RLC_FREE_BUF_WC(seg->seg);
+      ODU_PUT_MSG_BUF(seg->seg);
       cmLListDelFrm(&(recBuf->segLst),&(seg->lstEnt));
-      RLC_FREE_WC(gCb,seg, sizeof(RlcSeg));
+      RLC_FREE(gCb,seg, sizeof(RlcSeg));
       RLC_LLIST_FIRST_SEG(recBuf->segLst, seg);
    }
 
@@ -1177,7 +1163,7 @@ void rlcAmmUlRlsAllSegs(RlcCb *gCb, RlcAmRecBuf *recBuf)
  *   -#TRUE  Successful insertion into the receiver buffer
  *   -#FALSE Possibly a duplicate segment
  */
-bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu, uint16_t pduSz)
+static bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu, uint16_t pduSz)
 {
    RlcAmRecBuf   *recBuf = NULLP;
    RlcSeg        *seg;
@@ -1186,7 +1172,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
    uint16_t      expSo = 0;   /* Expected SO */
 
    soEnd = amHdr->so + pduSz - 1;
-   recBuf =  rlcUtlGetRecBuf(AMUL.recBufLst, amHdr->sn);
+   recBuf =  rlcUtlGetRecBuf(RLC_AMUL.recBufLst, amHdr->sn);
 
    if (NULLP == recBuf)
    {
@@ -1197,17 +1183,17 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
          DU_LOG("\nRLC: rlcAmmAddRcvdSeg: Memory allocation failed UEID:%d CELLID:%d",
             rbCb->rlcId.ueId, rbCb->rlcId.cellId);
 
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          return FALSE;
       }
 #endif /* ERRCLASS & ERRCLS_RES */
-      rlcUtlStoreRecBuf(AMUL.recBufLst, recBuf, amHdr->sn);
+      rlcUtlStoreRecBuf(RLC_AMUL.recBufLst, recBuf, amHdr->sn);
    }
    else
    {
       if (recBuf->allRcvd == TRUE)
       {
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          return FALSE;
       }
    }
@@ -1227,7 +1213,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
    {
       /* This is a duplicate segment */
       gRlcStats.amRlcStats.numRlcAmCellDupPduRx++;
-      RLC_FREE_BUF(pdu);
+      ODU_PUT_MSG_BUF(pdu);
       return FALSE;
    }
 
@@ -1235,7 +1221,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
    {
       /* This is a duplicate segment */
       gRlcStats.amRlcStats.numRlcAmCellDupPduRx++;
-      RLC_FREE_BUF(pdu);
+      ODU_PUT_MSG_BUF(pdu);
       return FALSE;
    }
 
@@ -1248,7 +1234,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
    {
       DU_LOG("\nRLC: rlcAmmAddRcvdSeg: Memory allocation failed UEID:%d CELLID:%d",
          rbCb->rlcId.ueId, rbCb->rlcId.cellId);
-      RLC_FREE_BUF(pdu);
+      ODU_PUT_MSG_BUF(pdu);
       return FALSE;
    }
 #endif /* ERRCLASS & ERRCLS_RES */
@@ -1269,7 +1255,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
       cmLListInsCrnt(&recBuf->segLst, &tseg->lstEnt);
    }
    tseg->lstEnt.node = (PTR)tseg;
-   rlcAmmUpdExpByteSeg(gCb,&AMUL,tseg);
+   rlcAmmUpdExpByteSeg(gCb,&RLC_AMUL,tseg);
 
    return TRUE;
 }
@@ -1292,7 +1278,7 @@ bool rlcAmmAddRcvdSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu,
  *     -# FALSE
  *
  */
-bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr *amHdr)
+static bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr *amHdr)
 {
    RlcSn     sn;
    MsgLen   pduSz;
@@ -1310,7 +1296,7 @@ bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr
          "UEID:%d CELLID:%d", sn, rbCb->rlcId.ueId, rbCb->rlcId.cellId);
 
       gCb->genSts.unexpPdusRecv++;
-      RLC_FREE_BUF(pdu);
+      ODU_PUT_MSG_BUF(pdu);
       return FALSE;
    }
 
@@ -1329,11 +1315,11 @@ bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr
          {
             DU_LOG("\nRLC: rlcAmmUlPlacePduInRecBuf: Memory allocation failed \
               UEID:%d CELLID:%d", rbCb->rlcId.ueId, rbCb->rlcId.cellId);
-            RLC_FREE_BUF(pdu);
+            ODU_PUT_MSG_BUF(pdu);
             return FALSE;
          }
 #endif /* ERRCLASS & ERRCLS_RES */
-         rlcUtlStoreRecBuf(AMUL.recBufLst, recBuf, sn);
+         rlcUtlStoreRecBuf(RLC_AMUL.recBufLst, recBuf, sn);
       }
       else if (recBuf->allRcvd != TRUE)
       {
@@ -1343,7 +1329,7 @@ bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr
       {
          gRlcStats.amRlcStats.numRlcAmCellDupPduRx++;
          gCb->genSts.unexpPdusRecv++;
-         RLC_FREE_BUF(pdu);
+         ODU_PUT_MSG_BUF(pdu);
          return FALSE;
       }
       recBuf->isDelvUpperLayer = FALSE;
@@ -1385,7 +1371,7 @@ bool rlcAmmUlPlacePduInRecBuf(RlcCb *gCb, Buffer *pdu, RlcUlRbCb *rbCb, RlcAmHdr
  * @return  Void
  *
  */
-void rlcAmmTriggerStatus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcSn sn, bool discFlg)
+static void rlcAmmTriggerStatus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcSn sn, bool discFlg)
 {
    bool     tmrRunning;
    RlcSn     tSn;
@@ -1408,7 +1394,7 @@ void rlcAmmTriggerStatus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcSn sn, bool discFlg)
       amUl->gatherStaPduInfo = FALSE;
 
       /* Check if staProhTmr is running */
-      tmrRunning = rlcChkTmr(gCb,(PTR) rbCb, RLC_EVT_AMUL_STA_PROH_TMR);
+      tmrRunning = rlcChkTmr(gCb,(PTR) rbCb, EVENT_RLC_AMUL_STA_PROH_TMR);
 
       if (!tmrRunning)
       {
@@ -1437,42 +1423,42 @@ void rlcAmmTriggerStatus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcSn sn, bool discFlg)
  * @return  Void
  *
  */
-void rlcAmmProcPduOrSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu)
+static void rlcAmmProcPduOrSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pdu)
 {
 
-   if ((AMUL.expSn != amHdr->sn) || (AMUL.expSo != amHdr->so))
+   if ((RLC_AMUL.expSn != amHdr->sn) || (RLC_AMUL.expSo != amHdr->so))
    {
       /* Release the existing partial SDU as we have PDUs or */
       /* segments that are out of sequence                   */
       rbCb->m.amUl.isOutOfSeq = TRUE;
-      RLC_FREE_BUF(AMUL.partialSdu);
+      ODU_PUT_MSG_BUF(RLC_AMUL.partialSdu);
    }
 
    //if (amHdr->fi & RLC_FI_FIRST_SEG)
    if (amHdr->si == 0x01)
    {/* first Segment of the SDU */
-      if (AMUL.partialSdu != NULLP)
+      if (RLC_AMUL.partialSdu != NULLP)
       { /* Some old SDU may be present */
-         RLC_FREE_BUF_WC(AMUL.partialSdu);
+         ODU_PUT_MSG_BUF(RLC_AMUL.partialSdu);
       }
-      AMUL.partialSdu = pdu;
+      RLC_AMUL.partialSdu = pdu;
       pdu = NULLP;
    }
    else if(amHdr->si == 0x03)
    {/* Middle or last segment of the SUD */
-      ODU_CAT_MSG(AMUL.partialSdu,pdu, M1M2);
-      RLC_FREE_BUF_WC(pdu);
+      ODU_CAT_MSG(RLC_AMUL.partialSdu,pdu, M1M2);
+      ODU_PUT_MSG_BUF(pdu);
       pdu = NULLP;
    }
    else if (amHdr->si ==  0x02)
    {
-      ODU_CAT_MSG(pdu,AMUL.partialSdu,M2M1);
-      RLC_FREE_BUF_WC(AMUL.partialSdu);
+      ODU_CAT_MSG(pdu,RLC_AMUL.partialSdu,M2M1);
+      ODU_PUT_MSG_BUF(RLC_AMUL.partialSdu);
    }
 
    if (pdu != NULLP)
    {
-      AMUL.partialSdu = NULLP;
+      RLC_AMUL.partialSdu = NULLP;
       rlcUtlSendUlDataToDu(gCb,rbCb, pdu);
    }
 
@@ -1499,7 +1485,7 @@ void rlcAmmProcPduOrSeg(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmHdr *amHdr, Buffer *pd
  *      -# RFAILED
  *
  */
-uint8_t rlcAmmUlReassembleSdus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmRecBuf *recBuf)
+static uint8_t rlcAmmUlReassembleSdus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmRecBuf *recBuf)
 {
    RlcSeg        *seg;
 
@@ -1510,27 +1496,27 @@ uint8_t rlcAmmUlReassembleSdus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmRecBuf *recBuf)
       rlcAmmProcPduOrSeg(gCb,rbCb, &recBuf->amHdr, recBuf->pdu);
       /* Assign NULLP to recBuf->pdu as this PDU is sent to PDCP */
       recBuf->pdu = NULLP;
-      AMUL.expSn = (recBuf->amHdr.sn + 1) & (AMUL.snModMask); /* MOD 1024 */
-      AMUL.expSo = 0;
+      RLC_AMUL.expSn = (recBuf->amHdr.sn + 1) & (RLC_AMUL.snModMask); /* MOD 1024 */
+      RLC_AMUL.expSo = 0;
    }
    else
    {
       /* This is a set of segments */
       RLC_LLIST_FIRST_SEG(recBuf->segLst, seg);
-      AMUL.expSn = recBuf->amHdr.sn;
-      AMUL.expSo = 0;
+      RLC_AMUL.expSn = recBuf->amHdr.sn;
+      RLC_AMUL.expSo = 0;
       while(seg)
       {
          rlcAmmProcPduOrSeg(gCb,rbCb, &seg->amHdr, seg->seg);
-         AMUL.expSo = seg->soEnd + 1;
+         RLC_AMUL.expSo = seg->soEnd + 1;
 
          cmLListDelFrm(&(recBuf->segLst),&(seg->lstEnt));
-         RLC_FREE_WC(gCb, seg, sizeof(RlcSeg));
+         RLC_FREE(gCb, seg, sizeof(RlcSeg));
 
          RLC_LLIST_FIRST_SEG(recBuf->segLst, seg);
       }
-      AMUL.expSn = (recBuf->amHdr.sn + 1) & (AMUL.snModMask); /* MOD 1024 */
-      AMUL.expSo = 0;
+      RLC_AMUL.expSn = (recBuf->amHdr.sn + 1) & (RLC_AMUL.snModMask); /* MOD 1024 */
+      RLC_AMUL.expSo = 0;
    }
 
    return ROK;
@@ -1547,21 +1533,7 @@ uint8_t rlcAmmUlReassembleSdus(RlcCb *gCb, RlcUlRbCb *rbCb, RlcAmRecBuf *recBuf)
  * @return  Void
  *
  */
-#ifdef ANSI
-Void rlcAmmUlReEstablish
-(
-RlcCb         *gCb,
-CmLteRlcId   rlcId,
-Bool         sendReEst,
-RlcUlRbCb     *rbCb
-)
-#else
-Void rlcAmmUlReEstablish(gCb, rlcId, sendReEst, rbCb)
-RlcCb         *gCb;
-CmLteRlcId   rlcId;
-Bool         sendReEst;
-RlcUlRbCb     *rbCb;
-#endif
+Void rlcAmmUlReEstablish(RlcCb *gCb,CmLteRlcId rlcId,Bool sendReEst,RlcUlRbCb  *rbCb)
 {
    RlcSn   sn;
    RlcSn   mSn;
@@ -1572,15 +1544,15 @@ RlcUlRbCb     *rbCb;
 #endif
    RlcAmRecBuf   *recBuf = NULLP;
 
-   sn = AMUL.rxNext;
+   sn = RLC_AMUL.rxNext;
 
-   MODAMR(AMUL.vrMr, mVrMr, AMUL.rxNext, AMUL.snModMask);
-   MODAMR(sn, mSn, AMUL.rxNext, AMUL.snModMask);
+   MODAMR(RLC_AMUL.vrMr, mVrMr, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
+   MODAMR(sn, mSn, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
 
    /* Reassemble SDUs from PDUs with SN less than upper edge of the window */
    while (mSn < mVrMr)
    {
-      recBuf = rlcUtlGetRecBuf(AMUL.recBufLst, sn);
+      recBuf = rlcUtlGetRecBuf(RLC_AMUL.recBufLst, sn);
       if (NULLP != recBuf)
       {
          if (recBuf->allRcvd == TRUE)
@@ -1592,40 +1564,40 @@ RlcUlRbCb     *rbCb;
             /* Remove PDU and segments */
             if(recBuf->pdu)
             {
-               RLC_FREE_BUF_WC(recBuf->pdu);
+               ODU_PUT_MSG_BUF(recBuf->pdu);
             }
             /* Release all the segments*/
             rlcAmmUlRlsAllSegs(gCb,recBuf);
          }
-         rlcUtlDelRecBuf(AMUL.recBufLst, recBuf, gCb);
+         rlcUtlDelRecBuf(RLC_AMUL.recBufLst, recBuf, gCb);
       }
-      sn = (sn + 1) & (AMUL.snModMask); /* MOD 1024 */
-      MODAMR(sn, mSn, AMUL.rxNext, AMUL.snModMask);
+      sn = (sn + 1) & (RLC_AMUL.snModMask); /* MOD 1024 */
+      MODAMR(sn, mSn, RLC_AMUL.rxNext, RLC_AMUL.snModMask);
    }
    /* Discard remaining PDUs and bytesegments in recBuf */
 
    /* Stop all timers and reset variables */
-   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,RLC_EVT_AMUL_REORD_TMR))
+   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,EVENT_RLC_AMUL_REORD_TMR))
    {
-       rlcStopTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+       rlcStopTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
    }
-   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,RLC_EVT_AMUL_STA_PROH_TMR))
+   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,EVENT_RLC_AMUL_STA_PROH_TMR))
    {
-       rlcStopTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_STA_PROH_TMR);
+       rlcStopTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_STA_PROH_TMR);
    }
 
-   AMUL.rxNext  = 0;
-   AMUL.rxNextHighestRcvd  = 0;
-   AMUL.rxNextStatusTrig  = 0;
+   RLC_AMUL.rxNext  = 0;
+   RLC_AMUL.rxNextHighestRcvd  = 0;
+   RLC_AMUL.rxNextStatusTrig  = 0;
    rbCb->m.amUl.vrMr = (rbCb->m.amUl.rxNext + RLC_AM_GET_WIN_SZ(rbCb->m.amUl.snLen)) & (rbCb->m.amUl.snModMask);
-   AMUL.rxHighestStatus = 0;
-   AMUL.staTrg  = FALSE;
-   AMUL.gatherStaPduInfo = FALSE;
-   AMUL.expSn = 0;
-   AMUL.expSo = 0;
-   if (AMUL.partialSdu != NULLP)
+   RLC_AMUL.rxHighestStatus = 0;
+   RLC_AMUL.staTrg  = FALSE;
+   RLC_AMUL.gatherStaPduInfo = FALSE;
+   RLC_AMUL.expSn = 0;
+   RLC_AMUL.expSo = 0;
+   if (RLC_AMUL.partialSdu != NULLP)
    {
-     RLC_FREE_BUF(AMUL.partialSdu);
+     ODU_PUT_MSG_BUF(RLC_AMUL.partialSdu);
    }
    rlcKwuSap = gCb->u.ulCb->rlcKwuUlSap + RLC_UI_PDCP;
 
@@ -1651,17 +1623,7 @@ RlcUlRbCb     *rbCb;
  *
  */
 
-#ifdef ANSI
-Void rlcAmmReOrdTmrExp
-(
-RlcCb        *gCb,
-RlcUlRbCb    *rbCb
-)
-#else
-Void rlcAmmReOrdTmrExp(rbCb)
-RlcCb        *gCb;
-RlcUlRbCb    *rbCb;
-#endif
+Void rlcAmmReOrdTmrExp(RlcCb *gCb,RlcUlRbCb *rbCb)
 {
    RlcAmUl *amUl = &(rbCb->m.amUl);
    RlcSn sn;
@@ -1677,7 +1639,7 @@ RlcUlRbCb    *rbCb;
 
    MODAMR(sn, mSn, amUl->rxNext, amUl->snModMask);
    MODAMR(amUl->vrMr, mVrMr, amUl->rxNext, amUl->snModMask);
-   recBuf = rlcUtlGetRecBuf(AMUL.recBufLst, sn);
+   recBuf = rlcUtlGetRecBuf(RLC_AMUL.recBufLst, sn);
 
    while (mSn < mVrMr)
    {
@@ -1689,7 +1651,7 @@ RlcUlRbCb    *rbCb;
          amUl->gatherStaPduInfo = FALSE;
 
          /* Check if staProhTmr is running */
-         tmrRunning = rlcChkTmr(gCb,(PTR) rbCb, RLC_EVT_AMUL_STA_PROH_TMR);
+         tmrRunning = rlcChkTmr(gCb,(PTR) rbCb, EVENT_RLC_AMUL_STA_PROH_TMR);
 
          if (!tmrRunning)
          {
@@ -1709,7 +1671,7 @@ RlcUlRbCb    *rbCb;
    MODAMR(amUl->rxHighestStatus, mrxHighestStatus, amUl->rxNext, amUl->snModMask);
    if (mrxNextHighestRcvd > mrxHighestStatus)
    {
-      rlcStartTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+      rlcStartTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
       amUl->rxNextStatusTrig = amUl->rxNextHighestRcvd;
    }
 
@@ -1730,17 +1692,7 @@ RlcUlRbCb    *rbCb;
  *
  */
 
-#ifdef ANSI
-Void rlcAmmStaProTmrExp
-(
-RlcCb        *gCb,
-RlcUlRbCb    *rbCb
-)
-#else
-Void rlcAmmStaProTmrExp(gCb, rbCb)
-RlcCb        *gCb;
-RlcUlRbCb    *rbCb;
-#endif
+Void rlcAmmStaProTmrExp(RlcCb *gCb,RlcUlRbCb *rbCb)
 {
    RlcAmUl *amUl = &(rbCb->m.amUl);
 
@@ -1769,7 +1721,7 @@ RlcUlRbCb    *rbCb;
  *
  */
 
-void rlcAmmExtractElmnt(RlcCb *gCb, Buffer *pdu, RlcExtHdr *hdrInfo)
+static void rlcAmmExtractElmnt(RlcCb *gCb, Buffer *pdu, RlcExtHdr *hdrInfo)
 {
    uint8_t   hdr;
    uint8_t   pLen = hdrInfo->pLen;
@@ -1852,7 +1804,7 @@ void rlcAmmExtractElmnt(RlcCb *gCb, Buffer *pdu, RlcExtHdr *hdrInfo)
  *
  */
 
-void rlcAmmUpdExpByteSeg(RlcCb *gCb, RlcAmUl *amUl, RlcSeg *seg)
+static void rlcAmmUpdExpByteSeg(RlcCb *gCb, RlcAmUl *amUl, RlcSeg *seg)
 {
    uint16_t  newExpSo; /* The new expected SO */
    RlcSn     sn = seg->amHdr.sn;
@@ -1917,17 +1869,7 @@ void rlcAmmUpdExpByteSeg(RlcCb *gCb, RlcAmUl *amUl, RlcSeg *seg)
  *
  * @return   void
  */
-#ifdef ANSI
-Void rlcAmmFreeUlRbCb
-(
-RlcCb       *gCb,
-RlcUlRbCb   *rbCb
-)
-#else
-Void rlcAmmFreeUlRbCb(gCb,rbCb)
-RlcCb       *gCb;
-RlcUlRbCb   *rbCb;
-#endif
+Void rlcAmmFreeUlRbCb(RlcCb       *gCb,RlcUlRbCb   *rbCb)
 {
    RlcSn         curSn = 0;           /* Sequence number of PDU */
    RlcSn         windSz;              /* PDU window size */
@@ -1935,13 +1877,13 @@ RlcUlRbCb   *rbCb;
 
    windSz  =  (RLC_AM_GET_WIN_SZ(rbCb->m.amUl.snLen)) << 1;
 
-   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,RLC_EVT_AMUL_REORD_TMR))
+   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,EVENT_RLC_AMUL_REORD_TMR))
    {
-      rlcStopTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_REORD_TMR);
+      rlcStopTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_REORD_TMR);
    }
-   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,RLC_EVT_AMUL_STA_PROH_TMR))
+   if(TRUE == rlcChkTmr(gCb,(PTR)rbCb,EVENT_RLC_AMUL_STA_PROH_TMR))
    {
-      rlcStopTmr(gCb,(PTR)rbCb, RLC_EVT_AMUL_STA_PROH_TMR);
+      rlcStopTmr(gCb,(PTR)rbCb, EVENT_RLC_AMUL_STA_PROH_TMR);
    }
 
 
@@ -1954,7 +1896,7 @@ RlcUlRbCb   *rbCb;
       {
          if (recBuf->pdu != NULLP)
          {
-            RLC_FREE_BUF_WC(recBuf->pdu);
+            ODU_PUT_MSG_BUF(recBuf->pdu);
          }
          /* Release all the segments */
          rlcAmmUlRlsAllSegs(gCb,recBuf);
@@ -1964,13 +1906,13 @@ RlcUlRbCb   *rbCb;
    }while ( curSn < windSz );
 
 #ifndef LTE_TDD 
-      RLC_FREE_WC(gCb,rbCb->m.amUl.recBufLst, (RLC_RCV_BUF_BIN_SIZE * sizeof(CmLListCp)));
+      RLC_FREE(gCb,rbCb->m.amUl.recBufLst, (RLC_RCV_BUF_BIN_SIZE * sizeof(CmLListCp)));
       rbCb->m.amUl.recBufLst = NULLP;
 #endif
 
    if(rbCb->m.amUl.partialSdu != NULLP)
    {
-      RLC_FREE_BUF_WC(rbCb->m.amUl.partialSdu);
+      ODU_PUT_MSG_BUF(rbCb->m.amUl.partialSdu);
    }
    return;
 } /* rlcAmmFreeUlRbCb */