X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Frgu.c;h=29345688d5757638d7e48537ec0ab026bb897c8e;hb=5d74fef7c9fe6b65a965ceac6bfe812872dab323;hp=df5714d50da7177ffcd8b508461dc17f8c11231c;hpb=0a26c487f1b6bbb5217e47b15fa8273b2e749283;p=o-du%2Fl2.git diff --git a/src/cm/rgu.c b/src/cm/rgu.c index df5714d50..29345688d 100755 --- a/src/cm/rgu.c +++ b/src/cm/rgu.c @@ -77,7 +77,6 @@ SpId spId; #endif { Buffer *mBuf = NULLP; - TRC3(cmPkRguBndReq) if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -140,7 +139,6 @@ Buffer *mBuf; SuId suId; SpId spId; - TRC3(cmUnpkRguBndReq) if (SUnpkS16(&suId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -193,7 +191,6 @@ Reason reason; #endif { Buffer *mBuf = NULLP; - TRC3(cmPkRguUbndReq) if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -256,7 +253,6 @@ Buffer *mBuf; SpId spId; Reason reason; - TRC3(cmUnpkRguUbndReq) if (SUnpkS16(&spId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -310,7 +306,6 @@ U8 status; #endif { Buffer *mBuf = NULLP; - TRC3(cmPkRguBndCfm) if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -374,7 +369,6 @@ Buffer *mBuf; SuId suId; U8 status; - TRC3(cmUnpkRguBndCfm) if (SUnpkS16(&suId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -398,286 +392,6 @@ Buffer *mBuf; return ((*func)(pst, suId, status)); } - -/** -* @brief Request from RLC to MAC for forwarding SDUs on - * dedicated channel for transmission -* -* @details -* -* Function : packDlData -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] RguDDatReqInfo * datReq -* @return S16 -* -# ROK -**/ -uint16_t packDlData -( -Pst* pst, -SpId spId, -RlcMacData *dlData -) -{ - Buffer *mBuf = NULLP; - TRC3(packDlData) - - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU022, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)dlData, sizeof(RlcMacData)); - return RFAILED; - } - - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKPK(oduPackPointer,(PTR) dlData, mBuf); - } - else - { - /*rgu_c_001.main_5 - ADD - L2M Support */ -#ifdef LTE_L2_MEAS - if (packRlcMacDataInfo(pst, dlData, mBuf) != ROK) -#else - if (packRlcMacDataInfo(dlData, mBuf) != ROK) -#endif - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU023, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)dlData, - sizeof(RlcMacData)); - SPutMsg(mBuf); - return RFAILED; - } - - if (SPutSBuf(pst->region, pst->pool, - (Data *)dlData, sizeof(RlcMacData)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU025, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - dlData = NULLP; - } - if (SPkS16(spId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU024, (ErrVal)0, "Packing failed"); -#endif - if (dlData != NULLP) - { - SPutSBuf(pst->region, pst->pool, - (Data *)dlData, sizeof(RlcMacData)); - } - SPutMsg(mBuf); - return RFAILED; - } - pst->event = (Event) EVTRLCDLDAT; - return (SPstTsk(pst,mBuf)); -} - - -/** -* @brief Request from RLC to MAC for forwarding SDUs on - * dedicated channel for transmission -* -* @details -* -* Function : unpackDlData -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] RguDDatReqInfo * datReq -* @return S16 -* -# ROK -**/ -S16 unpackDlData -( -RlcMacDlData func, -Pst *pst, -Buffer *mBuf -) -{ - SpId spId; - RlcMacData *dlData; - - TRC3(unpackDlData) - - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); - return RFAILED; - } - - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKUNPK(oduUnpackPointer,(PTR *) &dlData, mBuf); - } - else - { - if ((SGetSBuf(pst->region, pst->pool, - (Data **)&dlData, sizeof(RlcMacData))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU026, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - cmMemset((U8*)dlData, (U8)0, sizeof(RlcMacData)); - /*rgu_c_001.main_5 - ADD - L2M Support */ -#ifdef LTE_L2_MEAS - if (unpackRlcMacDataInfo(pst,dlData, mBuf) != ROK) -#else - if (unpackRlcMacDataInfo(dlData, mBuf) != ROK) -#endif - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU027, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - SPutSBuf(pst->region, pst->pool, (Data *)dlData, - sizeof(RlcMacData)); - return RFAILED; - } - } - SPutMsg(mBuf); - - /* TODO : change function call to send RlcMacData as below: */ - return ((*func)(pst, spId, dlData)); - - //return ((*func)(pst, spId, datReq)); -} - - -/** -* @brief Data Indication from MAC to RLC to - * forward the data received for dedicated channels -* -* @details -* -* Function : packRcvdUlData -* -* @param[in] Pst* pst -* @param[in] SuId suId -* @param[in] RlcMacData *ulData -* @return S16 -* -# ROK -**/ -uint8_t packRlcUlData(Pst* pst, RlcMacData *ulData) -{ - Buffer *mBuf = NULLP; - - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU035, (ErrVal)0, "Packing failed"); -#endif - SPutStaticBuffer(pst->region, pst->pool, (Data *)ulData, sizeof(RlcMacData),0); - return RFAILED; - } - - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKPK(oduPackPointer,(PTR)ulData, mBuf); - } - else - { - if (packRlcMacDataInfo(ulData, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU036, (ErrVal)0, "Packing failed"); -#endif - SPutStaticBuffer(pst->region, pst->pool, (Data *)ulData, sizeof(RlcMacData),0); - SPutMsg(mBuf); - return RFAILED; - } - - if (SPutStaticBuffer(pst->region, pst->pool, - (Data *)ulData, sizeof(RlcMacData),0) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU038, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - ulData = NULLP; - } - pst->event = (Event) EVTRLCULDAT; - return (SPstTsk(pst,mBuf)); -} - - -/** -* @brief Data Indication from MAC to RLC to - * forward the data received for dedicated channels -* -* @details -* -* Function : unpackRcvdUlData -* -* @param[in] Pst* pst -* @param[in] SuId suId -* @param[in] RlcMacData *ulData -* @return S16 -* -# ROK -**/ -uint8_t unpackRcvdUlData(RlcMacUlDataFunc func, Pst *pst, Buffer *mBuf) -{ - RlcMacData *ulData; - - TRC3(unpackRcvdUlData) - - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKUNPK(oduUnpackPointer,(PTR *) &ulData, mBuf); - } - else - { - if ((SGetStaticBuffer(pst->region, pst->pool, - (Data **)&ulData, sizeof(RlcMacData),0)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU040, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - if (unpackRlcMacDataInfo(ulData, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU041, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - SPutStaticBuffer(pst->region, pst->pool, - (Data *)ulData, sizeof(RlcMacData),0); - return RFAILED; - } - } - SPutMsg(mBuf); - return ((*func)(pst, ulData)); -} - - /*rgu_c_001.main_5 - ADD - L2M & R9 Support */ #ifdef LTE_L2_MEAS @@ -710,7 +424,6 @@ Buffer *mBuf; #endif { S32 loop; - TRC3(cmPkRguL2MUlThrpMeasReqInfo); CMCHKPK(oduUnpackUInt8, param->enbMeas, mBuf); for (loop=param->numLcId-1; loop >= 0; loop--) @@ -754,7 +467,6 @@ Buffer *mBuf; #endif { U8 loop; - TRC3(cmUnpkRguL2MUlThrpMeasReqInfo); CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(cmUnpkLteRnti, ¶m->rnti, mBuf); @@ -797,7 +509,6 @@ RguL2MUlThrpMeasReqInfo* measReq; #endif { Buffer *mBuf = NULLP; - TRC3(cmPkRguL2MUlThrpMeasReq) if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -890,7 +601,6 @@ Buffer *mBuf; SpId spId; RguL2MUlThrpMeasReqInfo* measReq; - TRC3(cmUnpkRguL2MUlThrpMeasReq) if (SUnpkS16(&spId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -936,165 +646,6 @@ Buffer *mBuf; #endif - - -/** -* @brief Primitive invoked from RLC to MAC to - * inform the BO report for dedicated channels -* -* @details -* -* Function : packBOStatus, -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] RlcMacBOStatus * staRsp -* @return S16 -* -# ROK -**/ -uint16_t packBOStatus -( -Pst* pst, -SpId spId, -RlcMacBOStatus *boStatus -) -{ - RlcMacBOStatus *boStaInfo = NULL; - Buffer *mBuf = NULLP; - - if(SGetSBuf(pst->region, pst->pool, (Data **)&boStaInfo, sizeof(RlcMacBOStatus)) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU056, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } -#ifdef ERRCLS_KW - /* boStaInfo cant be NULL here */ - if (boStaInfo == NULLP) - { - return RFAILED; - } -#endif - cmMemcpy((U8 *)boStaInfo, (U8 *)boStatus, sizeof(RlcMacBOStatus)); - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU056, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)boStaInfo, sizeof(RlcMacBOStatus)); - - return RFAILED; - } - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKPK(oduPackPointer,(PTR) boStaInfo, mBuf); - } - else - { - if (packBOStatusInfo(boStatus, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU057, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - } - if (SPkS16(spId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU058, (ErrVal)0, "Packing failed"); -#endif - if (boStaInfo != NULLP) - { - SPutSBuf(pst->region, pst->pool, (Data *)boStaInfo, sizeof(RlcMacBOStatus)); - } - SPutMsg(mBuf); - return RFAILED; - } - - pst->event = (Event)EVTRLCBOSTA; - return (SPstTsk(pst,mBuf)); - SPutMsg(mBuf); -} - - -/** -* @brief Primitive invoked from RLC to MAC to -* inform the BO report for dedicated channels -* -* @details -* -* Function : unpackBOStatus -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] RlcMacBOStatus * staRsp -* @return S16 -* -# ROK -**/ -uint16_t unpackBOStatus -( -RlcMacBoStatus func, -Pst *pst, -Buffer *mBuf -) -{ - SpId spId; - RlcMacBOStatus *boSta; - - TRC3(unpackBOStatus) - - if (SUnpkS16(&spId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU060, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKUNPK(oduUnpackPointer,(PTR *) &boSta, mBuf); - } - else - { - if ((SGetSBuf(pst->region, pst->pool, (Data **)&boSta, - sizeof(RlcMacBOStatus))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU061, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - if (unpackBOStatusInfo(boSta, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU062, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - SPutSBuf(pst->region, pst->pool, (Data *)boSta, sizeof(RlcMacBOStatus)); - return RFAILED; - } - } - SPutMsg(mBuf); - // (*func)(pst, spId, boSta); - SPutSBuf(pst->region, pst->pool, (Data *)boSta, sizeof(RlcMacBOStatus)); - return ROK; -} - - /*rgu_c_001.main_5 - ADD - L2M Support */ #ifdef LTE_L2_MEAS @@ -1130,7 +681,6 @@ RguHarqStatusInd *harqStatusInd; U8 idx; RguHarqStatusInd *harqStaInd = NULL; - TRC3(cmPkRguHqStaInd) #ifdef XEON_SPECIFIC_CHANGES if (SGetSBuf(pst->region, pst->pool, (Data **)&harqStaInd, sizeof(RguHarqStatusInd)) != ROK) #else @@ -1146,7 +696,7 @@ RguHarqStatusInd *harqStatusInd; return RFAILED; } - cmMemcpy((U8 *)harqStaInd, (U8 *)harqStatusInd, sizeof(RguHarqStatusInd)); + memcpy(harqStaInd, harqStatusInd, sizeof(RguHarqStatusInd)); if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -1238,229 +788,77 @@ RguHarqStatusInd *harqStatusInd; #ifdef ANSI S16 cmUnpkRguHqStaInd ( -RguHqStaInd func, -Pst *pst, -Buffer *mBuf -) -#else -S16 cmUnpkRguHqStaInd(func, pst, mBuf) -RguHqStaInd func; -Pst *pst; -Buffer *mBuf; -#endif -{ - RguHarqStatusInd *hqStaInd; - SuId suId; - U8 idx; - - TRC3(cmUnpkRguHqStaInd) - - if (SUnpkS16(&suId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU073, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } -#ifdef XEON_SPECIFIC_CHANGES - if ((SGetSBuf(pst->region, pst->pool, (Data **)&hqStaInd, - sizeof(RguHarqStatusInd))) != ROK) { -#else - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKUNPK(oduUnpackPointer,(PTR *) &hqStaInd, mBuf); - } - else - { - if ((SGetStaticBuffer(pst->region, pst->pool, - (Data **)&hqStaInd, sizeof(RguHarqStatusInd),0)) != ROK) - { -#endif -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU074, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - CMCHKUNPK(cmUnpkLteCellId, &hqStaInd->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, &hqStaInd->ueId, mBuf); - CMCHKUNPK(oduPackUInt8, &hqStaInd->numTbs, mBuf); - for(idx = hqStaInd->numTbs; idx > 0; idx--) - { - CMCHKUNPK(oduPackUInt32, &hqStaInd->tbId[idx - 1], mBuf); - } - for(idx = hqStaInd->numTbs; idx > 0; idx--) - { - CMCHKUNPK(oduPackUInt16, &hqStaInd->status[idx - 1], mBuf); - } -#ifndef XEON_SPECIFIC_CHANGES - } -#endif - SPutMsg(mBuf); - (*func)(pst, suId, hqStaInd); -#ifdef XEON_SPECIFIC_CHANGES - SPutSBuf(pst->region, pst->pool, (Data *)hqStaInd, sizeof(RguHarqStatusInd)); -#else - SPutStaticBuffer(pst->region, pst->pool, (Data *)hqStaInd, sizeof(RguHarqStatusInd), 0); -#endif - return ROK; -} -#endif /* LTE_L2_MEAS */ - - -/** -* @brief Status Indication from MAC to RLC - * as a response to the staRsp primitive from RLC. - * Informs RLC of the totalBufferSize and Timing Info - * for the transmission on dedicated channels. -* -* @details -* -* Function : packSchedRep -* -* @param[in] Pst* pst -* @param[in] SuId suId -* @param[in] RlcMacSchedRep* schRep -* @return S16 -* -# ROK -**/ -S16 packSchedRep -( -Pst* pst, -SuId suId, -RlcMacSchedRepInfo * schRep -) -{ - Buffer *mBuf = NULLP; - TRC3(packSchedRep) - - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU076, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)schRep, sizeof(RlcMacSchedRepInfo)); - return RFAILED; - } - if (pst->selector == ODU_SELECTOR_LWLC) - { - CMCHKPK(oduPackPointer,(PTR) schRep, mBuf); - } - else - { - if (packSchedRepInfo(schRep, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU077, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)schRep, - sizeof(RlcMacSchedRepInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPutSBuf(pst->region, pst->pool, (Data *)schRep, - sizeof(RlcMacSchedRepInfo)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU079, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - schRep= NULLP; - } - if (SPkS16(suId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU078, (ErrVal)0, "Packing failed"); -#endif - if (schRep != NULLP) - { - SPutSBuf(pst->region, pst->pool, (Data *)schRep, sizeof(RlcMacSchedRepInfo)); - } - SPutMsg(mBuf); - return RFAILED; - } - - pst->event = (Event) EVTSCHREP; - return (SPstTsk(pst,mBuf)); -} - - -/** -* @brief Status Indication from MAC to RLC - * as a response to the staRsp primitive from RLC. - * Informs RLC of the totalBufferSize and Timing Info - * for the transmission on dedicated channels. -* -* @details -* -* Function : unpackSchedRep -* -* @param[in] Pst* pst -* @param[in] SuId suId -* @param[in] RguDStaIndInfo * staInd -* @return S16 -* -# ROK -**/ -S16 unpackSchedRep -( -RlcMacSchedRep func, +RguHqStaInd func, Pst *pst, Buffer *mBuf ) +#else +S16 cmUnpkRguHqStaInd(func, pst, mBuf) +RguHqStaInd func; +Pst *pst; +Buffer *mBuf; +#endif { - SuId suId; - RlcMacSchedRepInfo *schRep; - - TRC3(unpackSchedRep) + RguHarqStatusInd *hqStaInd; + SuId suId; + U8 idx; + if (SUnpkS16(&suId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU080, (ErrVal)0, "UnPacking failed"); + (ErrVal)ERGU073, (ErrVal)0, "UnPacking failed"); #endif SPutMsg(mBuf); return RFAILED; } +#ifdef XEON_SPECIFIC_CHANGES + if ((SGetSBuf(pst->region, pst->pool, (Data **)&hqStaInd, + sizeof(RguHarqStatusInd))) != ROK) { +#else if (pst->selector == ODU_SELECTOR_LWLC) { - CMCHKUNPK(oduUnpackPointer,(PTR *) &schRep, mBuf); - } - else - { - if ((SGetSBuf(pst->region, pst->pool, (Data **)&schRep, sizeof(RlcMacSchedRepInfo))) != ROK) { + CMCHKUNPK(oduUnpackPointer,(PTR *) &hqStaInd, mBuf); + } + else + { + if ((SGetStaticBuffer(pst->region, pst->pool, + (Data **)&hqStaInd, sizeof(RguHarqStatusInd),0)) != ROK) + { +#endif #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU081, (ErrVal)0, "UnPacking failed"); + __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, + (ErrVal)ERGU074, (ErrVal)0, "UnPacking failed"); #endif SPutMsg(mBuf); return RFAILED; } - if (unpackSchedRepInfo(schRep, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGU082, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - SPutSBuf(pst->region, pst->pool, (Data *)schRep, sizeof(RlcMacSchedRepInfo)); - return RFAILED; + CMCHKUNPK(cmUnpkLteCellId, &hqStaInd->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, &hqStaInd->ueId, mBuf); + CMCHKUNPK(oduPackUInt8, &hqStaInd->numTbs, mBuf); + for(idx = hqStaInd->numTbs; idx > 0; idx--) + { + CMCHKUNPK(oduPackUInt32, &hqStaInd->tbId[idx - 1], mBuf); + } + for(idx = hqStaInd->numTbs; idx > 0; idx--) + { + CMCHKUNPK(oduPackUInt16, &hqStaInd->status[idx - 1], mBuf); } +#ifndef XEON_SPECIFIC_CHANGES } +#endif SPutMsg(mBuf); - return ((*func)(pst, suId, schRep)); + (*func)(pst, suId, hqStaInd); +#ifdef XEON_SPECIFIC_CHANGES + SPutSBuf(pst->region, pst->pool, (Data *)hqStaInd, sizeof(RguHarqStatusInd)); +#else + SPutStaticBuffer(pst->region, pst->pool, (Data *)hqStaInd, sizeof(RguHarqStatusInd), 0); +#endif + return ROK; } +#endif /* LTE_L2_MEAS */ #ifdef ANSI S16 cmPkRguLcFlowCntrlInfo @@ -1474,7 +872,6 @@ RguLcFlowCntrlInfo *param; Buffer *mBuf; #endif { - TRC3(cmPkRguLcFlowCntrlInfo); CMCHKPK(oduUnpackUInt32, param->maxBo4FlowCtrl, mBuf); CMCHKPK(oduUnpackUInt32, param->pktAdmitCnt, mBuf); CMCHKPK(cmPkLteLcId, param->lcId, mBuf); @@ -1496,7 +893,6 @@ Buffer *mBuf; { U32 idx; - TRC3(cmPkRguUeFlowCntrlInfo); for(idx=(param->numLcs - 1); idx >= 0; idx--) { @@ -1521,7 +917,6 @@ Buffer *mBuf; { U32 idx; - TRC3(cmPkRguFlowCntrlInfo); for (idx=(param->numUes - 1); idx >= 0; idx--) { @@ -1563,7 +958,6 @@ RguFlowCntrlInd *flowCntrlInd; { Buffer *mBuf = NULLP; - TRC3(cmPkRguFlowCntrlInd); if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, @@ -1614,7 +1008,6 @@ RguLcFlowCntrlInfo *param; Buffer *mBuf; #endif { - TRC3(cmUnpkRguLcFlowCntrlInfo); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); CMCHKUNPK(oduPackUInt32, ¶m->pktAdmitCnt, mBuf); @@ -1635,7 +1028,6 @@ Buffer *mBuf; #endif { U32 idx; - TRC3(cmUnpkRguUeFlowCntrlInfo); CMCHKUNPK(cmUnpkLteRnti, ¶m->ueId, mBuf); CMCHKUNPK(oduPackUInt32, ¶m->numLcs, mBuf); for(idx=0; idx < param->numLcs; idx++) @@ -1659,7 +1051,6 @@ Buffer *mBuf; { U32 idx; - TRC3(cmUnpkRguFlowCntrlInfo); CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(oduPackUInt32, ¶m->numUes, mBuf); @@ -1702,7 +1093,6 @@ Buffer *mBuf; SuId suId; RguFlowCntrlInd *flowCntrlInd; - TRC3(cmUnpkRguFlowCntrlInd) if (SUnpkS16(&suId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -1773,7 +1163,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmPkRguPduInfo); for (i=param->numPdu-1; i >= 0; i--) { /* rgu_c_001.main_3: ccpu00111328: S16 is renamed as MsgLen */ @@ -1821,7 +1210,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmUnpkRguPduInfo); CMCHKUNPK(oduPackUInt8, ¶m->numPdu, mBuf); for (i=0; inumPdu; i++) { @@ -1866,7 +1254,6 @@ Buffer *mBuf; #endif { - TRC3(cmPkRguDBoReport); CMCHKPK(oduUnpackUInt32, param->oldestSduArrTime, mBuf); CMCHKPK(oduUnpackUInt32, param->staPduBo, mBuf); @@ -1909,7 +1296,6 @@ Buffer *mBuf; #endif { - TRC3(cmUnpkRguDBoReport); CMCHKUNPK(SUnpkS32, ¶m->bo, mBuf); #ifdef CCPU_OPT @@ -1953,7 +1339,6 @@ Buffer *mBuf; { MsgLen msgLen; - TRC3(cmPkRguCDatReqInfo); if (param->pdu != NULLP) { @@ -2017,7 +1402,6 @@ Buffer *mBuf; { MsgLen msgLen, totalMsgLen; - TRC3(cmUnpkRguCDatReqInfo); CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); @@ -2080,7 +1464,6 @@ Buffer *mBuf; #endif { - TRC3(cmPkRguLchDatReq); #ifdef L2_OPTMZ CMCHKPK(oduUnpackUInt8, param->freeBuff, mBuf); @@ -2123,7 +1506,6 @@ Buffer *mBuf; #endif { - TRC3(cmUnpkRguLchDatReq); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); CMCHKUNPK(cmUnpkRguDBoReport, ¶m->boReport, mBuf); @@ -2166,7 +1548,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmPkRguDatReqTb); /*rgu_c_001.main_5 - ADD - L2M Support */ #ifdef LTE_L2_MEAS CMCHKPK(oduUnpackUInt32, param->tbId, mBuf); @@ -2226,7 +1607,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmUnpkRguDatReqTb); CMCHKUNPK(oduPackUInt8, ¶m->nmbLch, mBuf); for (i=0; inmbLch; i++) { @@ -2288,7 +1668,6 @@ Buffer *mBuf; S32 i; S32 idx; - TRC3(cmPkRguDDatReqInfo); for(idx = (param->nmbOfUeGrantPerTti-1); idx >= 0; idx--) { @@ -2360,7 +1739,6 @@ Buffer *mBuf; #endif S32 idx; - TRC3(cmUnpkRguDDatReqInfo); /* After Merging from 2.1 to 2.2 */ /*rgu_c_001.main_5 - ADD - L2M Support */ @@ -2426,7 +1804,6 @@ Buffer *mBuf; { MsgLen msgLen; - TRC3(cmPkRguCDatIndInfo); if (SFndLenMsg(param->pdu, &msgLen) != ROK) return RFAILED; @@ -2472,7 +1849,6 @@ Buffer *mBuf; { MsgLen msgLen, totalMsgLen; - TRC3(cmUnpkRguCDatIndInfo); CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(cmUnpkLteRnti, ¶m->rnti, mBuf); @@ -2515,7 +1891,6 @@ RguLchDatInd *param; Buffer *mBuf; #endif { - TRC3(cmPkRguLchDatInd); CMCHKPK(cmPkRguPduInfo, ¶m->pdu, mBuf); CMCHKPK(cmPkLteLcId, param->lcId, mBuf); @@ -2552,119 +1927,12 @@ RguLchDatInd *param; Buffer *mBuf; #endif { - TRC3(cmUnpkRguLchDatInd); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); CMCHKUNPK(cmUnpkRguPduInfo, ¶m->pdu, mBuf); return ROK; } - - -/*********************************************************** -* -* Func : packRlcMacDataInfo -* -* -* Desc : RlcMacData - * Data Indication from MAC to RLC for dedicated channels of a UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -#ifdef ANSI -S16 packRlcMacDataInfo -( -RlcMacData *param, -Buffer *mBuf -) -#else -S16 packRlcMacDataInfo(param, mBuf) -RlcMacData *param; -Buffer *mBuf; -#endif -{ - S32 i; - MsgLen msgLen; - - TRC3(packRlcMacDataInfo); - - for (i=param->numPdu-1; i >= 0; i--) - { - msgLen = 0; - //if (SFndLenMsg(param->pduInfo[i].pduBuf, &msgLen) != ROK) - // return RFAILED; - //if (SCatMsg(mBuf, param->pduInfo[i].pduBuf, M1M2) != ROK) - // return RFAILED; - CMCHKPK(cmPkMsgLen, msgLen, mBuf); - CMCHKPK(cmPkLteLcId, param->pduInfo[i].lcId, mBuf); - CMCHKPK(oduPackBool, param->pduInfo[i].commCh, mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numPdu, mBuf); - CMCHKPK(cmPkLteRnti, param->rnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - //CMCHKPK(cmPkLteTimingInfo, ¶m->timeToTx, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : unpackRlcMacDataInfo -* -* -* Desc : RlcMacData - * Data Indication from MAC to RLC for dedicated channels of a UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -#ifdef ANSI -S16 unpackRlcMacDataInfo -( -RlcMacData *param, -Buffer *mBuf -) -#else -S16 unpackRlcMacDataInfo(param, mBuf) -RlcMacData *param; -Buffer *mBuf; -#endif -{ - S32 i; - - TRC3(unpackRlcMacDataInfo); - - //CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->timeToTx, mBuf); - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numPdu, mBuf); - for (i=0; inumPdu; i++) - { - MsgLen totalMsgLen; - - CMCHKUNPK(oduUnpackBool, ¶m->pduInfo[i].commCh, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->pduInfo[i].lcId, mBuf); - CMCHKUNPK(cmUnpkMsgLen, ¶m->pduInfo[i].pduLen, mBuf); - if (SFndLenMsg(mBuf, &totalMsgLen) != ROK) - return RFAILED; - //if (SSegMsg(mBuf, totalMsgLen-param->pduInfo[i].pduLen, ¶m->pduInfo[i].pduBuf) != ROK) - // return RFAILED; - } - return ROK; -} - /*********************************************************** * @@ -2695,7 +1963,6 @@ Buffer *mBuf; #endif { - TRC3(cmPkRguCStaRspInfo); switch(param->lcType) { case CM_LTE_LCH_CCCH: @@ -2750,7 +2017,6 @@ Buffer *mBuf; #endif { - TRC3(cmUnpkRguCStaRspInfo); CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); @@ -2774,88 +2040,6 @@ Buffer *mBuf; return ROK; } - - -/*********************************************************** -* -* Func : packBOStatusInfo -* -* -* Desc : RlcMacBOStatus - * Status Response from RLC to MAC for dedicated logical channel -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -#ifdef ANSI -S16 packBOStatusInfo -( -RlcMacBOStatus *param, -Buffer *mBuf -) -#else -S16 packBOStatusInfo(param, mBuf) -RlcMacBOStatus *param; -Buffer *mBuf; -#endif -{ - - TRC3(packBOStatusInfo); - - CMCHKPK(SPkS32, param->bo, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); - CMCHKPK(oduPackBool, param->commCh, mBuf); - CMCHKPK(cmPkLteRnti, param->rnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} /* End of packBOStatusInfo */ - - - -/*********************************************************** -* -* Func : unpackBOStatusInfo -* -* -* Desc : RlcMacBOStatus - * Status Response from RLC to MAC for dedicated logical channel -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -#ifdef ANSI -S16 unpackBOStatusInfo -( -RlcMacBOStatus *param, -Buffer *mBuf -) -#else -S16 unpackBOStatusInfo(param, mBuf) -RlcMacBOStatus *param; -Buffer *mBuf; -#endif -{ - - TRC3(unpackBOStatusInfo); - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rnti, mBuf); - CMCHKUNPK(oduUnpackBool, ¶m->commCh, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(SUnpkS32, ¶m->bo, mBuf); - return ROK; -} /* End of unpackBOStatusInfo */ - /*********************************************************** * @@ -2886,7 +2070,6 @@ Buffer *mBuf; #endif { - TRC3(cmPkRguLchStaInd); CMCHKPK(SPkS16, param->totBufSize, mBuf); CMCHKPK(cmPkLteLcId, param->lcId, mBuf); @@ -2924,7 +2107,6 @@ Buffer *mBuf; #endif { - TRC3(cmUnpkRguLchStaInd); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); CMCHKUNPK(SUnpkS16, ¶m->totBufSize, mBuf); @@ -2962,7 +2144,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmPkRguStaIndTb); #ifdef LTE_L2_MEAS CMCHKPK(oduUnpackUInt16, param->status, mBuf); @@ -3007,8 +2188,6 @@ Buffer *mBuf; { S32 i; - TRC3(cmUnpkRguStaIndTb); - CMCHKUNPK(oduPackUInt8, ¶m->nmbLch, mBuf); for (i=0; inmbLch; i++) { CMCHKUNPK(cmUnpkRguLchStaInd, ¶m->lchStaInd[i], mBuf); @@ -3020,87 +2199,6 @@ Buffer *mBuf; return ROK; } - -/*********************************************************** -* -* Func : packSchedRepInfo -* -* -* Desc : RlcMacSchedRep - * StaInd from MAC to RLC for dedicated logical channels of a UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 packSchedRepInfo -( -RlcMacSchedRepInfo *param, -Buffer *mBuf -) -{ - S32 idx; - - TRC3(packSchedRepInfo); - - for(idx = (param->nmbLch-1); idx >= 0; idx--) - { - CMCHKPK(cmPkRguLchStaInd, ¶m->lchSta[idx].lchStaInd, mBuf); - CMCHKPK(oduPackBool, param->lchSta[idx].commCh, mBuf); - } - CMCHKPK(oduUnpackUInt8, param->nmbLch, mBuf); - CMCHKPK(cmPkLteRnti, param->rnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - CMCHKPK(cmPkLteTimingInfo, ¶m->timeToTx, mBuf); - - return ROK; -} /* End of packSchedRepInfo */ - - - -/*********************************************************** -* -* Func : unpackSchedRepInfo -* -* -* Desc : RlcMacSchedRep - * StaInd from MAC to RLC for dedicated logical channels of a UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 unpackSchedRepInfo -( -RlcMacSchedRepInfo *param, -Buffer *mBuf -) -{ - S32 idx; - - TRC3(unpackSchedRepInfo); - - CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->timeToTx, mBuf); - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->nmbLch, mBuf); - for(idx = 0; idx < param->nmbLch; idx++) - { - CMCHKUNPK(oduUnpackBool, ¶m->lchSta[idx].commCh, mBuf); - CMCHKUNPK(cmUnpkRguLchStaInd, ¶m->lchSta[idx].lchStaInd, mBuf); - } - - return ROK; -} /* End of unpackSchedRepInfo */ - #endif /**********************************************************************