X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Frgr.c;h=070d06b01447a945d6377bf6c67cb63d60134442;hb=112672aee2b176d420e1474b13a5655c3d1e92b4;hp=c3c6cd1e16675d6216ad0a9a5886b2dac4a18220;hpb=073b67b21b11eefdaa84a30029f374435c3e0fd0;p=o-du%2Fl2.git diff --git a/src/cm/rgr.c b/src/cm/rgr.c index c3c6cd1e1..070d06b01 100755 --- a/src/cm/rgr.c +++ b/src/cm/rgr.c @@ -44,10 +44,11 @@ /*********************************************************** * -* Func : cmPkRgrBndReq +* Func : cmUnpkRgrCfgReq * * -* Desc : Request from RRM to MAC to bind the interface saps +* Desc : Configuration Request from RRM to MAC for + * configuring Cell/Ue/Lc * * * Ret : S16 @@ -57,52 +58,70 @@ * File : * **********************************************************/ -S16 cmPkRgrBndReq +S16 cmUnpkRgrCfgReq ( -Pst* pst, -SuId suId, -SpId spId +RgrCfgReq func, +Pst *pst, +Buffer *mBuf ) { - Buffer *mBuf = NULLP; - - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { + RgrCfgTransId transId; + RgrCfgReqInfo *cfgReqInfo; + +#if 0 + if (SUnpkS16(&spId, mBuf) != ROK) { + SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR001, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR021, (ErrVal)0, "Packing failed"); #endif return RFAILED; } - if (SPkS16(spId, mBuf) != ROK) { +#endif + + if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { + SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR002, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR022, (ErrVal)0, "Packing failed"); #endif - SPutMsg(mBuf); return RFAILED; } - if (SPkS16(suId, mBuf) != ROK) { + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR003, (ErrVal)0, "Packing failed"); + __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, + (ErrVal)ERGR023, (ErrVal)0, "Packing failed"); #endif SPutMsg(mBuf); return RFAILED; } - pst->event = (Event) EVTRGRBNDREQ; - return (SPstTsk(pst,mBuf)); + memset(cfgReqInfo, 0, sizeof(RgrCfgReqInfo)); + if (pst->selector == ODU_SELECTOR_LC) + if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) { + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo)); + SPutMsg(mBuf); +#if (ERRCLASS & ERRCLS_ADD_RES) + SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, + __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, + (ErrVal)ERGR024, (ErrVal)0, "Packing failed"); +#endif + return RFAILED; + } + SPutMsg(mBuf); + return ((*func)(pst, transId, cfgReqInfo)); } +/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ /*********************************************************** * -* Func : cmUnpkRgrBndReq +* Func : cmPkRgrTtiIndInfo * * -* Desc : Request from RRM to MAC to bind the interface saps +* Desc : Packs the TTI indication information. * * * Ret : S16 @@ -112,47 +131,50 @@ SpId spId * File : * **********************************************************/ -S16 cmUnpkRgrBndReq +S16 cmPkRgrTtiIndInfo ( -RgrBndReq func, -Pst *pst, +RgrTtiIndInfo *param, +Buffer *mBuf +) +{ + CMCHKPK(oduUnpackUInt16, param->sfn, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + return ROK; +} + +/*********************************************************** +* +* Func : cmUnpkRgrTtiIndInfo +* +* +* Desc : Unpacking for RgrTtiIndInfo +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrTtiIndInfo +( +RgrTtiIndInfo *param, Buffer *mBuf ) { - SuId suId; - SpId spId; - - if (SUnpkS16(&suId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR004, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR005, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, suId, spId)); + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->sfn, mBuf); + return ROK; } /*********************************************************** * -* Func : cmPkRgrBndCfm +* Func : cmPkRgrTtiInd * * -* Desc : Confirmation from MAC to RRM for the bind/Unbind - * request for the interface saps +* Desc : TTI indication from MAC to RRM * * * Ret : S16 @@ -162,11 +184,11 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrBndCfm +S16 cmPkRgrTtiInd ( Pst* pst, SuId suId, -uint8_t status +RgrTtiIndInfo *ttiInd ) { Buffer *mBuf = NULLP; @@ -175,16 +197,17 @@ uint8_t status #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR006, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR025, (ErrVal)0, "Packing failed"); #endif return RFAILED; } - if (oduUnpackUInt8(status, mBuf) != ROK) { + if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR007, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR026, (ErrVal)0, "Packing failed"); #endif + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); SPutMsg(mBuf); return RFAILED; } @@ -192,23 +215,24 @@ uint8_t status #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR008, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR027, (ErrVal)0, "Packing failed"); #endif + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); SPutMsg(mBuf); return RFAILED; } - pst->event = (Event) EVTRGRBNDCFM; + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); + pst->event = (Event) EVTRGRTTIIND; return (SPstTsk(pst,mBuf)); } /*********************************************************** * -* Func : cmUnpkRgrBndCfm +* Func : cmUnpkRgrTtiInd * * -* Desc : Confirmation from MAC to RRM for the bind/Unbind - * request for the interface saps +* Desc : TTI indication from MAC to RRM * * * Ret : S16 @@ -218,15 +242,15 @@ uint8_t status * File : * **********************************************************/ -S16 cmUnpkRgrBndCfm +S16 cmUnpkRgrTtiInd ( -RgrBndCfm func, +RgrTtiInd func, Pst *pst, Buffer *mBuf ) { SuId suId; - uint8_t status; + RgrTtiIndInfo *ttiInd; if (SUnpkS16(&suId, mBuf) != ROK) { @@ -234,30 +258,45 @@ Buffer *mBuf #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR009, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR028, (ErrVal)0, "Packing failed"); #endif return RFAILED; } - if (oduPackUInt8(&status, mBuf) != ROK) { + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK) + { +#if (ERRCLASS & ERRCLS_ADD_RES) + SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, + __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, + (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed"); +#endif + SPutMsg(mBuf); + return RFAILED; + } + + if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) { + /*ccpu00114888- Memory Leak issue- Start*/ + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ttiInd, + sizeof(RgrTtiIndInfo)); + /*ccpu00114888- Memory Leak issue- End*/ SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR010, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR030, (ErrVal)0, "Packing failed"); #endif return RFAILED; } SPutMsg(mBuf); - return ((*func)(pst, suId, status)); + return ((*func)(pst, suId, ttiInd)); } /*********************************************************** * -* Func : cmPkRgrUbndReq +* Func : cmPkRgrCfgCfm * * -* Desc : Request from RRM to MAC to Unbind the interface saps +* Desc : Configuration Confirm from MAC to RRM * * * Ret : S16 @@ -267,11 +306,11 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUbndReq +S16 cmPkRgrCfgCfm ( Pst* pst, -SpId spId, -Reason reason +RgrCfgTransId transId, +uint8_t status ) { Buffer *mBuf = NULLP; @@ -280,39 +319,39 @@ Reason reason #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR011, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR031, (ErrVal)0, "Packing failed"); #endif return RFAILED; } - if (SPkS16(reason, mBuf) != ROK) { + if (oduUnpackUInt8(status, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR012, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR032, (ErrVal)0, "Packing failed"); #endif SPutMsg(mBuf); return RFAILED; } - if (SPkS16(spId, mBuf) != ROK) { + if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR013, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR033, (ErrVal)0, "Packing failed"); #endif SPutMsg(mBuf); return RFAILED; } - pst->event = (Event) EVTRGRUBNDREQ; + pst->event = (Event) EVTMACSCHCFGCFM; return (SPstTsk(pst,mBuf)); } /*********************************************************** * -* Func : cmUnpkRgrUbndReq +* Func : cmUnpkRgrCfgCfm * * -* Desc : Request from RRM to MAC to Unbind the interface saps +* Desc : Configuration Confirm from MAC to RRM * * * Ret : S16 @@ -322,47 +361,46 @@ Reason reason * File : * **********************************************************/ -S16 cmUnpkRgrUbndReq +S16 cmUnpkRgrCfgCfm ( -RgrUbndReq func, +RgrCfgCfm func, Pst *pst, Buffer *mBuf ) { - SpId spId; - Reason reason; + RgrCfgTransId transId; + uint8_t status; - if (SUnpkS16(&spId, mBuf) != ROK) { + if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR014, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR036, (ErrVal)0, "Packing failed"); #endif return RFAILED; } - if (SUnpkS16(&reason, mBuf) != ROK) { + if (oduPackUInt8(&status, mBuf) != ROK) { SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR015, (ErrVal)0, "Packing failed"); + (ErrVal)ERGR037, (ErrVal)0, "Packing failed"); #endif return RFAILED; } SPutMsg(mBuf); - return ((*func)(pst, spId, reason)); + return ((*func)(pst, transId, status)); } /*********************************************************** * -* Func : cmUnpkRgrCfgReq +* Func : cmPkRgrCfgTransId * * -* Desc : Configuration Request from RRM to MAC for - * configuring Cell/Ue/Lc +* Desc : Transaction ID between MAC and RRM * * * Ret : S16 @@ -372,70 +410,29 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCfgReq +S16 cmPkRgrCfgTransId ( -RgrCfgReq func, -Pst *pst, +RgrCfgTransId *param, Buffer *mBuf ) { - RgrCfgTransId transId; - RgrCfgReqInfo *cfgReqInfo; - -#if 0 - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR021, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } -#endif - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR022, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR023, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; + S32 i; + + for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt8, param->trans[i], mBuf); } - memset(cfgReqInfo, 0, sizeof(RgrCfgReqInfo)); - if (pst->selector == ODU_SELECTOR_LC) - if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo)); - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR024, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, transId, cfgReqInfo)); + return ROK; } -/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ + /*********************************************************** * -* Func : cmPkRgrTtiIndInfo +* Func : cmUnpkRgrCfgTransId * * -* Desc : Packs the TTI indication information. +* Desc : Transaction ID between MAC and RRM * * * Ret : S16 @@ -445,23 +442,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrTtiIndInfo +S16 cmUnpkRgrCfgTransId ( -RgrTtiIndInfo *param, -Buffer *mBuf +RgrCfgTransId *param, +Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->sfn, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + + S32 i; + + for (i=0; itrans[i], mBuf); + } return ROK; } + + /*********************************************************** * -* Func : cmUnpkRgrTtiIndInfo +* Func : cmPkRgrDlHqCfg * * -* Desc : Unpacking for RgrTtiIndInfo +* Desc : Downlink HARQ configuration per Cell +* * * Ret : S16 * @@ -470,25 +474,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrTtiIndInfo +S16 cmPkRgrDlHqCfg ( -RgrTtiIndInfo *param, +RgrDlHqCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->sfn, mBuf); + + CMCHKPK(oduUnpackUInt8, param->maxMsg4HqTx, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxDlHqTx, mBuf); return ROK; } + /*********************************************************** * -* Func : cmPkRgrTtiInd +* Func : cmUnpkRgrDlHqCfg * * -* Desc : TTI indication from MAC to RRM +* Desc : Downlink HARQ configuration per Cell * * * Ret : S16 @@ -498,55 +504,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrTtiInd +S16 cmUnpkRgrDlHqCfg ( -Pst* pst, -SuId suId, -RgrTtiIndInfo *ttiInd +RgrDlHqCfg *param, +Buffer *mBuf ) { - 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)ERGR025, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR026, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPkS16(suId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR027, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); - SPutMsg(mBuf); - return RFAILED; - } - SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo)); - pst->event = (Event) EVTRGRTTIIND; - return (SPstTsk(pst,mBuf)); + + CMCHKUNPK(oduPackUInt8, ¶m->maxDlHqTx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxMsg4HqTx, mBuf); + return ROK; } + /*********************************************************** * -* Func : cmUnpkRgrTtiInd +* Func : cmPkRgrRntiCfg * * -* Desc : TTI indication from MAC to RRM +* Desc : Range of RNTIs managed by MAC * * * Ret : S16 @@ -556,61 +534,26 @@ RgrTtiIndInfo *ttiInd * File : * **********************************************************/ -S16 cmUnpkRgrTtiInd +S16 cmPkRgrRntiCfg ( -RgrTtiInd func, -Pst *pst, +RgrRntiCfg *param, Buffer *mBuf ) { - SuId suId; - RgrTtiIndInfo *ttiInd; - - if (SUnpkS16(&suId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR028, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - - if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) { - /*ccpu00114888- Memory Leak issue- Start*/ - SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, - sizeof(RgrTtiIndInfo)); - /*ccpu00114888- Memory Leak issue- End*/ - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR030, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, suId, ttiInd)); + CMCHKPK(oduUnpackUInt16, param->size, mBuf); + CMCHKPK(cmPkLteRnti, param->startRnti, mBuf); + return ROK; } + /*********************************************************** * -* Func : cmPkRgrCfgCfm +* Func : cmUnpkRgrRntiCfg * * -* Desc : Configuration Confirm from MAC to RRM +* Desc : Range of RNTIs managed by MAC * * * Ret : S16 @@ -620,52 +563,26 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCfgCfm +S16 cmUnpkRgrRntiCfg ( -Pst* pst, -RgrCfgTransId transId, -uint8_t status +RgrRntiCfg *param, +Buffer *mBuf ) { - 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)ERGR031, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (oduUnpackUInt8(status, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR032, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR033, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - pst->event = (Event) EVTMACSCHCFGCFM; - return (SPstTsk(pst,mBuf)); + + CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); + return ROK; } - +#ifdef EMTC_ENABLE /*********************************************************** * -* Func : cmUnpkRgrCfgCfm +* Func : cmPkRgrEmtcRntiCfg * * -* Desc : Configuration Confirm from MAC to RRM +* Desc : Range of Emtc RNTIs managed by MAC * * * Ret : S16 @@ -675,47 +592,30 @@ uint8_t status * File : * **********************************************************/ -S16 cmUnpkRgrCfgCfm +S16 cmPkRgrEmtcRntiCfg ( -RgrCfgCfm func, -Pst *pst, +RgrEmtcRntiCfg *param, Buffer *mBuf ) { - RgrCfgTransId transId; - uint8_t status; - - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR036, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (oduPackUInt8(&status, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR037, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, transId, status)); + + CMCHKPK(oduUnpackUInt16, param->size, mBuf); + CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf); + CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf); + CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf); + CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf); + return ROK; } -/* rgr_c_001.main_4: ADD-Added for SI Enhancement. */ -#ifdef RGR_SI_SCH + + /*********************************************************** * -* Func : cmPkRgrSiCfgCfm +* Func : cmUnpkRgrEmtcRntiCfg * * -* Desc : SI Configuration Confirm from MAC to RRM +* Desc : Range of Emtc RNTIs managed by MAC * * * Ret : S16 @@ -725,64 +625,31 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrSiCfgCfm +S16 cmUnpkRgrEmtcRntiCfg ( -Pst* pst, -SuId suId, -RgrCfgTransId transId, -uint8_t status +RgrEmtcRntiCfg *param, +Buffer *mBuf ) { - 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)ERGR038, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (oduUnpackUInt8(status, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR039, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR040, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - if (SPkS16(suId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR041, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } + CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); - pst->event = (Event) EVTRGRSICFGCFM; - return (SPstTsk(pst,mBuf)); + return ROK; } +#endif /*********************************************************** * -* Func : cmUnpkRgrSiCfgCfm +* Func : cmPkRgrDlCmnCodeRateCfg * * -* Desc : Configuration Confirm from MAC to RRM +* Desc : Downlink common channel code rate configuration per cell * * * Ret : S16 @@ -792,57 +659,27 @@ uint8_t status * File : * **********************************************************/ -S16 cmUnpkRgrSiCfgCfm +S16 cmPkRgrDlCmnCodeRateCfg ( -RgrSiCfgCfm func, -Pst *pst, +RgrDlCmnCodeRateCfg *param, Buffer *mBuf ) { - SuId suId; - RgrCfgTransId transId; - uint8_t status; - - if (SUnpkS16(&suId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR042, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR043, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (oduPackUInt8(&status, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR044, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, suId, transId, status)); + CMCHKPK(oduUnpackUInt8, param->ccchCqi, mBuf); + CMCHKPK(oduUnpackUInt16, param->pdcchCodeRate, mBuf); + CMCHKPK(oduUnpackUInt16, param->bcchPchRaCodeRate, mBuf); + return ROK; } -#endif/*RGR_SI_SCH*/ + /*********************************************************** * -* Func : cmPkRgrCfgTransId +* Func : cmUnpkRgrDlCmnCodeRateCfg * * -* Desc : Transaction ID between MAC and RRM +* Desc : Downlink common channel code rate configuration per cell * * * Ret : S16 @@ -852,18 +689,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCfgTransId +S16 cmUnpkRgrDlCmnCodeRateCfg ( -RgrCfgTransId *param, +RgrDlCmnCodeRateCfg *param, Buffer *mBuf ) { - S32 i; - - for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt8, param->trans[i], mBuf); - } + CMCHKUNPK(oduPackUInt16, ¶m->bcchPchRaCodeRate, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->pdcchCodeRate, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ccchCqi, mBuf); return ROK; } @@ -871,10 +706,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrCfgTransId +* Func : cmPkRgrCfiCfg * * -* Desc : Transaction ID between MAC and RRM +* Desc : Control Format Indicator (CFI) configuration per cell * * * Ret : S16 @@ -884,18 +719,13 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCfgTransId +S16 cmPkRgrCfiCfg ( -RgrCfgTransId *param, +RgrCfiCfg *param, Buffer *mBuf ) { - - S32 i; - - for (i=0; itrans[i], mBuf); - } + CMCHKPK(oduUnpackUInt8, param->cfi, mBuf); return ROK; } @@ -903,10 +733,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrDlHqCfg +* Func : cmUnpkRgrCfiCfg * * -* Desc : Downlink HARQ configuration per Cell +* Desc : Control Format Indicator (CFI) configuration per cell * * * Ret : S16 @@ -916,16 +746,14 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDlHqCfg +S16 cmUnpkRgrCfiCfg ( -RgrDlHqCfg *param, +RgrCfiCfg *param, Buffer *mBuf ) { - - CMCHKPK(oduUnpackUInt8, param->maxMsg4HqTx, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxDlHqTx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cfi, mBuf); return ROK; } @@ -933,10 +761,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDlHqCfg +* Func : cmPkRgrPuschSubBandCfg * * -* Desc : Downlink HARQ configuration per Cell +* Desc : PUSCH sub-band configuration per cell * * * Ret : S16 @@ -946,16 +774,21 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDlHqCfg +S16 cmPkRgrPuschSubBandCfg ( -RgrDlHqCfg *param, +RgrPuschSubBandCfg *param, Buffer *mBuf ) { + S32 i; - CMCHKUNPK(oduPackUInt8, ¶m->maxDlHqTx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxMsg4HqTx, mBuf); + for (i=param->numSubbands-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt8, param->dmrs[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->size, mBuf); + CMCHKPK(oduUnpackUInt8, param->numSubbands, mBuf); + CMCHKPK(oduUnpackUInt8, param->subbandStart, mBuf); return ROK; } @@ -963,10 +796,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrRntiCfg +* Func : cmUnpkRgrPuschSubBandCfg * * -* Desc : Range of RNTIs managed by MAC +* Desc : PUSCH sub-band configuration per cell * * * Ret : S16 @@ -976,15 +809,20 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrRntiCfg +S16 cmUnpkRgrPuschSubBandCfg ( -RgrRntiCfg *param, +RgrPuschSubBandCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->size, mBuf); - CMCHKPK(cmPkLteRnti, param->startRnti, mBuf); + S32 i; + CMCHKUNPK(oduPackUInt8, ¶m->subbandStart, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numSubbands, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->size, mBuf); + for (i=0; inumSubbands; i++) { + CMCHKUNPK(oduPackUInt8, ¶m->dmrs[i], mBuf); + } return ROK; } @@ -992,10 +830,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrRntiCfg +* Func : cmPkRgrUlCmnCodeRateCfg * * -* Desc : Range of RNTIs managed by MAC +* Desc : Uplink common channel code rate configuration per cell * * * Ret : S16 @@ -1005,26 +843,24 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrRntiCfg +S16 cmPkRgrUlCmnCodeRateCfg ( -RgrRntiCfg *param, +RgrUlCmnCodeRateCfg *param, Buffer *mBuf ) { - - - CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); + CMCHKPK(oduUnpackUInt8, param->ccchCqi, mBuf); return ROK; } -#ifdef EMTC_ENABLE + + /*********************************************************** * -* Func : cmPkRgrEmtcRntiCfg +* Func : cmUnpkRgrUlCmnCodeRateCfg * * -* Desc : Range of Emtc RNTIs managed by MAC +* Desc : Uplink common channel code rate configuration per cell * * * Ret : S16 @@ -1034,19 +870,14 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrEmtcRntiCfg +S16 cmUnpkRgrUlCmnCodeRateCfg ( -RgrEmtcRntiCfg *param, +RgrUlCmnCodeRateCfg *param, Buffer *mBuf ) { - - CMCHKPK(oduUnpackUInt16, param->size, mBuf); - CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf); - CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf); - CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf); - CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ccchCqi, mBuf); return ROK; } @@ -1054,10 +885,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrEmtcRntiCfg +* Func : cmPkRgrUlTrgCqiCfg * * -* Desc : Range of Emtc RNTIs managed by MAC +* Desc : Target Uplink CQI to achieve through group power control configured per cell * * * Ret : S16 @@ -1067,31 +898,24 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrEmtcRntiCfg +S16 cmPkRgrUlTrgCqiCfg ( -RgrEmtcRntiCfg *param, +RgrUlTrgCqiCfg *param, Buffer *mBuf ) { - - - CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); - + CMCHKPK(oduUnpackUInt8, param->trgCqi, mBuf); return ROK; } -#endif + /*********************************************************** * -* Func : cmPkRgrDlCmnCodeRateCfg +* Func : cmUnpkRgrUlTrgCqiCfg * * -* Desc : Downlink common channel code rate configuration per cell +* Desc : Target Uplink CQI to achieve through group power control configured per cell * * * Ret : S16 @@ -1101,16 +925,14 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDlCmnCodeRateCfg +S16 cmUnpkRgrUlTrgCqiCfg ( -RgrDlCmnCodeRateCfg *param, +RgrUlTrgCqiCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->ccchCqi, mBuf); - CMCHKPK(oduUnpackUInt16, param->pdcchCodeRate, mBuf); - CMCHKPK(oduUnpackUInt16, param->bcchPchRaCodeRate, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->trgCqi, mBuf); return ROK; } @@ -1118,10 +940,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDlCmnCodeRateCfg +* Func : cmPkRgrBwCfg * * -* Desc : Downlink common channel code rate configuration per cell +* Desc : Bandwidth configuration per cell * * * Ret : S16 @@ -1131,479 +953,215 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDlCmnCodeRateCfg +S16 cmPkRgrBwCfg ( -RgrDlCmnCodeRateCfg *param, +RgrBwCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt16, ¶m->bcchPchRaCodeRate, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->pdcchCodeRate, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ccchCqi, mBuf); + CMCHKPK(oduUnpackUInt8, param->ulTotalBw, mBuf); + CMCHKPK(oduUnpackUInt8, param->dlTotalBw, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrCfiCfg -* -* -* Desc : Control Format Indicator (CFI) configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrCfiCfg +#ifdef EMTC_ENABLE +/* EMTC related pack changes start*/ + +S16 cmPkRgrEmtcSiCfg ( -RgrCfiCfg *param, +RgrEmtcSiCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->cfi, mBuf); - return ROK; + + S32 i; + + CMCHKPK(oduUnpackUInt8, param->siHoppingEnable, mBuf); + CMCHKPK(oduUnpackUInt32, param->modPrd, mBuf); + CMCHKPK(oduUnpackUInt8, param->siWinSizeBr, mBuf); + CMCHKPK(oduUnpackUInt8, param->sib1Repetition, mBuf); + CMCHKPK(oduUnpackUInt8, param->siRepetition, mBuf); + + CMCHKPK(oduUnpackUInt16, param->startSymbolLc, mBuf); + //CMCHKPK(oduUnpackUInt8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf); + /*Changes by SIMRAN*/ + if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice)) + { + CMCHKPK(oduUnpackUInt16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf); + } + else + { + //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf); + for (i=0; i<2; i++) { + CMCHKPK(oduUnpackUInt32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf); + } + + } + CMCHKPK(oduUnpackUInt8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf); + //CMCHKPK(oduUnpackUInt16, param->fddDlOrTddSfBitmapBR, mBuf); + + for (i= (param->numSi-1); i >= 0; i--) { + CMCHKPK(oduUnpackUInt8, param->schdInfo[i].emtcSiNarrowBand, mBuf); + CMCHKPK(oduUnpackUInt16, param->schdInfo[i].emtcSiTbs, mBuf); + } + + for (i= (param->numSi-1); i >= 0; i--) { + CMCHKPK(oduUnpackUInt32, param->siPeriodicity[i], mBuf); + } + + CMCHKPK(oduUnpackUInt8, param->numSi, mBuf); + + return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrCfiCfg -* -* -* Desc : Control Format Indicator (CFI) configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrCfiCfg + + +S16 cmPkRgrEmtcRachCfg ( -RgrCfiCfg *param, +RgrEmtcRachCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->cfi, mBuf); - return ROK; -} - + S32 i; + + CMCHKPK(oduUnpackUInt8, param->emtcCeLvlSupported, mBuf); - -/*********************************************************** -* -* Func : cmPkRgrPuschSubBandCfg -* -* -* Desc : PUSCH sub-band configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrPuschSubBandCfg -( -RgrPuschSubBandCfg *param, -Buffer *mBuf -) -{ - - S32 i; - - for (i=param->numSubbands-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt8, param->dmrs[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->size, mBuf); - CMCHKPK(oduUnpackUInt8, param->numSubbands, mBuf); - CMCHKPK(oduUnpackUInt8, param->subbandStart, mBuf); - return ROK; + for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcRarHopping, mBuf); + CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].raEmtcWinSize, mBuf); + CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf); + CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf); + CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf); + CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf); + } + + return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrPuschSubBandCfg -* -* -* Desc : PUSCH sub-band configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrPuschSubBandCfg +S16 cmPkRgrEmtcPdschCfg ( -RgrPuschSubBandCfg *param, +RgrEmtcPdschCfg*param, Buffer *mBuf ) { - S32 i; - CMCHKUNPK(oduPackUInt8, ¶m->subbandStart, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numSubbands, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->size, mBuf); - for (i=0; inumSubbands; i++) { - CMCHKUNPK(oduPackUInt8, ¶m->dmrs[i], mBuf); - } - return ROK; + CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeA, mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeB, mBuf); + + return ROK; } - - -/*********************************************************** -* -* Func : cmPkRgrUlCmnCodeRateCfg -* -* -* Desc : Uplink common channel code rate configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUlCmnCodeRateCfg +S16 cmPkRgrEmtcPuschCfg ( -RgrUlCmnCodeRateCfg *param, +RgrEmtcPuschCfg*param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->ccchCqi, mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeA, mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeB, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcHoppingOffset, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrUlCmnCodeRateCfg -* -* -* Desc : Uplink common channel code rate configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUlCmnCodeRateCfg + +S16 cmPkRgrEmtcPucchCfg ( -RgrUlCmnCodeRateCfg *param, +RgrEmtcPucchCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->ccchCqi, mBuf); - return ROK; + S32 i; + for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) + { + CMCHKPK(oduUnpackUInt16, param->emtcN1pucchAnInfoLst[i], mBuf); + } + + CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf); + + return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrUlTrgCqiCfg -* -* -* Desc : Target Uplink CQI to achieve through group power control configured per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUlTrgCqiCfg +S16 cmPkRgrEmtcPrachCeParamCfg ( -RgrUlTrgCqiCfg *param, +RgrEmtcPrachCEParamLst *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->trgCqi, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPrachCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPrachFreqOffset, mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcPrachStartSubFrame, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcMaxPremAttemptCE, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcNumRepPerPreambleAtt, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcNumMpdcchNBtoMonitor, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNBtoMonitor[0], mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNBtoMonitor[1], mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcMpdcchNumRep, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPrachHoppingCfg, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrUlTrgCqiCfg -* -* -* Desc : Target Uplink CQI to achieve through group power control configured per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUlTrgCqiCfg + +S16 cmPkRgrEmtcPrachCfg ( -RgrUlTrgCqiCfg *param, +RgrEmtcPrachCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->trgCqi, mBuf); - return ROK; + S32 i; + CMCHKPK(oduUnpackUInt8, param->emtcMpdcchStartSFCssRaFdd, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPrachHopingOffset, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcInitialCElevel, mBuf); + for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) { + CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf); + } + + return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrBwCfg -* -* -* Desc : Bandwidth configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrBwCfg + + +S16 cmPkRgrEmtcCfg ( -RgrBwCfg *param, +RgrEmtcCellCfg *param, Buffer *mBuf ) { - - CMCHKPK(oduUnpackUInt8, param->ulTotalBw, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlTotalBw, mBuf); + CMCHKPK(oduUnpackUInt16, param->pci, mBuf); + CMCHKPK(oduUnpackUInt32, param->emtcT300Tmr, mBuf); + CMCHKPK(oduUnpackUInt32, param->emtcT301Tmr, mBuf); + CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf); + CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf); + CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf); + CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf); + CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf); + CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf); + CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPdschNbIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNbIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->emtcPuschNbIdx, mBuf); + return ROK; } +/* EMTC related pack changes end*/ -#ifdef EMTC_ENABLE -/* EMTC related pack changes start*/ +/* EMTC related unpack changes start*/ -S16 cmPkRgrEmtcSiCfg -( -RgrEmtcSiCfg *param, -Buffer *mBuf -) -{ - - S32 i; - - CMCHKPK(oduUnpackUInt8, param->siHoppingEnable, mBuf); - CMCHKPK(oduUnpackUInt32, param->modPrd, mBuf); - CMCHKPK(oduUnpackUInt8, param->siWinSizeBr, mBuf); - CMCHKPK(oduUnpackUInt8, param->sib1Repetition, mBuf); - CMCHKPK(oduUnpackUInt8, param->siRepetition, mBuf); - - CMCHKPK(oduUnpackUInt16, param->startSymbolLc, mBuf); - //CMCHKPK(oduUnpackUInt8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf); - /*Changes by SIMRAN*/ - if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice)) - { - CMCHKPK(oduUnpackUInt16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf); - } - else - { - //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf); - for (i=0; i<2; i++) { - CMCHKPK(oduUnpackUInt32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf); - } - - } - CMCHKPK(oduUnpackUInt8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf); - //CMCHKPK(oduUnpackUInt16, param->fddDlOrTddSfBitmapBR, mBuf); - - for (i= (param->numSi-1); i >= 0; i--) { - CMCHKPK(oduUnpackUInt8, param->schdInfo[i].emtcSiNarrowBand, mBuf); - CMCHKPK(oduUnpackUInt16, param->schdInfo[i].emtcSiTbs, mBuf); - } - - for (i= (param->numSi-1); i >= 0; i--) { - CMCHKPK(oduUnpackUInt32, param->siPeriodicity[i], mBuf); - } - - CMCHKPK(oduUnpackUInt8, param->numSi, mBuf); - - return ROK; -} - - - - -S16 cmPkRgrEmtcRachCfg -( -RgrEmtcRachCfg *param, -Buffer *mBuf -) -{ - - S32 i; - - CMCHKPK(oduUnpackUInt8, param->emtcCeLvlSupported, mBuf); - - for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcRarHopping, mBuf); - CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].raEmtcWinSize, mBuf); - CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf); - CMCHKPK(oduUnpackUInt16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf); - CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf); - CMCHKPK(oduUnpackUInt8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf); - } - - return ROK; -} - - -S16 cmPkRgrEmtcPdschCfg -( -RgrEmtcPdschCfg*param, -Buffer *mBuf -) -{ - - CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeA, mBuf); - CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeB, mBuf); - - return ROK; -} - -S16 cmPkRgrEmtcPuschCfg -( -RgrEmtcPuschCfg*param, -Buffer *mBuf -) -{ - CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeA, mBuf); - CMCHKPK(oduUnpackUInt16, param->emtcMaxRepCeModeB, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcHoppingOffset, mBuf); - return ROK; -} - - - -S16 cmPkRgrEmtcPucchCfg -( -RgrEmtcPucchCfg *param, -Buffer *mBuf -) -{ - - S32 i; - for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) - { - CMCHKPK(oduUnpackUInt16, param->emtcN1pucchAnInfoLst[i], mBuf); - } - - CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf); - - return ROK; -} - - -S16 cmPkRgrEmtcPrachCeParamCfg -( -RgrEmtcPrachCEParamLst *param, -Buffer *mBuf -) -{ - CMCHKPK(oduUnpackUInt8, param->emtcPrachCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPrachFreqOffset, mBuf); - CMCHKPK(oduUnpackUInt16, param->emtcPrachStartSubFrame, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcMaxPremAttemptCE, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcNumRepPerPreambleAtt, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcNumMpdcchNBtoMonitor, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNBtoMonitor[0], mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNBtoMonitor[1], mBuf); - CMCHKPK(oduUnpackUInt16, param->emtcMpdcchNumRep, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPrachHoppingCfg, mBuf); - return ROK; -} - - - -S16 cmPkRgrEmtcPrachCfg -( -RgrEmtcPrachCfg *param, -Buffer *mBuf -) -{ - - S32 i; - CMCHKPK(oduUnpackUInt8, param->emtcMpdcchStartSFCssRaFdd, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPrachHopingOffset, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcInitialCElevel, mBuf); - for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) { - CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf); - } - - return ROK; -} - - - - -S16 cmPkRgrEmtcCfg -( -RgrEmtcCellCfg *param, -Buffer *mBuf -) -{ - CMCHKPK(oduUnpackUInt16, param->pci, mBuf); - CMCHKPK(oduUnpackUInt32, param->emtcT300Tmr, mBuf); - CMCHKPK(oduUnpackUInt32, param->emtcT301Tmr, mBuf); - CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf); - CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf); - CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf); - CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf); - CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf); - CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf); - CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPdschNbIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcMpdcchNbIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->emtcPuschNbIdx, mBuf); - - return ROK; -} - -/* EMTC related pack changes end*/ - -/* EMTC related unpack changes start*/ - -S16 cmUnpkRgrEmtcSiCfg +S16 cmUnpkRgrEmtcSiCfg ( RgrEmtcSiCfg *param, Buffer *mBuf @@ -1666,690 +1224,141 @@ Buffer *mBuf CMCHKUNPK(oduPackUInt8, &(param->ceLevelInfo[i].emtcPreambleMap.firstPreamble), mBuf); CMCHKUNPK(oduPackUInt16, &(param->ceLevelInfo[i].emtcPreambleTransMax), mBuf); CMCHKUNPK(oduPackUInt16, &(param->ceLevelInfo[i].raEmtcContResTmr), mBuf); - CMCHKUNPK(oduPackUInt16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf); - CMCHKUNPK(oduPackUInt8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf); - } - CMCHKUNPK(oduPackUInt8, ¶m->emtcCeLvlSupported, mBuf); - return ROK; -} - - -S16 cmUnpkRgrEmtcPdschCfg -( -RgrEmtcPdschCfg*param, -Buffer *mBuf -) -{ - - CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf); - return ROK; -} - -S16 cmUnpkRgrEmtcPuschCfg -( -RgrEmtcPuschCfg*param, -Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt8, ¶m->emtcHoppingOffset, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf); - return ROK; -} - - - -S16 cmUnpkRgrEmtcPucchCfg -( -RgrEmtcPucchCfg *param, -Buffer *mBuf -) -{ - - S32 i; - - - CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf); - - for (i=0; i < RGR_MAX_CE_LEVEL ; i++) { - CMCHKUNPK(oduPackUInt16, ¶m->emtcN1pucchAnInfoLst[i], mBuf); - } - return ROK; -} - - -S16 cmUnpkRgrEmtcPrachCeParamCfg -( -RgrEmtcPrachCEParamLst *param, -Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHoppingCfg, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->emtcMpdcchNumRep, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcNumRepPerPreambleAtt, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcMaxPremAttemptCE, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->emtcPrachStartSubFrame, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachFreqOffset, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachCfgIdx, mBuf); - return ROK; -} - - - -S16 cmUnpkRgrEmtcPrachCfg -( -RgrEmtcPrachCfg *param, -Buffer *mBuf -) -{ - - S32 i; - for (i=0; i < RGR_MAX_CE_LEVEL; i++) { - CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf); - } - CMCHKUNPK(oduPackUInt8, ¶m->emtcInitialCElevel, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHopingOffset, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf); - - return ROK; -} - -S16 cmUnpkRgrEmtcCfg -( -RgrEmtcCellCfg *param, -Buffer *mBuf -) -{ - - CMCHKUNPK(oduPackUInt8, ¶m->emtcPuschNbIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNbIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcPdschNbIdx, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf); - CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf); - CMCHKUNPK(oduPackUInt32,¶m->emtcT301Tmr, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->emtcT300Tmr, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->pci, mBuf); - - - - - - return ROK; -} - -/* EMTC related unpack changes end*/ - - -#endif - - -/*********************************************************** -* -* Func : cmUnpkRgrBwCfg -* -* -* Desc : Bandwidth configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrBwCfg -( -RgrBwCfg *param, -Buffer *mBuf -) -{ - - CMCHKUNPK(oduPackUInt8, ¶m->dlTotalBw, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulTotalBw, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkRgrPhichCfg -* -* -* Desc : PHICH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrPhichCfg -( -RgrPhichCfg *param, -Buffer *mBuf -) -{ - - CMCHKPK(oduUnpackUInt8, param->isDurExtend, mBuf); - CMCHKPK(oduUnpackUInt32, param->ngEnum, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkRgrPhichCfg -* -* -* Desc : PHICH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrPhichCfg -( -RgrPhichCfg *param, -Buffer *mBuf -) -{ - uint32_t tmpEnum; - - - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ngEnum = (RgrPhichNg) tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->isDurExtend, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkRgrPucchCfg -* -* -* Desc : PUCCH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrPucchCfg -( -RgrPucchCfg *param, -Buffer *mBuf -) -{ - - CMCHKPK(oduUnpackUInt8, param->maxPucchRb, mBuf); - CMCHKPK(oduUnpackUInt8, param->cyclicShift, mBuf); - CMCHKPK(oduUnpackUInt8, param->deltaShift, mBuf); - CMCHKPK(oduUnpackUInt16, param->n1PucchAn, mBuf); - CMCHKPK(oduUnpackUInt8, param->resourceSize, mBuf); - - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkRgrPucchCfg -* -* -* Desc : PUCCH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrPucchCfg -( -RgrPucchCfg *param, -Buffer *mBuf -) -{ - - CMCHKUNPK(oduPackUInt8, ¶m->resourceSize, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->n1PucchAn, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->deltaShift, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->cyclicShift, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxPucchRb, mBuf); - - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkRgrSrsCfg -* -* -* Desc : SRS configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrSrsCfg -( -RgrSrsCfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(oduUnpackUInt8, param->srsSubFrameCfg, mBuf); - CMCHKPK(oduUnpackUInt32, param->srsBwEnum, mBuf); - CMCHKPK(oduUnpackUInt32, param->srsCfgPrdEnum, mBuf); - CMCHKPK(oduUnpackUInt8, param->isSrsCfgSetup, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkRgrSrsCfg -* -* -* Desc : SRS configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrSrsCfg -( -RgrSrsCfg *param, -Buffer *mBuf -) -{ - uint32_t tmpEnum; - - CMCHKUNPK(oduPackUInt8, ¶m->isSrsCfgSetup, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum; - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->srsBwEnum = (RgrSrsBwCfg) tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->srsSubFrameCfg, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkRgrRachCfg -* -* -* Desc : RACH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrRachCfg -( -RgrRachCfg *param, -Buffer *mBuf -) -{ - - S32 i; - - CMCHKPK(oduUnpackUInt8, param->prachResource, mBuf); - CMCHKPK(oduUnpackUInt16, param->msgSizeGrpA, mBuf); - CMCHKPK(oduUnpackUInt8, param->sizeRaPreambleGrpA, mBuf); - CMCHKPK(oduUnpackUInt8, param->numRaPreamble, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxMsg3Tx, mBuf); - for (i=param->raOccasion.size-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt8, param->raOccasion.subFrameNum[i], mBuf); - } - CMCHKPK(oduUnpackUInt32, param->raOccasion.sfnEnum, mBuf); - CMCHKPK(oduUnpackUInt8, param->raOccasion.size, mBuf); - CMCHKPK(oduUnpackUInt8, param->raWinSize, mBuf); - CMCHKPK(oduUnpackUInt8, param->preambleFormat, mBuf); -#ifdef RGR_V1 - /* rgr_c_001.main_5: cccpu00112372: Added contention resolution - * timer configuration */ - CMCHKPK(oduUnpackUInt8, param->contResTmr, mBuf); -#endif - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkRgrRachCfg -* -* -* Desc : RACH configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrRachCfg -( -RgrRachCfg *param, -Buffer *mBuf -) -{ - uint32_t tmpEnum; - - S32 i; -#ifdef RGR_V1 - /* rgr_c_001.main_5: cccpu00112372: Added contention resolution - * timer configuration */ - CMCHKUNPK(oduPackUInt8, ¶m->contResTmr, mBuf); -#endif - CMCHKUNPK(oduPackUInt8, ¶m->preambleFormat, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->raWinSize, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.size, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum; - for (i=0; iraOccasion.size; i++) { - CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.subFrameNum[i], mBuf); - } - CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3Tx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numRaPreamble, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->sizeRaPreambleGrpA, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->msgSizeGrpA, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->prachResource, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkRgrSiCfg -* -* -* Desc : SI Configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrSiCfg -( -RgrSiCfg *param, -Buffer *mBuf -) -{ - /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ -#ifdef RGR_SI_SCH - S16 idx; -#endif/*RGR_SI_SCH*/ - - -#ifdef RGR_SI_SCH - if(param->numSi > sizeof(param->siPeriodicity)/ - sizeof(param->siPeriodicity[0])) - param->numSi = sizeof(param->siPeriodicity)/ - sizeof(param->siPeriodicity[0]); - - for (idx=param->numSi-1; idx >= 0; idx--) { - /* Enum to be packed/unpacked as uint32_t instead of S32 */ - CMCHKPK(oduUnpackUInt32, param->siPeriodicity[idx], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numSi, mBuf); - /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/ - CMCHKPK(oduUnpackUInt32, (uint32_t)param->modPrd, mBuf); -#endif/*RGR_SI_SCH*/ - CMCHKPK(oduUnpackUInt8, param->retxCnt, mBuf); - CMCHKPK(oduUnpackUInt8, param->siWinSize, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkRgrSiCfg -* -* -* Desc : SI Configuration per cell -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrSiCfg -( -RgrSiCfg *param, -Buffer *mBuf -) -{ - uint32_t tmpEnum; - /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ -#ifdef RGR_SI_SCH - S16 idx; -#endif/*RGR_SI_SCH*/ - - - CMCHKUNPK(oduPackUInt8, ¶m->siWinSize, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->retxCnt, mBuf); -#ifdef RGR_SI_SCH - /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/ - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->modPrd = (RgrModPeriodicity) tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->numSi, mBuf); - - if(param->numSi > sizeof(param->siPeriodicity)/ - sizeof(param->siPeriodicity[0])) - param->numSi = sizeof(param->siPeriodicity)/ - sizeof(param->siPeriodicity[0]); - - /* Enum to be packed/unpacked as uint32_t instead of S32 */ - for (idx=0; idx < param->numSi; idx++) { - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum; - } -#endif/*RGR_SI_SCH*/ - - return ROK; + CMCHKUNPK(oduPackUInt16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf); + CMCHKUNPK(oduPackUInt8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->emtcCeLvlSupported, mBuf); + return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrTpcRntiCfg -* -* -* Desc : TPC RNTI Range -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrTpcRntiCfg +S16 cmUnpkRgrEmtcPdschCfg ( -RgrTpcRntiCfg *param, +RgrEmtcPdschCfg*param, Buffer *mBuf ) { + CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf); + return ROK; +} - CMCHKPK(oduUnpackUInt16, param->size, mBuf); - CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf); +S16 cmUnpkRgrEmtcPuschCfg +( +RgrEmtcPuschCfg*param, +Buffer *mBuf +) +{ + CMCHKUNPK(oduPackUInt8, ¶m->emtcHoppingOffset, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrTpcRntiCfg -* -* -* Desc : TPC RNTI Range -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrTpcRntiCfg + +S16 cmUnpkRgrEmtcPucchCfg ( -RgrTpcRntiCfg *param, +RgrEmtcPucchCfg *param, Buffer *mBuf ) { + S32 i; - CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); - return ROK; + + CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf); + + for (i=0; i < RGR_MAX_CE_LEVEL ; i++) { + CMCHKUNPK(oduPackUInt16, ¶m->emtcN1pucchAnInfoLst[i], mBuf); + } + return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrUlPwrCfg -* -* -* Desc : Cell specific power configuration -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUlPwrCfg +S16 cmUnpkRgrEmtcPrachCeParamCfg ( -RgrUlPwrCfg *param, +RgrEmtcPrachCEParamLst *param, Buffer *mBuf ) { - - CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf); - CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf); - CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf); - CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf); - CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf); - CMCHKPK(SPkS8, param->p0NominalPucch, mBuf); - CMCHKPK(oduUnpackUInt32, param->alpha, mBuf); - CMCHKPK(SPkS8, param->p0NominalPusch, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHoppingCfg, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->emtcMpdcchNumRep, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcNumRepPerPreambleAtt, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcMaxPremAttemptCE, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->emtcPrachStartSubFrame, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachFreqOffset, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachCfgIdx, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrUlPwrCfg -* -* -* Desc : Cell specific power configuration -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUlPwrCfg + +S16 cmUnpkRgrEmtcPrachCfg ( -RgrUlPwrCfg *param, +RgrEmtcPrachCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; + + S32 i; + for (i=0; i < RGR_MAX_CE_LEVEL; i++) { + CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->emtcInitialCElevel, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHopingOffset, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf); + + return ROK; +} + +S16 cmUnpkRgrEmtcCfg +( +RgrEmtcCellCfg *param, +Buffer *mBuf +) +{ + + CMCHKUNPK(oduPackUInt8, ¶m->emtcPuschNbIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNbIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcPdschNbIdx, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf); + CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf); + CMCHKUNPK(oduPackUInt32,¶m->emtcT301Tmr, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->emtcT300Tmr, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->pci, mBuf); + + + - CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->alpha = (RgrPwrAlpha) tmpEnum; - CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf); - CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf); - CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf); - CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf); - CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf); return ROK; } +/* EMTC related unpack changes end*/ + + +#endif /*********************************************************** * -* Func : cmPkRgrPuschCfg +* Func : cmUnpkRgrBwCfg * * -* Desc : brief cell specific hopping configuration +* Desc : Bandwidth configuration per cell * * * Ret : S16 @@ -2359,17 +1368,15 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrPuschCfg +S16 cmUnpkRgrBwCfg ( -RgrPuschCfg *param, +RgrBwCfg *param, Buffer *mBuf ) { - - CMCHKPK(oduUnpackUInt8, param->hopOffst, mBuf); - CMCHKPK(oduUnpackUInt8, param->isIntraHop, mBuf); - CMCHKPK(oduUnpackUInt8, param->numSubBands, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->dlTotalBw, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ulTotalBw, mBuf); return ROK; } @@ -2377,10 +1384,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrPuschCfg +* Func : cmPkRgrPhichCfg * * -* Desc : brief cell specific hopping configuration +* Desc : PHICH configuration per cell * * * Ret : S16 @@ -2390,17 +1397,15 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrPuschCfg +S16 cmPkRgrPhichCfg ( -RgrPuschCfg *param, +RgrPhichCfg *param, Buffer *mBuf ) { - - CMCHKUNPK(oduPackUInt8, ¶m->numSubBands, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isIntraHop, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->hopOffst, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDurExtend, mBuf); + CMCHKPK(oduUnpackUInt32, param->ngEnum, mBuf); return ROK; } @@ -2408,10 +1413,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrCodeBookRstCfg +* Func : cmUnpkRgrPhichCfg * * -* Desc : Number of bits in code book for different transmission modes +* Desc : PHICH configuration per cell * * * Ret : S16 @@ -2421,19 +1426,18 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCodeBookRstCfg +S16 cmUnpkRgrPhichCfg ( -RgrCodeBookRstCfg *param, +RgrPhichCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - S32 i; - for (i=1-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt32, param->pmiBitMap[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ngEnum = (RgrPhichNg) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->isDurExtend, mBuf); return ROK; } @@ -2441,10 +1445,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrCodeBookRstCfg +* Func : cmPkRgrPucchCfg * * -* Desc : Number of bits in code book for different transmission modes +* Desc : PUCCH configuration per cell * * * Ret : S16 @@ -2454,19 +1458,19 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCodeBookRstCfg +S16 cmPkRgrPucchCfg ( -RgrCodeBookRstCfg *param, +RgrPucchCfg *param, Buffer *mBuf ) { - S32 i; + CMCHKPK(oduUnpackUInt8, param->maxPucchRb, mBuf); + CMCHKPK(oduUnpackUInt8, param->cyclicShift, mBuf); + CMCHKPK(oduUnpackUInt8, param->deltaShift, mBuf); + CMCHKPK(oduUnpackUInt16, param->n1PucchAn, mBuf); + CMCHKPK(oduUnpackUInt8, param->resourceSize, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - for (i=0; i<1; i++) { - CMCHKUNPK(oduPackUInt32, ¶m->pmiBitMap[i], mBuf); - } return ROK; } @@ -2474,10 +1478,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrPreambleSetCfg +* Func : cmUnpkRgrPucchCfg * * -* Desc : Range of PDCCH Order Preamble Set managed by MAC +* Desc : PUCCH configuration per cell * * * Ret : S16 @@ -2487,17 +1491,19 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrPreambleSetCfg +S16 cmUnpkRgrPucchCfg ( -RgrPreambleSetCfg *param, +RgrPucchCfg *param, Buffer *mBuf ) { + CMCHKUNPK(oduPackUInt8, ¶m->resourceSize, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->n1PucchAn, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->deltaShift, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cyclicShift, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxPucchRb, mBuf); - CMCHKPK(oduUnpackUInt8, param->size, mBuf); - CMCHKPK(oduUnpackUInt8, param->start, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } @@ -2505,10 +1511,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrPreambleSetCfg +* Func : cmPkRgrSrsCfg * * -* Desc : Range of PDCCH Order Preamble Set managed by MAC +* Desc : SRS configuration per cell * * * Ret : S16 @@ -2518,17 +1524,18 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrPreambleSetCfg +S16 cmPkRgrSrsCfg ( -RgrPreambleSetCfg *param, +RgrSrsCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->start, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->size, mBuf); + CMCHKPK(oduUnpackUInt8, param->srsSubFrameCfg, mBuf); + CMCHKPK(oduUnpackUInt32, param->srsBwEnum, mBuf); + CMCHKPK(oduUnpackUInt32, param->srsCfgPrdEnum, mBuf); + CMCHKPK(oduUnpackUInt8, param->isSrsCfgSetup, mBuf); return ROK; } @@ -2536,10 +1543,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrCmnLchCfg +* Func : cmUnpkRgrSrsCfg * * -* Desc : Logical channel configuration info for common channels +* Desc : SRS configuration per cell * * * Ret : S16 @@ -2549,18 +1556,20 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCmnLchCfg +S16 cmUnpkRgrSrsCfg ( -RgrCmnLchCfg *param, +RgrSrsCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKPK(oduUnpackUInt8, param->ulTrchType, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlTrchType, mBuf); - CMCHKPK(oduUnpackUInt8, param->dir, mBuf); - CMCHKPK(cmPkLteLcType, param->lcType, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isSrsCfgSetup, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum; + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->srsBwEnum = (RgrSrsBwCfg) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->srsSubFrameCfg, mBuf); return ROK; } @@ -2568,10 +1577,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrCmnLchCfg +* Func : cmPkRgrRachCfg * * -* Desc : Logical channel configuration info for common channels +* Desc : RACH configuration per cell * * * Ret : S16 @@ -2581,19 +1590,32 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCmnLchCfg +S16 cmPkRgrRachCfg ( -RgrCmnLchCfg *param, +RgrRachCfg *param, Buffer *mBuf ) { + S32 i; - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->dir, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->dlTrchType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulTrchType, mBuf); + CMCHKPK(oduUnpackUInt8, param->prachResource, mBuf); + CMCHKPK(oduUnpackUInt16, param->msgSizeGrpA, mBuf); + CMCHKPK(oduUnpackUInt8, param->sizeRaPreambleGrpA, mBuf); + CMCHKPK(oduUnpackUInt8, param->numRaPreamble, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxMsg3Tx, mBuf); + for (i=param->raOccasion.size-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt8, param->raOccasion.subFrameNum[i], mBuf); + } + CMCHKPK(oduUnpackUInt32, param->raOccasion.sfnEnum, mBuf); + CMCHKPK(oduUnpackUInt8, param->raOccasion.size, mBuf); + CMCHKPK(oduUnpackUInt8, param->raWinSize, mBuf); + CMCHKPK(oduUnpackUInt8, param->preambleFormat, mBuf); +#ifdef RGR_V1 + /* rgr_c_001.main_5: cccpu00112372: Added contention resolution + * timer configuration */ + CMCHKPK(oduUnpackUInt8, param->contResTmr, mBuf); +#endif return ROK; } @@ -2601,10 +1623,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrDlfsCfg +* Func : cmUnpkRgrRachCfg * * -* Desc : RGR configuration for DLFS scheduler +* Desc : RACH configuration per cell * * * Ret : S16 @@ -2614,16 +1636,33 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDlfsCfg +S16 cmUnpkRgrRachCfg ( -RgrDlfsCfg *param, +RgrRachCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - - CMCHKPK(oduUnpackUInt8, param->thresholdCqi, mBuf); - CMCHKPK(oduUnpackUInt8, param->isDlFreqSel, mBuf); + S32 i; +#ifdef RGR_V1 + /* rgr_c_001.main_5: cccpu00112372: Added contention resolution + * timer configuration */ + CMCHKUNPK(oduPackUInt8, ¶m->contResTmr, mBuf); +#endif + CMCHKUNPK(oduPackUInt8, ¶m->preambleFormat, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->raWinSize, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.size, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum; + for (i=0; iraOccasion.size; i++) { + CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.subFrameNum[i], mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3Tx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numRaPreamble, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->sizeRaPreambleGrpA, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->msgSizeGrpA, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->prachResource, mBuf); return ROK; } @@ -2631,10 +1670,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDlfsCfg +* Func : cmPkRgrSiCfg * * -* Desc : RGR configuration for DLFS scheduler +* Desc : SI Configuration per cell * * * Ret : S16 @@ -2644,31 +1683,45 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDlfsCfg +S16 cmPkRgrSiCfg ( -RgrDlfsCfg *param, +RgrSiCfg *param, Buffer *mBuf ) { + /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ +#ifdef RGR_SI_SCH + S16 idx; +#endif/*RGR_SI_SCH*/ - CMCHKUNPK(oduPackUInt8, ¶m->isDlFreqSel, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->thresholdCqi, mBuf); +#ifdef RGR_SI_SCH + if(param->numSi > sizeof(param->siPeriodicity)/ + sizeof(param->siPeriodicity[0])) + param->numSi = sizeof(param->siPeriodicity)/ + sizeof(param->siPeriodicity[0]); + + for (idx=param->numSi-1; idx >= 0; idx--) { + /* Enum to be packed/unpacked as uint32_t instead of S32 */ + CMCHKPK(oduUnpackUInt32, param->siPeriodicity[idx], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numSi, mBuf); + /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/ + CMCHKPK(oduUnpackUInt32, (uint32_t)param->modPrd, mBuf); +#endif/*RGR_SI_SCH*/ + CMCHKPK(oduUnpackUInt8, param->retxCnt, mBuf); + CMCHKPK(oduUnpackUInt8, param->siWinSize, mBuf); return ROK; } -#ifdef LTE_TDD - -#ifdef LTE_TDD - /*********************************************************** * -* Func : cmPkRgrTddPrachInfo +* Func : cmUnpkRgrSiCfg * * -* Desc : PRACH resource information for TDD +* Desc : SI Configuration per cell * * * Ret : S16 @@ -2678,18 +1731,39 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrTddPrachInfo +S16 cmUnpkRgrSiCfg ( -RgrTddPrachInfo *param, +RgrSiCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; + /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ +#ifdef RGR_SI_SCH + S16 idx; +#endif/*RGR_SI_SCH*/ - CMCHKPK(oduUnpackUInt8, param->ulStartSfIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->halfFrm, mBuf); - CMCHKPK(oduUnpackUInt32, param->sfn, mBuf); - CMCHKPK(oduUnpackUInt8, param->freqIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->siWinSize, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->retxCnt, mBuf); +#ifdef RGR_SI_SCH + /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/ + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->modPrd = (RgrModPeriodicity) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->numSi, mBuf); + + if(param->numSi > sizeof(param->siPeriodicity)/ + sizeof(param->siPeriodicity[0])) + param->numSi = sizeof(param->siPeriodicity)/ + sizeof(param->siPeriodicity[0]); + + /* Enum to be packed/unpacked as uint32_t instead of S32 */ + for (idx=0; idx < param->numSi; idx++) { + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum; + } +#endif/*RGR_SI_SCH*/ + return ROK; } @@ -2697,10 +1771,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrTddPrachInfo +* Func : cmPkRgrTpcRntiCfg * * -* Desc : PRACH resource information for TDD +* Desc : TPC RNTI Range * * * Ret : S16 @@ -2710,20 +1784,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrTddPrachInfo +S16 cmPkRgrTpcRntiCfg ( -RgrTddPrachInfo *param, +RgrTpcRntiCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->freqIdx, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->sfn = tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->halfFrm, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulStartSfIdx, mBuf); + CMCHKPK(oduUnpackUInt16, param->size, mBuf); + CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf); return ROK; } @@ -2731,10 +1801,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrTddPrachRscInfo +* Func : cmUnpkRgrTpcRntiCfg * * -* Desc : Set of PRACH Information for TDD +* Desc : TPC RNTI Range * * * Ret : S16 @@ -2744,19 +1814,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrTddPrachRscInfo +S16 cmUnpkRgrTpcRntiCfg ( -RgrTddPrachRscInfo *param, +RgrTpcRntiCfg *param, Buffer *mBuf ) { - S32 i; - for (i=param->numRsc-1; i >= 0; i--) { - CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numRsc, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->size, mBuf); return ROK; } @@ -2764,10 +1831,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrTddPrachRscInfo +* Func : cmPkRgrUlPwrCfg * * -* Desc : Set of PRACH Information for TDD +* Desc : Cell specific power configuration * * * Ret : S16 @@ -2777,34 +1844,32 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrTddPrachRscInfo +S16 cmPkRgrUlPwrCfg ( -RgrTddPrachRscInfo *param, +RgrUlPwrCfg *param, Buffer *mBuf ) { - S32 i; - - CMCHKUNPK(oduPackUInt8, ¶m->numRsc, mBuf); - for (i=0; inumRsc; i++) { - CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf); - } + CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf); + CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf); + CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf); + CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf); + CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf); + CMCHKPK(SPkS8, param->p0NominalPucch, mBuf); + CMCHKPK(oduUnpackUInt32, param->alpha, mBuf); + CMCHKPK(SPkS8, param->p0NominalPusch, mBuf); return ROK; } -#endif - -#endif - /*********************************************************** * -* Func : cmPkRgrEnbPfs +* Func : cmUnpkRgrUlPwrCfg * * -* Desc : PFS Configuration +* Desc : Cell specific power configuration * * * Ret : S16 @@ -2814,20 +1879,24 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrEnbPfs +S16 cmUnpkRgrUlPwrCfg ( -RgrEnbPfs *param, -Buffer *mBuf +RgrUlPwrCfg *param, +Buffer *mBuf ) { - S32 idx; - for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--) - { - CMCHKPK(oduUnpackUInt32, param->qciWgt[idx], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->fairCoeffi, mBuf); - CMCHKPK(oduUnpackUInt8, param->tptCoeffi, mBuf); + uint32_t tmpEnum; + + CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->alpha = (RgrPwrAlpha) tmpEnum; + CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf); + CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf); + CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf); + CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf); + CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf); return ROK; } @@ -2835,10 +1904,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrEnbPfs +* Func : cmPkRgrPuschCfg * * -* Desc : PFS Configuration +* Desc : brief cell specific hopping configuration * * * Ret : S16 @@ -2848,32 +1917,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrEnbPfs +S16 cmPkRgrPuschCfg ( -RgrEnbPfs *param, -Buffer *mBuf +RgrPuschCfg *param, +Buffer *mBuf ) { - S32 idx; - CMCHKUNPK(oduPackUInt8, ¶m->tptCoeffi, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->fairCoeffi, mBuf); - for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++) - { - CMCHKUNPK(oduPackUInt32, ¶m->qciWgt[idx], mBuf); - } + + CMCHKPK(oduUnpackUInt8, param->hopOffst, mBuf); + CMCHKPK(oduUnpackUInt8, param->isIntraHop, mBuf); + CMCHKPK(oduUnpackUInt8, param->numSubBands, mBuf); return ROK; } -/*rgr_c_001.main_7 - Added support for SPS*/ + /*********************************************************** * -* Func : cmPkRgrSpsCellCfg +* Func : cmUnpkRgrPuschCfg * * -* Desc : DL SPS configuration parameters per UE -TODO: Check if this is to be added to re-configuration as well +* Desc : brief cell specific hopping configuration * * * Ret : S16 @@ -2883,17 +1948,17 @@ TODO: Check if this is to be added to re-configuration as well * File : * **********************************************************/ -S16 cmPkRgrSpsCellCfg +S16 cmUnpkRgrPuschCfg ( -RgrSpsCellCfg *param, +RgrPuschCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->maxSpsUePerUlSf, mBuf); - CMCHKPK(oduUnpackUInt16, param->maxSpsUePerDlSf, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxSpsDlBw, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numSubBands, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isIntraHop, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->hopOffst, mBuf); return ROK; } @@ -2901,11 +1966,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrSpsDlCellCfg +* Func : cmPkRgrCodeBookRstCfg * * -* Desc : DL SPS configuration parameters per UE -TODO: Check if this is to be added to re-configuration as well +* Desc : Number of bits in code book for different transmission modes * * * Ret : S16 @@ -2915,74 +1979,30 @@ TODO: Check if this is to be added to re-configuration as well * File : * **********************************************************/ -S16 cmUnpkRgrSpsDlCellCfg +S16 cmPkRgrCodeBookRstCfg ( -RgrSpsCellCfg *param, +RgrCodeBookRstCfg *param, Buffer *mBuf ) { + S32 i; - CMCHKUNPK(oduPackUInt8, ¶m->maxSpsDlBw, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->maxSpsUePerDlSf, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->maxSpsUePerUlSf, mBuf); - - return ROK; -} - -#ifdef RG_5GTF -S16 cmPkRgr5gtfCellCfg -( -Rgr5gtfCellCfg *param, -Buffer *mBuf -) -{ - S8 idx = 0; - for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx) - { - - CMCHKPK(oduUnpackUInt32, param->dynConfig[(uint8_t)idx], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->uePerGrp, mBuf); - CMCHKPK(oduUnpackUInt8, param->ueGrpPerTti, mBuf); - CMCHKPK(oduUnpackUInt8, param->numUes, mBuf); - CMCHKPK(oduUnpackUInt8, param->numOfCC, mBuf); - CMCHKPK(oduUnpackUInt8, param->bwPerCC, mBuf); - CMCHKPK(oduUnpackUInt8, param->cfi, mBuf); - return ROK; -} - -S16 cmUnPkRgr5gtfCellCfg -( -Rgr5gtfCellCfg *param, -Buffer *mBuf -) -{ - S8 idx = 0; - - CMCHKUNPK(oduPackUInt8, ¶m->cfi, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->bwPerCC, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numOfCC, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numUes, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ueGrpPerTti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->uePerGrp, mBuf); - for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx) - { - - CMCHKUNPK(oduPackUInt32, ¶m->dynConfig[(uint8_t)idx], mBuf); + for (i=1-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt32, param->pmiBitMap[i], mBuf); } + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } -#endif -/*LAA : functions to pack and unpack LAA params*/ + /*********************************************************** * -* Func : cmPkRgrLteUCellCfg +* Func : cmUnpkRgrCodeBookRstCfg * * -* Desc : LAA configuration for the Cell +* Desc : Number of bits in code book for different transmission modes * * * Ret : S16 @@ -2992,24 +2012,30 @@ Buffer *mBuf * File : * **********************************************************/ -static S16 cmPkRgrLteUCellCfg +S16 cmUnpkRgrCodeBookRstCfg ( -RgrLteUCfg *param, +RgrCodeBookRstCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->isLaaCell, mBuf); + S32 i; + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + for (i=0; i<1; i++) { + CMCHKUNPK(oduPackUInt32, ¶m->pmiBitMap[i], mBuf); + } return ROK; } + + /*********************************************************** * -* Func : cmUnpkRgrLteUCellCfg +* Func : cmPkRgrPreambleSetCfg * * -* Desc : LAA configuration for the cell +* Desc : Range of PDCCH Order Preamble Set managed by MAC * * * Ret : S16 @@ -3019,343 +2045,221 @@ Buffer *mBuf * File : * **********************************************************/ -static S16 cmUnpkRgrLteUCellCfg -( -RgrLteUCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->isLaaCell, mBuf); - - return ROK; -} - -/* LTE_ADV_FLAG_REMOVED_START */ -/*********************************************************** - * - * Func : cmPkRgrLteAdvancedUeConfig - * - * - * Desc : PAcks LteAdvancedUeConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmPkRgrLteAdvancedUeConfig +S16 cmPkRgrPreambleSetCfg ( -RgrLteAdvancedUeConfig *param, +RgrPreambleSetCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->isUeCellEdge, mBuf); - CMCHKPK(oduUnpackUInt8, param->isAbsUe, mBuf); - CMCHKPK(oduUnpackUInt32, param->pres, mBuf); - return ROK; -} - -/*********************************************************** - * - * Func : cmUnpkRgrLteAdvancedUeConfig - * - * - * Desc : unpacks LteAdvancedUeConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmUnpkRgrLteAdvancedUeConfig -( -RgrLteAdvancedUeConfig *param, -Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt32, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isAbsUe, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isUeCellEdge, mBuf); + CMCHKPK(oduUnpackUInt8, param->size, mBuf); + CMCHKPK(oduUnpackUInt8, param->start, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } -/*********************************************************** - * - * Func : cmPkRgrAbsConfig - * - * - * Desc : Packs RgrAbsConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmPkRgrAbsConfig -( -RgrAbsConfig *param, -Buffer *mBuf -) -{ - S8 indx = 0; - - CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); - for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--) - { - CMCHKPK(oduUnpackUInt8, param->absPattern[(uint8_t)indx], mBuf); - } - - CMCHKPK(oduUnpackUInt32, param->absPatternType, mBuf); - CMCHKPK(oduUnpackUInt32, param->absLoadPeriodicity, mBuf); - - return ROK; -} + /*********************************************************** - * - * Func : cmPkRgrSfrConfig - * - * - * Desc : Packs RgrSfrConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmPkRgrSfrConfig +* +* Func : cmUnpkRgrPreambleSetCfg +* +* +* Desc : Range of PDCCH Order Preamble Set managed by MAC +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrPreambleSetCfg ( -RgrSfrConfig *param, +RgrPreambleSetCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); -#ifdef TFU_UPGRADE - CMCHKPK(oduUnpackUInt32, param->pwrThreshold.pHigh, mBuf); - CMCHKPK(oduUnpackUInt32, param->pwrThreshold.pLow, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->cellEdgeRbRange.endRb, mBuf); - CMCHKPK(oduUnpackUInt8, param->cellEdgeRbRange.startRb, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->start, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->size, mBuf); return ROK; - } + /*********************************************************** - * - * Func : cmPkRgrDsfrConfig - * - * - * Desc : Packs RgrDsfrConfig - * - * - * Ret : S16 - * - * Notes: AIRSPAN_LTE_ADV_DSFR - * - * File : - * - **********************************************************/ -S16 cmPkRgrDsfrConfig +* +* Func : cmPkRgrCmnLchCfg +* +* +* Desc : Logical channel configuration info for common channels +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmPkRgrCmnLchCfg ( -RgrDsfrConfig *param, +RgrCmnLchCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); - + CMCHKPK(oduUnpackUInt8, param->ulTrchType, mBuf); + CMCHKPK(oduUnpackUInt8, param->dlTrchType, mBuf); + CMCHKPK(oduUnpackUInt8, param->dir, mBuf); + CMCHKPK(cmPkLteLcType, param->lcType, mBuf); + CMCHKPK(cmPkLteLcId, param->lcId, mBuf); return ROK; - } + /*********************************************************** - * - * Func : cmUnpkRgrDsfrConfig - * - * - * Desc : UnPacks RgrDsfrConfig - * - * - * Ret : S16 - * - * Notes: AIRSPAN_LTE_ADV_DSFR - * - * File : - * - **********************************************************/ -S16 cmUnpkRgrDsfrConfig +* +* Func : cmUnpkRgrCmnLchCfg +* +* +* Desc : Logical channel configuration info for common channels +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrCmnLchCfg ( -RgrDsfrConfig *param, +RgrCmnLchCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->status, mBuf); - return ROK; + CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); + CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->dir, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->dlTrchType, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ulTrchType, mBuf); + return ROK; } + /*********************************************************** - * - * Func : cmPkRgrCellLteAdvancedFeatureCfg - * - * - * Desc : Cell LteAdvancedFeatureCfg - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ - -S16 cmPkRgrCellLteAdvancedFeatureCfg +* +* Func : cmPkRgrDlfsCfg +* +* +* Desc : RGR configuration for DLFS scheduler +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmPkRgrDlfsCfg ( -RgrLteAdvancedCellConfig *param, +RgrDlfsCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, param->pres, mBuf); - CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/ - CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf); - CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->thresholdCqi, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDlFreqSel, mBuf); return ROK; - -} +} + /*********************************************************** - * - * Func : cmUnpkRgrAbsConfig - * - * - * Desc : Unpacks AbsConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmUnpkRgrAbsConfig +* +* Func : cmUnpkRgrDlfsCfg +* +* +* Desc : RGR configuration for DLFS scheduler +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrDlfsCfg ( -RgrAbsConfig *param, +RgrDlfsCfg *param, Buffer *mBuf ) { - S8 indx = 0; - - CMCHKUNPK(oduPackUInt32, ¶m->absLoadPeriodicity, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->absPatternType, mBuf); - for (indx = 0; indx absPattern[(uint8_t)indx], mBuf); - } - CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->status, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isDlFreqSel, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->thresholdCqi, mBuf); return ROK; - } -/*********************************************************** - * - * Func : cmUnpkRgrSfrConfig - * - * - * Desc : Unpacks SfrConfig - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmUnpkRgrSfrConfig -( -RgrSfrConfig *param, -Buffer *mBuf -) -{ - - CMCHKUNPK(oduPackUInt8, ¶m->cellEdgeRbRange.startRb, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->cellEdgeRbRange.endRb, mBuf); -#ifdef TFU_UPGRADE - CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->pwrThreshold.pLow, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->pwrThreshold.pHigh, mBuf); -#endif - CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->status, mBuf); +#ifdef LTE_TDD - return ROK; -} +#ifdef LTE_TDD + /*********************************************************** - * - * Func : cmUnpkRgrCellLteAdvancedFeatureCfg - * - * - * Desc : unpacks LteAdvancedFeatureCfg per cell - * - * - * Ret : S16 - * - * Notes: - * - * File : - * - **********************************************************/ -S16 cmUnpkRgrCellLteAdvancedFeatureCfg +* +* Func : cmPkRgrTddPrachInfo +* +* +* Desc : PRACH resource information for TDD +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmPkRgrTddPrachInfo ( -RgrLteAdvancedCellConfig *param, +RgrTddPrachInfo *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf); - CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf); - CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/ - CMCHKUNPK(oduPackUInt32, ¶m->pres, mBuf); + CMCHKPK(oduUnpackUInt8, param->ulStartSfIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->halfFrm, mBuf); + CMCHKPK(oduUnpackUInt32, param->sfn, mBuf); + CMCHKPK(oduUnpackUInt8, param->freqIdx, mBuf); return ROK; } -/* LTE_ADV_FLAG_REMOVED_END */ + /*********************************************************** * -* Func : cmPkMacSchedGnbCfg +* Func : cmUnpkRgrTddPrachInfo +* +* +* Desc : PRACH resource information for TDD * -* Desc : SCH GNB Configurations * * Ret : S16 * @@ -3364,28 +2268,31 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkMacSchedGnbCfg +S16 cmUnpkRgrTddPrachInfo ( -MacSchedGnbCfg *param, -Buffer *mBuf +RgrTddPrachInfo *param, +Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKPK(oduUnpackUInt8, param->maxDlUePerTti, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUlUePerTti, mBuf); - CMCHKPK(oduUnpackUInt8, param->numCells, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlSchdType, mBuf); - CMCHKPK(oduUnpackUInt8, param->ulSchdType, mBuf); - CMCHKPK(oduUnpackUInt8, param->numTxAntPorts, mBuf); + + CMCHKUNPK(oduPackUInt8, ¶m->freqIdx, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->sfn = tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->halfFrm, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ulStartSfIdx, mBuf); return ROK; -} /* cmPkRgrSchedEnbCfg */ +} + + /*********************************************************** * -* Func : cmUnpkMacSchedGnbCfg +* Func : cmPkRgrTddPrachRscInfo * * -* Desc : SCH Gnodeb Configuration to SCH +* Desc : Set of PRACH Information for TDD * * * Ret : S16 @@ -3395,30 +2302,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkMacSchedGnbCfg +S16 cmPkRgrTddPrachRscInfo ( -MacSchedGnbCfg *param, -Buffer *mBuf +RgrTddPrachRscInfo *param, +Buffer *mBuf ) { + S32 i; - CMCHKUNPK(oduPackUInt8, ¶m->numTxAntPorts, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulSchdType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->dlSchdType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numCells, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxUlUePerTti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxDlUePerTti, mBuf); + for (i=param->numRsc-1; i >= 0; i--) { + CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numRsc, mBuf); return ROK; -} /* cmUnpkMacSchedGnbCfg */ +} + /*********************************************************** * -* Func : cmPkRgrCellCfg +* Func : cmUnpkRgrTddPrachRscInfo * * -* Desc : Cell Configuration at RRM +* Desc : Set of PRACH Information for TDD * * * Ret : S16 @@ -3428,115 +2335,34 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCellCfg +S16 cmUnpkRgrTddPrachRscInfo ( -RgrCellCfg *param, +RgrTddPrachRscInfo *param, Buffer *mBuf ) { S32 i; -#ifdef EMTC_ENABLE -/* EMTC related changes start*/ - - -/* EMTC related changes ends*/ -#endif - -#ifdef RG_5GTF - CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf); -#endif -#ifdef LTE_ADV - CMCHKPK(oduUnpackUInt8, param->isPucchFormat3Sptd, mBuf); -#endif -/*LAA: Pack LAA params*/ - CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf); - CMCHKPK(oduUnpackUInt32, param->msg4pAVal, mBuf); - CMCHKPK(oduUnpackUInt8, param->isAutoCfgModeEnb, mBuf); - CMCHKPK(oduUnpackUInt8, param->isDynCfiEnb, mBuf); - CMCHKPK(oduUnpackUInt16, param->phichTxPwrOffset, mBuf); - CMCHKPK(oduUnpackUInt16, param->rarTxPwrOffset, mBuf); - CMCHKPK(oduUnpackUInt16, param->pcchTxPwrOffset, mBuf); - CMCHKPK(oduUnpackUInt16, param->bcchTxPwrOffset, mBuf); - - CMCHKPK(oduUnpackUInt16, param->t300TmrVal, mBuf); -/*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf); - -/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ - CMCHKPK(oduUnpackUInt8, param->rrmTtiIndPrd, mBuf); -#ifdef LTE_TDD - CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf); - CMCHKPK(oduUnpackUInt8, param->spclSfCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->ulDlCfgIdx, mBuf); - -#endif - CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); - for (i=param->numCmnLcs-1; i >= 0; i--) { - CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numRsc, mBuf); + for (i=0; inumRsc; i++) { + CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf); } - CMCHKPK(oduUnpackUInt8, param->numCmnLcs, mBuf); - CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf); - CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf); - CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf); - CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf); - CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf); - CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf); - CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf); - CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf); - CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf); - CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); - CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); - CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); - CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); - CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf); - CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf); - CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlfsSchdType, mBuf); + return ROK; +} - CMCHKPK(SPkS8, param->pMax, mBuf); - CMCHKPK(oduUnpackUInt8, param->cellModSchm, mBuf); - CMCHKPK(oduUnpackUInt8, param->isCpDlExtend, mBuf); - CMCHKPK(oduUnpackUInt8, param->isCpUlExtend, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUlUeNewTxPerTti, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxDlUeNewTxPerTti, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxDlRetxBw, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxDlBwPerUe, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUlBwPerUe, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxCcchPerDlSf, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUePerDlSf, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUePerUlSf, mBuf); -#ifdef RGR_V1 - /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number - of MSG3s */ - CMCHKPK(oduUnpackUInt8, param->maxMsg3PerUlSf, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->macInst, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); -#ifdef EMTC_ENABLE -/* EMTC related changes start*/ - CMCHKPK(oduUnpackUInt8, param->emtcEnable, mBuf); - CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf); -/* EMTC related changes ends*/ #endif - return ROK; -} - +#endif /*********************************************************** * -* Func : cmUnpkRgrCellCfg +* Func : cmPkRgrEnbPfs * * -* Desc : Cell Configuration at RRM +* Desc : PFS Configuration * * * Ret : S16 @@ -3546,95 +2372,20 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCellCfg +S16 cmPkRgrEnbPfs ( -RgrCellCfg *param, -Buffer *mBuf +RgrEnbPfs *param, +Buffer *mBuf ) { - - S32 i; - -#ifdef EMTC_ENABLE -/* EMTC related changes start*/ - CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->emtcEnable, mBuf); -/* EMTC related changes ends*/ -#endif - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->macInst, mBuf); -#ifdef RGR_V1 - /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number - of MSG3s */ - CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3PerUlSf, mBuf); -#endif - CMCHKUNPK(oduPackUInt8, ¶m->maxUePerUlSf, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxUePerDlSf, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxCcchPerDlSf, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxUlBwPerUe, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxDlBwPerUe, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxDlRetxBw, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxDlUeNewTxPerTti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxUlUeNewTxPerTti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isCpUlExtend, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isCpDlExtend, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->cellModSchm, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->dlfsSchdType, mBuf); - CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf); - CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf); - CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); - CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); - CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); - CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); - CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf); - CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf); - CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf); - CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf); - CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf); - CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf); - CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf); - CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numCmnLcs, mBuf); - for (i=0; inumCmnLcs; i++) { - CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf); - } - CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); - -#ifdef LTE_TDD - CMCHKUNPK(oduPackUInt8, ¶m->ulDlCfgIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->spclSfCfgIdx, mBuf); - CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf); - -#endif -/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ - CMCHKUNPK(oduPackUInt8, ¶m->rrmTtiIndPrd, mBuf); - /*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf); - - CMCHKUNPK(oduPackUInt16, ¶m->t300TmrVal, mBuf); - CMCHKPK(oduPackUInt16, ¶m->bcchTxPwrOffset, mBuf); - CMCHKPK(oduPackUInt16, ¶m->pcchTxPwrOffset, mBuf); - CMCHKPK(oduPackUInt16, ¶m->rarTxPwrOffset, mBuf); - CMCHKPK(oduPackUInt16, ¶m->phichTxPwrOffset, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isDynCfiEnb, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isAutoCfgModeEnb, mBuf); - CMCHKPK(oduPackUInt32, (uint32_t*)¶m->msg4pAVal, mBuf); - /*LAA: Unpack LAA Cell params*/ - CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf); - #ifdef LTE_ADV - CMCHKUNPK(oduPackUInt8, ¶m->isPucchFormat3Sptd, mBuf); -#endif -#ifdef RG_5GTF - CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf); -#endif + S32 idx; + for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--) + { + CMCHKPK(oduUnpackUInt32, param->qciWgt[idx], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->fairCoeffi, mBuf); + CMCHKPK(oduUnpackUInt8, param->tptCoeffi, mBuf); + return ROK; } @@ -3642,10 +2393,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeAprdDlCqiCfg +* Func : cmUnpkRgrEnbPfs * * -* Desc : Downlink Aperiodic CQI reporting related configuration per UE +* Desc : PFS Configuration * * * Ret : S16 @@ -3655,32 +2406,32 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeAprdDlCqiCfg +S16 cmUnpkRgrEnbPfs ( -RgrUeAprdDlCqiCfg *param, -Buffer *mBuf +RgrEnbPfs *param, +Buffer *mBuf ) { + S32 idx; - /*Pack Aperiodic Trigger List only for Pcell */ -#ifdef LTE_ADV - CMCHKPK(oduUnpackUInt8, param->triggerSet2, mBuf); - CMCHKPK(oduUnpackUInt8, param->triggerSet1, mBuf); -#endif - - CMCHKPK(oduUnpackUInt32, param->aprdModeEnum, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->tptCoeffi, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->fairCoeffi, mBuf); + for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++) + { + CMCHKUNPK(oduPackUInt32, ¶m->qciWgt[idx], mBuf); + } return ROK; } - +/*rgr_c_001.main_7 - Added support for SPS*/ /*********************************************************** * -* Func : cmUnpkRgrUeAprdDlCqiCfg +* Func : cmPkRgrSpsCellCfg * * -* Desc : Downlink Aperiodic CQI reporting related configuration per UE +* Desc : DL SPS configuration parameters per UE +TODO: Check if this is to be added to re-configuration as well * * * Ret : S16 @@ -3690,38 +2441,29 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeAprdDlCqiCfg +S16 cmPkRgrSpsCellCfg ( -RgrUeAprdDlCqiCfg *param, +RgrSpsCellCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum; - -#ifdef LTE_ADV - CMCHKUNPK(oduPackUInt8, ¶m->triggerSet1, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->triggerSet2, mBuf); -#endif + CMCHKPK(oduUnpackUInt16, param->maxSpsUePerUlSf, mBuf); + CMCHKPK(oduUnpackUInt16, param->maxSpsUePerDlSf, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxSpsDlBw, mBuf); return ROK; } -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifndef TFU_UPGRADE - /*********************************************************** * -* Func : cmPkRgrUePrdDlCqiCfg +* Func : cmUnpkRgrSpsDlCellCfg * * -* Desc : Downlink Periodic CQI reporting related configuration per UE +* Desc : DL SPS configuration parameters per UE +TODO: Check if this is to be added to re-configuration as well * * * Ret : S16 @@ -3731,32 +2473,74 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUePrdDlCqiCfg +S16 cmUnpkRgrSpsDlCellCfg ( -RgrUePrdDlCqiCfg *param, +RgrSpsCellCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->cqiPmiCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->k, mBuf); - CMCHKPK(SPkS8, param->cqiOffst, mBuf); - CMCHKPK(oduUnpackUInt8, param->subframeOffst, mBuf); - CMCHKPK(oduUnpackUInt32, param->prdicityEnum, mBuf); - CMCHKPK(oduUnpackUInt32, param->prdModeEnum, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxSpsDlBw, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->maxSpsUePerDlSf, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->maxSpsUePerUlSf, mBuf); + return ROK; } +#ifdef RG_5GTF +S16 cmPkRgr5gtfCellCfg +( +Rgr5gtfCellCfg *param, +Buffer *mBuf +) +{ + S8 idx = 0; + for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx) + { + + CMCHKPK(oduUnpackUInt32, param->dynConfig[(uint8_t)idx], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->uePerGrp, mBuf); + CMCHKPK(oduUnpackUInt8, param->ueGrpPerTti, mBuf); + CMCHKPK(oduUnpackUInt8, param->numUes, mBuf); + CMCHKPK(oduUnpackUInt8, param->numOfCC, mBuf); + CMCHKPK(oduUnpackUInt8, param->bwPerCC, mBuf); + CMCHKPK(oduUnpackUInt8, param->cfi, mBuf); + return ROK; +} - +S16 cmUnPkRgr5gtfCellCfg +( +Rgr5gtfCellCfg *param, +Buffer *mBuf +) +{ + S8 idx = 0; + + CMCHKUNPK(oduPackUInt8, ¶m->cfi, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->bwPerCC, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numOfCC, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numUes, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ueGrpPerTti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->uePerGrp, mBuf); + for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx) + { + + CMCHKUNPK(oduPackUInt32, ¶m->dynConfig[(uint8_t)idx], mBuf); + } + return ROK; +} +#endif + + +/*LAA : functions to pack and unpack LAA params*/ /*********************************************************** * -* Func : cmUnpkRgrUePrdDlCqiCfg +* Func : cmPkRgrLteUCellCfg * * -* Desc : Downlink Periodic CQI reporting related configuration per UE +* Desc : LAA configuration for the Cell * * * Ret : S16 @@ -3766,38 +2550,24 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUePrdDlCqiCfg +static S16 cmPkRgrLteUCellCfg ( -RgrUePrdDlCqiCfg *param, +RgrLteUCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; + CMCHKPK(oduUnpackUInt8, param->isLaaCell, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->prdModeEnum = tmpEnum; - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->prdicityEnum = tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->subframeOffst, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->k, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->cqiPmiCfgIdx, mBuf); return ROK; } - -#endif - -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE /*********************************************************** * -* Func : cmPkRgrUeDlPCqiSetup +* Func : cmUnpkRgrLteUCellCfg * * -* Desc : Periodic CQI Setup configuration parameters information +* Desc : LAA configuration for the cell * * * Ret : S16 @@ -3807,246 +2577,343 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeDlPCqiSetup +static S16 cmUnpkRgrLteUCellCfg +( +RgrLteUCfg *param, +Buffer *mBuf +) +{ + + + CMCHKUNPK(oduPackUInt8, ¶m->isLaaCell, mBuf); + + return ROK; +} + +/* LTE_ADV_FLAG_REMOVED_START */ +/*********************************************************** + * + * Func : cmPkRgrLteAdvancedUeConfig + * + * + * Desc : PAcks LteAdvancedUeConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmPkRgrLteAdvancedUeConfig +( +RgrLteAdvancedUeConfig *param, +Buffer *mBuf +) +{ + + CMCHKPK(oduUnpackUInt8, param->isUeCellEdge, mBuf); + CMCHKPK(oduUnpackUInt8, param->isAbsUe, mBuf); + CMCHKPK(oduUnpackUInt32, param->pres, mBuf); + return ROK; +} + +/*********************************************************** + * + * Func : cmUnpkRgrLteAdvancedUeConfig + * + * + * Desc : unpacks LteAdvancedUeConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmUnpkRgrLteAdvancedUeConfig +( +RgrLteAdvancedUeConfig *param, +Buffer *mBuf +) +{ + + CMCHKUNPK(oduPackUInt32, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isAbsUe, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isUeCellEdge, mBuf); + return ROK; +} + +/*********************************************************** + * + * Func : cmPkRgrAbsConfig + * + * + * Desc : Packs RgrAbsConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmPkRgrAbsConfig +( +RgrAbsConfig *param, +Buffer *mBuf +) +{ + S8 indx = 0; + + CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); + for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--) + { + CMCHKPK(oduUnpackUInt8, param->absPattern[(uint8_t)indx], mBuf); + } + + CMCHKPK(oduUnpackUInt32, param->absPatternType, mBuf); + CMCHKPK(oduUnpackUInt32, param->absLoadPeriodicity, mBuf); + + return ROK; + +} +/*********************************************************** + * + * Func : cmPkRgrSfrConfig + * + * + * Desc : Packs RgrSfrConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmPkRgrSfrConfig ( -RgrUeDlPCqiSetup *param, +RgrSfrConfig *param, Buffer *mBuf ) { + CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); +#ifdef TFU_UPGRADE + CMCHKPK(oduUnpackUInt32, param->pwrThreshold.pHigh, mBuf); + CMCHKPK(oduUnpackUInt32, param->pwrThreshold.pLow, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->cellEdgeRbRange.endRb, mBuf); + CMCHKPK(oduUnpackUInt8, param->cellEdgeRbRange.startRb, mBuf); - CMCHKPK(oduUnpackUInt32, param->prdModeEnum, mBuf); - CMCHKPK(oduUnpackUInt8, param->sANCQI, mBuf); - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKPK(oduUnpackUInt16, param->riCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->riEna, mBuf); - CMCHKPK(oduUnpackUInt8, param->k, mBuf); - CMCHKPK(oduUnpackUInt8, param->cqiRepType, mBuf); - CMCHKPK(oduUnpackUInt16, param->cqiPCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt16, param->cqiPResIdx, mBuf); return ROK; + } - /*********************************************************** -* -* Func : cmUnpkRgrUeDlPCqiSetup -* -* -* Desc : Periodic CQI Setup configuration parameters information -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUeDlPCqiSetup + * + * Func : cmPkRgrDsfrConfig + * + * + * Desc : Packs RgrDsfrConfig + * + * + * Ret : S16 + * + * Notes: AIRSPAN_LTE_ADV_DSFR + * + * File : + * + **********************************************************/ +S16 cmPkRgrDsfrConfig ( -RgrUeDlPCqiSetup *param, +RgrDsfrConfig *param, Buffer *mBuf ) { - uint32_t tmpEnum; + CMCHKPK(oduUnpackUInt32, (uint32_t)param->status, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->cqiPResIdx, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->cqiPCfgIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->cqiRepType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->k, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->riEna, mBuf); - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKUNPK(oduPackUInt16, ¶m->riCfgIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->sANCQI, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->prdModeEnum = (RgrPrdCqiMode) tmpEnum; return ROK; + } - /*********************************************************** -* -* Func : cmPkRgrUePrdDlCqiCfg -* -* -* Desc : Periodic CQI/PMI/RI configuration parameters information -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUePrdDlCqiCfg + * + * Func : cmUnpkRgrDsfrConfig + * + * + * Desc : UnPacks RgrDsfrConfig + * + * + * Ret : S16 + * + * Notes: AIRSPAN_LTE_ADV_DSFR + * + * File : + * + **********************************************************/ +S16 cmUnpkRgrDsfrConfig ( -RgrUePrdDlCqiCfg *param, +RgrDsfrConfig *param, Buffer *mBuf ) { - - CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf); - CMCHKPK(oduUnpackUInt8, param->type, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->status, mBuf); return ROK; + } - /*********************************************************** -* -* Func : cmUnpkRgrUePrdDlCqiCfg -* -* -* Desc : Periodic CQI/PMI/RI configuration parameters information -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUePrdDlCqiCfg + * + * Func : cmPkRgrCellLteAdvancedFeatureCfg + * + * + * Desc : Cell LteAdvancedFeatureCfg + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ + +S16 cmPkRgrCellLteAdvancedFeatureCfg ( -RgrUePrdDlCqiCfg *param, +RgrLteAdvancedCellConfig *param, Buffer *mBuf ) { + CMCHKPK(oduUnpackUInt32, param->pres, mBuf); + CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/ + CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf); + CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); - CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf); return ROK; -} + +} - /*********************************************************** -* -* Func : cmPkRgrUeUlSrsSetupCfg -* -* -* Desc : SRS configuration setup parameters information. - Reference 36.313 SoundingRS-UL-Config -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUeUlSrsSetupCfg + * + * Func : cmUnpkRgrAbsConfig + * + * + * Desc : Unpacks AbsConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmUnpkRgrAbsConfig ( -RgrUeUlSrsSetupCfg *param, +RgrAbsConfig *param, Buffer *mBuf ) { + S8 indx = 0; + + CMCHKUNPK(oduPackUInt32, ¶m->absLoadPeriodicity, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->absPatternType, mBuf); + for (indx = 0; indx absPattern[(uint8_t)indx], mBuf); + } + CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->status, mBuf); - CMCHKPK(oduUnpackUInt8, param->fDomPosi, mBuf); - CMCHKPK(oduUnpackUInt8, param->txComb, mBuf); - CMCHKPK(oduUnpackUInt8, param->sANSrs, mBuf); - CMCHKPK(oduUnpackUInt8, param->duration, mBuf); - CMCHKPK(oduUnpackUInt32, param->cycShift, mBuf); - CMCHKPK(oduUnpackUInt32, param->srsHopBw, mBuf); - CMCHKPK(oduUnpackUInt32, param->srsBw, mBuf); - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKPK(oduUnpackUInt16, param->srsCfgIdx, mBuf); return ROK; -} +} - /*********************************************************** -* -* Func : cmUnpkRgrUeUlSrsSetupCfg -* -* -* Desc : SRS configuration setup parameters information. - Reference 36.313 SoundingRS-UL-Config -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUeUlSrsSetupCfg + * + * Func : cmUnpkRgrSfrConfig + * + * + * Desc : Unpacks SfrConfig + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmUnpkRgrSfrConfig ( -RgrUeUlSrsSetupCfg *param, +RgrSfrConfig *param, Buffer *mBuf ) { - uint32_t tmpEnum; - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKUNPK(oduPackUInt16, ¶m->srsCfgIdx, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->srsBw = (RgrUlSrsBwInfo) tmpEnum; - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum; - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->duration, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->sANSrs, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->txComb, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->fDomPosi, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cellEdgeRbRange.startRb, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cellEdgeRbRange.endRb, mBuf); +#ifdef TFU_UPGRADE + CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->pwrThreshold.pLow, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->pwrThreshold.pHigh, mBuf); +#endif + CMCHKUNPK(oduPackUInt32, (uint32_t*)¶m->status, mBuf); + return ROK; } - - /*********************************************************** -* -* Func : cmPkRgrUeSrSetupCfg -* -* -* Desc : SR Setup configuration parameters information -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUeSrSetupCfg + * + * Func : cmUnpkRgrCellLteAdvancedFeatureCfg + * + * + * Desc : unpacks LteAdvancedFeatureCfg per cell + * + * + * Ret : S16 + * + * Notes: + * + * File : + * + **********************************************************/ +S16 cmUnpkRgrCellLteAdvancedFeatureCfg ( -RgrUeSrSetupCfg *param, +RgrLteAdvancedCellConfig *param, Buffer *mBuf ) { + CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf); + CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf); + CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/ + CMCHKUNPK(oduPackUInt32, ¶m->pres, mBuf); - /* ccpu00131601:DEL - dTMax Packing removed since this param will not - * be required by Scheduler*/ - CMCHKPK(oduUnpackUInt8, param->srCfgIdx, mBuf); - CMCHKPK(oduUnpackUInt16, param->srResIdx, mBuf); return ROK; } +/* LTE_ADV_FLAG_REMOVED_END */ - /*********************************************************** * -* Func : cmUnpkRgrUeSrSetupCfg -* -* -* Desc : SR Setup configuration parameters information +* Func : cmPkMacSchedGnbCfg * +* Desc : SCH GNB Configurations * * Ret : S16 * @@ -4055,28 +2922,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSrSetupCfg +S16 cmPkMacSchedGnbCfg ( -RgrUeSrSetupCfg *param, -Buffer *mBuf +MacSchedGnbCfg *param, +Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt16, ¶m->srResIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->srCfgIdx, mBuf); - /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not - * be required by Scheduler*/ + CMCHKPK(oduUnpackUInt8, param->maxDlUePerTti, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUlUePerTti, mBuf); + CMCHKPK(oduUnpackUInt8, param->numCells, mBuf); + CMCHKPK(oduUnpackUInt8, param->dlSchdType, mBuf); + CMCHKPK(oduUnpackUInt8, param->ulSchdType, mBuf); + CMCHKPK(oduUnpackUInt8, param->numTxAntPorts, mBuf); return ROK; -} - +} /* cmPkRgrSchedEnbCfg */ - /*********************************************************** * -* Func : cmPkRgrUeSrCfg +* Func : cmUnpkMacSchedGnbCfg * * -* Desc : SR configuration parameters information +* Desc : SCH Gnodeb Configuration to SCH * * * Ret : S16 @@ -4086,27 +2953,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeSrCfg +S16 cmUnpkMacSchedGnbCfg ( -RgrUeSrCfg *param, -Buffer *mBuf +MacSchedGnbCfg *param, +Buffer *mBuf ) { - CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf); - CMCHKPK(oduUnpackUInt8, param->type, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numTxAntPorts, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ulSchdType, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->dlSchdType, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numCells, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxUlUePerTti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxDlUePerTti, mBuf); return ROK; -} - +} /* cmUnpkMacSchedGnbCfg */ /*********************************************************** * -* Func : cmUnpkRgrUeSrCfg +* Func : cmPkRgrCellCfg * * -* Desc : SR configuration parameters information +* Desc : Cell Configuration at RRM * * * Ret : S16 @@ -4116,16 +2986,104 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSrCfg +S16 cmPkRgrCellCfg ( -RgrUeSrCfg *param, +RgrCellCfg *param, Buffer *mBuf ) { + S32 i; + +#ifdef EMTC_ENABLE +/* EMTC related changes start*/ + + +/* EMTC related changes ends*/ +#endif + +#ifdef RG_5GTF + CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf); +#endif +#ifdef LTE_ADV + CMCHKPK(oduUnpackUInt8, param->isPucchFormat3Sptd, mBuf); +#endif +/*LAA: Pack LAA params*/ + CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf); + CMCHKPK(oduUnpackUInt32, param->msg4pAVal, mBuf); + CMCHKPK(oduUnpackUInt8, param->isAutoCfgModeEnb, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDynCfiEnb, mBuf); + CMCHKPK(oduUnpackUInt16, param->phichTxPwrOffset, mBuf); + CMCHKPK(oduUnpackUInt16, param->rarTxPwrOffset, mBuf); + CMCHKPK(oduUnpackUInt16, param->pcchTxPwrOffset, mBuf); + CMCHKPK(oduUnpackUInt16, param->bcchTxPwrOffset, mBuf); + + CMCHKPK(oduUnpackUInt16, param->t300TmrVal, mBuf); +/*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf); + +/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ + CMCHKPK(oduUnpackUInt8, param->rrmTtiIndPrd, mBuf); +#ifdef LTE_TDD + CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf); + CMCHKPK(oduUnpackUInt8, param->spclSfCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->ulDlCfgIdx, mBuf); + +#endif + CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); + for (i=param->numCmnLcs-1; i >= 0; i--) { + CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numCmnLcs, mBuf); + CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf); + CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf); + CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf); + CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf); + CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf); + CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf); + CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf); + CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf); + CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf); + CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); + CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); + CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); + CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); + CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf); + CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf); + CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->dlfsSchdType, mBuf); + + CMCHKPK(SPkS8, param->pMax, mBuf); + CMCHKPK(oduUnpackUInt8, param->cellModSchm, mBuf); + CMCHKPK(oduUnpackUInt8, param->isCpDlExtend, mBuf); + CMCHKPK(oduUnpackUInt8, param->isCpUlExtend, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUlUeNewTxPerTti, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxDlUeNewTxPerTti, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxDlRetxBw, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxDlBwPerUe, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUlBwPerUe, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxCcchPerDlSf, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUePerDlSf, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUePerUlSf, mBuf); +#ifdef RGR_V1 + /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number + of MSG3s */ + CMCHKPK(oduUnpackUInt8, param->maxMsg3PerUlSf, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->macInst, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + +#ifdef EMTC_ENABLE +/* EMTC related changes start*/ + CMCHKPK(oduUnpackUInt8, param->emtcEnable, mBuf); + CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf); +/* EMTC related changes ends*/ +#endif - CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); - CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf); return ROK; } @@ -4133,11 +3091,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeUlSrsCfg +* Func : cmUnpkRgrCellCfg * * -* Desc : SRS configuration parameters information. - Reference 36.313 SoundingRS-UL-Config +* Desc : Cell Configuration at RRM * * * Ret : S16 @@ -4147,17 +3104,95 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeUlSrsCfg +S16 cmUnpkRgrCellCfg ( -RgrUeUlSrsCfg *param, +RgrCellCfg *param, Buffer *mBuf ) { + S32 i; + +#ifdef EMTC_ENABLE +/* EMTC related changes start*/ + CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->emtcEnable, mBuf); +/* EMTC related changes ends*/ +#endif + + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->macInst, mBuf); +#ifdef RGR_V1 + /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number + of MSG3s */ + CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3PerUlSf, mBuf); +#endif + CMCHKUNPK(oduPackUInt8, ¶m->maxUePerUlSf, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxUePerDlSf, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxCcchPerDlSf, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxUlBwPerUe, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxDlBwPerUe, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxDlRetxBw, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxDlUeNewTxPerTti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxUlUeNewTxPerTti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isCpUlExtend, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isCpDlExtend, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cellModSchm, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->dlfsSchdType, mBuf); + CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf); + CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf); + CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); + CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); + CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); + CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); + CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf); + CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf); + CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf); + CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf); + CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf); + CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf); + CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf); + CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numCmnLcs, mBuf); + for (i=0; inumCmnLcs; i++) { + CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf); + } + CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); + +#ifdef LTE_TDD + CMCHKUNPK(oduPackUInt8, ¶m->ulDlCfgIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->spclSfCfgIdx, mBuf); + CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf); + +#endif +/* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */ + CMCHKUNPK(oduPackUInt8, ¶m->rrmTtiIndPrd, mBuf); + /*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf); - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf); - CMCHKPK(oduUnpackUInt8, param->type, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->t300TmrVal, mBuf); + CMCHKPK(oduPackUInt16, ¶m->bcchTxPwrOffset, mBuf); + CMCHKPK(oduPackUInt16, ¶m->pcchTxPwrOffset, mBuf); + CMCHKPK(oduPackUInt16, ¶m->rarTxPwrOffset, mBuf); + CMCHKPK(oduPackUInt16, ¶m->phichTxPwrOffset, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isDynCfiEnb, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isAutoCfgModeEnb, mBuf); + CMCHKPK(oduPackUInt32, (uint32_t*)¶m->msg4pAVal, mBuf); + /*LAA: Unpack LAA Cell params*/ + CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf); + #ifdef LTE_ADV + CMCHKUNPK(oduPackUInt8, ¶m->isPucchFormat3Sptd, mBuf); +#endif +#ifdef RG_5GTF + CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf); +#endif return ROK; } @@ -4165,11 +3200,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeUlSrsCfg +* Func : cmPkRgrUeAprdDlCqiCfg * * -* Desc : SRS configuration parameters information. - Reference 36.313 SoundingRS-UL-Config +* Desc : Downlink Aperiodic CQI reporting related configuration per UE * * * Ret : S16 @@ -4179,30 +3213,32 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeUlSrsCfg +S16 cmPkRgrUeAprdDlCqiCfg ( -RgrUeUlSrsCfg *param, +RgrUeAprdDlCqiCfg *param, Buffer *mBuf ) { + /*Pack Aperiodic Trigger List only for Pcell */ +#ifdef LTE_ADV + CMCHKPK(oduUnpackUInt8, param->triggerSet2, mBuf); + CMCHKPK(oduUnpackUInt8, param->triggerSet1, mBuf); +#endif - CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); - /*rgr_c_001.main_9 DEL removed unwanted comments*/ - CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf); + CMCHKPK(oduUnpackUInt32, param->aprdModeEnum, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } -#endif /*TFU_UPGRADE */ - /*********************************************************** * -* Func : cmPkRgrUeDlCqiCfg +* Func : cmUnpkRgrUeAprdDlCqiCfg * * -* Desc : Downlink CQI reporting related configuration per UE +* Desc : Downlink Aperiodic CQI reporting related configuration per UE * * * Ret : S16 @@ -4212,36 +3248,38 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeDlCqiCfg +S16 cmUnpkRgrUeAprdDlCqiCfg ( -RgrUeDlCqiCfg *param, +RgrUeAprdDlCqiCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum; -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE - CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); +#ifdef LTE_ADV + CMCHKUNPK(oduPackUInt8, ¶m->triggerSet1, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->triggerSet2, mBuf); #endif -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifndef TFU_UPGRADE - CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); -#endif - CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf); return ROK; } +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifndef TFU_UPGRADE + /*********************************************************** * -* Func : cmUnpkRgrUeDlCqiCfg +* Func : cmPkRgrUePrdDlCqiCfg * * -* Desc : Downlink CQI reporting related configuration per UE +* Desc : Downlink Periodic CQI reporting related configuration per UE * * * Ret : S16 @@ -4251,16 +3289,21 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeDlCqiCfg +S16 cmPkRgrUePrdDlCqiCfg ( -RgrUeDlCqiCfg *param, +RgrUePrdDlCqiCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); + CMCHKPK(oduUnpackUInt16, param->cqiPmiCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->k, mBuf); + CMCHKPK(SPkS8, param->cqiOffst, mBuf); + CMCHKPK(oduUnpackUInt8, param->subframeOffst, mBuf); + CMCHKPK(oduUnpackUInt32, param->prdicityEnum, mBuf); + CMCHKPK(oduUnpackUInt32, param->prdModeEnum, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } @@ -4268,10 +3311,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeMeasGapCfg +* Func : cmUnpkRgrUePrdDlCqiCfg * * -* Desc : Measurement gap configuration for UE +* Desc : Downlink Periodic CQI reporting related configuration per UE * * * Ret : S16 @@ -4281,59 +3324,38 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeMeasGapCfg +S16 cmUnpkRgrUePrdDlCqiCfg ( -RgrUeMeasGapCfg *param, +RgrUePrdDlCqiCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKPK(oduUnpackUInt8, param->gapOffst, mBuf); - CMCHKPK(oduUnpackUInt8, param->gapPrd, mBuf); - CMCHKPK(oduUnpackUInt8, param->isMesGapEnabled, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->prdModeEnum = tmpEnum; + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->prdicityEnum = tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->subframeOffst, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->k, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->cqiPmiCfgIdx, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmUnpkRgrUeMeasGapCfg -* -* -* Desc : Measurement gap configuration for UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrUeMeasGapCfg -( -RgrUeMeasGapCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->isMesGapEnabled, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->gapPrd, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->gapOffst, mBuf); - return ROK; -} +#endif -/*rgr_c_001.main_9 ADD DRX functionality under flag*/ - +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifdef TFU_UPGRADE /*********************************************************** * -* Func : cmPkRgrDrxLongCycleOffst +* Func : cmPkRgrUeDlPCqiSetup * * -* Desc : DRX Long Cycle Offset +* Desc : Periodic CQI Setup configuration parameters information * * * Ret : S16 @@ -4343,16 +3365,23 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDrxLongCycleOffst +S16 cmPkRgrUeDlPCqiSetup ( -RgrDrxLongCycleOffst *param, +RgrUeDlPCqiSetup *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->drxStartOffst, mBuf); - CMCHKPK(oduUnpackUInt16, param->longDrxCycle, mBuf); + CMCHKPK(oduUnpackUInt32, param->prdModeEnum, mBuf); + CMCHKPK(oduUnpackUInt8, param->sANCQI, mBuf); + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKPK(oduUnpackUInt16, param->riCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->riEna, mBuf); + CMCHKPK(oduUnpackUInt8, param->k, mBuf); + CMCHKPK(oduUnpackUInt8, param->cqiRepType, mBuf); + CMCHKPK(oduUnpackUInt16, param->cqiPCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt16, param->cqiPResIdx, mBuf); return ROK; } @@ -4360,10 +3389,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDrxLongCycleOffst +* Func : cmUnpkRgrUeDlPCqiSetup * * -* Desc : DRX Long Cycle Offset +* Desc : Periodic CQI Setup configuration parameters information * * * Ret : S16 @@ -4373,16 +3402,25 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDrxLongCycleOffst +S16 cmUnpkRgrUeDlPCqiSetup ( -RgrDrxLongCycleOffst *param, +RgrUeDlPCqiSetup *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt16, ¶m->longDrxCycle, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->drxStartOffst, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->cqiPResIdx, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->cqiPCfgIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->cqiRepType, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->k, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->riEna, mBuf); + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKUNPK(oduPackUInt16, ¶m->riCfgIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->sANCQI, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->prdModeEnum = (RgrPrdCqiMode) tmpEnum; return ROK; } @@ -4390,10 +3428,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrDrxShortDrx +* Func : cmPkRgrUePrdDlCqiCfg * * -* Desc : DRX Short Cycle Offset +* Desc : Periodic CQI/PMI/RI configuration parameters information * * * Ret : S16 @@ -4403,17 +3441,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDrxShortDrx +S16 cmPkRgrUePrdDlCqiCfg ( -RgrDrxShortDrx *param, +RgrUePrdDlCqiCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->drxShortCycleTmr, mBuf); - CMCHKPK(oduUnpackUInt16, param->shortDrxCycle, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf); + CMCHKPK(oduUnpackUInt8, param->type, mBuf); return ROK; } @@ -4421,10 +3458,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDrxShortDrx +* Func : cmUnpkRgrUePrdDlCqiCfg * * -* Desc : DRX Short Cycle Offset +* Desc : Periodic CQI/PMI/RI configuration parameters information * * * Ret : S16 @@ -4434,26 +3471,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDrxShortDrx +S16 cmUnpkRgrUePrdDlCqiCfg ( -RgrDrxShortDrx *param, +RgrUePrdDlCqiCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->shortDrxCycle, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->drxShortCycleTmr, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); + CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf); return ROK; } + + /*********************************************************** * -* Func : cmPkRgrUeDrxCfg +* Func : cmPkRgrUeUlSrsSetupCfg * * -* Desc : DRX configuration for UE +* Desc : SRS configuration setup parameters information. + Reference 36.313 SoundingRS-UL-Config * * * Ret : S16 @@ -4463,29 +3502,23 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeDrxCfg +S16 cmPkRgrUeUlSrsSetupCfg ( -RgrUeDrxCfg *param, +RgrUeUlSrsSetupCfg *param, Buffer *mBuf ) { - CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf); - CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf); - CMCHKPK(oduUnpackUInt16, param->drxRetxTmr, mBuf); -#ifdef EMTC_ENABLE - CMCHKPK(oduUnpackUInt8, param->drxRetxTmrR13Pres, mBuf); - CMCHKPK(oduUnpackUInt8, param->drxOnDurTmrR13Pres, mBuf); - CMCHKPK(oduUnpackUInt16, param->emtcDrxUlRetxTmr, mBuf); - CMCHKPK(oduUnpackUInt8, param->isEmtcUe, mBuf); -#endif - CMCHKPK(oduUnpackUInt16, param->drxInactvTmr, mBuf); - CMCHKPK(oduUnpackUInt16, param->drxOnDurTmr, mBuf); -/*rgr_c_001.main_9 ADD added changes for R9*/ -#ifdef LTEMAC_R9 - CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf); -#endif + CMCHKPK(oduUnpackUInt8, param->fDomPosi, mBuf); + CMCHKPK(oduUnpackUInt8, param->txComb, mBuf); + CMCHKPK(oduUnpackUInt8, param->sANSrs, mBuf); + CMCHKPK(oduUnpackUInt8, param->duration, mBuf); + CMCHKPK(oduUnpackUInt32, param->cycShift, mBuf); + CMCHKPK(oduUnpackUInt32, param->srsHopBw, mBuf); + CMCHKPK(oduUnpackUInt32, param->srsBw, mBuf); + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKPK(oduUnpackUInt16, param->srsCfgIdx, mBuf); return ROK; } @@ -4493,10 +3526,11 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeDrxCfg +* Func : cmUnpkRgrUeUlSrsSetupCfg * * -* Desc : DRX configuration for UE +* Desc : SRS configuration setup parameters information. + Reference 36.313 SoundingRS-UL-Config * * * Ret : S16 @@ -4506,40 +3540,38 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeDrxCfg +S16 cmUnpkRgrUeUlSrsSetupCfg ( -RgrUeDrxCfg *param, +RgrUeUlSrsSetupCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; -/*rgr_c_001.main_9 ADD added changes for R9*/ -#ifdef LTEMAC_R9 - CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf); -#endif - CMCHKUNPK(oduPackUInt16, ¶m->drxOnDurTmr, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->drxInactvTmr, mBuf); -#ifdef EMTC_ENABLE - CMCHKUNPK(oduPackUInt8, ¶m->isEmtcUe, mBuf); - CMCHKUNPK(oduPackUInt16,¶m->emtcDrxUlRetxTmr, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->drxOnDurTmrR13Pres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->drxRetxTmrR13Pres, mBuf); -#endif - CMCHKUNPK(oduPackUInt16, ¶m->drxRetxTmr, mBuf); - CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf); - CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf); + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKUNPK(oduPackUInt16, ¶m->srsCfgIdx, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->srsBw = (RgrUlSrsBwInfo) tmpEnum; + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum; + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->duration, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->sANSrs, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->txComb, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->fDomPosi, mBuf); return ROK; } -/*rgr_c_001.main_9 ADD added DRX changes under DRX*/ + /*********************************************************** * -* Func : cmPkRgrUeCapCfg +* Func : cmPkRgrUeSrSetupCfg * * -* Desc : RgrUeCapCfg +* Desc : SR Setup configuration parameters information * * * Ret : S16 @@ -4549,19 +3581,18 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeCapCfg +S16 cmPkRgrUeSrSetupCfg ( -RgrUeCapCfg *param, +RgrUeSrSetupCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->txAntSel, mBuf); - CMCHKPK(oduUnpackUInt8, param->simCqiAckNack, mBuf); - CMCHKPK(oduUnpackUInt8, param->resAloocType1, mBuf); - CMCHKPK(oduUnpackUInt8, param->intraSfFeqHop, mBuf); - CMCHKPK(oduUnpackUInt8, param->pwrClass, mBuf); + /* ccpu00131601:DEL - dTMax Packing removed since this param will not + * be required by Scheduler*/ + CMCHKPK(oduUnpackUInt8, param->srCfgIdx, mBuf); + CMCHKPK(oduUnpackUInt16, param->srResIdx, mBuf); return ROK; } @@ -4569,10 +3600,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeCapCfg +* Func : cmUnpkRgrUeSrSetupCfg * * -* Desc : RgrUeCapCfg +* Desc : SR Setup configuration parameters information * * * Ret : S16 @@ -4582,30 +3613,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeCapCfg +S16 cmUnpkRgrUeSrSetupCfg ( -RgrUeCapCfg *param, +RgrUeSrSetupCfg *param, Buffer *mBuf ) { - - CMCHKUNPK(oduPackUInt8, ¶m->pwrClass, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->intraSfFeqHop, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->resAloocType1, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->simCqiAckNack, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->txAntSel, mBuf); - + CMCHKUNPK(oduPackUInt16, ¶m->srResIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->srCfgIdx, mBuf); + /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not + * be required by Scheduler*/ return ROK; } + /*********************************************************** * -* Func : cmPkRgrUeAckNackRepCfg +* Func : cmPkRgrUeSrCfg * * -* Desc : rgrUeAckNackRepCfg +* Desc : SR configuration parameters information * * * Ret : S16 @@ -4615,17 +3644,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeAckNackRepCfg +S16 cmPkRgrUeSrCfg ( -RgrUeAckNackRepCfg *param, +RgrUeSrCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, param->ackNackRepFactor, mBuf); - CMCHKPK(oduUnpackUInt16, param->pucchAckNackRep, mBuf); - CMCHKPK(oduUnpackUInt8, param->isAckNackEnabled, mBuf); + CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf); + CMCHKPK(oduUnpackUInt8, param->type, mBuf); return ROK; } @@ -4633,10 +3661,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeAckNackRepCfg +* Func : cmUnpkRgrUeSrCfg * * -* Desc : rgrUeAckNackRepCfg +* Desc : SR configuration parameters information * * * Ret : S16 @@ -4646,19 +3674,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeAckNackRepCfg +S16 cmUnpkRgrUeSrCfg ( -RgrUeAckNackRepCfg *param, +RgrUeSrCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->isAckNackEnabled, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->pucchAckNackRep, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); + CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf); return ROK; } @@ -4666,10 +3691,11 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeTxModeCfg +* Func : cmPkRgrUeUlSrsCfg * * -* Desc : Transmission mode configuration per UE +* Desc : SRS configuration parameters information. + Reference 36.313 SoundingRS-UL-Config * * * Ret : S16 @@ -4679,18 +3705,17 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeTxModeCfg +S16 cmPkRgrUeUlSrsCfg ( -RgrUeTxModeCfg *param, +RgrUeUlSrsCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, param->txModeEnum, mBuf); - CMCHKPK(oduUnpackUInt32, param->tmTrnstnState, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); - + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf); + CMCHKPK(oduUnpackUInt8, param->type, mBuf); return ROK; } @@ -4698,10 +3723,11 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeTxModeCfg +* Func : cmUnpkRgrUeUlSrsCfg * * -* Desc : Transmission mode configuration per UE +* Desc : SRS configuration parameters information. + Reference 36.313 SoundingRS-UL-Config * * * Ret : S16 @@ -4711,32 +3737,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeTxModeCfg +S16 cmUnpkRgrUeUlSrsCfg ( -RgrUeTxModeCfg *param, +RgrUeUlSrsCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum; - - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->txModeEnum = (RgrTxMode) tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->type, mBuf); + /*rgr_c_001.main_9 DEL removed unwanted comments*/ + CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf); return ROK; } +#endif /*TFU_UPGRADE */ + /*********************************************************** * -* Func : cmPkRgrUeUlHqCfg +* Func : cmPkRgrUeDlCqiCfg * * -* Desc : Uplink HARQ configuration per UE +* Desc : Downlink CQI reporting related configuration per UE * * * Ret : S16 @@ -4746,16 +3770,25 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeUlHqCfg +S16 cmPkRgrUeDlCqiCfg ( -RgrUeUlHqCfg *param, +RgrUeDlCqiCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->deltaHqOffst, mBuf); - CMCHKPK(oduUnpackUInt8, param->maxUlHqTx, mBuf); + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifdef TFU_UPGRADE + CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); +#endif + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifndef TFU_UPGRADE + CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); +#endif + CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf); return ROK; } @@ -4763,10 +3796,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeUlHqCfg +* Func : cmUnpkRgrUeDlCqiCfg * * -* Desc : Uplink HARQ configuration per UE +* Desc : Downlink CQI reporting related configuration per UE * * * Ret : S16 @@ -4776,16 +3809,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeUlHqCfg +S16 cmUnpkRgrUeDlCqiCfg ( -RgrUeUlHqCfg *param, +RgrUeDlCqiCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->maxUlHqTx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->deltaHqOffst, mBuf); + CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf); return ROK; } @@ -4793,10 +3826,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeGrpPwrCfg +* Func : cmPkRgrUeMeasGapCfg * * -* Desc : Group power configuration per UE for PUCCH and PUSCH group power control +* Desc : Measurement gap configuration for UE * * * Ret : S16 @@ -4806,17 +3839,17 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeGrpPwrCfg +S16 cmPkRgrUeMeasGapCfg ( -RgrUeGrpPwrCfg *param, +RgrUeMeasGapCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->idx, mBuf); - CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKPK(oduUnpackUInt8, param->gapOffst, mBuf); + CMCHKPK(oduUnpackUInt8, param->gapPrd, mBuf); + CMCHKPK(oduUnpackUInt8, param->isMesGapEnabled, mBuf); return ROK; } @@ -4824,10 +3857,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeGrpPwrCfg +* Func : cmUnpkRgrUeMeasGapCfg * * -* Desc : Group power configuration per UE for PUCCH and PUSCH group power control +* Desc : Measurement gap configuration for UE * * * Ret : S16 @@ -4837,29 +3870,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeGrpPwrCfg +S16 cmUnpkRgrUeMeasGapCfg ( -RgrUeGrpPwrCfg *param, +RgrUeMeasGapCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->idx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isMesGapEnabled, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->gapPrd, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->gapOffst, mBuf); return ROK; } -/*rgr_c_001.main_7 - Added support for SPS*/ - +/*rgr_c_001.main_9 ADD DRX functionality under flag*/ /*********************************************************** * -* Func : cmPkRgrUeSpsDlCfg +* Func : cmPkRgrDrxLongCycleOffst * * -* Desc : DL SPS configuration parameters per UE +* Desc : DRX Long Cycle Offset * * * Ret : S16 @@ -4869,22 +3901,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeSpsDlCfg +S16 cmPkRgrDrxLongCycleOffst ( -RgrUeSpsDlCfg *param, +RgrDrxLongCycleOffst *param, Buffer *mBuf ) { - S32 i; - CMCHKPK(oduUnpackUInt16, param->explicitRelCnt, mBuf); - CMCHKPK(oduUnpackUInt32, param->dlSpsPrdctyEnum, mBuf); - for (i=param->numPucchVal-1; i >= 0; i--) { - CMCHKPK(oduUnpackUInt32, param->n1PucchVal[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numPucchVal, mBuf); - CMCHKPK(oduUnpackUInt8, param->numSpsHqProc, mBuf); - CMCHKPK(oduUnpackUInt8, param->isDlSpsEnabled, mBuf); + + CMCHKPK(oduUnpackUInt16, param->drxStartOffst, mBuf); + CMCHKPK(oduUnpackUInt16, param->longDrxCycle, mBuf); return ROK; } @@ -4892,10 +3918,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeSpsDlCfg +* Func : cmUnpkRgrDrxLongCycleOffst * * -* Desc : DL SPS configuration parameters per UE +* Desc : DRX Long Cycle Offset * * * Ret : S16 @@ -4905,25 +3931,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSpsDlCfg +S16 cmUnpkRgrDrxLongCycleOffst ( -RgrUeSpsDlCfg *param, +RgrDrxLongCycleOffst *param, Buffer *mBuf ) { - uint32_t tmpEnum; - S32 i; - CMCHKUNPK(oduPackUInt8, ¶m->isDlSpsEnabled, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numSpsHqProc, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numPucchVal, mBuf); - for (i=0; inumPucchVal; i++) { - CMCHKUNPK(oduPackUInt32, ¶m->n1PucchVal[i], mBuf); - } - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->dlSpsPrdctyEnum = tmpEnum; - CMCHKUNPK(oduPackUInt16, ¶m->explicitRelCnt, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->longDrxCycle, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->drxStartOffst, mBuf); return ROK; } @@ -4931,10 +3948,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeSpsUlCfg +* Func : cmPkRgrDrxShortDrx * * -* Desc : UL SPS configuration parameters per UE +* Desc : DRX Short Cycle Offset * * * Ret : S16 @@ -4944,34 +3961,17 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeSpsUlCfg +S16 cmPkRgrDrxShortDrx ( -RgrUeSpsUlCfg *param, +RgrDrxShortDrx *param, Buffer *mBuf ) { - S32 i; - - CMCHKPK(oduUnpackUInt8, param->isLcSRMaskEnab, mBuf); - for (i=param->lcCnt-1; i >= 0; i--) { - /* SPS Changes starts */ - CMCHKPK(oduUnpackUInt8, param->spsLcInfo[i].isSpsEnabled, mBuf); - CMCHKPK(oduUnpackUInt8, param->spsLcInfo[i].lcId, mBuf); - /* SPS Changes ends */ - } - CMCHKPK(oduUnpackUInt8, param->lcCnt, mBuf); - CMCHKPK(oduUnpackUInt32, param->ulSpsPrdctyEnum, mBuf); - CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf); - CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf); - CMCHKPK(oduUnpackUInt8, param->pwrCfgPres, mBuf); - -#ifdef LTE_TDD - CMCHKPK(oduUnpackUInt8, param->twoIntervalCfg, mBuf); -#endif - CMCHKPK(oduUnpackUInt32, param->implicitRelCnt, mBuf); - CMCHKPK(oduUnpackUInt8, param->isUlSpsEnabled, mBuf); + CMCHKPK(oduUnpackUInt8, param->drxShortCycleTmr, mBuf); + CMCHKPK(oduUnpackUInt16, param->shortDrxCycle, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } @@ -4979,10 +3979,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeSpsUlCfg +* Func : cmUnpkRgrDrxShortDrx * * -* Desc : UL SPS configuration parameters per UE +* Desc : DRX Short Cycle Offset * * * Ret : S16 @@ -4992,46 +3992,26 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSpsUlCfg +S16 cmUnpkRgrDrxShortDrx ( -RgrUeSpsUlCfg *param, +RgrDrxShortDrx *param, Buffer *mBuf ) { - uint32_t tmpEnum; - - S32 i; - - CMCHKUNPK(oduPackUInt8, ¶m->isUlSpsEnabled, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->implicitRelCnt = tmpEnum; -#ifdef LTE_TDD - CMCHKUNPK(oduPackUInt8, ¶m->twoIntervalCfg, mBuf); -#endif - CMCHKUNPK(oduPackUInt8, ¶m->pwrCfgPres, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ulSpsPrdctyEnum = tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->lcCnt, mBuf); - for (i=0; ilcCnt; i++) { - CMCHKUNPK(oduPackUInt8, ¶m->spsLcInfo[i].lcId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf); - } - CMCHKUNPK(oduPackUInt8, ¶m->isLcSRMaskEnab, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->shortDrxCycle, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->drxShortCycleTmr, mBuf); return ROK; } - - /*********************************************************** * -* Func : cmPkRgrUeSpsCfg +* Func : cmPkRgrUeDrxCfg * * -* Desc : SPS configuration parameters per UE +* Desc : DRX configuration for UE * * * Ret : S16 @@ -5041,17 +4021,29 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeSpsCfg +S16 cmPkRgrUeDrxCfg ( -RgrUeSpsCfg *param, +RgrUeDrxCfg *param, Buffer *mBuf ) { - CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf); - CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf); - CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf); + CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf); + CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf); + CMCHKPK(oduUnpackUInt16, param->drxRetxTmr, mBuf); +#ifdef EMTC_ENABLE + CMCHKPK(oduUnpackUInt8, param->drxRetxTmrR13Pres, mBuf); + CMCHKPK(oduUnpackUInt8, param->drxOnDurTmrR13Pres, mBuf); + CMCHKPK(oduUnpackUInt16, param->emtcDrxUlRetxTmr, mBuf); + CMCHKPK(oduUnpackUInt8, param->isEmtcUe, mBuf); +#endif + CMCHKPK(oduUnpackUInt16, param->drxInactvTmr, mBuf); + CMCHKPK(oduUnpackUInt16, param->drxOnDurTmr, mBuf); +/*rgr_c_001.main_9 ADD added changes for R9*/ +#ifdef LTEMAC_R9 + CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf); +#endif return ROK; } @@ -5059,10 +4051,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeSpsCfg +* Func : cmUnpkRgrUeDrxCfg * * -* Desc : SPS configuration parameters per UE +* Desc : DRX configuration for UE * * * Ret : S16 @@ -5072,27 +4064,40 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSpsCfg +S16 cmUnpkRgrUeDrxCfg ( -RgrUeSpsCfg *param, +RgrUeDrxCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf); - CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf); +/*rgr_c_001.main_9 ADD added changes for R9*/ +#ifdef LTEMAC_R9 + CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf); +#endif + CMCHKUNPK(oduPackUInt16, ¶m->drxOnDurTmr, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->drxInactvTmr, mBuf); +#ifdef EMTC_ENABLE + CMCHKUNPK(oduPackUInt8, ¶m->isEmtcUe, mBuf); + CMCHKUNPK(oduPackUInt16,¶m->emtcDrxUlRetxTmr, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->drxOnDurTmrR13Pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->drxRetxTmrR13Pres, mBuf); +#endif + CMCHKUNPK(oduPackUInt16, ¶m->drxRetxTmr, mBuf); + CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf); + CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf); return ROK; } - +/*rgr_c_001.main_9 ADD added DRX changes under DRX*/ + /*********************************************************** * -* Func : cmPkRgrUeUlPwrCfg +* Func : cmPkRgrUeCapCfg * * -* Desc : Uplink power configuration per UE +* Desc : RgrUeCapCfg * * * Ret : S16 @@ -5102,22 +4107,19 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeUlPwrCfg +S16 cmPkRgrUeCapCfg ( -RgrUeUlPwrCfg *param, +RgrUeCapCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->trgCqi, mBuf); - CMCHKPK(oduUnpackUInt8, param->pSRSOffset, mBuf); - CMCHKPK(SPkS8, param->p0UePucch, mBuf); - CMCHKPK(SPkS8, param->p0UePusch, mBuf); - CMCHKPK(oduUnpackUInt8, param->isDeltaMCSEnabled, mBuf); - CMCHKPK(oduUnpackUInt8, param->isAccumulated, mBuf); - CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf); - CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf); + CMCHKPK(oduUnpackUInt8, param->txAntSel, mBuf); + CMCHKPK(oduUnpackUInt8, param->simCqiAckNack, mBuf); + CMCHKPK(oduUnpackUInt8, param->resAloocType1, mBuf); + CMCHKPK(oduUnpackUInt8, param->intraSfFeqHop, mBuf); + CMCHKPK(oduUnpackUInt8, param->pwrClass, mBuf); return ROK; } @@ -5125,10 +4127,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeUlPwrCfg +* Func : cmUnpkRgrUeCapCfg * * -* Desc : Uplink power configuration per UE +* Desc : RgrUeCapCfg * * * Ret : S16 @@ -5138,33 +4140,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeUlPwrCfg +S16 cmUnpkRgrUeCapCfg ( -RgrUeUlPwrCfg *param, +RgrUeCapCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf); - CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isAccumulated, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isDeltaMCSEnabled, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf); - CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->pSRSOffset, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->trgCqi, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pwrClass, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->intraSfFeqHop, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->resAloocType1, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->simCqiAckNack, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->txAntSel, mBuf); + return ROK; } - /*********************************************************** * -* Func : cmPkRgrUeQosCfg +* Func : cmPkRgrUeAckNackRepCfg * * -* Desc : Downlink/Uplink QoS configuration per UE +* Desc : rgrUeAckNackRepCfg * * * Ret : S16 @@ -5174,17 +4173,17 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeQosCfg +S16 cmPkRgrUeAckNackRepCfg ( -RgrUeQosCfg *param, +RgrUeAckNackRepCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt32, param->ueBr, mBuf); - CMCHKPK(oduUnpackUInt32, param->dlAmbr, mBuf); - CMCHKPK(oduUnpackUInt8, param->ambrPres, mBuf); + CMCHKPK(oduUnpackUInt32, param->ackNackRepFactor, mBuf); + CMCHKPK(oduUnpackUInt16, param->pucchAckNackRep, mBuf); + CMCHKPK(oduUnpackUInt8, param->isAckNackEnabled, mBuf); return ROK; } @@ -5192,10 +4191,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeQosCfg +* Func : cmUnpkRgrUeAckNackRepCfg * * -* Desc : Downlink/Uplink QoS configuration per UE +* Desc : rgrUeAckNackRepCfg * * * Ret : S16 @@ -5205,58 +4204,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeQosCfg +S16 cmUnpkRgrUeAckNackRepCfg ( -RgrUeQosCfg *param, +RgrUeAckNackRepCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->ambrPres, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->dlAmbr, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->ueBr, mBuf); - return ROK; -} - -/*********************************************************** -* -* Func : cmPkRgrUePuschDedCfg -* -* -* Desc : PUSCH Config Dedication for UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrUePuschDedCfg -( -RgrUePuschDedCfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(oduUnpackUInt8, param->bCQIIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->bRIIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->bACKIdx, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isAckNackEnabled, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->pucchAckNackRep, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum; return ROK; } + /*********************************************************** * -* Func : cmUnpkRgrUePuschDedCfg +* Func : cmPkRgrUeTxModeCfg * * -* Desc : PUSCH Config Dedication for UE -* +* Desc : Transmission mode configuration per UE * * * Ret : S16 @@ -5266,27 +4237,29 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUePuschDedCfg +S16 cmPkRgrUeTxModeCfg ( -RgrUePuschDedCfg *param, +RgrUeTxModeCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->bACKIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->bRIIdx, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->bCQIIdx, mBuf); + CMCHKPK(oduUnpackUInt32, param->txModeEnum, mBuf); + CMCHKPK(oduUnpackUInt32, param->tmTrnstnState, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + return ROK; } + + /*********************************************************** * -* Func : cmPkRgrUeTxAntSelCfg +* Func : cmUnpkRgrUeTxModeCfg * * -* Desc : UE Transmit Antenna selection related configuration +* Desc : Transmission mode configuration per UE * * * Ret : S16 @@ -5296,16 +4269,21 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeTxAntSelCfg +S16 cmUnpkRgrUeTxModeCfg ( -RgrUeTxAntSelCfg *param, +RgrUeTxModeCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKPK(oduUnpackUInt32, param->selType, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum; + + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->txModeEnum = (RgrTxMode) tmpEnum; return ROK; } @@ -5313,10 +4291,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeTxAntSelCfg +* Func : cmPkRgrUeUlHqCfg * * -* Desc : UE Transmit Antenna selection related configuration +* Desc : Uplink HARQ configuration per UE * * * Ret : S16 @@ -5326,28 +4304,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeTxAntSelCfg +S16 cmPkRgrUeUlHqCfg ( -RgrUeTxAntSelCfg *param, +RgrUeUlHqCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->selType = (RgrUeTxAntSelType) tmpEnum; + CMCHKPK(oduUnpackUInt8, param->deltaHqOffst, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUlHqTx, mBuf); return ROK; } + /*********************************************************** * -* Func : cmPkRgrUeTaTmrCfg +* Func : cmUnpkRgrUeUlHqCfg * * -* Desc : Time Alignment timer configuration per UE +* Desc : Uplink HARQ configuration per UE * * * Ret : S16 @@ -5357,16 +4334,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeTaTmrCfg +S16 cmUnpkRgrUeUlHqCfg ( -RgrUeTaTmrCfg *param, +RgrUeUlHqCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->taTmr, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxUlHqTx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->deltaHqOffst, mBuf); return ROK; } @@ -5374,10 +4351,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeTaTmrCfg +* Func : cmPkRgrUeGrpPwrCfg * * -* Desc : Time Alignment timer configuration per UE +* Desc : Group power configuration per UE for PUCCH and PUSCH group power control * * * Ret : S16 @@ -5387,248 +4364,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeTaTmrCfg -( -RgrUeTaTmrCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->taTmr, mBuf); - return ROK; -} - - -#ifdef EMTC_ENABLE -S16 cmUnpkRgrEmtcUeCfg -( -RgrUeEmtcCfg *param, -Buffer *mBuf -) -{ - S32 indx=0; - S32 idx=0; - RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg); - RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg); - RgrEpdcchAddModLst *epdcchAddModLst; - - CMCHKUNPK(oduPackUInt8,¶m->pdschReptLevModeA,mBuf); - /*UnPacking PUCCH Rep */ - CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf); - CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf); - CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->isPucchRepPres),mBuf); - - - - for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++) - { - epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); - CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf); - CMCHKUNPK(oduPackUInt16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.pres),mBuf); - CMCHKUNPK(cmUnpkTknUInt8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf); - CMCHKUNPK(cmUnpkTknUInt32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf); - CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->pucchResStartoffset),mBuf); - CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->dmrsScrambSeq),mBuf); - for(idx = 0; idx < 5; idx++) - { - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf); - } - - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->transmissionType),mBuf); - CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->setConfigId),mBuf); - - } - CMCHKUNPK(cmUnpkTknUInt32,&(emtcEpdcchCfg->startSymbolr11),mBuf); - for(indx = 0; indx < 5; indx++) - { - CMCHKUNPK(oduPackUInt8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf); - } - CMCHKUNPK(oduPackUInt8, &(emtcEpdcchCfg->sfPtn.pres), mBuf); - CMCHKUNPK(oduPackUInt8, &(param->pres), mBuf); - CMCHKUNPK(oduPackUInt8, &(param->isHdFddEnbld), mBuf); - -#ifdef EMTC_DEBUG_CONSOLE_PRINTS - printf("\n EMTC RGR UE unpack\n"); - printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres); - - for(indx = 0; indx < 5; indx++) - { - printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]); - } - printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres); - printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val); - - for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++) - { - epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); - printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres); - printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val); - printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId); - printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType); - printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs); - for(idx = 0; idx < 5 ; idx++) - { - printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]); - } - printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq); - printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset); - printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres); - printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val); - printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres); - printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val); - printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres); - printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep); - printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop); - printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD); - printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep); - printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB); - } - -#endif - - return ROK; -} - - - -S16 cmPkRgrEmtcUeCfg -( - RgrUeEmtcCfg *param, - Buffer *mBuf - ) -{ - S32 indx=0; - S32 idx=0; - RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg); - RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg); - RgrEpdcchAddModLst *epdcchAddModLst; - - CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); - CMCHKPK(oduUnpackUInt8, emtcEpdcchCfg->sfPtn.pres, mBuf); - for(indx = 4; indx >=0; indx--) - { - CMCHKPK(oduUnpackUInt8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf); - } - CMCHKPK(cmPkTknUInt32,&emtcEpdcchCfg->startSymbolr11,mBuf); - for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--) - { - epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); - - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->setConfigId,mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->transmissionType,mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf); - for(idx = 4; idx >= 0; idx--) - { - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf); - } - CMCHKPK(oduUnpackUInt32,epdcchAddModLst->dmrsScrambSeq,mBuf); - CMCHKPK(oduUnpackUInt32,epdcchAddModLst->pucchResStartoffset,mBuf); - CMCHKPK(cmPkTknUInt32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf); - CMCHKPK(cmPkTknUInt8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.pres,mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf); - CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf); - CMCHKPK(oduUnpackUInt16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf); - CMCHKPK(oduUnpackUInt32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf); - } - -/*Packing PUCCH Rep */ - CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->isPucchRepPres, mBuf); - CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf); - CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf); - CMCHKPK(oduUnpackUInt8,param->pdschReptLevModeA,mBuf); - -#ifdef EMTC_DEBUG_CONSOLE_PRINTS - printf("\n EMTC RGR UE pack\n"); - printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres); - - for(indx = 0; indx < 5; indx++) - { - printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]); - } - printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres); - printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val); - - for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++) - { - epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); - /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres); - printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/ - printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId); - printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType); - printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs); - for(idx = 0; idx < 5 ; idx++) - { - printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]); - } - printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq); - printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset); - printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres); - printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val); - printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres); - printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val); - printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres); - printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep); - printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop); - printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD); - printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep); - printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB); - } - -#endif - - - - return ROK; -} -#endif - -#ifdef RG_5GTF -S16 cmUnpkRgr5gtfUeCfg -( - RgrUe5gtfCfg *param, - Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt8, ¶m->grpId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->BeamId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numCC, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->mcs, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxPrb, mBuf); - return ROK; -} - -S16 cmPkRgr5gtfUeCfg +S16 cmPkRgrUeGrpPwrCfg ( - RgrUe5gtfCfg *param, - Buffer *mBuf +RgrUeGrpPwrCfg *param, +Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->maxPrb, mBuf); - CMCHKPK(oduUnpackUInt8, param->mcs, mBuf); - CMCHKPK(oduUnpackUInt8, param->numCC, mBuf); - CMCHKPK(oduUnpackUInt8, param->BeamId, mBuf); - CMCHKPK(oduUnpackUInt8, param->grpId, mBuf); + + + CMCHKPK(oduUnpackUInt8, param->idx, mBuf); + CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } -#endif + /*********************************************************** * -* Func : cmPkRgrUeCfg +* Func : cmUnpkRgrUeGrpPwrCfg * * -* Desc : UE configuration +* Desc : Group power configuration per UE for PUCCH and PUSCH group power control * * * Ret : S16 @@ -5638,86 +4395,93 @@ S16 cmPkRgr5gtfUeCfg * File : * **********************************************************/ -S16 cmPkRgrUeCfg +S16 cmUnpkRgrUeGrpPwrCfg ( -RgrUeCfg *param, +RgrUeGrpPwrCfg *param, Buffer *mBuf ) { -#ifdef RG_5GTF - CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf); -#endif -#ifdef EMTC_ENABLE - CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->csgMmbrSta, mBuf); - - CMCHKPK(oduUnpackUInt32, param->accessStratumRls, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ -#ifdef TFU_UPGRADE -/*rgr_c_001.main_9 ADD PDSCH ded cfg*/ - CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); -#endif - /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from - RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ -#ifdef RGR_CQI_REPT - CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); -#endif - CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ - CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->idx, mBuf); + return ROK; +} -/*rgr_c_001.main_9 ADD added changes for HDFDD*/ -#ifdef LTEMAC_HDFDD - CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); -#endif +/*rgr_c_001.main_7 - Added support for SPS*/ -#ifdef TFU_UPGRADE - CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf); - CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); -#endif + +/*********************************************************** +* +* Func : cmPkRgrUeSpsDlCfg +* +* +* Desc : DL SPS configuration parameters per UE +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmPkRgrUeSpsDlCfg +( +RgrUeSpsDlCfg *param, +Buffer *mBuf +) +{ + S32 i; + CMCHKPK(oduUnpackUInt16, param->explicitRelCnt, mBuf); + CMCHKPK(oduUnpackUInt32, param->dlSpsPrdctyEnum, mBuf); + for (i=param->numPucchVal-1; i >= 0; i--) { + CMCHKPK(oduUnpackUInt32, param->n1PucchVal[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numPucchVal, mBuf); + CMCHKPK(oduUnpackUInt8, param->numSpsHqProc, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDlSpsEnabled, mBuf); + return ROK; +} - CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf); + +/*********************************************************** +* +* Func : cmUnpkRgrUeSpsDlCfg +* +* +* Desc : DL SPS configuration parameters per UE +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrUeSpsDlCfg +( +RgrUeSpsDlCfg *param, +Buffer *mBuf +) +{ + uint32_t tmpEnum; -#ifdef LTE_TDD - CMCHKPK(oduUnpackUInt32, param->ackNackModeEnum, mBuf); + S32 i; -#endif - CMCHKPK(cmPkTknUInt8, ¶m->dedPreambleId, mBuf); - CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf); - CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf); - CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf); - CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf); - CMCHKPK(oduUnpackUInt8, param->isTtiBundlEnabled, mBuf); -/*rgr_c_001.main_9 ADD added changes for DRX*/ - - /* Anshika - Pack only if DRX is enabled */ - if(TRUE == param->ueDrxCfg.isDrxEnabled) - { - CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isDlSpsEnabled, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numSpsHqProc, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numPucchVal, mBuf); + for (i=0; inumPucchVal; i++) { + CMCHKUNPK(oduPackUInt32, ¶m->n1PucchVal[i], mBuf); } - CMCHKPK(oduUnpackUInt8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if - DRX is disabled */ - CMCHKPK(oduUnpackUInt32, param->ueCatEnum, mBuf); -#ifdef RGR_V1 - /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and - * retxBSR-timer */ - CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf); -#endif - CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf); - CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf); - CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf); - CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); - CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf); - CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->dlSpsPrdctyEnum = tmpEnum; + CMCHKUNPK(oduPackUInt16, ¶m->explicitRelCnt, mBuf); return ROK; } @@ -5725,10 +4489,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUeCfg +* Func : cmPkRgrUeSpsUlCfg * * -* Desc : UE configuration +* Desc : UL SPS configuration parameters per UE * * * Ret : S16 @@ -5738,86 +4502,34 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeCfg +S16 cmPkRgrUeSpsUlCfg ( -RgrUeCfg *param, +RgrUeSpsUlCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; + S32 i; - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf); - CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf); -#ifdef RGR_V1 - /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and - * retxBSR-timer */ - CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf); -#endif - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ueCatEnum = (CmLteUeCategory) tmpEnum; -/*rgr_c_001.main_9 ADD added changes for DRX*/ - - /* Anshika - Unpack only if DRX is enabled */ - CMCHKUNPK(oduPackUInt8, ¶m->ueDrxCfg.isDrxEnabled, mBuf); - if(TRUE == param->ueDrxCfg.isDrxEnabled) - { - CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->isLcSRMaskEnab, mBuf); + for (i=param->lcCnt-1; i >= 0; i--) { + /* SPS Changes starts */ + CMCHKPK(oduUnpackUInt8, param->spsLcInfo[i].isSpsEnabled, mBuf); + CMCHKPK(oduUnpackUInt8, param->spsLcInfo[i].lcId, mBuf); + /* SPS Changes ends */ } - CMCHKUNPK(oduPackUInt8, ¶m->isTtiBundlEnabled, mBuf); - CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf); - CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf); - CMCHKUNPK(cmUnpkTknUInt8, ¶m->dedPreambleId, mBuf); + CMCHKPK(oduUnpackUInt8, param->lcCnt, mBuf); + CMCHKPK(oduUnpackUInt32, param->ulSpsPrdctyEnum, mBuf); + CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf); + CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf); + CMCHKPK(oduUnpackUInt8, param->pwrCfgPres, mBuf); #ifdef LTE_TDD - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ackNackModeEnum = tmpEnum; - -#endif - /*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf); - -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE - CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf); -#endif -/*rgr_c_001.main_9 ADD added changes for HDFDD*/ -#ifdef LTEMAC_HDFDD - CMCHKUNPK(oduPackUInt8, ¶m->isHdFddEnbld, mBuf); -#endif - CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); -/* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from - RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ -#ifdef RGR_CQI_REPT - CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); -#endif -#ifdef TFU_UPGRADE - CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); -#endif - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->accessStratumRls, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->csgMmbrSta, mBuf); - -#ifdef EMTC_ENABLE - CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf); -#endif + CMCHKPK(oduUnpackUInt8, param->twoIntervalCfg, mBuf); -#ifdef RG_5GTF - CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf); #endif - + CMCHKPK(oduUnpackUInt32, param->implicitRelCnt, mBuf); + CMCHKPK(oduUnpackUInt8, param->isUlSpsEnabled, mBuf); return ROK; } @@ -5825,10 +4537,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrLchQosCfg +* Func : cmUnpkRgrUeSpsUlCfg * * -* Desc : QCI, GBR and MBR configuration for dedicated logical channels +* Desc : UL SPS configuration parameters per UE * * * Ret : S16 @@ -5838,17 +4550,35 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrLchQosCfg +S16 cmUnpkRgrUeSpsUlCfg ( -RgrLchQosCfg *param, +RgrUeSpsUlCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; + S32 i; - CMCHKPK(oduUnpackUInt32, param->mbr, mBuf); - CMCHKPK(oduUnpackUInt32, param->gbr, mBuf); - CMCHKPK(oduUnpackUInt8, param->qci, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isUlSpsEnabled, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->implicitRelCnt = tmpEnum; + +#ifdef LTE_TDD + CMCHKUNPK(oduPackUInt8, ¶m->twoIntervalCfg, mBuf); + +#endif + CMCHKUNPK(oduPackUInt8, ¶m->pwrCfgPres, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ulSpsPrdctyEnum = tmpEnum; + CMCHKUNPK(oduPackUInt8, ¶m->lcCnt, mBuf); + for (i=0; ilcCnt; i++) { + CMCHKUNPK(oduPackUInt8, ¶m->spsLcInfo[i].lcId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->isLcSRMaskEnab, mBuf); return ROK; } @@ -5856,10 +4586,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrLchQosCfg +* Func : cmPkRgrUeSpsCfg * * -* Desc : QCI, GBR and MBR configuration for dedicated logical channels +* Desc : SPS configuration parameters per UE * * * Ret : S16 @@ -5869,28 +4599,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrLchQosCfg +S16 cmPkRgrUeSpsCfg ( -RgrLchQosCfg *param, +RgrUeSpsCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->gbr, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->mbr, mBuf); + CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf); + CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf); + CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf); return ROK; } -/*rgr_c_001.main_7 - Added support for SPS*/ + /*********************************************************** * -* Func : cmPkRgrLchSpsCfg +* Func : cmUnpkRgrUeSpsCfg * * -* Desc : SPS related configuration for logical channels +* Desc : SPS configuration parameters per UE * * * Ret : S16 @@ -5900,27 +4630,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrLchSpsCfg +S16 cmUnpkRgrUeSpsCfg ( -RgrLchSpsCfg *param, +RgrUeSpsCfg *param, Buffer *mBuf ) { - /* SPS_DEV */ - CMCHKPK(oduUnpackUInt8, param->isSpsEnabled, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf); + CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf); return ROK; } - /*********************************************************** * -* Func : cmUnpkRgrLchSpsCfg +* Func : cmPkRgrUeUlPwrCfg * * -* Desc : SPS related configuration for logical channels +* Desc : Uplink power configuration per UE * * * Ret : S16 @@ -5930,26 +4660,33 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrLchSpsCfg +S16 cmPkRgrUeUlPwrCfg ( -RgrLchSpsCfg *param, +RgrUeUlPwrCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->isSpsEnabled, mBuf); - + CMCHKPK(oduUnpackUInt8, param->trgCqi, mBuf); + CMCHKPK(oduUnpackUInt8, param->pSRSOffset, mBuf); + CMCHKPK(SPkS8, param->p0UePucch, mBuf); + CMCHKPK(SPkS8, param->p0UePusch, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDeltaMCSEnabled, mBuf); + CMCHKPK(oduUnpackUInt8, param->isAccumulated, mBuf); + CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf); + CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf); return ROK; } + /*********************************************************** * -* Func : cmPkRgrDlLchCfg +* Func : cmUnpkRgrUeUlPwrCfg * * -* Desc : Logical channel configuration info for downlink logical channels +* Desc : Uplink power configuration per UE * * * Ret : S16 @@ -5959,19 +4696,22 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDlLchCfg +S16 cmUnpkRgrUeUlPwrCfg ( -RgrDlLchCfg *param, +RgrUeUlPwrCfg *param, Buffer *mBuf ) { -/*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKPK(oduUnpackUInt8, param->rlcReorderTmr, mBuf); - CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf); - CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlTrchType, mBuf); + CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf); + CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isAccumulated, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isDeltaMCSEnabled, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf); + CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pSRSOffset, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->trgCqi, mBuf); return ROK; } @@ -5979,10 +4719,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrDlLchCfg +* Func : cmPkRgrUeQosCfg * * -* Desc : Logical channel configuration info for downlink logical channels +* Desc : Downlink/Uplink QoS configuration per UE * * * Ret : S16 @@ -5992,34 +4732,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDlLchCfg +S16 cmPkRgrUeQosCfg ( -RgrDlLchCfg *param, +RgrUeQosCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->dlTrchType, mBuf); - CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf); - /*rgr_c_001.main_7 - Added support for SPs*/ - CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->rlcReorderTmr, mBuf); - + CMCHKPK(oduUnpackUInt32, param->ueBr, mBuf); + CMCHKPK(oduUnpackUInt32, param->dlAmbr, mBuf); + CMCHKPK(oduUnpackUInt8, param->ambrPres, mBuf); return ROK; } -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ -#ifdef LTE_L2_MEAS - /*********************************************************** * -* Func : cmPkRgrUlLchCfg +* Func : cmUnpkRgrUeQosCfg * * -* Desc : Logical channel configuration information for uplink logical channels +* Desc : Downlink/Uplink QoS configuration per UE * * * Ret : S16 @@ -6029,28 +4763,58 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUlLchCfg +S16 cmUnpkRgrUeQosCfg ( -RgrUlLchCfg *param, +RgrUeQosCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->qci, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ambrPres, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->dlAmbr, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->ueBr, mBuf); + return ROK; +} + +/*********************************************************** +* +* Func : cmPkRgrUePuschDedCfg +* +* +* Desc : PUSCH Config Dedication for UE +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmPkRgrUePuschDedCfg +( +RgrUePuschDedCfg *param, +Buffer *mBuf +) +{ + + + CMCHKPK(oduUnpackUInt8, param->bCQIIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->bRIIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->bACKIdx, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } - -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ /*********************************************************** * -* Func : cmUnpkRgrUlLchCfg +* Func : cmUnpkRgrUePuschDedCfg * * -* Desc : Logical channel configuration information for uplink logical channels +* Desc : PUSCH Config Dedication for UE +* * * * Ret : S16 @@ -6060,28 +4824,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUlLchCfg +S16 cmUnpkRgrUePuschDedCfg ( -RgrUlLchCfg *param, +RgrUePuschDedCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->bACKIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->bRIIdx, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->bCQIIdx, mBuf); return ROK; } - -#endif - /*********************************************************** * -* Func : cmPkRgrUlLcgCfg +* Func : cmPkRgrUeTxAntSelCfg * * -* Desc : Logical channel configuration info for uplink logical channels +* Desc : UE Transmit Antenna selection related configuration * * * Ret : S16 @@ -6091,29 +4854,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUlLcgCfg +S16 cmPkRgrUeTxAntSelCfg ( -RgrUlLcgCfg *param, +RgrUeTxAntSelCfg *param, Buffer *mBuf ) { -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ -#ifdef LTE_L2_MEAS - S32 i; -#endif - CMCHKPK(oduUnpackUInt32, param->mbr, mBuf); - CMCHKPK(oduUnpackUInt32, param->gbr, mBuf); -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ -#ifdef LTE_L2_MEAS - for (i = param->numLch - 1; i >= 0; i--) - { - CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numLch, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); + CMCHKPK(oduUnpackUInt32, param->selType, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } @@ -6121,10 +4871,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrUlLcgCfg +* Func : cmUnpkRgrUeTxAntSelCfg * * -* Desc : Logical channel configuration info for uplink logical channels +* Desc : UE Transmit Antenna selection related configuration * * * Ret : S16 @@ -6134,63 +4884,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUlLcgCfg +S16 cmUnpkRgrUeTxAntSelCfg ( -RgrUlLcgCfg *param, +RgrUeTxAntSelCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ -#ifdef LTE_L2_MEAS - S32 i; -#endif - - CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); -/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ -#ifdef LTE_L2_MEAS - CMCHKUNPK(oduPackUInt8, ¶m->numLch, mBuf); - for (i = 0; i< param->numLch; i++) - { - CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf); - } -#endif - CMCHKUNPK(oduPackUInt32, ¶m->gbr, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->mbr, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->selType = (RgrUeTxAntSelType) tmpEnum; return ROK; } -S16 cmPkRgrUlLchQciCfg -( -RgrUlLchQciCfg *param, -Buffer *mBuf -) -{ - CMCHKPK(oduUnpackUInt8, param->lcId, mBuf); - CMCHKPK(oduUnpackUInt8, param->qci, mBuf); - CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); - return ROK; -} -S16 cmUnpkRgrUlLchQciCfg -( -RgrUlLchQciCfg *param, -Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->lcId, mBuf); - return ROK; -} - /*********************************************************** * -* Func : cmPkRgrLchCfg +* Func : cmPkRgrUeTaTmrCfg * * -* Desc : Logical channel configuration info for dedicated channels +* Desc : Time Alignment timer configuration per UE * * * Ret : S16 @@ -6200,20 +4915,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrLchCfg +S16 cmPkRgrUeTaTmrCfg ( -RgrLchCfg *param, +RgrUeTaTmrCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); - CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); - CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf); - CMCHKPK(cmPkLteLcType, param->lcType, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + + CMCHKPK(oduUnpackUInt16, param->taTmr, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } @@ -6221,10 +4932,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrLchCfg +* Func : cmUnpkRgrUeTaTmrCfg * * -* Desc : Logical channel configuration info for dedicated channels +* Desc : Time Alignment timer configuration per UE * * * Ret : S16 @@ -6234,110 +4945,248 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrLchCfg +S16 cmUnpkRgrUeTaTmrCfg ( -RgrLchCfg *param, +RgrUeTaTmrCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf); - CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf); - CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->taTmr, mBuf); return ROK; } -S16 cmPkRgrLcgCfg +#ifdef EMTC_ENABLE +S16 cmUnpkRgrEmtcUeCfg ( -RgrLcgCfg *param, +RgrUeEmtcCfg *param, Buffer *mBuf ) { + S32 indx=0; + S32 idx=0; + RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg); + RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg); + RgrEpdcchAddModLst *epdcchAddModLst; + + CMCHKUNPK(oduPackUInt8,¶m->pdschReptLevModeA,mBuf); + /*UnPacking PUCCH Rep */ + CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf); + CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf); + CMCHKUNPK(oduPackUInt8,&(emtcPucchRepCfg->isPucchRepPres),mBuf); + + + + for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++) + { + epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); + CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf); + CMCHKUNPK(oduPackUInt16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->extaddgrp2.pres),mBuf); + CMCHKUNPK(cmUnpkTknUInt8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf); + CMCHKUNPK(cmUnpkTknUInt32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf); + CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->pucchResStartoffset),mBuf); + CMCHKUNPK(oduPackUInt32,&(epdcchAddModLst->dmrsScrambSeq),mBuf); + for(idx = 0; idx < 5; idx++) + { + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf); + } + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->transmissionType),mBuf); + CMCHKUNPK(oduPackUInt8,&(epdcchAddModLst->setConfigId),mBuf); - CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} + } + CMCHKUNPK(cmUnpkTknUInt32,&(emtcEpdcchCfg->startSymbolr11),mBuf); + for(indx = 0; indx < 5; indx++) + { + CMCHKUNPK(oduPackUInt8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf); + } + CMCHKUNPK(oduPackUInt8, &(emtcEpdcchCfg->sfPtn.pres), mBuf); + CMCHKUNPK(oduPackUInt8, &(param->pres), mBuf); + CMCHKUNPK(oduPackUInt8, &(param->isHdFddEnbld), mBuf); +#ifdef EMTC_DEBUG_CONSOLE_PRINTS + printf("\n EMTC RGR UE unpack\n"); + printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres); -S16 cmUnpkRgrLcgCfg -( -RgrLcgCfg *param, -Buffer *mBuf -) -{ + for(indx = 0; indx < 5; indx++) + { + printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]); + } + printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres); + printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val); + for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++) + { + epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); + printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres); + printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val); + printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId); + printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType); + printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs); + for(idx = 0; idx < 5 ; idx++) + { + printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]); + } + printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq); + printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset); + printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres); + printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val); + printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres); + printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val); + printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres); + printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep); + printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop); + printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD); + printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep); + printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB); + } + +#endif - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf); return ROK; } - -/*********************************************************** -* -* Func : cmPkRgrCfg -* -* -* Desc : Basic Configuration structure at RRM -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrCfg + +S16 cmPkRgrEmtcUeCfg ( -RgrCfg *param, -Buffer *mBuf -) + RgrUeEmtcCfg *param, + Buffer *mBuf + ) { + S32 indx=0; + S32 idx=0; + RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg); + RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg); + RgrEpdcchAddModLst *epdcchAddModLst; + CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKPK(oduUnpackUInt8, emtcEpdcchCfg->sfPtn.pres, mBuf); + for(indx = 4; indx >=0; indx--) + { + CMCHKPK(oduUnpackUInt8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf); + } + CMCHKPK(cmPkTknUInt32,&emtcEpdcchCfg->startSymbolr11,mBuf); + for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--) + { + epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); - switch(param->cfgType) { - case RGR_LCG_CFG: - CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf); - break; - case RGR_LCH_CFG: - CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf); - break; - case RGR_UE_CFG: - CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf); - break; - case RGR_CELL_CFG: - CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf); - break; - case MAC_GNB_CFG: - CMCHKPK(cmPkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf); - break; - default : - return RFAILED; + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->setConfigId,mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->transmissionType,mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf); + for(idx = 4; idx >= 0; idx--) + { + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf); } - CMCHKPK(oduUnpackUInt8, param->cfgType, mBuf); + CMCHKPK(oduUnpackUInt32,epdcchAddModLst->dmrsScrambSeq,mBuf); + CMCHKPK(oduUnpackUInt32,epdcchAddModLst->pucchResStartoffset,mBuf); + CMCHKPK(cmPkTknUInt32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf); + CMCHKPK(cmPkTknUInt8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.pres,mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf); + CMCHKPK(oduUnpackUInt8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf); + CMCHKPK(oduUnpackUInt16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf); + CMCHKPK(oduUnpackUInt32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf); + } + +/*Packing PUCCH Rep */ + CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->isPucchRepPres, mBuf); + CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf); + CMCHKPK(oduUnpackUInt8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf); + CMCHKPK(oduUnpackUInt8,param->pdschReptLevModeA,mBuf); + +#ifdef EMTC_DEBUG_CONSOLE_PRINTS + printf("\n EMTC RGR UE pack\n"); + printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres); + + for(indx = 0; indx < 5; indx++) + { + printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]); + } + printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres); + printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val); + + for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++) + { + epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]); + /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres); + printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/ + printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId); + printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType); + printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs); + for(idx = 0; idx < 5 ; idx++) + { + printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]); + } + printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq); + printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset); + printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres); + printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val); + printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres); + printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val); + printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres); + printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep); + printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop); + printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD); + printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep); + printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB); + } + +#endif + + + + return ROK; +} +#endif + +#ifdef RG_5GTF +S16 cmUnpkRgr5gtfUeCfg +( + RgrUe5gtfCfg *param, + Buffer *mBuf +) +{ + CMCHKUNPK(oduPackUInt8, ¶m->grpId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->BeamId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numCC, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->mcs, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->maxPrb, mBuf); return ROK; } +S16 cmPkRgr5gtfUeCfg +( + RgrUe5gtfCfg *param, + Buffer *mBuf +) +{ + CMCHKPK(oduUnpackUInt8, param->maxPrb, mBuf); + CMCHKPK(oduUnpackUInt8, param->mcs, mBuf); + CMCHKPK(oduUnpackUInt8, param->numCC, mBuf); + CMCHKPK(oduUnpackUInt8, param->BeamId, mBuf); + CMCHKPK(oduUnpackUInt8, param->grpId, mBuf); + return ROK; +} +#endif /*********************************************************** * -* Func : cmUnpkRgrCfg +* Func : cmPkRgrUeCfg * * -* Desc : Basic Configuration structure at RRM +* Desc : UE configuration * * * Ret : S16 @@ -6347,34 +5196,86 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCfg +S16 cmPkRgrUeCfg ( -RgrCfg *param, +RgrUeCfg *param, Buffer *mBuf ) { +#ifdef RG_5GTF + CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf); +#endif +#ifdef EMTC_ENABLE + CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->csgMmbrSta, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->cfgType, mBuf); - switch(param->cfgType) { - case MAC_GNB_CFG: - CMCHKUNPK(cmUnpkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf); - break; - case RGR_CELL_CFG: - CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf); - break; - case RGR_UE_CFG: - CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf); - break; - case RGR_LCH_CFG: - CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf); - break; - case RGR_LCG_CFG: - CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf); - break; - default : - return RFAILED; - } + CMCHKPK(oduUnpackUInt32, param->accessStratumRls, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ +#ifdef TFU_UPGRADE +/*rgr_c_001.main_9 ADD PDSCH ded cfg*/ + CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); +#endif + /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from + RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ +#ifdef RGR_CQI_REPT + CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); +#endif + CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ + CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); + +/*rgr_c_001.main_9 ADD added changes for HDFDD*/ +#ifdef LTEMAC_HDFDD + CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); +#endif + +#ifdef TFU_UPGRADE + CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf); + CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); +#endif + + + + CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf); + +#ifdef LTE_TDD + CMCHKPK(oduUnpackUInt32, param->ackNackModeEnum, mBuf); + +#endif + CMCHKPK(cmPkTknUInt8, ¶m->dedPreambleId, mBuf); + CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf); + CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf); + CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf); + CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->isTtiBundlEnabled, mBuf); +/*rgr_c_001.main_9 ADD added changes for DRX*/ + + /* Anshika - Pack only if DRX is enabled */ + if(TRUE == param->ueDrxCfg.isDrxEnabled) + { + CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf); + } + CMCHKPK(oduUnpackUInt8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if + DRX is disabled */ + CMCHKPK(oduUnpackUInt32, param->ueCatEnum, mBuf); +#ifdef RGR_V1 + /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and + * retxBSR-timer */ + CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf); +#endif + CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf); + CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf); + CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf); + CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); + CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf); + CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } @@ -6382,10 +5283,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrActvTime +* Func : cmUnpkRgrUeCfg * * -* Desc : Activation time information +* Desc : UE configuration * * * Ret : S16 @@ -6395,16 +5296,86 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrActvTime +S16 cmUnpkRgrUeCfg ( -RgrActvTime *param, +RgrUeCfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; - CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf); - CMCHKPK(oduUnpackUInt8, param->pres, mBuf); + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf); + CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf); +#ifdef RGR_V1 + /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and + * retxBSR-timer */ + CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf); +#endif + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ueCatEnum = (CmLteUeCategory) tmpEnum; +/*rgr_c_001.main_9 ADD added changes for DRX*/ + + /* Anshika - Unpack only if DRX is enabled */ + CMCHKUNPK(oduPackUInt8, ¶m->ueDrxCfg.isDrxEnabled, mBuf); + if(TRUE == param->ueDrxCfg.isDrxEnabled) + { + CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->isTtiBundlEnabled, mBuf); + CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf); + CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf); + CMCHKUNPK(cmUnpkTknUInt8, ¶m->dedPreambleId, mBuf); + +#ifdef LTE_TDD + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ackNackModeEnum = tmpEnum; + +#endif + /*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf); + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifdef TFU_UPGRADE + CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf); +#endif +/*rgr_c_001.main_9 ADD added changes for HDFDD*/ +#ifdef LTEMAC_HDFDD + CMCHKUNPK(oduPackUInt8, ¶m->isHdFddEnbld, mBuf); +#endif + CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); +/* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from + RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ +#ifdef RGR_CQI_REPT + CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); +#endif +#ifdef TFU_UPGRADE + CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); +#endif + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->accessStratumRls, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->csgMmbrSta, mBuf); + +#ifdef EMTC_ENABLE + CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf); +#endif + +#ifdef RG_5GTF + CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf); +#endif + return ROK; } @@ -6412,10 +5383,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrActvTime +* Func : cmPkRgrLchQosCfg * * -* Desc : Activation time information +* Desc : QCI, GBR and MBR configuration for dedicated logical channels * * * Ret : S16 @@ -6425,16 +5396,17 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrActvTime +S16 cmPkRgrLchQosCfg ( -RgrActvTime *param, +RgrLchQosCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); - CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf); + CMCHKPK(oduUnpackUInt32, param->mbr, mBuf); + CMCHKPK(oduUnpackUInt32, param->gbr, mBuf); + CMCHKPK(oduUnpackUInt8, param->qci, mBuf); return ROK; } @@ -6442,10 +5414,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrCellRecfg +* Func : cmUnpkRgrLchQosCfg * * -* Desc : Cell reconfiguration structure at RRM +* Desc : QCI, GBR and MBR configuration for dedicated logical channels * * * Ret : S16 @@ -6455,49 +5427,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCellRecfg +S16 cmUnpkRgrLchQosCfg ( -RgrCellRecfg *param, +RgrLchQosCfg *param, Buffer *mBuf ) { - CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf); - CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); - CMCHKPK(oduUnpackUInt8, param->isDynCfiEnb, mBuf); - CMCHKPK(oduUnpackUInt8, param->isAutoCfgModeEnb, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKPK(oduUnpackUInt16, param->t300TmrVal, mBuf); - /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ -#ifdef RGR_SI_SCH - CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf); -#endif /* RGR_SI_SCH */ - CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf); - CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf); - CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf); - CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf); - CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); - CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); - CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); - CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); - CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf); - CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf); - CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf); - CMCHKPK(oduUnpackUInt32, param->recfgTypes, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + + CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->gbr, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->mbr, mBuf); return ROK; } - +/*rgr_c_001.main_7 - Added support for SPS*/ /*********************************************************** * -* Func : cmUnpkRgrCellRecfg +* Func : cmPkRgrLchSpsCfg * * -* Desc : Cell reconfiguration structure at RRM +* Desc : SPS related configuration for logical channels * * * Ret : S16 @@ -6507,40 +5458,16 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCellRecfg +S16 cmPkRgrLchSpsCfg ( -RgrCellRecfg *param, +RgrLchSpsCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->recfgTypes, mBuf); - CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf); - CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); - CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); - CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); - CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); - CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf); - /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */ -#ifdef RGR_SI_SCH - CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf); -#endif /* RGR_SI_SCH */ - CMCHKUNPK(oduPackUInt16, ¶m->t300TmrVal, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKUNPK(oduPackUInt8, ¶m->isAutoCfgModeEnb, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->isDynCfiEnb, mBuf); - CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); - CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf); - + /* SPS_DEV */ + CMCHKPK(oduUnpackUInt8, param->isSpsEnabled, mBuf); return ROK; } @@ -6548,10 +5475,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkRgrUeRecfg +* Func : cmUnpkRgrLchSpsCfg * * -* Desc : UE reconfiguration info +* Desc : SPS related configuration for logical channels * * * Ret : S16 @@ -6561,111 +5488,26 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeRecfg +S16 cmUnpkRgrLchSpsCfg ( -RgrUeRecfg *param, +RgrLchSpsCfg *param, Buffer *mBuf ) { -#ifdef EMTC_ENABLE - /* Note: As we add more members to emtcUeRecfg, - create a new function for pkUnpk */ - CMCHKPK(oduUnpackUInt8, param->emtcUeRecfg.isHdFddEnbld, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->csgMmbrSta, mBuf); - - CMCHKPK(oduUnpackUInt32, param->accessStratumRls, mBuf); -#ifdef LTE_ADV - CMCHKPK(oduUnpackUInt8, param->simulAckNackCQIFormat3, mBuf); - CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf); - CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf); -#endif - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKPK(oduUnpackUInt8, param->ueLteAdvCfg.isUeCellEdge, mBuf); - CMCHKPK(oduUnpackUInt8, param->ueLteAdvCfg.isAbsUe, mBuf); - CMCHKPK(oduUnpackUInt32, param->ueLteAdvCfg.pres, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - /*ccpu00130497: Removed the duplicate packing*/ -#ifdef TFU_UPGRADE - CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); -#endif - /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from - RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ -#ifdef RGR_CQI_REPT - CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); -#endif - -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ - CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); - -/*rgr_c_001.main_9 ADD added changes for HDFDD*/ -#ifdef LTEMAC_HDFDD - CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); -#endif - -#ifdef TFU_UPGRADE - CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf); - CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); - CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf); -#endif - - /*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf); - CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); - - /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */ - CMCHKPK(oduUnpackUInt32, param->ueCatEnum, mBuf); - CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf); - CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf); - CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf); - CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf); - CMCHKPK(oduUnpackUInt8, param->isTtiBundlEnabled, mBuf); -/*rgr_c_001.main_9 ADD added changes for DRX*/ + CMCHKUNPK(oduPackUInt8, ¶m->isSpsEnabled, mBuf); - /* Anshika - Pack only if DRX is enabled */ - if(TRUE == param->ueDrxRecfg.isDrxEnabled) - { - CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf); - } - CMCHKPK(oduUnpackUInt8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if - DRX is disabled */ - CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf); -#ifdef RGR_V1 - /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and - * retxBSR-timer */ - CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf); -#endif - CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf); - CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf); - CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); - -#ifndef TFU_UPGRADE - CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf); -#endif - - CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf); - CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf); - /*rgr_c_001.main_9: changing ueRecfgTypes to uint32_t */ - /* LTE_ADV_FLAG_REMOVED_START */ - /* KW fix for LTE_ADV */ - CMCHKPK(oduUnpackUInt32, param->ueRecfgTypes, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf); - CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } - /*********************************************************** * -* Func : cmUnpkRgrUeRecfg +* Func : cmPkRgrDlLchCfg * * -* Desc : UE reconfiguration info +* Desc : Logical channel configuration info for downlink logical channels * * * Ret : S16 @@ -6675,111 +5517,67 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeRecfg +S16 cmPkRgrDlLchCfg ( -RgrUeRecfg *param, +RgrDlLchCfg *param, Buffer *mBuf ) { - uint32_t tmpEnum; - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf); - /* LTE_ADV_FLAG_REMOVED_START */ - /*rgr_c_001.main_9: changing ueRecfgTypes to uint32_t */ - /* KW fix for LTE_ADV */ - CMCHKUNPK(oduPackUInt32, ¶m->ueRecfgTypes, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ - CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf); - - CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf); - -#ifndef TFU_UPGRADE - CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf); -#endif - - CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf); -#ifdef RGR_V1 - /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and - * retxBSR-timer */ - CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf); -#endif - CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf); -/*rgr_c_001.main_9 ADD added changes for DRX*/ - - /* Anshika - Unpack only if DRX is enabled */ - CMCHKUNPK(oduPackUInt8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf); - if(TRUE == param->ueDrxRecfg.isDrxEnabled) - { - CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf); - } - CMCHKUNPK(oduPackUInt8, ¶m->isTtiBundlEnabled, mBuf); - CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf); - CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf); -/* rgr_c_001.main_7 - Changes for UE category Reconfiguration */ - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->ueCatEnum = (CmLteUeCategory) tmpEnum; - CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); - /*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf); -/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE - CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); - CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf); -#endif - -/*rgr_c_001.main_9 ADD added changes for HDFDD*/ -#ifdef LTEMAC_HDFDD - CMCHKUNPK(oduPackUInt8, ¶m->isHdFddEnbld, mBuf); -#endif - - CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); +/*rgr_c_001.main_7 - Added support for SPS*/ -/* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from - RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ -#ifdef RGR_CQI_REPT - CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); -#endif -#ifdef TFU_UPGRADE - CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); -#endif + CMCHKPK(oduUnpackUInt8, param->rlcReorderTmr, mBuf); + CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf); + CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf); + CMCHKPK(oduUnpackUInt8, param->dlTrchType, mBuf); + return ROK; +} - /* LTE_ADV_FLAG_REMOVED_START */ - CMCHKUNPK(oduPackUInt32, ¶m->ueLteAdvCfg.pres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ueLteAdvCfg.isAbsUe, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf); - /* LTE_ADV_FLAG_REMOVED_END */ -#ifdef LTE_ADV - CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf); - CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->simulAckNackCQIFormat3, mBuf); -#endif - CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->accessStratumRls, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->csgMmbrSta, mBuf); -#ifdef EMTC_ENABLE - CMCHKPK(oduPackUInt8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf); -#endif + +/*********************************************************** +* +* Func : cmUnpkRgrDlLchCfg +* +* +* Desc : Logical channel configuration info for downlink logical channels +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrDlLchCfg +( +RgrDlLchCfg *param, +Buffer *mBuf +) +{ + + + CMCHKUNPK(oduPackUInt8, ¶m->dlTrchType, mBuf); + CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf); + /*rgr_c_001.main_7 - Added support for SPs*/ + CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->rlcReorderTmr, mBuf); return ROK; } +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ +#ifdef LTE_L2_MEAS + /*********************************************************** * -* Func : cmPkRgrLchRecfg +* Func : cmPkRgrUlLchCfg * * -* Desc : Logical channel reconfiguration info for dedicated channels only +* Desc : Logical channel configuration information for uplink logical channels * * * Ret : S16 @@ -6789,34 +5587,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrLchRecfg +S16 cmPkRgrUlLchCfg ( -RgrLchRecfg *param, +RgrUlLchCfg *param, Buffer *mBuf ) { -/*rgr_c_001.main_7 - Added support for SPS*/ - CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); - - CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); - CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf); - - CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf); + + CMCHKPK(oduUnpackUInt8, param->qci, mBuf); CMCHKPK(cmPkLteLcId, param->lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ /*********************************************************** * -* Func : cmUnpkRgrLchRecfg +* Func : cmUnpkRgrUlLchCfg * * -* Desc : Logical channel reconfiguration info for dedicated channels only +* Desc : Logical channel configuration information for uplink logical channels * * * Ret : S16 @@ -6826,88 +5618,28 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrLchRecfg +S16 cmUnpkRgrUlLchCfg ( -RgrLchRecfg *param, +RgrUlLchCfg *param, Buffer *mBuf ) { - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf); - /*rgr_c_001.main_7 - Added support for SPs*/ - CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf); - - CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); - return ROK; -} - - -S16 cmPkRgrLcgRecfg -( -RgrLcgRecfg *param, -Buffer *mBuf -) -{ -#ifdef RG_UNUSED - S32 i; -#endif - - CMCHKPK(oduUnpackUInt32, param->ulRecfg.mbr, mBuf); - CMCHKPK(oduUnpackUInt32, param->ulRecfg.gbr, mBuf); -#ifdef RG_UNUSED - for (i = param->ulRecfg.numLch - 1; i >= 0; i--) - { - CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->ulRecfg.numLch, mBuf); -#endif - CMCHKPK(oduUnpackUInt8, param->ulRecfg.lcgId, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); return ROK; } -S16 cmUnpkRgrLcgRecfg -( -RgrLcgRecfg *param, -Buffer *mBuf -) -{ -#ifdef RG_UNUSED - S32 i; -#endif - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulRecfg.lcgId, mBuf); - -#ifdef RG_UNUSED - CMCHKUNPK(oduPackUInt8, ¶m->ulRecfg.numLch, mBuf); - for (i = 0; i < param->ulRecfg.numLch; i++) - { - CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf); - } #endif - CMCHKUNPK(oduPackUInt32, ¶m->ulRecfg.gbr, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->ulRecfg.mbr, mBuf); - - return ROK; -} - - /*********************************************************** * -* Func : cmPkRgrRecfg +* Func : cmPkRgrUlLcgCfg * * -* Desc : Basic reconfiguration structure at RRM +* Desc : Logical channel configuration info for uplink logical channels * * * Ret : S16 @@ -6917,31 +5649,29 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrRecfg +S16 cmPkRgrUlLcgCfg ( -RgrRecfg *param, +RgrUlLcgCfg *param, Buffer *mBuf ) { +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ +#ifdef LTE_L2_MEAS + S32 i; +#endif + CMCHKPK(oduUnpackUInt32, param->mbr, mBuf); + CMCHKPK(oduUnpackUInt32, param->gbr, mBuf); - switch(param->recfgType) { - case RGR_LCG_CFG: - CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf); - break; - case RGR_LCH_CFG: - CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf); - break; - case RGR_UE_CFG: - CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf); - break; - case RGR_CELL_CFG: - CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt8, param->recfgType, mBuf); +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ +#ifdef LTE_L2_MEAS + for (i = param->numLch - 1; i >= 0; i--) + { + CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numLch, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); return ROK; } @@ -6949,10 +5679,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrRecfg +* Func : cmUnpkRgrUlLcgCfg * * -* Desc : Basic reconfiguration structure at RRM +* Desc : Logical channel configuration info for uplink logical channels * * * Ret : S16 @@ -6962,41 +5692,63 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrRecfg +S16 cmUnpkRgrUlLcgCfg ( -RgrRecfg *param, +RgrUlLcgCfg *param, Buffer *mBuf ) { +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ +#ifdef LTE_L2_MEAS + S32 i; +#endif - CMCHKUNPK(oduPackUInt8, ¶m->recfgType, mBuf); - switch(param->recfgType) { - case RGR_CELL_CFG: - CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf); - break; - case RGR_UE_CFG: - CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf); - break; - case RGR_LCH_CFG: - CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf); - break; - case RGR_LCG_CFG: - CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf); - break; - default : - return RFAILED; - } + CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); +/*rgr_c_001.main_9 ADD added changes for L2 measurements*/ +#ifdef LTE_L2_MEAS + CMCHKUNPK(oduPackUInt8, ¶m->numLch, mBuf); + for (i = 0; i< param->numLch; i++) + { + CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf); + } + +#endif + CMCHKUNPK(oduPackUInt32, ¶m->gbr, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->mbr, mBuf); return ROK; } -#ifdef LTE_ADV +S16 cmPkRgrUlLchQciCfg +( +RgrUlLchQciCfg *param, +Buffer *mBuf +) +{ + CMCHKPK(oduUnpackUInt8, param->lcId, mBuf); + CMCHKPK(oduUnpackUInt8, param->qci, mBuf); + CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); + return ROK; +} +S16 cmUnpkRgrUlLchQciCfg +( +RgrUlLchQciCfg *param, +Buffer *mBuf +) +{ + CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->lcId, mBuf); + return ROK; +} + + /*********************************************************** * -* Func : cmPkRgrUeDlSecCellRelInfo +* Func : cmPkRgrLchCfg * * -* Desc : DL Secondary Cell information of the UE +* Desc : Logical channel configuration info for dedicated channels * * * Ret : S16 @@ -7006,23 +5758,31 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeDlSecCellRelInfo +S16 cmPkRgrLchCfg ( -RgrUeDlSecCellRelInfo *param, +RgrLchCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt16, param->sCellId, mBuf); - CMCHKPK(oduUnpackUInt8, param->sCellIdx, mBuf); + + CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); + CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); + CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf); + CMCHKPK(cmPkLteLcType, param->lcType, mBuf); + CMCHKPK(cmPkLteLcId, param->lcId, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } + + /*********************************************************** * -* Func : cmPkRgrUeSecCellRelInfo +* Func : cmUnpkRgrLchCfg * * -* Desc : Secondary Cell Delete information of the UE +* Desc : Logical channel configuration info for dedicated channels * * * Ret : S16 @@ -7032,30 +5792,62 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeSecCellRelInfo +S16 cmUnpkRgrLchCfg +( +RgrLchCfg *param, +Buffer *mBuf +) +{ + + + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); + CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf); + CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf); + CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); + return ROK; +} + + +S16 cmPkRgrLcgCfg +( +RgrLcgCfg *param, +Buffer *mBuf +) +{ + + + CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + return ROK; +} + + +S16 cmUnpkRgrLcgCfg ( -RgrUeSecCellRelInfo *param, +RgrLcgCfg *param, Buffer *mBuf ) { - S8 idx; - for(idx = param->numSCells - 1; idx >= 0; idx--) - { - CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(uint8_t)idx],mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numSCells, mBuf); + + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf); return ROK; } -#endif + /*********************************************************** * -* Func : cmPkRgrDel +* Func : cmPkRgrCfg * * -* Desc : Basic Delete info for MAC +* Desc : Basic Configuration structure at RRM * * * Ret : S16 @@ -7065,57 +5857,45 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrDel +S16 cmPkRgrCfg ( -RgrDel *param, +RgrCfg *param, Buffer *mBuf ) { - switch(param->delType) { + switch(param->cfgType) { case RGR_LCG_CFG: - CMCHKPK(oduUnpackUInt8, param->u.lcgDel.lcgId, mBuf); - CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf); - break; + CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf); + break; case RGR_LCH_CFG: - CMCHKPK(oduUnpackUInt8, param->u.lchDel.lcgId, mBuf); - CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf); - break; + CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf); + break; case RGR_UE_CFG: - CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf); - break; + CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf); + break; case RGR_CELL_CFG: - CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf); - break; -#ifdef LTE_ADV - case RGR_SCELL_UE_CFG: - CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf); - CMCHKPK(oduUnpackUInt32, param->u.ueScellRel.ueDelTypes, mBuf); - CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf); - break; -#endif + CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf); + break; + case MAC_GNB_CFG: + CMCHKPK(cmPkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf); + break; default : return RFAILED; } - CMCHKPK(oduUnpackUInt8, param->delType, mBuf); + CMCHKPK(oduUnpackUInt8, param->cfgType, mBuf); return ROK; } -#ifdef LTE_ADV /*********************************************************** * -* Func : cmUnpkRgrUeDlSecCellRelInfo +* Func : cmUnpkRgrCfg * * -* Desc : DL Secondary Cell information of the UE +* Desc : Basic Configuration structure at RRM * * * Ret : S16 @@ -7125,24 +5905,45 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeDlSecCellRelInfo +S16 cmUnpkRgrCfg ( -RgrUeDlSecCellRelInfo *param, +RgrCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->sCellIdx, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->sCellId, mBuf); + + + CMCHKUNPK(oduPackUInt8, ¶m->cfgType, mBuf); + switch(param->cfgType) { + case MAC_GNB_CFG: + CMCHKUNPK(cmUnpkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf); + break; + case RGR_CELL_CFG: + CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf); + break; + case RGR_UE_CFG: + CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf); + break; + case RGR_LCH_CFG: + CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf); + break; + case RGR_LCG_CFG: + CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf); + break; + default : + return RFAILED; + } return ROK; } + /*********************************************************** * -* Func : cmUnpkRgrUeSecCellRelInfo +* Func : cmPkRgrActvTime * * -* Desc : Secondary Cell information of the UE +* Desc : Activation time information * * * Ret : S16 @@ -7152,30 +5953,27 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeSecCellRelInfo +S16 cmPkRgrActvTime ( -RgrUeSecCellRelInfo *param, +RgrActvTime *param, Buffer *mBuf ) { - uint8_t idx; - CMCHKUNPK(oduPackUInt8, ¶m->numSCells, mBuf); - for(idx = 0; idx < param->numSCells;idx++) - { - CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf); - } + CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf); + CMCHKPK(oduUnpackUInt8, param->pres, mBuf); return ROK; } -#endif + + /*********************************************************** * -* Func : cmUnpkRgrDel +* Func : cmUnpkRgrActvTime * * -* Desc : Basic Delete info for MAC +* Desc : Activation time information * * * Ret : S16 @@ -7185,203 +5983,133 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrDel +S16 cmUnpkRgrActvTime ( -RgrDel *param, +RgrActvTime *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->delType, mBuf); - switch(param->delType) { - case RGR_CELL_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf); - break; - case RGR_UE_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf); - break; - case RGR_LCH_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->u.lchDel.lcgId, mBuf); - break; - case RGR_LCG_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->u.lcgDel.lcgId, mBuf); - break; -#ifdef LTE_ADV - case RGR_SCELL_UE_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf); - CMCHKUNPK(oduPackUInt32, ¶m->u.ueScellRel.ueDelTypes, mBuf); - CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf); - break; -#endif - default : - return RFAILED; - } + CMCHKUNPK(oduPackUInt8, ¶m->pres, mBuf); + CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf); return ROK; } + + + /*********************************************************** * -* Func : cmPkRgrSonPrbCfg +* Func : cmPkRgrCellRecfg * * -* Desc : SON PRB Configuration info for MAC +* Desc : Cell reconfiguration structure at RRM * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmPkRgrSonPrbCfg +S16 cmPkRgrCellRecfg ( -RgrPrbCfg *param, +RgrCellRecfg *param, Buffer *mBuf ) { - S32 count; - for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --) - { - CMCHKPK(oduUnpackUInt32, param->paLevelPerPrb[count], mBuf); - } - for(count = param->numCellCentreUEs - 1; count >= 0; count --) - { - CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf); - } - for(count = param->numCellEdgeUEs - 1; count >= 0; count --) - { - CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf); - } - CMCHKPK(oduUnpackUInt8, param->numCellCentreUEs, mBuf); - CMCHKPK(oduUnpackUInt8, param->numCellEdgeUEs, mBuf); - CMCHKPK(oduUnpackUInt8, param->isSonIcicEnable, mBuf); - return ROK; -} -/*********************************************************** -* -* Func : cmUnpkRgrSon -* -* -* Desc : SON configuration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrSonPrbCfg -( -RgrPrbCfg *param, -Buffer *mBuf -) -{ - S32 count; - CMCHKUNPK(oduPackUInt8, ¶m->isSonIcicEnable, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numCellEdgeUEs, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numCellCentreUEs, mBuf); - for (count = 0; count < param->numCellEdgeUEs; count++) - { - CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf); - } - for (count = 0; count < param->numCellCentreUEs; count++) - { - CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf); - } - for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++) - { - CMCHKUNPK(oduPackUInt32,(uint32_t *) ¶m->paLevelPerPrb[count], mBuf); - } + CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf); + CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->isDynCfiEnb, mBuf); + CMCHKPK(oduUnpackUInt8, param->isAutoCfgModeEnb, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKPK(oduUnpackUInt16, param->t300TmrVal, mBuf); + /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */ +#ifdef RGR_SI_SCH + CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf); +#endif /* RGR_SI_SCH */ + CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf); + CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf); + CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf); + CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf); + CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); + CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); + CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); + CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); + CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf); + CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf); + CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf); + CMCHKPK(oduUnpackUInt32, param->recfgTypes, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } + + + /*********************************************************** * -* Func : cmPkRgrSonCfg +* Func : cmUnpkRgrCellRecfg * * -* Desc : SON Configuration info for MAC +* Desc : Cell reconfiguration structure at RRM * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmPkRgrSonCfg +S16 cmUnpkRgrCellRecfg ( -RgrSonCfg *param, +RgrCellRecfg *param, Buffer *mBuf ) { - switch(param->cfgType) - { - case RGR_SON_PRB_CFG : - CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt32, param->cfgType, mBuf); - return ROK; -} -/*********************************************************** -* -* Func : cmUnpkRgrSon -* -* -* Desc : SON configuration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkRgrSonCfg -( -RgrSonCfg *param, -Buffer *mBuf -) -{ + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->recfgTypes, mBuf); + CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf); + CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf); + CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf); + CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf); + CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf); + CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf); + /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */ +#ifdef RGR_SI_SCH + CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf); +#endif /* RGR_SI_SCH */ + CMCHKUNPK(oduPackUInt16, ¶m->t300TmrVal, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKUNPK(oduPackUInt8, ¶m->isAutoCfgModeEnb, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isDynCfiEnb, mBuf); + CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf); + CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->cfgType, mBuf); - switch(param->cfgType) - { - case RGR_SON_PRB_CFG : - { - CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf); - break; - default : - return RFAILED; - } - } return ROK; } + /*********************************************************** * -* Func : cmPkRgrRst +* Func : cmPkRgrUeRecfg * * -* Desc : UE RESET info for MAC +* Desc : UE reconfiguration info * * * Ret : S16 @@ -7391,15 +6119,99 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrRst +S16 cmPkRgrUeRecfg ( -RgrRst *param, +RgrUeRecfg *param, Buffer *mBuf ) { +#ifdef EMTC_ENABLE + /* Note: As we add more members to emtcUeRecfg, + create a new function for pkUnpk */ + CMCHKPK(oduUnpackUInt8, param->emtcUeRecfg.isHdFddEnbld, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->csgMmbrSta, mBuf); + + CMCHKPK(oduUnpackUInt32, param->accessStratumRls, mBuf); +#ifdef LTE_ADV + CMCHKPK(oduUnpackUInt8, param->simulAckNackCQIFormat3, mBuf); + CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf); + CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf); +#endif + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKPK(oduUnpackUInt8, param->ueLteAdvCfg.isUeCellEdge, mBuf); + CMCHKPK(oduUnpackUInt8, param->ueLteAdvCfg.isAbsUe, mBuf); + CMCHKPK(oduUnpackUInt32, param->ueLteAdvCfg.pres, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + /*ccpu00130497: Removed the duplicate packing*/ +#ifdef TFU_UPGRADE + CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); +#endif + /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from + RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ +#ifdef RGR_CQI_REPT + CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); +#endif + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ + CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); + +/*rgr_c_001.main_9 ADD added changes for HDFDD*/ +#ifdef LTEMAC_HDFDD + CMCHKPK(oduUnpackUInt8, param->isHdFddEnbld, mBuf); +#endif - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); +#ifdef TFU_UPGRADE + CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf); + CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); + CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf); +#endif + + /*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf); + CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); + + /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */ + CMCHKPK(oduUnpackUInt32, param->ueCatEnum, mBuf); + + CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf); + CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf); + CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf); + CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf); + CMCHKPK(oduUnpackUInt8, param->isTtiBundlEnabled, mBuf); +/*rgr_c_001.main_9 ADD added changes for DRX*/ + + /* Anshika - Pack only if DRX is enabled */ + if(TRUE == param->ueDrxRecfg.isDrxEnabled) + { + CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf); + } + CMCHKPK(oduUnpackUInt8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if + DRX is disabled */ + CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf); +#ifdef RGR_V1 + /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and + * retxBSR-timer */ + CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf); +#endif + CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf); + CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf); + CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); + +#ifndef TFU_UPGRADE + CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf); +#endif + + CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf); + CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf); + /*rgr_c_001.main_9: changing ueRecfgTypes to uint32_t */ + /* LTE_ADV_FLAG_REMOVED_START */ + /* KW fix for LTE_ADV */ + CMCHKPK(oduUnpackUInt32, param->ueRecfgTypes, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf); + CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf); CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } @@ -7408,10 +6220,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrRst +* Func : cmUnpkRgrUeRecfg * * -* Desc : UE RESET info for MAC +* Desc : UE reconfiguration info * * * Ret : S16 @@ -7421,25 +6233,111 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrRst +S16 cmUnpkRgrUeRecfg ( -RgrRst *param, +RgrUeRecfg *param, Buffer *mBuf ) { + uint32_t tmpEnum; + + + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf); + /* LTE_ADV_FLAG_REMOVED_START */ + /*rgr_c_001.main_9: changing ueRecfgTypes to uint32_t */ + /* KW fix for LTE_ADV */ + CMCHKUNPK(oduPackUInt32, ¶m->ueRecfgTypes, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ + CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf); + + CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf); + +#ifndef TFU_UPGRADE + CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf); +#endif + + CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf); +#ifdef RGR_V1 + /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and + * retxBSR-timer */ + CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf); +#endif + CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf); +/*rgr_c_001.main_9 ADD added changes for DRX*/ + + /* Anshika - Unpack only if DRX is enabled */ + CMCHKUNPK(oduPackUInt8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf); + if(TRUE == param->ueDrxRecfg.isDrxEnabled) + { + CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf); + } + CMCHKUNPK(oduPackUInt8, ¶m->isTtiBundlEnabled, mBuf); + CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf); +/* rgr_c_001.main_7 - Changes for UE category Reconfiguration */ + CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); + param->ueCatEnum = (CmLteUeCategory) tmpEnum; + CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf); + /*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf); + +/* rgr_c_001.main_8. Added changes of TFU_UPGRADE */ +#ifdef TFU_UPGRADE + CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf); + CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf); +#endif + +/*rgr_c_001.main_9 ADD added changes for HDFDD*/ +#ifdef LTEMAC_HDFDD + CMCHKUNPK(oduPackUInt8, ¶m->isHdFddEnbld, mBuf); +#endif + + CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf); + +/* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from + RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ +#ifdef RGR_CQI_REPT + CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf); +#endif +#ifdef TFU_UPGRADE + CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf); +#endif + + /* LTE_ADV_FLAG_REMOVED_START */ + CMCHKUNPK(oduPackUInt32, ¶m->ueLteAdvCfg.pres, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ueLteAdvCfg.isAbsUe, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf); + /* LTE_ADV_FLAG_REMOVED_END */ +#ifdef LTE_ADV + CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf); + CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->simulAckNackCQIFormat3, mBuf); +#endif + CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->accessStratumRls, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->csgMmbrSta, mBuf); +#ifdef EMTC_ENABLE + CMCHKPK(oduPackUInt8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf); +#endif - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); return ROK; } -#ifdef LTE_ADV + + + /*********************************************************** * -* Func : cmUnPkRgrSCellActDeactInfo +* Func : cmPkRgrLchRecfg * * -* Desc : SCell Activation information of the UE +* Desc : Logical channel reconfiguration info for dedicated channels only * * * Ret : S16 @@ -7449,23 +6347,34 @@ Buffer *mBuf * File : * **********************************************************/ -static S16 cmUnPkRgrSCellActDeactInfo +S16 cmPkRgrLchRecfg ( -RgrSCellActDeactInfo *param, +RgrLchRecfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->sCellIdx, mBuf); +/*rgr_c_001.main_7 - Added support for SPS*/ + CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); + + CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); + CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf); + + CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf); + CMCHKPK(cmPkLteLcId, param->lcId, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } + + /*********************************************************** * -* Func : cmUnPkRgrSCellActDeactEvnt +* Func : cmUnpkRgrLchRecfg * * -* Desc : SCell Activation Configuration structure to SCH +* Desc : Logical channel reconfiguration info for dedicated channels only * * * Ret : S16 @@ -7475,98 +6384,88 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnPkRgrSCellActDeactEvnt +S16 cmUnpkRgrLchRecfg ( -RgrSCellActDeactEvnt *param, +RgrLchRecfg *param, Buffer *mBuf ) { - uint8_t idx; + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->numOfSCells, mBuf); - - for(idx = 0; idx < param->numOfSCells;idx++) - { - CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf); - } + CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); + CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf); + /*rgr_c_001.main_7 - Added support for SPs*/ + CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf); + CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); return ROK; } -/*********************************************************** -* -* Func : cmPkRgrSCellActInfo -* -* -* Desc : SCell Activation information of the UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -static S16 cmPkRgrSCellActDeactInfo +S16 cmPkRgrLcgRecfg ( -RgrSCellActDeactInfo *param, +RgrLcgRecfg *param, Buffer *mBuf ) { +#ifdef RG_UNUSED + S32 i; +#endif - CMCHKPK(oduUnpackUInt8, param->sCellIdx, mBuf); - + CMCHKPK(oduUnpackUInt32, param->ulRecfg.mbr, mBuf); + CMCHKPK(oduUnpackUInt32, param->ulRecfg.gbr, mBuf); +#ifdef RG_UNUSED + for (i = param->ulRecfg.numLch - 1; i >= 0; i--) + { + CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->ulRecfg.numLch, mBuf); +#endif + CMCHKPK(oduUnpackUInt8, param->ulRecfg.lcgId, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); return ROK; } -/*********************************************************** -* -* Func : cmPkRgrSCellActDeactEvnt -* -* -* Desc : Basic Configuration structure at SCH -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkRgrSCellActDeactEvnt + +S16 cmUnpkRgrLcgRecfg ( -RgrSCellActDeactEvnt *param, +RgrLcgRecfg *param, Buffer *mBuf ) { +#ifdef RG_UNUSED + S32 i; +#endif + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->ulRecfg.lcgId, mBuf); - S8 idx; - for(idx = param->numOfSCells - 1; idx >= 0; idx--) +#ifdef RG_UNUSED + CMCHKUNPK(oduPackUInt8, ¶m->ulRecfg.numLch, mBuf); + for (i = 0; i < param->ulRecfg.numLch; i++) { - CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(uint8_t)idx], mBuf); + CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf); } - - CMCHKPK(oduUnpackUInt8, param->numOfSCells, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); +#endif + CMCHKUNPK(oduPackUInt32, ¶m->ulRecfg.gbr, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->ulRecfg.mbr, mBuf); return ROK; } -#endif /* LTE_ADV */ /*********************************************************** * -* Func : cmPkRgrCfgReqInfo +* Func : cmPkRgrRecfg * * -* Desc : Basic RGR configuration/reconfiguration info at RRM +* Desc : Basic reconfiguration structure at RRM * * * Ret : S16 @@ -7576,41 +6475,31 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrCfgReqInfo +S16 cmPkRgrRecfg ( -RgrCfgReqInfo *param, +RgrRecfg *param, Buffer *mBuf ) { - switch(param->action) { - case RGR_SON_CFG: - CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf); - break; - case RGR_RESET: - CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf); - break; - case RGR_DELETE: - CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf); + switch(param->recfgType) { + case RGR_LCG_CFG: + CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf); break; - case RGR_RECONFIG: - CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf); + case RGR_LCH_CFG: + CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf); break; - case SCH_CONFIG: - CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf); + case RGR_UE_CFG: + CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf); break; -#ifdef LTE_ADV - case RGR_SCELL_ACT: - case RGR_SCELL_DEACT: - case RGR_SCELL_READY: - CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf); + case RGR_CELL_CFG: + CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf); break; -#endif default : return RFAILED; } - CMCHKPK(oduUnpackUInt8, param->action, mBuf); + CMCHKPK(oduUnpackUInt8, param->recfgType, mBuf); return ROK; } @@ -7618,10 +6507,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmUnpkRgrCfgReqInfo +* Func : cmUnpkRgrRecfg * * -* Desc : Basic RGR configuration/reconfiguration info at RRM +* Desc : Basic reconfiguration structure at RRM * * * Ret : S16 @@ -7631,52 +6520,41 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrCfgReqInfo +S16 cmUnpkRgrRecfg ( -RgrCfgReqInfo *param, +RgrRecfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->action, mBuf); - switch(param->action) { - case SCH_CONFIG: - CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf); - break; - case RGR_RECONFIG: - CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf); - break; - case RGR_DELETE: - CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->recfgType, mBuf); + switch(param->recfgType) { + case RGR_CELL_CFG: + CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf); break; - case RGR_RESET: - CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf); + case RGR_UE_CFG: + CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf); break; - case RGR_SON_CFG: - CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf); + case RGR_LCH_CFG: + CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf); break; -#ifdef LTE_ADV - case RGR_SCELL_ACT: - case RGR_SCELL_DEACT: - case RGR_SCELL_READY: - CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf); + case RGR_LCG_CFG: + CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf); break; -#endif /* LTE_ADV */ default : return RFAILED; } return ROK; } -#ifdef RGR_V1 -/* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and - * retxBSR-timer */ + +#ifdef LTE_ADV /*********************************************************** * -* Func : cmPkRgrUeBsrTmrCfg +* Func : cmPkRgrUeDlSecCellRelInfo * * -* Desc : BSR timer configuration per UE +* Desc : DL Secondary Cell information of the UE * * * Ret : S16 @@ -7686,26 +6564,23 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrUeBsrTmrCfg +S16 cmPkRgrUeDlSecCellRelInfo ( -RgrUeBsrTmrCfg *param, +RgrUeDlSecCellRelInfo *param, Buffer *mBuf ) { - - - CMCHKPK(oduUnpackUInt16, param->prdBsrTmr, mBuf); - CMCHKPK(oduUnpackUInt16, param->retxBsrTmr, mBuf); - CMCHKPK(oduUnpackUInt8, param->isPrdBsrTmrPres, mBuf); + CMCHKPK(oduUnpackUInt16, param->sCellId, mBuf); + CMCHKPK(oduUnpackUInt8, param->sCellIdx, mBuf); return ROK; } - + /*********************************************************** * -* Func : cmUnpkRgrUeBsrTmrCfg +* Func : cmPkRgrUeSecCellRelInfo * * -* Desc : BSR timer configuration per UE +* Desc : Secondary Cell Delete information of the UE * * * Ret : S16 @@ -7715,29 +6590,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrUeBsrTmrCfg +S16 cmPkRgrUeSecCellRelInfo ( -RgrUeBsrTmrCfg *param, +RgrUeSecCellRelInfo *param, Buffer *mBuf ) { + S8 idx; + for(idx = param->numSCells - 1; idx >= 0; idx--) + { + CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(uint8_t)idx],mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numSCells, mBuf); - - CMCHKUNPK(oduPackUInt8, ¶m->isPrdBsrTmrPres, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->retxBsrTmr, mBuf); - CMCHKUNPK(oduPackUInt16, ¶m->prdBsrTmr, mBuf); return ROK; } -#endif /* RGR_V1 */ -/* rgr_c_001.main_4-ADD-Added for SI Enhancement. */ -#ifdef RGR_SI_SCH +#endif + + /*********************************************************** * -* Func : cmPkRgrSiCfgReq +* Func : cmPkRgrDel * * -* Desc : SI Configuration Request from RRM to MAC for -* configuring SI +* Desc : Basic Delete info for MAC * * * Ret : S16 @@ -7747,83 +6623,57 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrSiCfgReq +S16 cmPkRgrDel ( -Pst* pst, -SpId spId, -RgrCfgTransId transId, -RgrSiCfgReqInfo * cfgReqInfo +RgrDel *param, +Buffer *mBuf ) { - 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)ERGR045, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)); - return RFAILED; - } - if (cmPkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR046, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR047, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)); - 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)ERGR048, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR049, (ErrVal)0, "Packing failed"); + switch(param->delType) { + case RGR_LCG_CFG: + CMCHKPK(oduUnpackUInt8, param->u.lcgDel.lcgId, mBuf); + CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf); + break; + case RGR_LCH_CFG: + CMCHKPK(oduUnpackUInt8, param->u.lchDel.lcgId, mBuf); + CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf); + CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf); + break; + case RGR_UE_CFG: + CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf); + break; + case RGR_CELL_CFG: + CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf); + break; +#ifdef LTE_ADV + case RGR_SCELL_UE_CFG: + CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf); + CMCHKPK(oduUnpackUInt32, param->u.ueScellRel.ueDelTypes, mBuf); + CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf); + break; #endif - SPutMsg(mBuf); - return RFAILED; - } - - pst->event = (Event) EVTRGRSICFGREQ; - return (SPstTsk(pst,mBuf)); + default : + return RFAILED; + } + CMCHKPK(oduUnpackUInt8, param->delType, mBuf); + return ROK; } + + +#ifdef LTE_ADV /*********************************************************** * -* Func : cmUnpkRgrSiCfgReq +* Func : cmUnpkRgrUeDlSecCellRelInfo * * -* Desc : SI Configuration Request from RRM to MAC for -* configuring SI +* Desc : DL Secondary Cell information of the UE * * * Ret : S16 @@ -7833,70 +6683,24 @@ RgrSiCfgReqInfo * cfgReqInfo * File : * **********************************************************/ -S16 cmUnpkRgrSiCfgReq +S16 cmUnpkRgrUeDlSecCellRelInfo ( -RgrSiCfgReq func, -Pst *pst, +RgrUeDlSecCellRelInfo *param, Buffer *mBuf ) { - SpId spId; - RgrCfgTransId transId; - RgrSiCfgReqInfo *cfgReqInfo; - - - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR050, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR051, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo, - sizeof(RgrSiCfgReqInfo))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR052, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - memset(cfgReqInfo, 0, sizeof(RgrSiCfgReqInfo)); - if (pst->selector == ODU_SELECTOR_LC) - if (cmUnpkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, - sizeof(RgrSiCfgReqInfo)); - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR053, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - - return ((*func)(pst, spId, transId, cfgReqInfo)); + CMCHKUNPK(oduPackUInt8, ¶m->sCellIdx, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->sCellId, mBuf); + return ROK; } + /*********************************************************** * -* Func : cmPkRgrSiCfgReqInfo +* Func : cmUnpkRgrUeSecCellRelInfo * * -* Desc : Basic SI configuration/reconfiguration info at RRM +* Desc : Secondary Cell information of the UE * * * Ret : S16 @@ -7906,44 +6710,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrSiCfgReqInfo +S16 cmUnpkRgrUeSecCellRelInfo ( -RgrSiCfgReqInfo *param, +RgrUeSecCellRelInfo *param, Buffer *mBuf ) { - /* ccpu00111328: S16 is renamed as MsgLen */ - MsgLen msgLen; - + uint8_t idx; - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - CMCHKPK(SPkS32, param->cfgType, mBuf); - CMCHKPK(oduUnpackUInt8, param->siId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numSCells, mBuf); - if(NULLP != param->pdu) - { - if (SFndLenMsg(param->pdu, &msgLen) != ROK) - return RFAILED; - if (SCatMsg(mBuf, param->pdu, M1M2) != ROK) - return RFAILED; - SPutMsg(param->pdu); - CMCHKPK(cmPkMsgLen, msgLen, mBuf); - } - /*ccpu00140789*/ - else + for(idx = 0; idx < param->numSCells;idx++) { - CMCHKPK(cmPkMsgLen, 0, mBuf); + CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf); } - return ROK; } +#endif /*********************************************************** * -* Func : cmUnpkRgrSiCfgReqInfo +* Func : cmUnpkRgrDel * * -* Desc : Basic SI configuration/reconfiguration info at RRM +* Desc : Basic Delete info for MAC * * * Ret : S16 @@ -7953,480 +6743,261 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrSiCfgReqInfo +S16 cmUnpkRgrDel ( -RgrSiCfgReqInfo *param, +RgrDel *param, Buffer *mBuf ) { - MsgLen msgLen, totalMsgLen; - /*Merge from Mohit Changes*/ - S32 cfgType; - SFndLenMsg(mBuf, &msgLen); - if(msgLen > 0) - { - CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf); - /*ccpu00140789*/ - if(msgLen > 0) - { - if (SFndLenMsg(mBuf, &totalMsgLen) != ROK) - return RFAILED; - if (SSegMsg(mBuf, totalMsgLen-msgLen, ¶m->pdu) != ROK) + CMCHKUNPK(oduPackUInt8, ¶m->delType, mBuf); + switch(param->delType) { + case RGR_CELL_CFG: + CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf); + break; + case RGR_UE_CFG: + CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf); + break; + case RGR_LCH_CFG: + CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf); + CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->u.lchDel.lcgId, mBuf); + break; + case RGR_LCG_CFG: + CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->u.lcgDel.lcgId, mBuf); + break; +#ifdef LTE_ADV + case RGR_SCELL_UE_CFG: + CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf); + CMCHKUNPK(oduPackUInt32, ¶m->u.ueScellRel.ueDelTypes, mBuf); + CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf); + break; +#endif + default : return RFAILED; } - else - { - param->pdu = NULLP; - } - } - - CMCHKUNPK(oduPackUInt8, ¶m->siId, mBuf); - /*CMCHKUNPK(SUnpkS32, (S32 *)¶m->cfgType, mBuf);*/ - /*Merge from Mohit Changes*/ - CMCHKUNPK(SUnpkS32,(S32 *)&cfgType, mBuf); - param->cfgType = (RgrSiCfgType) cfgType; - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - return ROK; } - - - /*********************************************************** * -* Func : cmPkRgrWarningSiCfgReq +* Func : cmPkRgrSonPrbCfg * * -* Desc : SI Configuration Request from RRM to MAC for -* configuring warning SI +* Desc : SON PRB Configuration info for MAC * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmPkRgrWarningSiCfgReq +S16 cmPkRgrSonPrbCfg ( -Pst* pst, -SpId spId, -RgrCfgTransId transId, -RgrWarningSiCfgReqInfo * warningSiCfgReqInfo +RgrPrbCfg *param, +Buffer *mBuf ) { - 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)ERGR061, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)); - return RFAILED; - } - - if (cmPkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR062, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) + S32 count; + for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR063, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; + CMCHKPK(oduUnpackUInt32, param->paLevelPerPrb[count], mBuf); } - - if (SPkS16(spId, mBuf) != ROK) + for(count = param->numCellCentreUEs - 1; count >= 0; count --) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR064, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - - /* if the application wants to retain this structure, the below - * code should be removed */ - if (SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)) != ROK) + CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf); + } + for(count = param->numCellEdgeUEs - 1; count >= 0; count --) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR065, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; + CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf); } + CMCHKPK(oduUnpackUInt8, param->numCellCentreUEs, mBuf); + CMCHKPK(oduUnpackUInt8, param->numCellEdgeUEs, mBuf); + CMCHKPK(oduUnpackUInt8, param->isSonIcicEnable, mBuf); + return ROK; +} - pst->event = (Event) EVTRGRWARNINGSICFGREQ; - return (SPstTsk(pst,mBuf)); -}/*cmPkRgrWarningSiCfgReq*/ - - /*********************************************************** * -* Func : cmUnpkRgrWarningSiCfgReq +* Func : cmUnpkRgrSon * * -* Desc : SI Configuration Request from RRM to MAC for -* configuring warning SI +* Desc : SON configuration info for MAC * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmUnpkRgrWarningSiCfgReq +S16 cmUnpkRgrSonPrbCfg ( -RgrWarningSiCfgReq func, -Pst *pst, -Buffer *mBuf +RgrPrbCfg *param, +Buffer *mBuf ) { - SpId spId; - RgrCfgTransId transId; - RgrWarningSiCfgReqInfo *warningSiCfgReqInfo; - - - if (SUnpkS16(&spId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR066, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) + S32 count; + CMCHKUNPK(oduPackUInt8, ¶m->isSonIcicEnable, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numCellEdgeUEs, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numCellCentreUEs, mBuf); + for (count = 0; count < param->numCellEdgeUEs; count++) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR067, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; + CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf); } - - if ((SGetSBuf(pst->region, pst->pool, (Data **)&warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo))) != ROK) + for (count = 0; count < param->numCellCentreUEs; count++) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR068, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; + CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf); } - - - if (pst->selector == ODU_SELECTOR_LC) + for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++) { - if (cmUnpkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK) - { - SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo, - sizeof(RgrWarningSiCfgReqInfo)); - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR069, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } + CMCHKUNPK(oduPackUInt32,(uint32_t *) ¶m->paLevelPerPrb[count], mBuf); } - SPutMsg(mBuf); - - return ((*func)(pst, spId, transId, warningSiCfgReqInfo)); -} /* cmUnpkRgrWarningSiCfgReq */ - - + return ROK; +} /*********************************************************** * -* Func : cmPkRgrWarningSiCfgReqInfo +* Func : cmPkRgrSonCfg * * -* Desc : Basic warning SI configuration/reconfiguration -* info at RRM +* Desc : SON Configuration info for MAC * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmPkRgrWarningSiCfgReqInfo +S16 cmPkRgrSonCfg ( -Pst *pst, -RgrWarningSiCfgReqInfo *param, +RgrSonCfg *param, Buffer *mBuf ) { - MsgLen msgLen; - uint32_t count; - CmLList *node, *prevNode; - RgrSegmentInfo *pdu; - - - CMCHKPK(oduUnpackUInt8, param->emtcEnable, mBuf); - - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - CMCHKPK(oduUnpackUInt8, param->siId, mBuf); - count = param->siPduLst.count; - node = param->siPduLst.last; - while (node) + switch(param->cfgType) { - pdu = (RgrSegmentInfo *)node->node; - prevNode= node->prev; - if(NULLP != pdu) - { - if (SFndLenMsg(pdu->pdu, &msgLen) != ROK) - return RFAILED; - if (SCatMsg(mBuf, pdu->pdu, M1M2) != ROK) - return RFAILED; - /* The PDU is not Released. This has to be done by - * the caller of the packing function */ - CMCHKPK(cmPkMsgLen, msgLen, mBuf); - SPutMsg(pdu->pdu); - } - cmLListDelFrm(¶m->siPduLst, node); - SPutSBuf(pst->region, pst->pool, (Data *)node, sizeof(RgrSegmentInfo)); - node= prevNode; + case RGR_SON_PRB_CFG : + CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf); + break; + default : + return RFAILED; } - CMCHKPK(oduUnpackUInt32, count, mBuf); + CMCHKPK(oduUnpackUInt32, param->cfgType, mBuf); return ROK; } - /*********************************************************** * -* Func : cmUnpkRgrWarningSiCfgReqInfo +* Func : cmUnpkRgrSon * * -* Desc : Unpack warning SI configuration info at SCH +* Desc : SON configuration info for MAC * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmUnpkRgrWarningSiCfgReqInfo +S16 cmUnpkRgrSonCfg ( -Pst *pst, -RgrWarningSiCfgReqInfo *param, -Buffer *mBuf +RgrSonCfg *param, +Buffer *mBuf ) { - MsgLen msgLen, totalMsgLen; - uint32_t count, loopCnt; - Buffer *pdu; - CmLList *node; - - cmLListInit(¶m->siPduLst); - CMCHKUNPK(oduPackUInt32, &count, mBuf); - for (loopCnt=0; loopCntcfgType, mBuf); + switch(param->cfgType) { - if(SFndLenMsg(mBuf, &msgLen) != ROK) - { - return RFAILED; - } - - if(msgLen > 0) - { - CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf); - if (SFndLenMsg(mBuf, &totalMsgLen) != ROK) - { - return RFAILED; - } - if (SSegMsg(mBuf, totalMsgLen-msgLen, &pdu) != ROK) - { - return RFAILED; - } - } - else + case RGR_SON_PRB_CFG : { + CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf); + break; + default : return RFAILED; } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&node, - sizeof(CmLList))) != ROK) - return RFAILED; - node->node = (PTR)pdu; - cmLListAdd2Tail(¶m->siPduLst, node); } - - CMCHKUNPK(oduPackUInt8, ¶m->siId, mBuf); - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKPK(oduPackUInt8, ¶m->emtcEnable, mBuf); - return ROK; } /*********************************************************** * -* Func : cmPkRgrWarningSiStopReq +* Func : cmPkRgrRst +* +* +* Desc : UE RESET info for MAC * -* Desc : To stop the broadcast for SIB10, SIB11 and SIB12. * * Ret : S16 * * Notes: * * File : +* **********************************************************/ -S16 cmPkRgrWarningSiStopReq +S16 cmPkRgrRst ( -Pst *pst, -SpId spId, -RgrCfgTransId transId, -uint8_t siId +RgrRst *param, +Buffer *mBuf ) { - 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)ERGR070, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - - CMCHKPK(oduUnpackUInt8, siId, mBuf); - - - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR082, (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)ERGR071, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + CMCHKPK(cmPkLteCellId, param->cellId, mBuf); + return ROK; +} - pst->event = (Event) EVTRGRWARNINGSISTOPREQ; - return (SPstTsk(pst,mBuf)); -}/*cmPkRgrWarningSiStopReq */ /*********************************************************** * -* Func : cmUnpkRgrWarningSiStopReq +* Func : cmUnpkRgrRst +* +* +* Desc : UE RESET info for MAC * -* Desc : To stop the broadcast for SIB10, SIB11 and SIB12. * * Ret : S16 * * Notes: * * File : +* **********************************************************/ -S16 cmUnpkRgrWarningSiStopReq +S16 cmUnpkRgrRst ( -RgrWarningSiStopReq func, -Pst *pst, +RgrRst *param, Buffer *mBuf ) { - SpId spId; - uint8_t siId; - RgrCfgTransId transId; - - - if (SUnpkS16(&spId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR072, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR083, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - - CMCHKUNPK(oduPackUInt8, &siId, mBuf); - SPutMsg(mBuf); - - return ((*func)(pst, spId, transId, siId)); -} /*cmUnpkRgrWarningSiStopReq */ - + CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + return ROK; +} +#ifdef LTE_ADV /*********************************************************** * -* Func : cmPkRgrWarningSiCfgCfm +* Func : cmUnPkRgrSCellActDeactInfo * * -* Desc : Warning SI Configuration Confirm from MAC to RRM +* Desc : SCell Activation information of the UE * * * Ret : S16 @@ -8436,83 +7007,59 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrWarningSiCfgCfm +static S16 cmUnPkRgrSCellActDeactInfo ( -Pst* pst, -SuId suId, -RgrCfgTransId transId, -uint8_t siId, -uint8_t status +RgrSCellActDeactInfo *param, +Buffer *mBuf ) { - 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)ERGR073, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } + CMCHKUNPK(oduPackUInt8, ¶m->sCellIdx, mBuf); + return ROK; +} - if (oduUnpackUInt8(status, mBuf) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR074, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } +/*********************************************************** +* +* Func : cmUnPkRgrSCellActDeactEvnt +* +* +* Desc : SCell Activation Configuration structure to SCH +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnPkRgrSCellActDeactEvnt +( +RgrSCellActDeactEvnt *param, +Buffer *mBuf +) +{ - if (oduUnpackUInt8(siId, mBuf) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR075, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } + uint8_t idx; - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) - { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR076, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } + CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->numOfSCells, mBuf); - if (SPkS16(suId, mBuf) != ROK) + for(idx = 0; idx < param->numOfSCells;idx++) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR077, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; + CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf); } - pst->event = (Event) EVTRGRWARNINGSICFGCFM; - return (SPstTsk(pst,mBuf)); -} /* cmPkRgrWarningSiCfgCfm */ + return ROK; +} + - /*********************************************************** * -* Func : cmUnpkRgrwarningSiCfgCfm +* Func : cmPkRgrSCellActInfo * * -* Desc : Warning SI Configuration Confirm from MAC to RRM +* Desc : SCell Activation information of the UE * * * Ret : S16 @@ -8522,161 +7069,62 @@ uint8_t status * File : * **********************************************************/ -S16 cmUnpkRgrWarningSiCfgCfm +static S16 cmPkRgrSCellActDeactInfo ( -RgrWarningSiCfgCfm func, -Pst *pst, +RgrSCellActDeactInfo *param, Buffer *mBuf ) { - SuId suId; - uint8_t siId; - RgrCfgTransId transId; - uint8_t status; - - - if (SUnpkS16(&suId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR078, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR079, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (oduPackUInt8(&siId, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR080, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } + CMCHKPK(oduUnpackUInt8, param->sCellIdx, mBuf); - if (oduPackUInt8(&status, mBuf) != ROK) - { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR081, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, suId, transId, siId, status)); -}/* cmUnpkRgrwarningSiCfgCfm */ -#endif/*RGR_SI_SCH*/ + return ROK; +} -/* LTE_ADV_FLAG_REMOVED_START */ /*********************************************************** * -* Func : cmPkRgrLoadInfReq +* Func : cmPkRgrSCellActDeactEvnt * * -* Desc : LOAD INF Configuration Request from RRM to MAC for -* configuring RNTP, ABS etc +* Desc : Basic Configuration structure at SCH * * * Ret : S16 * * Notes: * -* File : +* File : * **********************************************************/ -S16 cmPkRgrLoadInfReq +S16 cmPkRgrSCellActDeactEvnt ( -Pst* pst, -SpId spId, -RgrCfgTransId transId, -RgrLoadInfReqInfo * loadInfReq +RgrSCellActDeactEvnt *param, +Buffer *mBuf ) { - Buffer *mBuf = NULLP; - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) + S8 idx; + for(idx = param->numOfSCells - 1; idx >= 0; idx--) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR045, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)); - return RFAILED; - } - if (cmPkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR046, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR047, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)); - 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)ERGR048, (ErrVal)0, "Packing failed"); -#endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR049, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; + CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(uint8_t)idx], mBuf); } - pst->event = (Event) EVTRGRLOADINFREQ; - return (SPstTsk(pst,mBuf)); + CMCHKPK(oduUnpackUInt8, param->numOfSCells, mBuf); + CMCHKPK(cmPkLteRnti, param->crnti, mBuf); + + return ROK; } + + +#endif /* LTE_ADV */ /*********************************************************** * -* Func : cmUnpkRgrLoadInfReq +* Func : cmPkRgrCfgReqInfo * * -* Desc : LOAD INF Configuration Request from RRM to MAC for -* configuring RNTP, ABS etc +* Desc : Basic RGR configuration/reconfiguration info at RRM * * * Ret : S16 @@ -8686,74 +7134,107 @@ RgrLoadInfReqInfo * loadInfReq * File : * **********************************************************/ -S16 cmUnpkRgrLoadInfReq +S16 cmPkRgrCfgReqInfo ( -RgrLoadInfReq func, -Pst *pst, +RgrCfgReqInfo *param, Buffer *mBuf ) { - SpId spId; - RgrCfgTransId transId; - RgrLoadInfReqInfo *loadInfReq; - - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR050, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR051, (ErrVal)0, "Packing failed"); + switch(param->action) { + case RGR_SON_CFG: + CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf); + break; + case RGR_RESET: + CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf); + break; + case RGR_DELETE: + CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf); + break; + case RGR_RECONFIG: + CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf); + break; + case SCH_CONFIG: + CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf); + break; +#ifdef LTE_ADV + case RGR_SCELL_ACT: + case RGR_SCELL_DEACT: + case RGR_SCELL_READY: + CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf); + break; #endif - return RFAILED; - } + default : + return RFAILED; + } + CMCHKPK(oduUnpackUInt8, param->action, mBuf); + return ROK; +} - if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfReq, - sizeof(RgrLoadInfReqInfo))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR052, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - memset(loadInfReq, 0, sizeof(RgrLoadInfReqInfo)); + +/*********************************************************** +* +* Func : cmUnpkRgrCfgReqInfo +* +* +* Desc : Basic RGR configuration/reconfiguration info at RRM +* +* +* Ret : S16 +* +* Notes: +* +* File : +* +**********************************************************/ +S16 cmUnpkRgrCfgReqInfo +( +RgrCfgReqInfo *param, +Buffer *mBuf +) +{ + - if (pst->selector == ODU_SELECTOR_LC) - if (cmUnpkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq, - sizeof(RgrLoadInfReqInfo)); - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ERGR053, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; + CMCHKUNPK(oduPackUInt8, ¶m->action, mBuf); + switch(param->action) { + case SCH_CONFIG: + CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf); + break; + case RGR_RECONFIG: + CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf); + break; + case RGR_DELETE: + CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf); + break; + case RGR_RESET: + CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf); + break; + case RGR_SON_CFG: + CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf); + break; +#ifdef LTE_ADV + case RGR_SCELL_ACT: + case RGR_SCELL_DEACT: + case RGR_SCELL_READY: + CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf); + break; +#endif /* LTE_ADV */ + default : + return RFAILED; } - SPutMsg(mBuf); - - return ((*func)(pst, spId, transId, loadInfReq)); + return ROK; } - +#ifdef RGR_V1 +/* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and + * retxBSR-timer */ /*********************************************************** * -* Func : cmPkRgrLoadInfReqInfo +* Func : cmPkRgrUeBsrTmrCfg * * -* Desc : Basic LOAD INF configuration/reconfiguration info at RRM +* Desc : BSR timer configuration per UE * * * Ret : S16 @@ -8763,26 +7244,26 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkRgrLoadInfReqInfo +S16 cmPkRgrUeBsrTmrCfg ( -RgrLoadInfReqInfo *param, +RgrUeBsrTmrCfg *param, Buffer *mBuf ) { - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - CMCHKPK(oduUnpackUInt8, param->rgrCcPHighStartRb, mBuf); - CMCHKPK(oduUnpackUInt8, param->rgrCcPHighEndRb, mBuf); + CMCHKPK(oduUnpackUInt16, param->prdBsrTmr, mBuf); + CMCHKPK(oduUnpackUInt16, param->retxBsrTmr, mBuf); + CMCHKPK(oduUnpackUInt8, param->isPrdBsrTmrPres, mBuf); return ROK; } - + /*********************************************************** * -* Func : cmUnpkRgrLoadInfReqInfo +* Func : cmUnpkRgrUeBsrTmrCfg * * -* Desc : Basic LOAD INF configuration/reconfiguration info at RRM +* Desc : BSR timer configuration per UE * * * Ret : S16 @@ -8792,20 +7273,20 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkRgrLoadInfReqInfo +S16 cmUnpkRgrUeBsrTmrCfg ( -RgrLoadInfReqInfo *param, +RgrUeBsrTmrCfg *param, Buffer *mBuf ) { - CMCHKUNPK(oduPackUInt8, ¶m->rgrCcPHighEndRb, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->rgrCcPHighStartRb, mBuf); - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->isPrdBsrTmrPres, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->retxBsrTmr, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->prdBsrTmr, mBuf); return ROK; } -/* LTE_ADV_FLAG_REMOVED_END */ +#endif /* RGR_V1 */ /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ @@ -8900,7 +7381,7 @@ RgrStaIndInfo* staInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR054, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)staInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)); return RFAILED; } @@ -8912,7 +7393,7 @@ RgrStaIndInfo* staInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR055, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)); + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)); SPutMsg(mBuf); return RFAILED; } @@ -8924,13 +7405,13 @@ RgrStaIndInfo* staInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR056, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)staInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)); SPutMsg(mBuf); return RFAILED; } - if (SPutSBuf(pst->region, pst->pool, (Data *)staInd, + if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -8983,7 +7464,7 @@ Buffer *mBuf return RFAILED; } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&staInd, + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&staInd, sizeof(RgrStaIndInfo))) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -8997,7 +7478,7 @@ Buffer *mBuf if (cmUnpkRgrStaIndInfo(staInd, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)staInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo)); SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) @@ -9299,7 +7780,7 @@ RgrLoadInfIndInfo* loadInfInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR054, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)loadInfInd, sizeof(RgrLoadInfIndInfo)); return RFAILED; } @@ -9311,7 +7792,7 @@ RgrLoadInfIndInfo* loadInfInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR055, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)loadInfInd, sizeof(RgrLoadInfIndInfo)); SPutMsg(mBuf); @@ -9325,13 +7806,13 @@ RgrLoadInfIndInfo* loadInfInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR056, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)loadInfInd, sizeof(RgrLoadInfIndInfo)); SPutMsg(mBuf); return RFAILED; } - if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd, + if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)loadInfInd, sizeof(RgrLoadInfIndInfo)) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -9383,7 +7864,7 @@ Buffer *mBuf return RFAILED; } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfInd, + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&loadInfInd, sizeof(RgrLoadInfIndInfo))) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -9398,7 +7879,7 @@ Buffer *mBuf /* dsfr_pal_fixes ** 22-March-2013 ** SKS */ if (cmUnpkRgrLoadInfIndInfo(loadInfInd, pst, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)loadInfInd, sizeof(RgrLoadInfIndInfo)); SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES) @@ -9504,7 +7985,7 @@ Buffer *mBuf /* Length */ CMCHKUNPK(oduPackUInt16, &tknStr->len, mBuf); - if ((SGetSBuf(pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) { + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, @@ -10026,7 +8507,7 @@ RgrUeStaIndInfo* ueStaInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR054, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueStaInd, sizeof(RgrUeStaIndInfo)); return RFAILED; } @@ -10038,7 +8519,7 @@ RgrUeStaIndInfo* ueStaInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR055, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueStaInd, sizeof(RgrUeStaIndInfo)); SPutMsg(mBuf); return RFAILED; @@ -10051,13 +8532,13 @@ RgrUeStaIndInfo* ueStaInd __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, (ErrVal)ERGR056, (ErrVal)0, "Packing failed"); #endif - SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueStaInd, sizeof(RgrUeStaIndInfo)); SPutMsg(mBuf); return RFAILED; } - if (SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd, + if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueStaInd, sizeof(RgrUeStaIndInfo)) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -10110,7 +8591,7 @@ Buffer *mBuf return RFAILED; } - if ((SGetSBuf(pst->region, pst->pool, (Data **)&ueStaInd, + if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&ueStaInd, sizeof(RgrUeStaIndInfo))) != ROK) { #if (ERRCLASS & ERRCLS_ADD_RES) @@ -10124,7 +8605,7 @@ Buffer *mBuf if (cmUnpkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK) { - SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd, + SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueStaInd, sizeof(RgrUeStaIndInfo)); SPutMsg(mBuf); #if (ERRCLASS & ERRCLS_ADD_RES)