X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2F5gnrrlc%2Fkw_tmm_ul.c;h=6accebd95f824c0a82824a4c4bdc3cede8fd8c1e;hb=6b44407d464a5a4e060999255233a7cfe78bb0fa;hp=70f89320d4478e258628261c9b791a30e60dcb68;hpb=105199ef642ffe9736ea24a01d4546578fa25e60;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw_tmm_ul.c b/src/5gnrrlc/kw_tmm_ul.c index 70f89320d..6accebd95 100755 --- a/src/5gnrrlc/kw_tmm_ul.c +++ b/src/5gnrrlc/kw_tmm_ul.c @@ -61,6 +61,9 @@ static int RLOG_FILE_ID=201; #include "kw.x" #include "kw_ul.x" +#include "du_app_rlc_inf.h" +#include "rlc_utils.h" +#include "rlc_upr_inf_api.h" #if defined(PRE_DEF_UE_CTX) || defined(PRE_DEF_UE_CTX_HO) #ifdef EG_GEN_LOAD_5GTF @@ -245,15 +248,15 @@ U8 rrcUeCapabilityInfo[] = #ifdef ANSI PUBLIC Void kwTmmRcvFrmLi ( -KwCb *gCb, -KwUlRbCb *rbCb, +RlcCb *gCb, +RlcUlRbCb *rbCb, CmLteRnti tCrnti, Buffer *pdu ) #else PUBLIC Void kwTmmRcvFrmLi(gCb,rbCb, tCrnti, pdu) -KwCb *gCb; -KwUlRbCb *rbCb; +RlcCb *gCb; +RlcUlRbCb *rbCb; CmLteRnti tCrnti; Buffer *pdu; #endif @@ -261,57 +264,65 @@ Buffer *pdu; #ifdef ANSI PUBLIC Void kwTmmRcvFrmLi ( -KwCb *gCb, -KwUlRbCb *rbCb, +RlcCb *gCb, +RlcUlRbCb *rbCb, Buffer *pdu ) #else PUBLIC Void kwTmmRcvFrmLi(gCb,rbCb, pdu) -KwCb *gCb; -KwUlRbCb *rbCb; +RlcCb *gCb; +RlcUlRbCb *rbCb; Buffer *pdu; #endif #endif { - KwuDatIndInfo *datIndInfo; /* Data Indication Information */ - MsgLen msgLen; + RlcUlRrcMsgInfo *ulRrcMsgInfo; + uint16_t msgLen; + uint16_t copyLen; /* Number of bytes copied */ + Pst pst; TRC2(kwTmmRcvFrmLi) - /* Creating static memory for KwuDatIndInfo. #else will be - * removed once the sanity testing is performed for all platforms */ - KwuDatIndInfo datIndInfoTmp; - datIndInfo = &datIndInfoTmp; -#if (ERRCLASS & ERRCLS_ADD_RES) - if ( datIndInfo == NULLP ) - { - RLOG_ARG2(L_FATAL,DBG_RBID,rbCb->rlcId.rbId, - "Memory Allocation failed UEID:%d CELLID:%d", - rbCb->rlcId.ueId, - rbCb->rlcId.cellId); - RETVOID; - } -#endif /* ERRCLASS & ERRCLS_ADD_RES */ - KW_MEM_CPY(&(datIndInfo->rlcId),&(rbCb->rlcId),sizeof(CmLteRlcId)); -#ifdef CCPU_OPT - if ( rbCb->lch.lChType == CM_LTE_LCH_CCCH ) - { - datIndInfo->tCrnti = tCrnti; - } -#endif gCb->genSts.pdusRecv++; - SFndLenMsg(pdu, &msgLen); + SFndLenMsg(pdu, (MsgLen *)&msgLen); gCb->genSts.bytesRecv += msgLen; /* If trace flag is enabled send the trace indication */ if(gCb->init.trc == TRUE) { /* Populate the trace params */ - kwLmmSendTrc(gCb,KWU_EVT_DAT_IND, pdu); + kwLmmSendTrc(gCb, EVENT_UL_RRC_MSG_TRANS_TO_DU, pdu); } - KwUiKwuDatInd( &gCb->u.ulCb->kwuUlSap->pst, - //gCb->u.ulCb->kwuUlSap->suId, - datIndInfo, pdu); - + + /* Filling UL RRC Message Info */ + RLC_ALLOC_SHRABL_BUF(RLC_MEM_REGION_UL, RLC_POOL, + ulRrcMsgInfo, sizeof(RlcUlRrcMsgInfo)); + if (ulRrcMsgInfo) + { + ulRrcMsgInfo->cellId = rbCb->rlcId.cellId; + ulRrcMsgInfo->ueIdx = rbCb->rlcId.ueId; + ulRrcMsgInfo->lcId = rbCb->lch.lChId; + RLC_ALLOC_SHRABL_BUF(RLC_MEM_REGION_UL, RLC_POOL, + ulRrcMsgInfo->rrcMsg, msgLen); + if (ulRrcMsgInfo->rrcMsg) + { + SCpyMsgFix(pdu, 0, msgLen, ulRrcMsgInfo->rrcMsg, (MsgLen *)©Len); + ulRrcMsgInfo->msgLen = msgLen; + + /* Sending UL RRC Message transfeer to DU APP */ + memset(&pst, 0, sizeof(Pst)); + FILL_PST_RLC_TO_DUAPP(pst, SFndProcId(), RLC_UL_INST, EVENT_UL_RRC_MSG_TRANS_TO_DU); + rlcSendUlRrcMsgToDu(&pst, ulRrcMsgInfo); + } + else + { + DU_LOG("\nRLC : Memory allocation failed"); + } + } + else + { + DU_LOG("\nRLC : Memory allocation failed"); + } + RETVOID; } @@ -331,16 +342,16 @@ Buffer *pdu; #ifdef ANSI PUBLIC Void kwTmmUlReEstablish ( -KwCb *gCb, -KwUlRbCb *rbCb +RlcCb *gCb, +RlcUlRbCb *rbCb ) #else PUBLIC Void kwTmmUlReEstablish(rbCb) -KwCb *gCb; +RlcCb *gCb; KwRbCb *rbCb; #endif { - TRC2(kwUlTmmReEstablish) + TRC2(rlcUlTmmReEstablish) RLOG_ARG0(L_DEBUG,DBG_RBID,rbCb->rlcId.rbId,"do nothing for TMM for ReEstablish"); RETVOID;