X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Fkw_lim.c;h=12fb70f639f8a51f6c348fc66044c8cab1bb3b68;hb=2193e4cf01012809495be026097e8d7eacb9f0ac;hp=5a094ddb3a438c239ad5c27b5cc01b71d4f1a7dd;hpb=6b44407d464a5a4e060999255233a7cfe78bb0fa;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw_lim.c b/src/5gnrrlc/kw_lim.c index 5a094ddb3..12fb70f63 100755 --- a/src/5gnrrlc/kw_lim.c +++ b/src/5gnrrlc/kw_lim.c @@ -25,12 +25,12 @@ Desc: Source code for RLC Lower Interface Module. This file contains following functions - --KwLiRguBndCfm - --KwLiRguCDatInd - --KwLiRguDDatInd - --KwLiRguCStaInd - --KwLiRguDStaInd - --KwLiRguHqStaInd + --RlcLiRguBndCfm + --rlcProcCommLcUlData + --rlcProcDedLcUlData + --rlcProcCommLcSchedRpt + --rlcProcDedLcSchedRpt + --RlcLiRguHqStaInd File: kw_lim.c @@ -44,7 +44,7 @@ static int RLOG_FILE_ID=196; * @brief RLC Lower Interface module */ -#define KW_MODULE KW_DBGMASK_INF +#define RLC_MODULE RLC_DBGMASK_INF /* header (.h) include files */ @@ -72,6 +72,7 @@ static int RLOG_FILE_ID=196; #include "kw_dl.x" #include "kw_ul.x" #include "rlc_utils.h" +#include "rlc_mac_inf.h" #ifdef __cplusplus EXTERN "C" { @@ -86,8 +87,8 @@ EXTERN "C" { * * @details * This function handles the bind confirmation received from MAC. If the - * bind was successful changes the state of the SAP to KW_SAP_BND - * else KW_SAP_CFG. Sends an alarm to LM in any case + * bind was successful changes the state of the SAP to RLC_SAP_BND + * else RLC_SAP_CFG. Sends an alarm to LM in any case * * @param[in] pst Post structure * @param[in] suId Service User ID @@ -99,14 +100,14 @@ EXTERN "C" { * */ #ifdef ANSI -PUBLIC S16 KwLiRguBndCfm +S16 RlcLiRguBndCfm ( Pst *pst, SuId suId, U8 status ) #else -PUBLIC S16 KwLiRguBndCfm (pst, suId, status) +S16 RlcLiRguBndCfm (pst, suId, status) Pst *pst; SuId suId; U8 status; @@ -114,63 +115,63 @@ U8 status; { U16 event; /* Event */ U16 cause; /* Cause */ - KwRguSapCb *rguSap; /* RGU SAP Control Block */ + RlcRguSapCb *rguSap; /* RGU SAP Control Block */ RlcCb *tRlcCb; - TRC3(KwLiRguBndCfm) + TRC3(RlcLiRguBndCfm) #if (ERRCLASS & ERRCLS_INT_PAR) if (pst->dstInst >= MAX_RLC_INSTANCES) { - RETVALUE (RFAILED); + return (RFAILED); } #endif tRlcCb = RLC_GET_RLCCB(pst->dstInst); - RLOG2(L_DEBUG,"KwLiRguBndCfm(suId(%d), status(%d)", suId, status); + RLOG2(L_DEBUG,"RlcLiRguBndCfm(suId(%d), status(%d)", suId, status); #if (ERRCLASS & ERRCLS_INT_PAR) if (tRlcCb->init.cfgDone != TRUE) { RLOG0(L_FATAL,"General configuration not done"); - KW_SEND_SAPID_ALARM(tRlcCb,suId,LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_STATE); + RLC_SEND_SAPID_ALARM(tRlcCb,suId,LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_STATE); - RETVALUE(RFAILED); + return RFAILED; } if ((suId >= tRlcCb->genCfg.maxRguSaps) || (suId < 0)) { RLOG0(L_ERROR, "Invalid suId"); - KW_SEND_SAPID_ALARM(tRlcCb,suId, LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_SUID); + RLC_SEND_SAPID_ALARM(tRlcCb,suId, LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_SUID); - RETVALUE(RFAILED); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_INT_PAR */ rguSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ? &(tRlcCb->u.dlCb->rguDlSap[suId]) : &(tRlcCb->u.ulCb->rguUlSap[suId]); - RLOG1(L_DEBUG, "KwLiRguBndCfm: For RGU SAP state=%d", rguSap->state) + RLOG1(L_DEBUG, "RlcLiRguBndCfm: For RGU SAP state=%d", rguSap->state) switch (rguSap->state) { - case KW_SAP_BINDING: + case RLC_SAP_BINDING: { - kwStopTmr (tRlcCb,(PTR)rguSap, KW_EVT_WAIT_BNDCFM); + rlcStopTmr (tRlcCb,(PTR)rguSap, RLC_EVT_WAIT_BNDCFM); rguSap->retryCnt = 0; if (status == CM_BND_OK) { - rguSap->state = KW_SAP_BND; + rguSap->state = RLC_SAP_BND; event = LCM_EVENT_BND_OK; cause = LKW_CAUSE_SAP_BNDENB; } else { - rguSap->state = KW_SAP_CFG; + rguSap->state = RLC_SAP_CFG; event = LCM_EVENT_BND_FAIL; cause = LKW_CAUSE_UNKNOWN; } @@ -184,115 +185,13 @@ U8 status; } /* Send an alarm with proper event and cause */ - KW_SEND_SAPID_ALARM(tRlcCb, suId, event, cause); + RLC_SEND_SAPID_ALARM(tRlcCb, suId, event, cause); - RETVALUE(ROK); -} /* KwLiRguBndCfm */ + return (ROK); +} /* RlcLiRguBndCfm */ -/** - * @brief Handler to process PDU received from MAC - * - * @details - * This function receives the PDU from MAC. - * seggregates common and dedicated logical channel - * PDU and call respective handler. - * - * @param[in] pst Post structure - * @param[in] suId Service User ID - * @param[in] datInd Data Indication Information - * - * @return S16 - * -# ROK - * -# RFAILED - * -*/ - -uint8_t RlcProcUlData(Pst *pst, RlcMacData *ulData) -{ - U8 idx; - U8 lcId; /* Logical Channel */ - U8 numDLch = 0; /* Number of dedicated logical channel */ - Bool dLchPduPres; /* PDU received on dedicated logical channel */ - RguLchDatInd dLchData[RGU_MAX_LC]; /* PDU info on dedicated logical channel */ - RguDDatIndInfo *dLchUlDat; /* UL data on dedicated logical channel */ - RguCDatIndInfo *cLchUlDat; /* UL data on common logical channel */ - uint16_t copyLen; - - /* Initializing dedicated logical channel Database */ - for(idx = 0; idx < RGU_MAX_LC; idx++) - { - dLchData[idx].lcId = idx; - dLchData[idx].pdu.numPdu = 0; - } - - dLchPduPres = FALSE; - - /* Seggregate PDUs received on common and dedicated channels - * and call common channel's handler */ - for(idx = 0; idx< ulData->numPdu; idx++) - { - if(ulData->pduInfo[idx].commCh) - { - RLC_SHRABL_STATIC_BUF_ALLOC(pst->region, pst->pool, cLchUlDat, sizeof(RguCDatIndInfo)); - cmMemset((U8*)cLchUlDat, (U8)0, sizeof(RguCDatIndInfo)); - - cLchUlDat->cellId = ulData->cellId; - GET_UE_IDX(ulData->rnti, cLchUlDat->rnti); - cLchUlDat->lcId = ulData->pduInfo[idx].lcId; - - /* Copy fixed buffer to message */ - if(SGetMsg(RLC_MEM_REGION_UL, RLC_POOL, &cLchUlDat->pdu) != ROK) - { - DU_LOG("\nRLC : Memory allocation failed at RlcProcUlData"); - return RFAILED; - } - reverseFixBuf(ulData->pduInfo[idx].pduBuf, ulData->pduInfo[idx].pduLen); - SCpyFixMsg(ulData->pduInfo[idx].pduBuf, cLchUlDat->pdu, 0, \ - ulData->pduInfo[idx].pduLen, (MsgLen *)©Len); - - KwLiRguCDatInd(pst, 0, cLchUlDat); - } - else - { - if(!dLchPduPres) - { - RLC_SHRABL_STATIC_BUF_ALLOC(pst->region, pst->pool, dLchUlDat, sizeof(RguDDatIndInfo)); - dLchPduPres = TRUE; - } - - lcId = ulData->pduInfo[idx].lcId; - dLchData[lcId].pdu.mBuf[dLchData[lcId].pdu.numPdu] = ulData->pduInfo[idx].pduBuf; - dLchData[lcId].pdu.numPdu++; - } - } - - /* If any PDU received on dedicated logical channel, copy into RguDDatIndInfo - * and call its handler */ - if(dLchPduPres) - { - dLchUlDat->cellId = ulData->cellId; - dLchUlDat->rnti = ulData->rnti; - - for(idx = 0; idx < RGU_MAX_LC; idx++) - { - if(dLchData[idx].pdu.numPdu) - { - cmMemcpy((U8 *)&dLchUlDat->lchData[numDLch], (U8 *)&dLchData[idx], sizeof(RguLchDatInd)); - numDLch++; - } - } - dLchUlDat->numLch = numDLch; - KwLiRguDDatInd(pst, 0, dLchUlDat); - } - - - RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ulData, sizeof(RlcMacData)); - RETVALUE(ROK); - -}/* End of RlcProcUlData */ - -PUBLIC int rlcDDatIndRcvd; -PUBLIC int rlcCDatIndRcvd; +int rlcDDatIndRcvd; +int rlcCDatIndRcvd; /** * @brief Handler to process PDU received from MAC for common logical channels. * @@ -309,77 +208,63 @@ PUBLIC int rlcCDatIndRcvd; * -# RFAILED * */ -#ifdef ANSI -PUBLIC S16 KwLiRguCDatInd -( -Pst *pst, -SuId suId, -RguCDatIndInfo *datInd -) -#else -PUBLIC S16 KwLiRguCDatInd(pst,suId,datInd) -Pst *pst; -SuId suId; -RguCDatIndInfo *datInd; -#endif +uint8_t rlcProcCommLcUlData(Pst *pst, SuId suId, RguCDatIndInfo *datInd) { RlcUlRbCb *rbCb; RlcCb *tRlcCb; rlcCDatIndRcvd++; - TRC3(KwLiRguCDatInd) #if (ERRCLASS & ERRCLS_INT_PAR) if (pst->dstInst >= MAX_RLC_INSTANCES) { - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguCDatIndInfo)); - RETVALUE (RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguCDatIndInfo)); + return RFAILED; } #endif tRlcCb = RLC_GET_RLCCB(pst->dstInst); - #if (ERRCLASS & ERRCLS_DEBUG) if (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) { - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguCDatIndInfo)); - RETVALUE(RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguCDatIndInfo)); + return RFAILED; } #endif /* kw006.201 ccpu00120058, Added array boundary condition check */ #if (ERRCLASS & ERRCLS_DEBUG) - if(KW_MAX_LCH_PER_CELL <= datInd->lcId) + if(RLC_MAX_LCH_PER_CELL <= datInd->lcId) { - RLOG_ARG1(L_ERROR,DBG_LCID,datInd->lcId, "Invalid LcId, Max is [%d]", - KW_MAX_LCH_PER_CELL); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguCDatIndInfo)); - RETVALUE(RFAILED); + DU_LOG("\nRLC : rlcProcCommLcUlData : Invalid LcId [%d], Max is [%d]",\ + datInd->lcId, RLC_MAX_LCH_PER_CELL); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguCDatIndInfo)); + return RFAILED; } #endif /* (ERRCLASS & ERRCLS_DEBUG) */ /* Fetch RbCb from lcId */ - kwDbmFetchUlRbCbFromLchId(tRlcCb, datInd->rnti, datInd->cellId, datInd->lcId, &rbCb); + rlcDbmFetchUlRbCbFromLchId(tRlcCb, datInd->rnti, datInd->cellId, datInd->lcId, &rbCb); if (!rbCb) { - RLOG_ARG1(L_ERROR, DBG_CELLID,datInd->cellId, "LcId [%d] not found", + DU_LOG("\nRLC : rlcProcCommLcUlData : LcId [%d] not found", datInd->lcId); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguCDatIndInfo)); - RETVALUE(RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguCDatIndInfo)); + return RFAILED; } /* Dispatch to TM Module */ #ifdef CCPU_OPT - kwTmmRcvFrmLi(tRlcCb, rbCb, datInd->rnti, datInd->pdu); + rlcTmmRcvFrmMac(tRlcCb, rbCb, datInd->rnti, datInd->pdu); #else /* CCPU_OPT */ - kwTmmRcvFrmLi(tRlcCb, rbCb, datInd->pdu); + rlcTmmRcvFrmMac(tRlcCb, rbCb, datInd->pdu); #endif /* CCPU_OPT */ - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguCDatIndInfo)); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguCDatIndInfo)); - RETVALUE(ROK); -} /* KwLiRguCDatInd */ + return (ROK); +} /* rlcProcCommLcUlData */ /** * @brief Handler to process PDU received from MAC for @@ -399,131 +284,36 @@ RguCDatIndInfo *datInd; * */ -#ifdef ANSI -PUBLIC S16 KwLiRguDDatInd -( -Pst *pst, -SuId suId, -RguDDatIndInfo *datInd -) -#else -PUBLIC S16 KwLiRguDDatInd(pst, suId, datInd) -Pst *pst; -SuId suId; -RguDDatIndInfo *datInd; -#endif +uint8_t rlcProcDedLcUlData(Pst *pst, SuId suId, RguDDatIndInfo *datInd) { - TRC3(KwLiRguDDatInd) - rlcDDatIndRcvd++; #if (ERRCLASS & ERRCLS_INT_PAR) if (pst->dstInst >= MAX_RLC_INSTANCES) { - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguDDatIndInfo)); - RETVALUE (RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguDDatIndInfo)); + return RFAILED; } #endif #if (ERRCLASS & ERRCLS_DEBUG) if (((RlcCb*)RLC_GET_RLCCB(pst->dstInst))->genCfg.rlcMode == LKW_RLC_MODE_DL) { - RLOG1(L_DEBUG,"KwLiRguDDatInd(pst, suId(%d))recieved in DL Inst",suId); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguDDatIndInfo)); - RETVALUE(RFAILED); + DU_LOG("\nRLC : rlcProcDedLcUlData : suId(%d))recieved in DL Inst", suId); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguDDatIndInfo)); + return RFAILED; } #endif - kwUtlRcvFrmLi(RLC_GET_RLCCB(pst->dstInst),datInd); + rlcUtlRcvFrmMac(RLC_GET_RLCCB(pst->dstInst),datInd); #ifndef SS_RBUF #ifdef SS_LOCKLESS_MEMORY - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datInd, sizeof(RguDDatIndInfo)); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguDDatIndInfo)); #else - RLC_PST_FREE(pst->region, pst->pool, datInd, sizeof(RguDDatIndInfo)); + RLC_PST_FREE(RLC_MEM_REGION_UL, RLC_POOL, datInd, sizeof(RguDDatIndInfo)); #endif #endif - RETVALUE(ROK); -} /* KwLiRguDDatInd */ - - -/******************************************************************* - * - * @brief Handler for extracting common and dedicated channel - * Scheduling result report. - * - * @details - * - * Function : RlcMacProcSchedRep - * - * Functionality: - * Handler for extracting common and dedicated channel - * Scheduling result report - * - * @params[in] - * @return ROK - success - * RFAILED - failure - * - * ****************************************************************/ -PUBLIC uint16_t RlcMacProcSchedRep(Pst *pst, SuId suId, RlcMacSchedRepInfo *schRep) -{ - U8 idx; /* Iterator */ - U8 nmbDLch = 0; /* Number of dedicated logical channles */ - RguCStaIndInfo *cLchSchInfo; /* Common logical channel scheduling result */ - RguDStaIndInfo *dLchSchInfo; /* Dedicated logical channel scheduling result */ - - DU_LOG("\nRLC : Received scheduling report from MAC"); - - for(idx=0; idx < schRep->nmbLch; idx++) - { - /* If it is common channel, fill status indication information - * and trigger the handler for each common lch separately */ - if(schRep->lchSta[idx].commCh) - { - RLC_SHRABL_STATIC_BUF_ALLOC(pst->region, pst->pool, cLchSchInfo, sizeof(RguCStaIndInfo)); - cmMemset((U8*)cLchSchInfo, (U8)0, sizeof(RguCStaIndInfo)); - - cLchSchInfo->cellId = schRep->cellId; - cLchSchInfo->lcId = schRep->lchSta[idx].lchStaInd.lcId; - //cLchSchInfo->transId = schRep->timeToTx; /* TODO : fill transId suing timeToTx */ - cLchSchInfo->rnti = schRep->rnti; - - KwLiRguCStaInd(pst, suId, cLchSchInfo); - - } - else - { - /* Fill status info structure if at least one dedicated channel - * scheduling report is received */ - if(nmbDLch == 0) - { - RLC_SHRABL_STATIC_BUF_ALLOC(pst->region, pst->pool, dLchSchInfo, sizeof(RguDStaIndInfo)); - - dLchSchInfo->cellId = schRep->cellId; - dLchSchInfo->nmbOfUeGrantPerTti = 1; - dLchSchInfo->staInd[0].rnti = schRep->rnti; - //dLchSchInfo->staInd[0].transId = schRep->timeToTx; /* TODO : fill transId suing timeToTx */ - dLchSchInfo->staInd[0].nmbOfTbs = 1; - //dLchSchInfo->staInd[0].fillCrlPdu = /* TODO : Check the value needed to be filled */ - } - - /* Fill logical channel scheduling info */ - cmMemcpy((U8 *)&dLchSchInfo->staInd[0].staIndTb[0].lchStaInd[nmbDLch], (U8 *)&schRep->lchSta[idx].lchStaInd, sizeof(RguLchStaInd)); - nmbDLch++; - - } - - } - - /* Calling handler for all dedicated channels scheduling*/ - if(nmbDLch) - { - dLchSchInfo->staInd[0].staIndTb[0].nmbLch = nmbDLch; - KwLiRguDStaInd(pst, suId, dLchSchInfo); - } - - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, schRep, sizeof(RlcMacSchedRepInfo)); - - RETVALUE(ROK); -} + return ROK; +} /* rlcProcDedLcUlData */ /** * @brief Handler for trigerring the data transfer from RLC to MAC @@ -543,53 +333,33 @@ PUBLIC uint16_t RlcMacProcSchedRep(Pst *pst, SuId suId, RlcMacSchedRepInfo *schR * -# RFAILED * */ -#ifdef ANSI -PUBLIC S16 KwLiRguCStaInd -( -Pst *pst, -SuId suId, -RguCStaIndInfo *staInd -) -#else -PUBLIC S16 KwLiRguCStaInd(pst,suId,staInd) -Pst *pst; -SuId suId; -RguCStaIndInfo *staInd; -#endif +uint8_t rlcProcCommLcSchedRpt(Pst *pst, SuId suId, RguCStaIndInfo *staInd) { RlcDlRbCb *rbCb; RlcCb *tRlcCb; - TRC3(KwLiRguCStaInd) - #if (ERRCLASS & ERRCLS_INT_PAR) if (pst->dstInst >= MAX_RLC_INSTANCES) { - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); - RETVALUE (RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); + return (RFAILED); } #endif tRlcCb = RLC_GET_RLCCB(pst->dstInst); - #if (ERRCLASS & ERRCLS_INT_PAR) if ((suId >= tRlcCb->genCfg.maxRguSaps) || (suId < 0)) { - KWLOGERROR(tRlcCb, - ERRCLS_INT_PAR, - EKW040, - (ErrVal) suId, - "KwLiRguCStaInd: Invalid RGU suId\n"); - RETVALUE(RFAILED); + DU_LOG("\nRLC: rlcProcCommLcSchedRpt: Invalid RGU suId %d\n", suId); + return RFAILED; } if (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_UL) { - RLOG_ARG1(L_ERROR,DBG_LCID,staInd->lcId, - "Received in RLC UL CELLID:%d", + DU_LOG("\nRLC: rlcProcCommLcSchedRpt: Received in RLC UL CELLID:%d", staInd->cellId); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); - RETVALUE(RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); + return RFAILED; } #endif @@ -597,48 +367,38 @@ RguCStaIndInfo *staInd; /* kw006.201 ccpu00120058, added boundary condition check */ #if (ERRCLASS & ERRCLS_DEBUG) - if(KW_MAX_LCH_PER_CELL < staInd->lcId) + if(RLC_MAX_LCH_PER_CELL < staInd->lcId) { - RLOG_ARG2(L_ERROR,DBG_LCID,staInd->lcId, - "Invalid LcId, Max is [%d] CELLID:%d", - KW_MAX_LCH_PER_CELL, - staInd->cellId); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); - RETVALUE(RFAILED); + DU_LOG("\nRLC: rlcProcCommLcSchedRpt: Invalid LcId, Max is [%d] CELLID:%d", + RLC_MAX_LCH_PER_CELL, staInd->cellId); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); + return RFAILED; } #endif /* (ERRCLASS & ERRCLS_DEBUG) */ /* Fertch RbCb from lcId */ - kwDbmFetchDlRbCbFromLchId(tRlcCb,0, staInd->cellId, staInd->lcId, &rbCb); + rlcDbmFetchDlRbCbFromLchId(tRlcCb,0, staInd->cellId, staInd->lcId, &rbCb); if(!rbCb) { - RLOG_ARG1(L_ERROR, DBG_CELLID,staInd->cellId, - "LcId [%d] not found CELLID:%d", - staInd->lcId); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); - RETVALUE(RFAILED); + DU_LOG("\nRLC: rlcProcCommLcSchedRpt: LcId [%d] not found CELLID:%d", + staInd->lcId, staInd->cellId); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); + return RFAILED; } /* Dispatch to TM Module */ rbCb->transId = staInd->transId; - /* ccpu00136940 */ - /* If trace flag is enabled send the trace indication */ - if(tRlcCb->init.trc == TRUE) - { - /* Populate the trace params */ - kwLmmSendTrc(tRlcCb,EVTRGUCSTAIND, NULLP); - } - kwTmmSndToLi(tRlcCb, suId, rbCb, staInd); + rlcTmmSendToMac(tRlcCb, suId, rbCb, staInd); #ifndef SS_RBUF #ifdef SS_LOCKLESS_MEMORY - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); #else - RLC_PST_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); + RLC_PST_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); #endif #else - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguCStaIndInfo)); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguCStaIndInfo)); #endif - RETVALUE(ROK); -} /* KwLiRguCStaInd */ + return ROK; +} /* rlcProcCommLcSchedRpt */ /** * @brief Handler for trigerring the data transfer from RLC to MAC @@ -659,28 +419,15 @@ RguCStaIndInfo *staInd; * -# RFAILED * */ -#ifdef ANSI -PUBLIC S16 KwLiRguDStaInd -( -Pst *pst, -SuId suId, -RguDStaIndInfo *staInd -) -#else -PUBLIC S16 KwLiRguDStaInd(pst, suId, staInd) -Pst *pst; -SuId suId; -RguDStaIndInfo *staInd; -#endif +uint8_t rlcProcDedLcSchedRpt(Pst *pst, SuId suId, RguDStaIndInfo *staInd) { RlcCb *gCb; - TRC3(KwLiRguDStaInd) #if (ERRCLASS & ERRCLS_INT_PAR) if (pst->dstInst >= MAX_RLC_INSTANCES) { - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguDStaIndInfo)); - RETVALUE (RFAILED); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguDStaIndInfo)); + return RFAILED; } #endif @@ -689,26 +436,22 @@ RguDStaIndInfo *staInd; #if (ERRCLASS & ERRCLS_INT_PAR) if (((RlcCb*)RLC_GET_RLCCB(pst->dstInst))->genCfg.rlcMode == LKW_RLC_MODE_UL) { - RLOG_ARG0(L_ERROR,DBG_CELLID,staInd->cellId,"Received in RLC UL "); - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguDStaIndInfo)); - RETVALUE(RFAILED); + DU_LOG("\nRLC: rlcProcDedLcSchedRpt: Received in RLC UL "); + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguDStaIndInfo)); + return RFAILED; } if ((suId >= gCb->genCfg.maxRguSaps) || (suId < 0)) { - KWLOGERROR(gCb, - ERRCLS_INT_PAR, - EKW040, - (ErrVal) suId, - "KwLiRguDStaInd: Invalid RGU suId\n"); - RETVALUE(RFAILED); + DU_LOG("\nRLC: rlcProcDedLcSchedRpt: Invalid RGU suId %d\n", suId); + return (RFAILED); } #endif - kwUtlSndToLi(gCb, suId, staInd); + rlcUtlSendToMac(gCb, suId, staInd); /* kw002.201 :Freeing from proper region */ - RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, staInd, sizeof(RguDStaIndInfo)); - RETVALUE(ROK); -} /* KwLiRguDStaInd */ + RLC_SHRABL_STATIC_BUF_FREE(RLC_MEM_REGION_DL, RLC_POOL, staInd, sizeof(RguDStaIndInfo)); + return ROK; +} /* rlcProcDedLcSchedRpt */ /** * @brief Handler for handling the flow cntrl Ind from MAC @@ -716,7 +459,7 @@ RguDStaIndInfo *staInd; * * @details * This function receives the flow control indication from - * MAC and calls kwUtlTrigPdbFlowCntrl + * MAC and calls rlcUtlTrigPdbFlowCntrl * * @param[in] pst Post structure * @param[in] suId Service User ID @@ -729,14 +472,14 @@ RguDStaIndInfo *staInd; * */ #ifdef ANSI -PUBLIC S16 KwLiRguFlowCntrlInd +S16 RlcLiRguFlowCntrlInd ( Pst *pst, SuId suId, RguFlowCntrlInd *flowCntrlInd ) #else -PUBLIC S16 KwLiRguFlowCntrlInd(pst, suId, flowCntrlInd) +S16 RlcLiRguFlowCntrlInd(pst, suId, flowCntrlInd) Pst *pst; SuId suId; RguFlowCntrlInd *flowCntrlInd; @@ -753,13 +496,13 @@ RguFlowCntrlInd *flowCntrlInd; for (lcIdx = 0; lcIdx < flowCntrlInd->ueFlowCntrlInfo[idx].numLcs; lcIdx++) { RguLcFlowCntrlInfo *lcInfo = &(flowCntrlInd->ueFlowCntrlInfo[idx].lcInfo[lcIdx]); - kwDbmFetchDlRbCbFromLchId(tRlcCb, flowCntrlInd->ueFlowCntrlInfo[idx].ueId, flowCntrlInd->cellId, lcInfo->lcId, &rbCb); + rlcDbmFetchDlRbCbFromLchId(tRlcCb, flowCntrlInd->ueFlowCntrlInfo[idx].ueId, flowCntrlInd->cellId, lcInfo->lcId, &rbCb); if (rbCb) { if (lcInfo->pktAdmitCnt == 0) /* Special case */ { - kwUtlTrigPdbFlowCntrl(tRlcCb, rbCb, lcInfo->pktAdmitCnt); + rlcUtlTrigPdbFlowCntrl(tRlcCb, rbCb, lcInfo->pktAdmitCnt); continue; } if (rbCb->mode == CM_LTE_MODE_AM) @@ -779,11 +522,11 @@ RguFlowCntrlInd *flowCntrlInd; continue; } } - kwUtlTrigPdbFlowCntrl(tRlcCb, rbCb, lcInfo->pktAdmitCnt); + rlcUtlTrigPdbFlowCntrl(tRlcCb, rbCb, lcInfo->pktAdmitCnt); } } } - RETVALUE(ROK); + return ROK; } /* kw005.201 added support for L2 Measurement */ #ifdef LTE_L2_MEAS @@ -811,46 +554,46 @@ RguFlowCntrlInd *flowCntrlInd; * */ #ifdef ANSI -PUBLIC S16 KwLiRguHqStaInd +S16 RlcLiRguHqStaInd ( Pst *pst, SuId suId, RguHarqStatusInd *staInd ) #else -PUBLIC S16 KwLiRguHqStaInd(pst,suId,staInd) +S16 RlcLiRguHqStaInd(pst,suId,staInd) Pst *pst; SuId suId; RguHarqStatusInd *staInd; #endif { - KwUeKey ueKey; + RlcUeKey ueKey; S16 ret; RlcDlUeCb *ueCb; U8 tbIdx; RlcCb *tRlcCb; - TRC3(KwLiRguHqStaInd) + TRC3(RlcLiRguHqStaInd) tRlcCb = RLC_GET_RLCCB(pst->dstInst); ueKey.cellId = staInd->cellId; ueKey.ueId = staInd->ueId; - ret = kwDbmFetchDlUeCb(tRlcCb, ueKey.ueId, ueKey.cellId, &ueCb); + ret = rlcDbmFetchDlUeCb(tRlcCb, ueKey.ueId, ueKey.cellId, &ueCb); if (ret != ROK ) { - RETVALUE(RFAILED); + return RFAILED; } - /*Call kwUtlProcHarqInd as many times as number of Tbs present*/ + /*Call rlcUtlProcHarqInd as many times as number of Tbs present*/ for ( tbIdx = 0; tbIdx < staInd->numTbs; tbIdx++) { - kwUtlProcHarqInd(tRlcCb, staInd, ueCb, tbIdx); + rlcUtlProcHarqInd(tRlcCb, staInd, ueCb, tbIdx); } - RETVALUE(ROK); -} /* KwLiRguHqStaInd */ + return (ROK); +} /* RlcLiRguHqStaInd */ #endif /* LTE_L2_MEAS */ #ifdef __cplusplus