1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
17 *******************************************************************************/
20 /************************************************************************
26 Desc: C source code for pack/unpack of RGR interface primitives.
30 **********************************************************************/
33 @brief This file contains the packing/unpacking code for the RGR interface
36 /* LTE_ADV_FLAG_REMOVED_END */
37 #include "common_def.h"
38 #include "rgr.h" /* RGR Interface defines */
39 /* LTE_ADV_FLAG_REMOVED_END */
40 #include "rgr.x" /* RGR Interface includes */
45 /***********************************************************
47 * Func : cmPkRgrBndReq
50 * Desc : Request from RRM to MAC to bind the interface saps
59 **********************************************************/
61 PUBLIC S16 cmPkRgrBndReq
68 PUBLIC S16 cmPkRgrBndReq(pst, suId, spId)
77 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
78 #if (ERRCLASS & ERRCLS_ADD_RES)
79 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
80 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
81 (ErrVal)ERGR001, (ErrVal)0, "Packing failed");
85 if (SPkS16(spId, mBuf) != ROK) {
86 #if (ERRCLASS & ERRCLS_ADD_RES)
87 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
88 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
89 (ErrVal)ERGR002, (ErrVal)0, "Packing failed");
94 if (SPkS16(suId, mBuf) != ROK) {
95 #if (ERRCLASS & ERRCLS_ADD_RES)
96 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
97 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
98 (ErrVal)ERGR003, (ErrVal)0, "Packing failed");
103 pst->event = (Event) EVTRGRBNDREQ;
104 RETVALUE(SPstTsk(pst,mBuf));
108 /***********************************************************
110 * Func : cmUnpkRgrBndReq
113 * Desc : Request from RRM to MAC to bind the interface saps
122 **********************************************************/
124 PUBLIC S16 cmUnpkRgrBndReq
131 PUBLIC S16 cmUnpkRgrBndReq(func, pst, mBuf)
140 TRC3(cmUnpkRgrBndReq)
142 if (SUnpkS16(&suId, mBuf) != ROK) {
144 #if (ERRCLASS & ERRCLS_ADD_RES)
145 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
146 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
147 (ErrVal)ERGR004, (ErrVal)0, "Packing failed");
151 if (SUnpkS16(&spId, mBuf) != ROK) {
153 #if (ERRCLASS & ERRCLS_ADD_RES)
154 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
155 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
156 (ErrVal)ERGR005, (ErrVal)0, "Packing failed");
161 RETVALUE((*func)(pst, suId, spId));
165 /***********************************************************
167 * Func : cmPkRgrBndCfm
170 * Desc : Confirmation from MAC to RRM for the bind/Unbind
171 * request for the interface saps
180 **********************************************************/
182 PUBLIC S16 cmPkRgrBndCfm
189 PUBLIC S16 cmPkRgrBndCfm(pst, suId, status)
195 Buffer *mBuf = NULLP;
198 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
199 #if (ERRCLASS & ERRCLS_ADD_RES)
200 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
201 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
202 (ErrVal)ERGR006, (ErrVal)0, "Packing failed");
206 if (SPkU8(status, mBuf) != ROK) {
207 #if (ERRCLASS & ERRCLS_ADD_RES)
208 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
209 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
210 (ErrVal)ERGR007, (ErrVal)0, "Packing failed");
215 if (SPkS16(suId, mBuf) != ROK) {
216 #if (ERRCLASS & ERRCLS_ADD_RES)
217 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
218 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
219 (ErrVal)ERGR008, (ErrVal)0, "Packing failed");
224 pst->event = (Event) EVTRGRBNDCFM;
225 RETVALUE(SPstTsk(pst,mBuf));
229 /***********************************************************
231 * Func : cmUnpkRgrBndCfm
234 * Desc : Confirmation from MAC to RRM for the bind/Unbind
235 * request for the interface saps
244 **********************************************************/
246 PUBLIC S16 cmUnpkRgrBndCfm
253 PUBLIC S16 cmUnpkRgrBndCfm(func, pst, mBuf)
262 TRC3(cmUnpkRgrBndCfm)
264 if (SUnpkS16(&suId, mBuf) != ROK) {
266 #if (ERRCLASS & ERRCLS_ADD_RES)
267 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
268 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
269 (ErrVal)ERGR009, (ErrVal)0, "Packing failed");
273 if (SUnpkU8(&status, mBuf) != ROK) {
275 #if (ERRCLASS & ERRCLS_ADD_RES)
276 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
277 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
278 (ErrVal)ERGR010, (ErrVal)0, "Packing failed");
283 RETVALUE((*func)(pst, suId, status));
287 /***********************************************************
289 * Func : cmPkRgrUbndReq
292 * Desc : Request from RRM to MAC to Unbind the interface saps
301 **********************************************************/
303 PUBLIC S16 cmPkRgrUbndReq
310 PUBLIC S16 cmPkRgrUbndReq(pst, spId, reason)
316 Buffer *mBuf = NULLP;
319 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
320 #if (ERRCLASS & ERRCLS_ADD_RES)
321 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
322 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
323 (ErrVal)ERGR011, (ErrVal)0, "Packing failed");
327 if (SPkS16(reason, mBuf) != ROK) {
328 #if (ERRCLASS & ERRCLS_ADD_RES)
329 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
330 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
331 (ErrVal)ERGR012, (ErrVal)0, "Packing failed");
336 if (SPkS16(spId, mBuf) != ROK) {
337 #if (ERRCLASS & ERRCLS_ADD_RES)
338 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
339 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
340 (ErrVal)ERGR013, (ErrVal)0, "Packing failed");
345 pst->event = (Event) EVTRGRUBNDREQ;
346 RETVALUE(SPstTsk(pst,mBuf));
350 /***********************************************************
352 * Func : cmUnpkRgrUbndReq
355 * Desc : Request from RRM to MAC to Unbind the interface saps
364 **********************************************************/
366 PUBLIC S16 cmUnpkRgrUbndReq
373 PUBLIC S16 cmUnpkRgrUbndReq(func, pst, mBuf)
382 TRC3(cmUnpkRgrUbndReq)
384 if (SUnpkS16(&spId, mBuf) != ROK) {
386 #if (ERRCLASS & ERRCLS_ADD_RES)
387 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
388 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
389 (ErrVal)ERGR014, (ErrVal)0, "Packing failed");
393 if (SUnpkS16(&reason, mBuf) != ROK) {
395 #if (ERRCLASS & ERRCLS_ADD_RES)
396 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
397 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
398 (ErrVal)ERGR015, (ErrVal)0, "Packing failed");
403 RETVALUE((*func)(pst, spId, reason));
407 /***********************************************************
409 * Func : cmUnpkRgrCfgReq
412 * Desc : Configuration Request from RRM to MAC for
413 * configuring Cell/Ue/Lc
422 **********************************************************/
424 PUBLIC S16 cmUnpkRgrCfgReq
431 PUBLIC S16 cmUnpkRgrCfgReq(func, pst, mBuf)
437 RgrCfgTransId transId;
438 RgrCfgReqInfo *cfgReqInfo;
440 TRC3(cmUnpkRgrCfgReq)
442 if (SUnpkS16(&spId, mBuf) != ROK) {
444 #if (ERRCLASS & ERRCLS_ADD_RES)
445 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
446 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
447 (ErrVal)ERGR021, (ErrVal)0, "Packing failed");
453 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
455 #if (ERRCLASS & ERRCLS_ADD_RES)
456 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
457 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
458 (ErrVal)ERGR022, (ErrVal)0, "Packing failed");
462 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) {
463 #if (ERRCLASS & ERRCLS_ADD_RES)
464 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
465 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
466 (ErrVal)ERGR023, (ErrVal)0, "Packing failed");
471 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrCfgReqInfo));
472 if (pst->selector == ODU_SELECTOR_LC)
473 if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
474 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
476 #if (ERRCLASS & ERRCLS_ADD_RES)
477 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
478 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
479 (ErrVal)ERGR024, (ErrVal)0, "Packing failed");
484 RETVALUE((*func)(pst, transId, cfgReqInfo));
487 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
489 /***********************************************************
491 * Func : cmPkRgrTtiIndInfo
494 * Desc : Packs the TTI indication information.
503 **********************************************************/
505 PUBLIC S16 cmPkRgrTtiIndInfo
507 RgrTtiIndInfo *param,
511 PUBLIC S16 cmPkRgrTtiIndInfo(param, mBuf)
512 RgrTtiIndInfo *param;
517 CMCHKPK(SPkU16, param->sfn, mBuf);
518 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
522 /***********************************************************
524 * Func : cmUnpkRgrTtiIndInfo
527 * Desc : Unpacking for RgrTtiIndInfo
535 **********************************************************/
537 PUBLIC S16 cmUnpkRgrTtiIndInfo
539 RgrTtiIndInfo *param,
543 PUBLIC S16 cmUnpkRgrTtiIndInfo(param, mBuf)
544 RgrTtiIndInfo *param;
548 TRC3(cmUnpkRgrTtiIndInfo)
550 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
551 CMCHKUNPK(SUnpkU16, ¶m->sfn, mBuf);
556 /***********************************************************
558 * Func : cmPkRgrTtiInd
561 * Desc : TTI indication from MAC to RRM
570 **********************************************************/
572 PUBLIC S16 cmPkRgrTtiInd
576 RgrTtiIndInfo *ttiInd
579 PUBLIC S16 cmPkRgrTtiInd(pst, suId, ttiInd)
582 RgrTtiIndInfo *ttiInd;
585 Buffer *mBuf = NULLP;
588 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
589 #if (ERRCLASS & ERRCLS_ADD_RES)
590 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
591 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
592 (ErrVal)ERGR025, (ErrVal)0, "Packing failed");
596 if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
597 #if (ERRCLASS & ERRCLS_ADD_RES)
598 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
599 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
600 (ErrVal)ERGR026, (ErrVal)0, "Packing failed");
602 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
606 if (SPkS16(suId, mBuf) != ROK) {
607 #if (ERRCLASS & ERRCLS_ADD_RES)
608 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
609 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
610 (ErrVal)ERGR027, (ErrVal)0, "Packing failed");
612 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
616 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
617 pst->event = (Event) EVTRGRTTIIND;
618 RETVALUE(SPstTsk(pst,mBuf));
622 /***********************************************************
624 * Func : cmUnpkRgrTtiInd
627 * Desc : TTI indication from MAC to RRM
636 **********************************************************/
638 PUBLIC S16 cmUnpkRgrTtiInd
645 PUBLIC S16 cmUnpkRgrTtiInd(func, pst, mBuf)
652 RgrTtiIndInfo *ttiInd;
654 TRC3(cmUnpkRgrTtiInd)
656 if (SUnpkS16(&suId, mBuf) != ROK) {
658 #if (ERRCLASS & ERRCLS_ADD_RES)
659 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
660 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
661 (ErrVal)ERGR028, (ErrVal)0, "Packing failed");
665 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK)
667 #if (ERRCLASS & ERRCLS_ADD_RES)
668 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
669 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
670 (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed");
676 if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
677 /*ccpu00114888- Memory Leak issue- Start*/
678 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd,
679 sizeof(RgrTtiIndInfo));
680 /*ccpu00114888- Memory Leak issue- End*/
682 #if (ERRCLASS & ERRCLS_ADD_RES)
683 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
684 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
685 (ErrVal)ERGR030, (ErrVal)0, "Packing failed");
690 RETVALUE((*func)(pst, suId, ttiInd));
694 /***********************************************************
696 * Func : cmPkRgrCfgCfm
699 * Desc : Configuration Confirm from MAC to RRM
708 **********************************************************/
710 PUBLIC S16 cmPkRgrCfgCfm
713 RgrCfgTransId transId,
717 PUBLIC S16 cmPkRgrCfgCfm(pst, transId, status)
719 RgrCfgTransId transId;
723 Buffer *mBuf = NULLP;
726 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
727 #if (ERRCLASS & ERRCLS_ADD_RES)
728 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
729 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
730 (ErrVal)ERGR031, (ErrVal)0, "Packing failed");
734 if (SPkU8(status, mBuf) != ROK) {
735 #if (ERRCLASS & ERRCLS_ADD_RES)
736 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
737 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
738 (ErrVal)ERGR032, (ErrVal)0, "Packing failed");
743 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
744 #if (ERRCLASS & ERRCLS_ADD_RES)
745 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
746 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
747 (ErrVal)ERGR033, (ErrVal)0, "Packing failed");
752 pst->event = (Event) EVTMACSCHCFGCFM;
753 RETVALUE(SPstTsk(pst,mBuf));
757 /***********************************************************
759 * Func : cmUnpkRgrCfgCfm
762 * Desc : Configuration Confirm from MAC to RRM
771 **********************************************************/
773 PUBLIC S16 cmUnpkRgrCfgCfm
780 PUBLIC S16 cmUnpkRgrCfgCfm(func, pst, mBuf)
786 RgrCfgTransId transId;
789 TRC3(cmUnpkRgrCfgCfm)
791 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
793 #if (ERRCLASS & ERRCLS_ADD_RES)
794 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
795 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
796 (ErrVal)ERGR036, (ErrVal)0, "Packing failed");
800 if (SUnpkU8(&status, mBuf) != ROK) {
802 #if (ERRCLASS & ERRCLS_ADD_RES)
803 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
804 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
805 (ErrVal)ERGR037, (ErrVal)0, "Packing failed");
810 RETVALUE((*func)(pst, transId, status));
813 /* rgr_c_001.main_4: ADD-Added for SI Enhancement. */
815 /***********************************************************
817 * Func : cmPkRgrSiCfgCfm
820 * Desc : SI Configuration Confirm from MAC to RRM
829 **********************************************************/
831 PUBLIC S16 cmPkRgrSiCfgCfm
835 RgrCfgTransId transId,
839 PUBLIC S16 cmPkRgrSiCfgCfm(pst, suId, transId, status)
842 RgrCfgTransId transId;
846 Buffer *mBuf = NULLP;
848 TRC3(cmPkRgrSiCfgCfm)
850 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
851 #if (ERRCLASS & ERRCLS_ADD_RES)
852 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
853 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
854 (ErrVal)ERGR038, (ErrVal)0, "Packing failed");
858 if (SPkU8(status, mBuf) != ROK) {
859 #if (ERRCLASS & ERRCLS_ADD_RES)
860 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
861 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
862 (ErrVal)ERGR039, (ErrVal)0, "Packing failed");
867 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
868 #if (ERRCLASS & ERRCLS_ADD_RES)
869 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
870 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
871 (ErrVal)ERGR040, (ErrVal)0, "Packing failed");
876 if (SPkS16(suId, mBuf) != ROK) {
877 #if (ERRCLASS & ERRCLS_ADD_RES)
878 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
879 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
880 (ErrVal)ERGR041, (ErrVal)0, "Packing failed");
886 pst->event = (Event) EVTRGRSICFGCFM;
887 RETVALUE(SPstTsk(pst,mBuf));
891 /***********************************************************
893 * Func : cmUnpkRgrSiCfgCfm
896 * Desc : Configuration Confirm from MAC to RRM
905 **********************************************************/
907 PUBLIC S16 cmUnpkRgrSiCfgCfm
914 PUBLIC S16 cmUnpkRgrSiCfgCfm(func, pst, mBuf)
921 RgrCfgTransId transId;
924 TRC3(cmUnpkRgrSiCfgCfm)
926 if (SUnpkS16(&suId, mBuf) != ROK) {
928 #if (ERRCLASS & ERRCLS_ADD_RES)
929 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
930 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
931 (ErrVal)ERGR042, (ErrVal)0, "Packing failed");
935 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
937 #if (ERRCLASS & ERRCLS_ADD_RES)
938 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
939 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
940 (ErrVal)ERGR043, (ErrVal)0, "Packing failed");
944 if (SUnpkU8(&status, mBuf) != ROK) {
946 #if (ERRCLASS & ERRCLS_ADD_RES)
947 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
948 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
949 (ErrVal)ERGR044, (ErrVal)0, "Packing failed");
954 RETVALUE((*func)(pst, suId, transId, status));
959 /***********************************************************
961 * Func : cmPkRgrCfgTransId
964 * Desc : Transaction ID between MAC and RRM
973 **********************************************************/
975 PUBLIC S16 cmPkRgrCfgTransId
977 RgrCfgTransId *param,
981 PUBLIC S16 cmPkRgrCfgTransId(param, mBuf)
982 RgrCfgTransId *param;
988 TRC3(cmPkRgrCfgTransId)
990 for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) {
991 CMCHKPK(SPkU8, param->trans[i], mBuf);
998 /***********************************************************
1000 * Func : cmUnpkRgrCfgTransId
1003 * Desc : Transaction ID between MAC and RRM
1012 **********************************************************/
1014 PUBLIC S16 cmUnpkRgrCfgTransId
1016 RgrCfgTransId *param,
1020 PUBLIC S16 cmUnpkRgrCfgTransId(param, mBuf)
1021 RgrCfgTransId *param;
1027 TRC3(cmUnpkRgrCfgTransId)
1029 for (i=0; i<RGR_CFG_TRANSID_SIZE; i++) {
1030 CMCHKUNPK(SUnpkU8, ¶m->trans[i], mBuf);
1037 /***********************************************************
1039 * Func : cmPkRgrDlHqCfg
1042 * Desc : Downlink HARQ configuration per Cell
1051 **********************************************************/
1053 PUBLIC S16 cmPkRgrDlHqCfg
1059 PUBLIC S16 cmPkRgrDlHqCfg(param, mBuf)
1065 TRC3(cmPkRgrDlHqCfg)
1067 CMCHKPK(SPkU8, param->maxMsg4HqTx, mBuf);
1068 CMCHKPK(SPkU8, param->maxDlHqTx, mBuf);
1074 /***********************************************************
1076 * Func : cmUnpkRgrDlHqCfg
1079 * Desc : Downlink HARQ configuration per Cell
1088 **********************************************************/
1090 PUBLIC S16 cmUnpkRgrDlHqCfg
1096 PUBLIC S16 cmUnpkRgrDlHqCfg(param, mBuf)
1102 TRC3(cmUnpkRgrDlHqCfg)
1104 CMCHKUNPK(SUnpkU8, ¶m->maxDlHqTx, mBuf);
1105 CMCHKUNPK(SUnpkU8, ¶m->maxMsg4HqTx, mBuf);
1111 /***********************************************************
1113 * Func : cmPkRgrRntiCfg
1116 * Desc : Range of RNTIs managed by MAC
1125 **********************************************************/
1127 PUBLIC S16 cmPkRgrRntiCfg
1133 PUBLIC S16 cmPkRgrRntiCfg(param, mBuf)
1139 TRC3(cmPkRgrRntiCfg)
1141 CMCHKPK(SPkU16, param->size, mBuf);
1142 CMCHKPK(cmPkLteRnti, param->startRnti, mBuf);
1148 /***********************************************************
1150 * Func : cmUnpkRgrRntiCfg
1153 * Desc : Range of RNTIs managed by MAC
1162 **********************************************************/
1164 PUBLIC S16 cmUnpkRgrRntiCfg
1170 PUBLIC S16 cmUnpkRgrRntiCfg(param, mBuf)
1176 TRC3(cmUnpkRgrRntiCfg)
1178 CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf);
1179 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1184 /***********************************************************
1186 * Func : cmPkRgrEmtcRntiCfg
1189 * Desc : Range of Emtc RNTIs managed by MAC
1198 **********************************************************/
1200 PUBLIC S16 cmPkRgrEmtcRntiCfg
1202 RgrEmtcRntiCfg *param,
1206 PUBLIC S16 cmPkRgrEmtcRntiCfg(param, mBuf)
1207 RgrEmtcRntiCfg *param;
1212 TRC3(cmPkRgrEmtcRntiCfg)
1214 CMCHKPK(SPkU16, param->size, mBuf);
1215 CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf);
1216 CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf);
1217 CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf);
1218 CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf);
1224 /***********************************************************
1226 * Func : cmUnpkRgrEmtcRntiCfg
1229 * Desc : Range of Emtc RNTIs managed by MAC
1238 **********************************************************/
1240 PUBLIC S16 cmUnpkRgrEmtcRntiCfg
1242 RgrEmtcRntiCfg *param,
1246 PUBLIC S16 cmUnpkRgrEmtcRntiCfg(param, mBuf)
1247 RgrEmtcRntiCfg *param;
1252 TRC3(cmUnpkRgrEmtcRntiCfg)
1254 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf);
1255 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf);
1256 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf);
1257 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf);
1258 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1265 /***********************************************************
1267 * Func : cmPkRgrDlCmnCodeRateCfg
1270 * Desc : Downlink common channel code rate configuration per cell
1279 **********************************************************/
1281 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg
1283 RgrDlCmnCodeRateCfg *param,
1287 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg(param, mBuf)
1288 RgrDlCmnCodeRateCfg *param;
1293 TRC3(cmPkRgrDlCmnCodeRateCfg)
1295 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1296 CMCHKPK(SPkU16, param->pdcchCodeRate, mBuf);
1297 CMCHKPK(SPkU16, param->bcchPchRaCodeRate, mBuf);
1303 /***********************************************************
1305 * Func : cmUnpkRgrDlCmnCodeRateCfg
1308 * Desc : Downlink common channel code rate configuration per cell
1317 **********************************************************/
1319 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg
1321 RgrDlCmnCodeRateCfg *param,
1325 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg(param, mBuf)
1326 RgrDlCmnCodeRateCfg *param;
1331 TRC3(cmUnpkRgrDlCmnCodeRateCfg)
1333 CMCHKUNPK(SUnpkU16, ¶m->bcchPchRaCodeRate, mBuf);
1334 CMCHKUNPK(SUnpkU16, ¶m->pdcchCodeRate, mBuf);
1335 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1341 /***********************************************************
1343 * Func : cmPkRgrCfiCfg
1346 * Desc : Control Format Indicator (CFI) configuration per cell
1355 **********************************************************/
1357 PUBLIC S16 cmPkRgrCfiCfg
1363 PUBLIC S16 cmPkRgrCfiCfg(param, mBuf)
1371 CMCHKPK(SPkU8, param->cfi, mBuf);
1377 /***********************************************************
1379 * Func : cmUnpkRgrCfiCfg
1382 * Desc : Control Format Indicator (CFI) configuration per cell
1391 **********************************************************/
1393 PUBLIC S16 cmUnpkRgrCfiCfg
1399 PUBLIC S16 cmUnpkRgrCfiCfg(param, mBuf)
1405 TRC3(cmUnpkRgrCfiCfg)
1407 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
1413 /***********************************************************
1415 * Func : cmPkRgrPuschSubBandCfg
1418 * Desc : PUSCH sub-band configuration per cell
1427 **********************************************************/
1429 PUBLIC S16 cmPkRgrPuschSubBandCfg
1431 RgrPuschSubBandCfg *param,
1435 PUBLIC S16 cmPkRgrPuschSubBandCfg(param, mBuf)
1436 RgrPuschSubBandCfg *param;
1442 TRC3(cmPkRgrPuschSubBandCfg)
1444 for (i=param->numSubbands-1; i >= 0; i--) {
1445 CMCHKPK(SPkU8, param->dmrs[i], mBuf);
1447 CMCHKPK(SPkU8, param->size, mBuf);
1448 CMCHKPK(SPkU8, param->numSubbands, mBuf);
1449 CMCHKPK(SPkU8, param->subbandStart, mBuf);
1455 /***********************************************************
1457 * Func : cmUnpkRgrPuschSubBandCfg
1460 * Desc : PUSCH sub-band configuration per cell
1469 **********************************************************/
1471 PUBLIC S16 cmUnpkRgrPuschSubBandCfg
1473 RgrPuschSubBandCfg *param,
1477 PUBLIC S16 cmUnpkRgrPuschSubBandCfg(param, mBuf)
1478 RgrPuschSubBandCfg *param;
1484 TRC3(cmUnpkRgrPuschSubBandCfg)
1486 CMCHKUNPK(SUnpkU8, ¶m->subbandStart, mBuf);
1487 CMCHKUNPK(SUnpkU8, ¶m->numSubbands, mBuf);
1488 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
1489 for (i=0; i<param->numSubbands; i++) {
1490 CMCHKUNPK(SUnpkU8, ¶m->dmrs[i], mBuf);
1497 /***********************************************************
1499 * Func : cmPkRgrUlCmnCodeRateCfg
1502 * Desc : Uplink common channel code rate configuration per cell
1511 **********************************************************/
1513 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg
1515 RgrUlCmnCodeRateCfg *param,
1519 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg(param, mBuf)
1520 RgrUlCmnCodeRateCfg *param;
1525 TRC3(cmPkRgrUlCmnCodeRateCfg)
1527 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1533 /***********************************************************
1535 * Func : cmUnpkRgrUlCmnCodeRateCfg
1538 * Desc : Uplink common channel code rate configuration per cell
1547 **********************************************************/
1549 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg
1551 RgrUlCmnCodeRateCfg *param,
1555 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg(param, mBuf)
1556 RgrUlCmnCodeRateCfg *param;
1561 TRC3(cmUnpkRgrUlCmnCodeRateCfg)
1563 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1569 /***********************************************************
1571 * Func : cmPkRgrUlTrgCqiCfg
1574 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1583 **********************************************************/
1585 PUBLIC S16 cmPkRgrUlTrgCqiCfg
1587 RgrUlTrgCqiCfg *param,
1591 PUBLIC S16 cmPkRgrUlTrgCqiCfg(param, mBuf)
1592 RgrUlTrgCqiCfg *param;
1597 TRC3(cmPkRgrUlTrgCqiCfg)
1599 CMCHKPK(SPkU8, param->trgCqi, mBuf);
1605 /***********************************************************
1607 * Func : cmUnpkRgrUlTrgCqiCfg
1610 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1619 **********************************************************/
1621 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg
1623 RgrUlTrgCqiCfg *param,
1627 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg(param, mBuf)
1628 RgrUlTrgCqiCfg *param;
1633 TRC3(cmUnpkRgrUlTrgCqiCfg)
1635 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
1641 /***********************************************************
1643 * Func : cmPkRgrBwCfg
1646 * Desc : Bandwidth configuration per cell
1655 **********************************************************/
1657 PUBLIC S16 cmPkRgrBwCfg
1663 PUBLIC S16 cmPkRgrBwCfg(param, mBuf)
1671 CMCHKPK(SPkU8, param->ulTotalBw, mBuf);
1672 CMCHKPK(SPkU8, param->dlTotalBw, mBuf);
1678 /* EMTC related pack changes start*/
1681 PUBLIC S16 cmPkRgrEmtcSiCfg
1683 RgrEmtcSiCfg *param,
1687 PUBLIC S16 cmPkRgrEmtcSiCfg(param, mBuf)
1688 RgrEmtcSiCfg *param;
1694 TRC3(cmPkRgrEmtcSiCfg)
1696 CMCHKPK(SPkU8, param->siHoppingEnable, mBuf);
1697 CMCHKPK(SPkU32, param->modPrd, mBuf);
1698 CMCHKPK(SPkU8, param->siWinSizeBr, mBuf);
1699 CMCHKPK(SPkU8, param->sib1Repetition, mBuf);
1700 CMCHKPK(SPkU8, param->siRepetition, mBuf);
1702 CMCHKPK(SPkU16, param->startSymbolLc, mBuf);
1703 //CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1704 /*Changes by SIMRAN*/
1705 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1707 CMCHKPK(SPkU16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1711 //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf);
1712 for (i=0; i<2; i++) {
1713 CMCHKPK(SPkU32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1717 CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1718 //CMCHKPK(SPkU16, param->fddDlOrTddSfBitmapBR, mBuf);
1720 for (i= (param->numSi-1); i >= 0; i--) {
1721 CMCHKPK(SPkU8, param->schdInfo[i].emtcSiNarrowBand, mBuf);
1722 CMCHKPK(SPkU16, param->schdInfo[i].emtcSiTbs, mBuf);
1725 for (i= (param->numSi-1); i >= 0; i--) {
1726 CMCHKPK(SPkU32, param->siPeriodicity[i], mBuf);
1729 CMCHKPK(SPkU8, param->numSi, mBuf);
1738 PUBLIC S16 cmPkRgrEmtcRachCfg
1740 RgrEmtcRachCfg *param,
1744 PUBLIC S16 cmPkRgrEmtcRachCfg(param, mBuf)
1745 RgrEmtcRachCfg *param;
1751 TRC3(cmPkRgrEmtcRachCfg)
1753 CMCHKPK(SPkU8, param->emtcCeLvlSupported, mBuf);
1755 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1756 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcRarHopping, mBuf);
1757 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcWinSize, mBuf);
1758 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf);
1759 CMCHKPK(SPkU16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf);
1760 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf);
1761 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf);
1769 PUBLIC S16 cmPkRgrEmtcPdschCfg
1771 RgrEmtcPdschCfg*param,
1775 PUBLIC S16 cmPkRgrEmtcPdschCfg(param, mBuf)
1776 RgrEmtcPdschCfg *param;
1781 TRC3(cmPkRgrEmtcPdschCfg)
1782 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1783 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1789 PUBLIC S16 cmPkRgrEmtcPuschCfg
1791 RgrEmtcPuschCfg*param,
1795 PUBLIC S16 cmPkRgrEmtcPuschCfg(param, mBuf)
1796 RgrEmtcPuschCfg *param;
1800 TRC3(cmPkRgrEmtcPuschCfg)
1801 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1802 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1803 CMCHKPK(SPkU8, param->emtcHoppingOffset, mBuf);
1810 PUBLIC S16 cmPkRgrEmtcPucchCfg
1812 RgrEmtcPucchCfg *param,
1816 PUBLIC S16 cmPkRgrEmtcPucchCfg(param, mBuf)
1817 RgrEmtcPucchCfg *param;
1824 TRC3(cmPkRgrEmtcPucchCfg)
1825 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1826 CMCHKPK(SPkU16, param->emtcN1pucchAnInfoLst[i], mBuf);
1829 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf);
1830 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf);
1831 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf);
1832 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf);
1839 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg
1841 RgrEmtcPrachCEParamLst *param,
1845 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg(param, mBuf)
1846 RgrEmtcPrachCEParamLst *param;
1850 TRC3(cmPkRgrEmtcPrachCeParamCfg)
1851 CMCHKPK(SPkU8, param->emtcPrachCfgIdx, mBuf);
1852 CMCHKPK(SPkU8, param->emtcPrachFreqOffset, mBuf);
1853 CMCHKPK(SPkU16, param->emtcPrachStartSubFrame, mBuf);
1854 CMCHKPK(SPkU8, param->emtcMaxPremAttemptCE, mBuf);
1855 CMCHKPK(SPkU8, param->emtcNumRepPerPreambleAtt, mBuf);
1856 CMCHKPK(SPkU8, param->emtcNumMpdcchNBtoMonitor, mBuf);
1857 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[0], mBuf);
1858 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[1], mBuf);
1859 CMCHKPK(SPkU16, param->emtcMpdcchNumRep, mBuf);
1860 CMCHKPK(SPkU8, param->emtcPrachHoppingCfg, mBuf);
1867 PUBLIC S16 cmPkRgrEmtcPrachCfg
1869 RgrEmtcPrachCfg *param,
1873 PUBLIC S16 cmPkRgrEmtcPrachCfg(param, mBuf)
1874 RgrEmtcPrachCfg *param;
1880 TRC3(cmPkRgrEmtcPrachCfg)
1881 CMCHKPK(SPkU8, param->emtcMpdcchStartSFCssRaFdd, mBuf);
1882 CMCHKPK(SPkU8, param->emtcPrachHopingOffset, mBuf);
1883 CMCHKPK(SPkU8, param->emtcInitialCElevel, mBuf);
1884 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1885 CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
1895 PUBLIC S16 cmPkRgrEmtcCfg
1897 RgrEmtcCellCfg *param,
1901 PUBLIC S16 cmPkRgrEmtcCfg(param, mBuf)
1902 RgrEmtcCellCfg *param;
1906 TRC3(cmPkRgrEmtcCfg)
1907 CMCHKPK(SPkU16, param->pci, mBuf);
1908 CMCHKPK(SPkU32, param->emtcT300Tmr, mBuf);
1909 CMCHKPK(SPkU32, param->emtcT301Tmr, mBuf);
1910 CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
1911 CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
1912 CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
1913 CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
1914 CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
1915 CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
1916 CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
1917 CMCHKPK(SPkU8, param->emtcPdschNbIdx, mBuf);
1918 CMCHKPK(SPkU8, param->emtcMpdcchNbIdx, mBuf);
1919 CMCHKPK(SPkU8, param->emtcPuschNbIdx, mBuf);
1924 /* EMTC related pack changes end*/
1926 /* EMTC related unpack changes start*/
1929 PUBLIC S16 cmUnpkRgrEmtcSiCfg
1931 RgrEmtcSiCfg *param,
1935 PUBLIC S16 cmUnpkRgrEmtcSiCfg(param, mBuf)
1936 RgrEmtcSiCfg *param;
1943 TRC3(cmUnpkRgrEmtcSiCfg)
1944 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
1946 for (i=0; i < param->numSi ; i++) {
1947 CMCHKUNPK(SUnpkU32,(U32*)&tmpEnum,mBuf);
1948 param->siPeriodicity[i] = (RgrSiPeriodicity) tmpEnum;
1951 for (i=0; i < param->numSi ; i++) {
1952 CMCHKUNPK(SUnpkU16, ¶m->schdInfo[i].emtcSiTbs, mBuf);
1953 CMCHKUNPK(SUnpkU8, ¶m->schdInfo[i].emtcSiNarrowBand, mBuf);
1955 //CMCHKUNPK(SUnpkU16, ¶m->fddDlOrTddSfBitmapBR, mBuf);
1956 CMCHKUNPK(SUnpkU8, ¶m->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1957 /*Changes by SIMRAN*/
1958 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1960 CMCHKUNPK(SUnpkU16, ¶m->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1964 for (i=1; i>=0; i--) {
1965 CMCHKUNPK(SUnpkU32, ¶m->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1969 CMCHKUNPK(SUnpkU16, ¶m->startSymbolLc, mBuf);
1970 CMCHKUNPK(SUnpkU8, ¶m->siRepetition, mBuf);
1971 CMCHKUNPK(SUnpkU8, ¶m->sib1Repetition, mBuf);
1972 CMCHKUNPK(SUnpkU8, ¶m->siWinSizeBr, mBuf);
1973 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
1974 param->modPrd = (RgrModPeriodicity) tmpEnum;
1975 CMCHKUNPK(SUnpkU8, ¶m->siHoppingEnable, mBuf);
1984 PUBLIC S16 cmUnpkRgrEmtcRachCfg
1986 RgrEmtcRachCfg *param,
1990 PUBLIC S16 cmUnpkRgrEmtcRachCfg(param, mBuf)
1991 RgrEmtcRachCfg *param;
1997 TRC3(cmUnpkRgrEmtcRachCfg)
1998 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
1999 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.lastPreamble), mBuf);
2000 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.firstPreamble), mBuf);
2001 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].emtcPreambleTransMax), mBuf);
2002 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcContResTmr), mBuf);
2003 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf);
2004 CMCHKUNPK(SUnpkU8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf);
2006 CMCHKUNPK(SUnpkU8, ¶m->emtcCeLvlSupported, mBuf);
2012 PUBLIC S16 cmUnpkRgrEmtcPdschCfg
2014 RgrEmtcPdschCfg*param,
2018 PUBLIC S16 cmUnpkRgrEmtcPdschCfg(param, mBuf)
2019 RgrEmtcPdschCfg *param;
2024 TRC3(cmUnpkRgrEmtcPdschCfg)
2025 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2026 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2031 PUBLIC S16 cmUnpkRgrEmtcPuschCfg
2033 RgrEmtcPuschCfg*param,
2037 PUBLIC S16 cmUnpkRgrEmtcPuschCfg(param, mBuf)
2038 RgrEmtcPuschCfg *param;
2042 TRC3(cmUnpkRgrEmtcPuschCfg)
2043 CMCHKUNPK(SUnpkU8, ¶m->emtcHoppingOffset, mBuf);
2044 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2045 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2052 PUBLIC S16 cmUnpkRgrEmtcPucchCfg
2054 RgrEmtcPucchCfg *param,
2058 PUBLIC S16 cmUnpkRgrEmtcPucchCfg(param, mBuf)
2059 RgrEmtcPucchCfg *param;
2066 TRC3(cmUnpkRgrEmtcPucchCfg)
2068 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf);
2069 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf);
2070 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf);
2071 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf);
2073 for (i=0; i < RGR_MAX_CE_LEVEL ; i++) {
2074 CMCHKUNPK(SUnpkU16, ¶m->emtcN1pucchAnInfoLst[i], mBuf);
2081 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg
2083 RgrEmtcPrachCEParamLst *param,
2087 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg(param, mBuf)
2088 RgrEmtcPrachCEParamLst *param;
2092 TRC3(cmUnpkRgrEmtcPrachCeParamCfg)
2093 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHoppingCfg, mBuf);
2094 CMCHKUNPK(SUnpkU16, ¶m->emtcMpdcchNumRep, mBuf);
2095 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf);
2096 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf);
2097 CMCHKUNPK(SUnpkU8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf);
2098 CMCHKUNPK(SUnpkU8, ¶m->emtcNumRepPerPreambleAtt, mBuf);
2099 CMCHKUNPK(SUnpkU8, ¶m->emtcMaxPremAttemptCE, mBuf);
2100 CMCHKUNPK(SUnpkU16, ¶m->emtcPrachStartSubFrame, mBuf);
2101 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachFreqOffset, mBuf);
2102 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachCfgIdx, mBuf);
2109 PUBLIC S16 cmUnpkRgrEmtcPrachCfg
2111 RgrEmtcPrachCfg *param,
2115 PUBLIC S16 cmUnpkRgrEmtcPrachCfg(param, mBuf)
2116 RgrEmtcPrachCfg *param;
2122 TRC3(cmUnpkRgrEmtcPrachCfg)
2123 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2124 CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2126 CMCHKUNPK(SUnpkU8, ¶m->emtcInitialCElevel, mBuf);
2127 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHopingOffset, mBuf);
2128 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf);
2134 PUBLIC S16 cmUnpkRgrEmtcCfg
2136 RgrEmtcCellCfg *param,
2140 PUBLIC S16 cmUnpkRgrEmtcCfg(param, mBuf)
2141 RgrEmtcCellCfg *param;
2146 TRC3(cmUnpkRgrEmtcCfg)
2147 CMCHKUNPK(SUnpkU8, ¶m->emtcPuschNbIdx, mBuf);
2148 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNbIdx, mBuf);
2149 CMCHKUNPK(SUnpkU8, ¶m->emtcPdschNbIdx, mBuf);
2150 CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2151 CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2152 CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2153 CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2154 CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2155 CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2156 CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2157 CMCHKUNPK(SUnpkU32,¶m->emtcT301Tmr, mBuf);
2158 CMCHKUNPK(SUnpkU32, ¶m->emtcT300Tmr, mBuf);
2159 CMCHKUNPK(SUnpkU16, ¶m->pci, mBuf);
2168 /* EMTC related unpack changes end*/
2174 /***********************************************************
2176 * Func : cmUnpkRgrBwCfg
2179 * Desc : Bandwidth configuration per cell
2188 **********************************************************/
2190 PUBLIC S16 cmUnpkRgrBwCfg
2196 PUBLIC S16 cmUnpkRgrBwCfg(param, mBuf)
2202 TRC3(cmUnpkRgrBwCfg)
2204 CMCHKUNPK(SUnpkU8, ¶m->dlTotalBw, mBuf);
2205 CMCHKUNPK(SUnpkU8, ¶m->ulTotalBw, mBuf);
2211 /***********************************************************
2213 * Func : cmPkRgrPhichCfg
2216 * Desc : PHICH configuration per cell
2225 **********************************************************/
2227 PUBLIC S16 cmPkRgrPhichCfg
2233 PUBLIC S16 cmPkRgrPhichCfg(param, mBuf)
2239 TRC3(cmPkRgrPhichCfg)
2241 CMCHKPK(SPkU8, param->isDurExtend, mBuf);
2242 CMCHKPK(SPkU32, param->ngEnum, mBuf);
2248 /***********************************************************
2250 * Func : cmUnpkRgrPhichCfg
2253 * Desc : PHICH configuration per cell
2262 **********************************************************/
2264 PUBLIC S16 cmUnpkRgrPhichCfg
2270 PUBLIC S16 cmUnpkRgrPhichCfg(param, mBuf)
2277 TRC3(cmUnpkRgrPhichCfg)
2279 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2280 param->ngEnum = (RgrPhichNg) tmpEnum;
2281 CMCHKUNPK(SUnpkU8, ¶m->isDurExtend, mBuf);
2287 /***********************************************************
2289 * Func : cmPkRgrPucchCfg
2292 * Desc : PUCCH configuration per cell
2301 **********************************************************/
2303 PUBLIC S16 cmPkRgrPucchCfg
2309 PUBLIC S16 cmPkRgrPucchCfg(param, mBuf)
2315 TRC3(cmPkRgrPucchCfg)
2317 CMCHKPK(SPkU8, param->maxPucchRb, mBuf);
2318 CMCHKPK(SPkU8, param->cyclicShift, mBuf);
2319 CMCHKPK(SPkU8, param->deltaShift, mBuf);
2320 CMCHKPK(SPkU16, param->n1PucchAn, mBuf);
2321 CMCHKPK(SPkU8, param->resourceSize, mBuf);
2328 /***********************************************************
2330 * Func : cmUnpkRgrPucchCfg
2333 * Desc : PUCCH configuration per cell
2342 **********************************************************/
2344 PUBLIC S16 cmUnpkRgrPucchCfg
2350 PUBLIC S16 cmUnpkRgrPucchCfg(param, mBuf)
2356 TRC3(cmUnpkRgrPucchCfg)
2358 CMCHKUNPK(SUnpkU8, ¶m->resourceSize, mBuf);
2359 CMCHKUNPK(SUnpkU16, ¶m->n1PucchAn, mBuf);
2360 CMCHKUNPK(SUnpkU8, ¶m->deltaShift, mBuf);
2361 CMCHKUNPK(SUnpkU8, ¶m->cyclicShift, mBuf);
2362 CMCHKUNPK(SUnpkU8, ¶m->maxPucchRb, mBuf);
2369 /***********************************************************
2371 * Func : cmPkRgrSrsCfg
2374 * Desc : SRS configuration per cell
2383 **********************************************************/
2385 PUBLIC S16 cmPkRgrSrsCfg
2391 PUBLIC S16 cmPkRgrSrsCfg(param, mBuf)
2399 CMCHKPK(SPkU8, param->srsSubFrameCfg, mBuf);
2400 CMCHKPK(SPkU32, param->srsBwEnum, mBuf);
2401 CMCHKPK(SPkU32, param->srsCfgPrdEnum, mBuf);
2402 CMCHKPK(SPkU8, param->isSrsCfgSetup, mBuf);
2408 /***********************************************************
2410 * Func : cmUnpkRgrSrsCfg
2413 * Desc : SRS configuration per cell
2422 **********************************************************/
2424 PUBLIC S16 cmUnpkRgrSrsCfg
2430 PUBLIC S16 cmUnpkRgrSrsCfg(param, mBuf)
2437 TRC3(cmUnpkRgrSrsCfg)
2439 CMCHKUNPK(SUnpkU8, ¶m->isSrsCfgSetup, mBuf);
2440 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2441 param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum;
2442 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2443 param->srsBwEnum = (RgrSrsBwCfg) tmpEnum;
2444 CMCHKUNPK(SUnpkU8, ¶m->srsSubFrameCfg, mBuf);
2450 /***********************************************************
2452 * Func : cmPkRgrRachCfg
2455 * Desc : RACH configuration per cell
2464 **********************************************************/
2466 PUBLIC S16 cmPkRgrRachCfg
2472 PUBLIC S16 cmPkRgrRachCfg(param, mBuf)
2479 TRC3(cmPkRgrRachCfg)
2481 CMCHKPK(SPkU8, param->prachResource, mBuf);
2482 CMCHKPK(SPkU16, param->msgSizeGrpA, mBuf);
2483 CMCHKPK(SPkU8, param->sizeRaPreambleGrpA, mBuf);
2484 CMCHKPK(SPkU8, param->numRaPreamble, mBuf);
2485 CMCHKPK(SPkU8, param->maxMsg3Tx, mBuf);
2486 for (i=param->raOccasion.size-1; i >= 0; i--) {
2487 CMCHKPK(SPkU8, param->raOccasion.subFrameNum[i], mBuf);
2489 CMCHKPK(SPkU32, param->raOccasion.sfnEnum, mBuf);
2490 CMCHKPK(SPkU8, param->raOccasion.size, mBuf);
2491 CMCHKPK(SPkU8, param->raWinSize, mBuf);
2492 CMCHKPK(SPkU8, param->preambleFormat, mBuf);
2494 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2495 * timer configuration */
2496 CMCHKPK(SPkU8, param->contResTmr, mBuf);
2503 /***********************************************************
2505 * Func : cmUnpkRgrRachCfg
2508 * Desc : RACH configuration per cell
2517 **********************************************************/
2519 PUBLIC S16 cmUnpkRgrRachCfg
2525 PUBLIC S16 cmUnpkRgrRachCfg(param, mBuf)
2533 TRC3(cmUnpkRgrRachCfg)
2535 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2536 * timer configuration */
2537 CMCHKUNPK(SUnpkU8, ¶m->contResTmr, mBuf);
2539 CMCHKUNPK(SUnpkU8, ¶m->preambleFormat, mBuf);
2540 CMCHKUNPK(SUnpkU8, ¶m->raWinSize, mBuf);
2541 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.size, mBuf);
2542 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2543 param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum;
2544 for (i=0; i<param->raOccasion.size; i++) {
2545 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.subFrameNum[i], mBuf);
2547 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3Tx, mBuf);
2548 CMCHKUNPK(SUnpkU8, ¶m->numRaPreamble, mBuf);
2549 CMCHKUNPK(SUnpkU8, ¶m->sizeRaPreambleGrpA, mBuf);
2550 CMCHKUNPK(SUnpkU16, ¶m->msgSizeGrpA, mBuf);
2551 CMCHKUNPK(SUnpkU8, ¶m->prachResource, mBuf);
2557 /***********************************************************
2559 * Func : cmPkRgrSiCfg
2562 * Desc : SI Configuration per cell
2571 **********************************************************/
2573 PUBLIC S16 cmPkRgrSiCfg
2579 PUBLIC S16 cmPkRgrSiCfg(param, mBuf)
2584 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2587 #endif/*RGR_SI_SCH*/
2592 if(param->numSi > sizeof(param->siPeriodicity)/
2593 sizeof(param->siPeriodicity[0]))
2594 param->numSi = sizeof(param->siPeriodicity)/
2595 sizeof(param->siPeriodicity[0]);
2597 for (idx=param->numSi-1; idx >= 0; idx--) {
2598 /* Enum to be packed/unpacked as U32 instead of S32 */
2599 CMCHKPK(SPkU32, param->siPeriodicity[idx], mBuf);
2601 CMCHKPK(SPkU8, param->numSi, mBuf);
2602 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2603 CMCHKPK(SPkU32, (U32)param->modPrd, mBuf);
2604 #endif/*RGR_SI_SCH*/
2605 CMCHKPK(SPkU8, param->retxCnt, mBuf);
2606 CMCHKPK(SPkU8, param->siWinSize, mBuf);
2612 /***********************************************************
2614 * Func : cmUnpkRgrSiCfg
2617 * Desc : SI Configuration per cell
2626 **********************************************************/
2628 PUBLIC S16 cmUnpkRgrSiCfg
2634 PUBLIC S16 cmUnpkRgrSiCfg(param, mBuf)
2640 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2643 #endif/*RGR_SI_SCH*/
2645 TRC3(cmUnpkRgrSiCfg)
2647 CMCHKUNPK(SUnpkU8, ¶m->siWinSize, mBuf);
2648 CMCHKUNPK(SUnpkU8, ¶m->retxCnt, mBuf);
2650 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2651 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2652 param->modPrd = (RgrModPeriodicity) tmpEnum;
2653 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2655 if(param->numSi > sizeof(param->siPeriodicity)/
2656 sizeof(param->siPeriodicity[0]))
2657 param->numSi = sizeof(param->siPeriodicity)/
2658 sizeof(param->siPeriodicity[0]);
2660 /* Enum to be packed/unpacked as U32 instead of S32 */
2661 for (idx=0; idx < param->numSi; idx++) {
2662 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2663 param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum;
2665 #endif/*RGR_SI_SCH*/
2672 /***********************************************************
2674 * Func : cmPkRgrTpcRntiCfg
2677 * Desc : TPC RNTI Range
2686 **********************************************************/
2688 PUBLIC S16 cmPkRgrTpcRntiCfg
2690 RgrTpcRntiCfg *param,
2694 PUBLIC S16 cmPkRgrTpcRntiCfg(param, mBuf)
2695 RgrTpcRntiCfg *param;
2700 TRC3(cmPkRgrTpcRntiCfg)
2702 CMCHKPK(SPkU16, param->size, mBuf);
2703 CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf);
2709 /***********************************************************
2711 * Func : cmUnpkRgrTpcRntiCfg
2714 * Desc : TPC RNTI Range
2723 **********************************************************/
2725 PUBLIC S16 cmUnpkRgrTpcRntiCfg
2727 RgrTpcRntiCfg *param,
2731 PUBLIC S16 cmUnpkRgrTpcRntiCfg(param, mBuf)
2732 RgrTpcRntiCfg *param;
2737 TRC3(cmUnpkRgrTpcRntiCfg)
2739 CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf);
2740 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
2746 /***********************************************************
2748 * Func : cmPkRgrUlPwrCfg
2751 * Desc : Cell specific power configuration
2760 **********************************************************/
2762 PUBLIC S16 cmPkRgrUlPwrCfg
2768 PUBLIC S16 cmPkRgrUlPwrCfg(param, mBuf)
2774 TRC3(cmPkRgrUlPwrCfg)
2776 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2777 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2778 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2779 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2780 CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf);
2781 CMCHKPK(SPkS8, param->p0NominalPucch, mBuf);
2782 CMCHKPK(SPkU32, param->alpha, mBuf);
2783 CMCHKPK(SPkS8, param->p0NominalPusch, mBuf);
2789 /***********************************************************
2791 * Func : cmUnpkRgrUlPwrCfg
2794 * Desc : Cell specific power configuration
2803 **********************************************************/
2805 PUBLIC S16 cmUnpkRgrUlPwrCfg
2811 PUBLIC S16 cmUnpkRgrUlPwrCfg(param, mBuf)
2818 TRC3(cmUnpkRgrUlPwrCfg)
2820 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf);
2821 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2822 param->alpha = (RgrPwrAlpha) tmpEnum;
2823 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf);
2824 CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf);
2825 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2826 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2827 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2828 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2834 /***********************************************************
2836 * Func : cmPkRgrPuschCfg
2839 * Desc : brief cell specific hopping configuration
2848 **********************************************************/
2850 PUBLIC S16 cmPkRgrPuschCfg
2856 PUBLIC S16 cmPkRgrPuschCfg(param, mBuf)
2862 TRC3(cmPkRgrPuschCfg)
2864 CMCHKPK(SPkU8, param->hopOffst, mBuf);
2865 CMCHKPK(SPkU8, param->isIntraHop, mBuf);
2866 CMCHKPK(SPkU8, param->numSubBands, mBuf);
2872 /***********************************************************
2874 * Func : cmUnpkRgrPuschCfg
2877 * Desc : brief cell specific hopping configuration
2886 **********************************************************/
2888 PUBLIC S16 cmUnpkRgrPuschCfg
2894 PUBLIC S16 cmUnpkRgrPuschCfg(param, mBuf)
2900 TRC3(cmUnpkRgrPuschCfg)
2902 CMCHKUNPK(SUnpkU8, ¶m->numSubBands, mBuf);
2903 CMCHKUNPK(SUnpkU8, ¶m->isIntraHop, mBuf);
2904 CMCHKUNPK(SUnpkU8, ¶m->hopOffst, mBuf);
2910 /***********************************************************
2912 * Func : cmPkRgrCodeBookRstCfg
2915 * Desc : Number of bits in code book for different transmission modes
2924 **********************************************************/
2926 PUBLIC S16 cmPkRgrCodeBookRstCfg
2928 RgrCodeBookRstCfg *param,
2932 PUBLIC S16 cmPkRgrCodeBookRstCfg(param, mBuf)
2933 RgrCodeBookRstCfg *param;
2939 TRC3(cmPkRgrCodeBookRstCfg)
2941 for (i=1-1; i >= 0; i--) {
2942 CMCHKPK(SPkU32, param->pmiBitMap[i], mBuf);
2944 CMCHKPK(SPkU8, param->pres, mBuf);
2950 /***********************************************************
2952 * Func : cmUnpkRgrCodeBookRstCfg
2955 * Desc : Number of bits in code book for different transmission modes
2964 **********************************************************/
2966 PUBLIC S16 cmUnpkRgrCodeBookRstCfg
2968 RgrCodeBookRstCfg *param,
2972 PUBLIC S16 cmUnpkRgrCodeBookRstCfg(param, mBuf)
2973 RgrCodeBookRstCfg *param;
2979 TRC3(cmUnpkRgrCodeBookRstCfg)
2981 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
2982 for (i=0; i<1; i++) {
2983 CMCHKUNPK(SUnpkU32, ¶m->pmiBitMap[i], mBuf);
2990 /***********************************************************
2992 * Func : cmPkRgrPreambleSetCfg
2995 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3004 **********************************************************/
3006 PUBLIC S16 cmPkRgrPreambleSetCfg
3008 RgrPreambleSetCfg *param,
3012 PUBLIC S16 cmPkRgrPreambleSetCfg(param, mBuf)
3013 RgrPreambleSetCfg *param;
3018 TRC3(cmPkRgrPreambleSetCfg)
3020 CMCHKPK(SPkU8, param->size, mBuf);
3021 CMCHKPK(SPkU8, param->start, mBuf);
3022 CMCHKPK(SPkU8, param->pres, mBuf);
3028 /***********************************************************
3030 * Func : cmUnpkRgrPreambleSetCfg
3033 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3042 **********************************************************/
3044 PUBLIC S16 cmUnpkRgrPreambleSetCfg
3046 RgrPreambleSetCfg *param,
3050 PUBLIC S16 cmUnpkRgrPreambleSetCfg(param, mBuf)
3051 RgrPreambleSetCfg *param;
3056 TRC3(cmUnpkRgrPreambleSetCfg)
3058 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3059 CMCHKUNPK(SUnpkU8, ¶m->start, mBuf);
3060 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
3066 /***********************************************************
3068 * Func : cmPkRgrCmnLchCfg
3071 * Desc : Logical channel configuration info for common channels
3080 **********************************************************/
3082 PUBLIC S16 cmPkRgrCmnLchCfg
3084 RgrCmnLchCfg *param,
3088 PUBLIC S16 cmPkRgrCmnLchCfg(param, mBuf)
3089 RgrCmnLchCfg *param;
3094 TRC3(cmPkRgrCmnLchCfg)
3096 CMCHKPK(SPkU8, param->ulTrchType, mBuf);
3097 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
3098 CMCHKPK(SPkU8, param->dir, mBuf);
3099 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
3100 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
3106 /***********************************************************
3108 * Func : cmUnpkRgrCmnLchCfg
3111 * Desc : Logical channel configuration info for common channels
3120 **********************************************************/
3122 PUBLIC S16 cmUnpkRgrCmnLchCfg
3124 RgrCmnLchCfg *param,
3128 PUBLIC S16 cmUnpkRgrCmnLchCfg(param, mBuf)
3129 RgrCmnLchCfg *param;
3134 TRC3(cmUnpkRgrCmnLchCfg)
3136 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
3137 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
3138 CMCHKUNPK(SUnpkU8, ¶m->dir, mBuf);
3139 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
3140 CMCHKUNPK(SUnpkU8, ¶m->ulTrchType, mBuf);
3146 /***********************************************************
3148 * Func : cmPkRgrDlfsCfg
3151 * Desc : RGR configuration for DLFS scheduler
3160 **********************************************************/
3162 PUBLIC S16 cmPkRgrDlfsCfg
3168 PUBLIC S16 cmPkRgrDlfsCfg(param, mBuf)
3174 TRC3(cmPkRgrDlfsCfg)
3176 CMCHKPK(SPkU8, param->thresholdCqi, mBuf);
3177 CMCHKPK(SPkU8, param->isDlFreqSel, mBuf);
3183 /***********************************************************
3185 * Func : cmUnpkRgrDlfsCfg
3188 * Desc : RGR configuration for DLFS scheduler
3197 **********************************************************/
3199 PUBLIC S16 cmUnpkRgrDlfsCfg
3205 PUBLIC S16 cmUnpkRgrDlfsCfg(param, mBuf)
3211 TRC3(cmUnpkRgrDlfsCfg)
3213 CMCHKUNPK(SUnpkU8, ¶m->isDlFreqSel, mBuf);
3214 CMCHKUNPK(SUnpkU8, ¶m->thresholdCqi, mBuf);
3224 /***********************************************************
3226 * Func : cmPkRgrTddPrachInfo
3229 * Desc : PRACH resource information for TDD
3238 **********************************************************/
3240 PUBLIC S16 cmPkRgrTddPrachInfo
3242 RgrTddPrachInfo *param,
3246 PUBLIC S16 cmPkRgrTddPrachInfo(param, mBuf)
3247 RgrTddPrachInfo *param;
3252 TRC3(cmPkRgrTddPrachInfo)
3254 CMCHKPK(SPkU8, param->ulStartSfIdx, mBuf);
3255 CMCHKPK(SPkU8, param->halfFrm, mBuf);
3256 CMCHKPK(SPkU32, param->sfn, mBuf);
3257 CMCHKPK(SPkU8, param->freqIdx, mBuf);
3263 /***********************************************************
3265 * Func : cmUnpkRgrTddPrachInfo
3268 * Desc : PRACH resource information for TDD
3277 **********************************************************/
3279 PUBLIC S16 cmUnpkRgrTddPrachInfo
3281 RgrTddPrachInfo *param,
3285 PUBLIC S16 cmUnpkRgrTddPrachInfo(param, mBuf)
3286 RgrTddPrachInfo *param;
3292 TRC3(cmUnpkRgrTddPrachInfo)
3294 CMCHKUNPK(SUnpkU8, ¶m->freqIdx, mBuf);
3295 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
3296 param->sfn = tmpEnum;
3297 CMCHKUNPK(SUnpkU8, ¶m->halfFrm, mBuf);
3298 CMCHKUNPK(SUnpkU8, ¶m->ulStartSfIdx, mBuf);
3304 /***********************************************************
3306 * Func : cmPkRgrTddPrachRscInfo
3309 * Desc : Set of PRACH Information for TDD
3318 **********************************************************/
3320 PUBLIC S16 cmPkRgrTddPrachRscInfo
3322 RgrTddPrachRscInfo *param,
3326 PUBLIC S16 cmPkRgrTddPrachRscInfo(param, mBuf)
3327 RgrTddPrachRscInfo *param;
3333 TRC3(cmPkRgrTddPrachRscInfo)
3335 for (i=param->numRsc-1; i >= 0; i--) {
3336 CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3338 CMCHKPK(SPkU8, param->numRsc, mBuf);
3344 /***********************************************************
3346 * Func : cmUnpkRgrTddPrachRscInfo
3349 * Desc : Set of PRACH Information for TDD
3358 **********************************************************/
3360 PUBLIC S16 cmUnpkRgrTddPrachRscInfo
3362 RgrTddPrachRscInfo *param,
3366 PUBLIC S16 cmUnpkRgrTddPrachRscInfo(param, mBuf)
3367 RgrTddPrachRscInfo *param;
3373 TRC3(cmUnpkRgrTddPrachRscInfo)
3375 CMCHKUNPK(SUnpkU8, ¶m->numRsc, mBuf);
3376 for (i=0; i<param->numRsc; i++) {
3377 CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3388 /***********************************************************
3390 * Func : cmPkRgrEnbPfs
3393 * Desc : PFS Configuration
3402 **********************************************************/
3404 PUBLIC S16 cmPkRgrEnbPfs
3410 PUBLIC S16 cmPkRgrEnbPfs(param, mBuf)
3417 for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--)
3419 CMCHKPK(SPkU32, param->qciWgt[idx], mBuf);
3421 CMCHKPK(SPkU8, param->fairCoeffi, mBuf);
3422 CMCHKPK(SPkU8, param->tptCoeffi, mBuf);
3429 /***********************************************************
3431 * Func : cmUnpkRgrEnbPfs
3434 * Desc : PFS Configuration
3443 **********************************************************/
3445 PUBLIC S16 cmUnpkRgrEnbPfs
3451 PUBLIC S16 cmUnpkRgrEnbPfs(param, mBuf)
3457 TRC3(cmUnpkRgrEnbPfs)
3459 CMCHKUNPK(SUnpkU8, ¶m->tptCoeffi, mBuf);
3460 CMCHKUNPK(SUnpkU8, ¶m->fairCoeffi, mBuf);
3461 for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++)
3463 CMCHKUNPK(SUnpkU32, ¶m->qciWgt[idx], mBuf);
3468 /*rgr_c_001.main_7 - Added support for SPS*/
3470 /***********************************************************
3472 * Func : cmPkRgrSpsCellCfg
3475 * Desc : DL SPS configuration parameters per UE
3476 TODO: Check if this is to be added to re-configuration as well
3485 **********************************************************/
3487 PUBLIC S16 cmPkRgrSpsCellCfg
3489 RgrSpsCellCfg *param,
3493 PUBLIC S16 cmPkRgrSpsCellCfg(param, mBuf)
3494 RgrSpsCellCfg *param;
3499 TRC3(cmPkRgrSpsCellCfg)
3500 CMCHKPK(SPkU16, param->maxSpsUePerUlSf, mBuf);
3501 CMCHKPK(SPkU16, param->maxSpsUePerDlSf, mBuf);
3502 CMCHKPK(SPkU8, param->maxSpsDlBw, mBuf);
3509 /***********************************************************
3511 * Func : cmUnpkRgrSpsDlCellCfg
3514 * Desc : DL SPS configuration parameters per UE
3515 TODO: Check if this is to be added to re-configuration as well
3524 **********************************************************/
3526 PUBLIC S16 cmUnpkRgrSpsDlCellCfg
3528 RgrSpsCellCfg *param,
3532 PUBLIC S16 cmUnpkRgrSpsDlCellCfg(param, mBuf)
3533 RgrSpsCellCfg *param;
3538 TRC3(cmUnpkRgrSpsDlCellCfg)
3540 CMCHKUNPK(SUnpkU8, ¶m->maxSpsDlBw, mBuf);
3541 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerDlSf, mBuf);
3542 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerUlSf, mBuf);
3548 PUBLIC S16 cmPkRgr5gtfCellCfg
3550 Rgr5gtfCellCfg *param,
3555 for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx)
3558 CMCHKPK(SPkU32, param->dynConfig[(U8)idx], mBuf);
3560 CMCHKPK(SPkU8, param->uePerGrp, mBuf);
3561 CMCHKPK(SPkU8, param->ueGrpPerTti, mBuf);
3562 CMCHKPK(SPkU8, param->numUes, mBuf);
3563 CMCHKPK(SPkU8, param->numOfCC, mBuf);
3564 CMCHKPK(SPkU8, param->bwPerCC, mBuf);
3565 CMCHKPK(SPkU8, param->cfi, mBuf);
3569 PUBLIC S16 cmUnPkRgr5gtfCellCfg
3571 Rgr5gtfCellCfg *param,
3577 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
3578 CMCHKUNPK(SUnpkU8, ¶m->bwPerCC, mBuf);
3579 CMCHKUNPK(SUnpkU8, ¶m->numOfCC, mBuf);
3580 CMCHKUNPK(SUnpkU8, ¶m->numUes, mBuf);
3581 CMCHKUNPK(SUnpkU8, ¶m->ueGrpPerTti, mBuf);
3582 CMCHKUNPK(SUnpkU8, ¶m->uePerGrp, mBuf);
3583 for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx)
3586 CMCHKUNPK(SUnpkU32, ¶m->dynConfig[(U8)idx], mBuf);
3593 /*LAA : functions to pack and unpack LAA params*/
3594 /***********************************************************
3596 * Func : cmPkRgrLteUCellCfg
3599 * Desc : LAA configuration for the Cell
3608 **********************************************************/
3610 PRIVATE S16 cmPkRgrLteUCellCfg
3616 PRIVATE S16 cmPkRgrLteUCellCfg(param, mBuf)
3622 TRC3(cmPkRgrlteUCellCfg)
3623 CMCHKPK(SPkU8, param->isLaaCell, mBuf);
3628 /***********************************************************
3630 * Func : cmUnpkRgrLteUCellCfg
3633 * Desc : LAA configuration for the cell
3642 **********************************************************/
3644 PRIVATE S16 cmUnpkRgrLteUCellCfg
3650 PRIVATE S16 cmUnpkRgrLteUCellCfg(param, mBuf)
3656 TRC3(cmUnpkRgrLteUCellCfg)
3658 CMCHKUNPK(SUnpkU8, ¶m->isLaaCell, mBuf);
3663 /* LTE_ADV_FLAG_REMOVED_START */
3664 /***********************************************************
3666 * Func : cmPkRgrLteAdvancedUeConfig
3669 * Desc : PAcks LteAdvancedUeConfig
3678 **********************************************************/
3680 PUBLIC S16 cmPkRgrLteAdvancedUeConfig
3682 RgrLteAdvancedUeConfig *param,
3686 PUBLIC S16 cmPkRgrLteAdvancedUeConfig(param, mBuf)
3687 RgrLteAdvancedUeConfig *param;
3692 TRC3(cmPkRgrLteAdvancedUeConfig)
3693 CMCHKPK(SPkU8, param->isUeCellEdge, mBuf);
3694 CMCHKPK(SPkU8, param->isAbsUe, mBuf);
3695 CMCHKPK(SPkU32, param->pres, mBuf);
3699 /***********************************************************
3701 * Func : cmUnpkRgrLteAdvancedUeConfig
3704 * Desc : unpacks LteAdvancedUeConfig
3713 **********************************************************/
3715 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig
3717 RgrLteAdvancedUeConfig *param,
3721 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig(param, mBuf)
3722 RgrLteAdvancedUeConfig *param;
3727 TRC3(cmUnpkRgrLteAdvancedUeConfig)
3728 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
3729 CMCHKUNPK(SUnpkU8, ¶m->isAbsUe, mBuf);
3730 CMCHKUNPK(SUnpkU8, ¶m->isUeCellEdge, mBuf);
3734 /***********************************************************
3736 * Func : cmPkRgrAbsConfig
3739 * Desc : Packs RgrAbsConfig
3748 **********************************************************/
3750 PUBLIC S16 cmPkRgrAbsConfig
3752 RgrAbsConfig *param,
3756 PUBLIC S16 cmPkRgrAbsConfig(param, mBuf)
3757 RgrAbsConfig *param;
3763 TRC3(cmPkRgrAbsConfig)
3764 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3765 for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--)
3767 CMCHKPK(SPkU8, param->absPattern[(U8)indx], mBuf);
3770 CMCHKPK(SPkU32, param->absPatternType, mBuf);
3771 CMCHKPK(SPkU32, param->absLoadPeriodicity, mBuf);
3776 /***********************************************************
3778 * Func : cmPkRgrSfrConfig
3781 * Desc : Packs RgrSfrConfig
3790 **********************************************************/
3792 PUBLIC S16 cmPkRgrSfrConfig
3794 RgrSfrConfig *param,
3798 PUBLIC S16 cmPkRgrSfrConfig(param, mBuf)
3799 RgrSfrConfig *param;
3803 TRC3(cmPkRgrSfrConfig)
3805 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3807 CMCHKPK(SPkU32, param->pwrThreshold.pHigh, mBuf);
3808 CMCHKPK(SPkU32, param->pwrThreshold.pLow, mBuf);
3810 CMCHKPK(SPkU8, param->cellEdgeRbRange.endRb, mBuf);
3811 CMCHKPK(SPkU8, param->cellEdgeRbRange.startRb, mBuf);
3818 /***********************************************************
3820 * Func : cmPkRgrDsfrConfig
3823 * Desc : Packs RgrDsfrConfig
3828 * Notes: AIRSPAN_LTE_ADV_DSFR
3832 **********************************************************/
3834 PUBLIC S16 cmPkRgrDsfrConfig
3836 RgrDsfrConfig *param,
3840 PUBLIC S16 cmPkRgrDsfrConfig(param, mBuf)
3841 RgrDsfrConfig *param;
3845 TRC3(cmPkRgrDsfrConfig)
3847 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3854 /***********************************************************
3856 * Func : cmUnpkRgrDsfrConfig
3859 * Desc : UnPacks RgrDsfrConfig
3864 * Notes: AIRSPAN_LTE_ADV_DSFR
3868 **********************************************************/
3870 PUBLIC S16 cmUnpkRgrDsfrConfig
3872 RgrDsfrConfig *param,
3876 PUBLIC S16 cmUnpkRgrDsfrConfig(param, mBuf)
3877 RgrDsfrConfig *param;
3881 TRC3(cmUnpkRgrDsfrConfig)
3883 CMCHKUNPK(SUnpkU32, (U32 *)¶m->status, mBuf);
3889 /***********************************************************
3891 * Func : cmPkRgrCellLteAdvancedFeatureCfg
3894 * Desc : Cell LteAdvancedFeatureCfg
3903 **********************************************************/
3905 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg
3907 RgrLteAdvancedCellConfig *param,
3911 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg(param, mBuf)
3912 RgrLteAdvancedCellConfig *param;
3916 TRC3(cmPkRgrCellLteAdvancedFeatureCfg)
3918 CMCHKPK(SPkU32, param->pres, mBuf);
3919 CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
3920 CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf);
3921 CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf);
3928 /***********************************************************
3930 * Func : cmUnpkRgrAbsConfig
3933 * Desc : Unpacks AbsConfig
3942 **********************************************************/
3944 PUBLIC S16 cmUnpkRgrAbsConfig
3946 RgrAbsConfig *param,
3950 PUBLIC S16 cmUnpkRgrAbsConfig(param, mBuf)
3951 RgrAbsConfig *param;
3957 TRC3(cmUnpkRgrAbsConfig)
3959 CMCHKUNPK(SUnpkU32, ¶m->absLoadPeriodicity, mBuf);
3960 CMCHKUNPK(SUnpkU32, ¶m->absPatternType, mBuf);
3961 for (indx = 0; indx <RGR_ABS_PATTERN_LEN; indx++)
3963 CMCHKUNPK(SUnpkU8, ¶m->absPattern[(U8)indx], mBuf);
3965 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
3971 /***********************************************************
3973 * Func : cmUnpkRgrSfrConfig
3976 * Desc : Unpacks SfrConfig
3985 **********************************************************/
3987 PUBLIC S16 cmUnpkRgrSfrConfig
3989 RgrSfrConfig *param,
3993 PUBLIC S16 cmUnpkRgrSfrConfig(param, mBuf)
3994 RgrSfrConfig *param;
3999 TRC3(cmUnpkRgrSfrConfig)
4001 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.startRb, mBuf);
4002 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.endRb, mBuf);
4004 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pLow, mBuf);
4005 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pHigh, mBuf);
4007 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4012 /***********************************************************
4014 * Func : cmUnpkRgrCellLteAdvancedFeatureCfg
4017 * Desc : unpacks LteAdvancedFeatureCfg per cell
4026 **********************************************************/
4028 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg
4030 RgrLteAdvancedCellConfig *param,
4034 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4035 RgrLteAdvancedCellConfig *param;
4040 TRC3(cmUnpkRgrCellLteAdvancedFeatureCfg)
4041 CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf);
4042 CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4043 CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4044 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
4049 /* LTE_ADV_FLAG_REMOVED_END */
4051 /***********************************************************
4053 * Func : cmPkMacSchedGnbCfg
4055 * Desc : SCH GNB Configurations
4063 **********************************************************/
4065 PUBLIC S16 cmPkMacSchedGnbCfg
4067 MacSchedGnbCfg *param,
4071 PUBLIC S16 cmPkMacSchedGnbCfg(param, mBuf)
4072 RgrSchedEnbCfg *param;
4076 TRC3(cmPkMacSchedGnbCfg)
4078 CMCHKPK(SPkU8, param->maxDlUePerTti, mBuf);
4079 CMCHKPK(SPkU8, param->maxUlUePerTti, mBuf);
4080 CMCHKPK(SPkU8, param->numCells, mBuf);
4081 CMCHKPK(SPkU8, param->dlSchdType, mBuf);
4082 CMCHKPK(SPkU8, param->ulSchdType, mBuf);
4083 CMCHKPK(SPkU8, param->numTxAntPorts, mBuf);
4085 } /* cmPkRgrSchedEnbCfg */
4087 /***********************************************************
4089 * Func : cmUnpkMacSchedGnbCfg
4092 * Desc : SCH Gnodeb Configuration to SCH
4101 **********************************************************/
4103 PUBLIC S16 cmUnpkMacSchedGnbCfg
4105 MacSchedGnbCfg *param,
4109 PUBLIC S16 cmUnpkMacSchedGnbCfg(param, mBuf)
4110 MacSchedGnbCfg *param;
4115 TRC3(cmUnpkMacSchedGnbCfg)
4117 CMCHKUNPK(SUnpkU8, ¶m->numTxAntPorts, mBuf);
4118 CMCHKUNPK(SUnpkU8, ¶m->ulSchdType, mBuf);
4119 CMCHKUNPK(SUnpkU8, ¶m->dlSchdType, mBuf);
4120 CMCHKUNPK(SUnpkU8, ¶m->numCells, mBuf);
4121 CMCHKUNPK(SUnpkU8, ¶m->maxUlUePerTti, mBuf);
4122 CMCHKUNPK(SUnpkU8, ¶m->maxDlUePerTti, mBuf);
4124 } /* cmUnpkMacSchedGnbCfg */
4127 /***********************************************************
4129 * Func : cmPkRgrCellCfg
4132 * Desc : Cell Configuration at RRM
4141 **********************************************************/
4143 PUBLIC S16 cmPkRgrCellCfg
4149 PUBLIC S16 cmPkRgrCellCfg(param, mBuf)
4156 TRC3(cmPkRgrCellCfg)
4159 /* EMTC related changes start*/
4162 /* EMTC related changes ends*/
4166 CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4169 CMCHKPK(SPkU8, param->isPucchFormat3Sptd, mBuf);
4171 /*LAA: Pack LAA params*/
4172 CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4173 CMCHKPK(SPkU32, param->msg4pAVal, mBuf);
4174 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
4175 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
4176 CMCHKPK(SPkU16, param->phichTxPwrOffset, mBuf);
4177 CMCHKPK(SPkU16, param->rarTxPwrOffset, mBuf);
4178 CMCHKPK(SPkU16, param->pcchTxPwrOffset, mBuf);
4179 CMCHKPK(SPkU16, param->bcchTxPwrOffset, mBuf);
4181 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
4182 /*rgr_c_001.main_7 - Added support for SPS*/
4183 CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf);
4185 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4186 CMCHKPK(SPkU8, param->rrmTtiIndPrd, mBuf);
4188 CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4189 CMCHKPK(SPkU8, param->spclSfCfgIdx, mBuf);
4190 CMCHKPK(SPkU8, param->ulDlCfgIdx, mBuf);
4193 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4194 for (i=param->numCmnLcs-1; i >= 0; i--) {
4195 CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4197 CMCHKPK(SPkU8, param->numCmnLcs, mBuf);
4198 CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4199 CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf);
4200 CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4201 CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf);
4202 CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf);
4203 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf);
4204 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4205 CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf);
4206 /* LTE_ADV_FLAG_REMOVED_START */
4207 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4208 /* LTE_ADV_FLAG_REMOVED_END */
4209 CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf);
4210 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4211 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4212 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4213 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4214 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4215 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4216 CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf);
4217 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4218 CMCHKPK(SPkU8, param->dlfsSchdType, mBuf);
4220 CMCHKPK(SPkS8, param->pMax, mBuf);
4221 CMCHKPK(SPkU8, param->cellModSchm, mBuf);
4222 CMCHKPK(SPkU8, param->isCpDlExtend, mBuf);
4223 CMCHKPK(SPkU8, param->isCpUlExtend, mBuf);
4224 CMCHKPK(SPkU8, param->maxUlUeNewTxPerTti, mBuf);
4225 CMCHKPK(SPkU8, param->maxDlUeNewTxPerTti, mBuf);
4226 CMCHKPK(SPkU8, param->maxDlRetxBw, mBuf);
4227 CMCHKPK(SPkU8, param->maxDlBwPerUe, mBuf);
4228 CMCHKPK(SPkU8, param->maxUlBwPerUe, mBuf);
4229 CMCHKPK(SPkU8, param->maxCcchPerDlSf, mBuf);
4230 CMCHKPK(SPkU8, param->maxUePerDlSf, mBuf);
4231 CMCHKPK(SPkU8, param->maxUePerUlSf, mBuf);
4233 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4235 CMCHKPK(SPkU8, param->maxMsg3PerUlSf, mBuf);
4237 CMCHKPK(SPkU8, param->macInst, mBuf);
4238 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
4241 /* EMTC related changes start*/
4242 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
4243 CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4244 /* EMTC related changes ends*/
4252 /***********************************************************
4254 * Func : cmUnpkRgrCellCfg
4257 * Desc : Cell Configuration at RRM
4266 **********************************************************/
4268 PUBLIC S16 cmUnpkRgrCellCfg
4274 PUBLIC S16 cmUnpkRgrCellCfg(param, mBuf)
4282 TRC3(cmUnpkRgrCellCfg)
4284 /* EMTC related changes start*/
4285 CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4286 CMCHKUNPK(SUnpkU8, ¶m->emtcEnable, mBuf);
4287 /* EMTC related changes ends*/
4290 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
4291 CMCHKUNPK(SUnpkU8, ¶m->macInst, mBuf);
4293 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4295 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3PerUlSf, mBuf);
4297 CMCHKUNPK(SUnpkU8, ¶m->maxUePerUlSf, mBuf);
4298 CMCHKUNPK(SUnpkU8, ¶m->maxUePerDlSf, mBuf);
4299 CMCHKUNPK(SUnpkU8, ¶m->maxCcchPerDlSf, mBuf);
4300 CMCHKUNPK(SUnpkU8, ¶m->maxUlBwPerUe, mBuf);
4301 CMCHKUNPK(SUnpkU8, ¶m->maxDlBwPerUe, mBuf);
4302 CMCHKUNPK(SUnpkU8, ¶m->maxDlRetxBw, mBuf);
4303 CMCHKUNPK(SUnpkU8, ¶m->maxDlUeNewTxPerTti, mBuf);
4304 CMCHKUNPK(SUnpkU8, ¶m->maxUlUeNewTxPerTti, mBuf);
4305 CMCHKUNPK(SUnpkU8, ¶m->isCpUlExtend, mBuf);
4306 CMCHKUNPK(SUnpkU8, ¶m->isCpDlExtend, mBuf);
4307 CMCHKUNPK(SUnpkU8, ¶m->cellModSchm, mBuf);
4308 CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf);
4309 CMCHKUNPK(SUnpkU8, ¶m->dlfsSchdType, mBuf);
4310 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4311 CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf);
4312 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4313 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4314 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4315 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4316 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4317 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4318 CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf);
4319 /* LTE_ADV_FLAG_REMOVED_START */
4320 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4321 /* LTE_ADV_FLAG_REMOVED_END */
4322 CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf);
4323 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4324 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf);
4325 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf);
4326 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf);
4327 CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4328 CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf);
4329 CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4330 CMCHKUNPK(SUnpkU8, ¶m->numCmnLcs, mBuf);
4331 for (i=0; i<param->numCmnLcs; i++) {
4332 CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4334 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4337 CMCHKUNPK(SUnpkU8, ¶m->ulDlCfgIdx, mBuf);
4338 CMCHKUNPK(SUnpkU8, ¶m->spclSfCfgIdx, mBuf);
4339 CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4342 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4343 CMCHKUNPK(SUnpkU8, ¶m->rrmTtiIndPrd, mBuf);
4344 /*rgr_c_001.main_7 - Added support for SPS*/
4345 CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf);
4347 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
4348 CMCHKPK(SUnpkU16, ¶m->bcchTxPwrOffset, mBuf);
4349 CMCHKPK(SUnpkU16, ¶m->pcchTxPwrOffset, mBuf);
4350 CMCHKPK(SUnpkU16, ¶m->rarTxPwrOffset, mBuf);
4351 CMCHKPK(SUnpkU16, ¶m->phichTxPwrOffset, mBuf);
4352 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
4353 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
4354 CMCHKPK(SUnpkU32, (U32*)¶m->msg4pAVal, mBuf);
4355 /*LAA: Unpack LAA Cell params*/
4356 CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4358 CMCHKUNPK(SUnpkU8, ¶m->isPucchFormat3Sptd, mBuf);
4361 CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4368 /***********************************************************
4370 * Func : cmPkRgrUeAprdDlCqiCfg
4373 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4382 **********************************************************/
4384 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg
4386 RgrUeAprdDlCqiCfg *param,
4390 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg(param, mBuf)
4391 RgrUeAprdDlCqiCfg *param;
4396 TRC3(cmPkRgrUeAprdDlCqiCfg)
4397 /*Pack Aperiodic Trigger List only for Pcell */
4399 CMCHKPK(SPkU8, param->triggerSet2, mBuf);
4400 CMCHKPK(SPkU8, param->triggerSet1, mBuf);
4403 CMCHKPK(SPkU32, param->aprdModeEnum, mBuf);
4404 CMCHKPK(SPkU8, param->pres, mBuf);
4410 /***********************************************************
4412 * Func : cmUnpkRgrUeAprdDlCqiCfg
4415 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4424 **********************************************************/
4426 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg
4428 RgrUeAprdDlCqiCfg *param,
4432 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg(param, mBuf)
4433 RgrUeAprdDlCqiCfg *param;
4439 TRC3(cmUnpkRgrUeAprdDlCqiCfg)
4441 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4442 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4443 param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum;
4446 CMCHKUNPK(SUnpkU8, ¶m->triggerSet1, mBuf);
4447 CMCHKUNPK(SUnpkU8, ¶m->triggerSet2, mBuf);
4454 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4458 /***********************************************************
4460 * Func : cmPkRgrUePrdDlCqiCfg
4463 * Desc : Downlink Periodic CQI reporting related configuration per UE
4472 **********************************************************/
4474 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4476 RgrUePrdDlCqiCfg *param,
4480 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4481 RgrUePrdDlCqiCfg *param;
4486 TRC3(cmPkRgrUePrdDlCqiCfg)
4488 CMCHKPK(SPkU16, param->cqiPmiCfgIdx, mBuf);
4489 CMCHKPK(SPkU8, param->k, mBuf);
4490 CMCHKPK(SPkS8, param->cqiOffst, mBuf);
4491 CMCHKPK(SPkU8, param->subframeOffst, mBuf);
4492 CMCHKPK(SPkU32, param->prdicityEnum, mBuf);
4493 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4494 CMCHKPK(SPkU8, param->pres, mBuf);
4500 /***********************************************************
4502 * Func : cmUnpkRgrUePrdDlCqiCfg
4505 * Desc : Downlink Periodic CQI reporting related configuration per UE
4514 **********************************************************/
4516 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4518 RgrUePrdDlCqiCfg *param,
4522 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4523 RgrUePrdDlCqiCfg *param;
4529 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4531 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4532 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4533 param->prdModeEnum = tmpEnum;
4534 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4535 param->prdicityEnum = tmpEnum;
4536 CMCHKUNPK(SUnpkU8, ¶m->subframeOffst, mBuf);
4537 CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf);
4538 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4539 CMCHKUNPK(SUnpkU16, ¶m->cqiPmiCfgIdx, mBuf);
4546 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4548 /***********************************************************
4550 * Func : cmPkRgrUeDlPCqiSetup
4553 * Desc : Periodic CQI Setup configuration parameters information
4562 **********************************************************/
4564 PUBLIC S16 cmPkRgrUeDlPCqiSetup
4566 RgrUeDlPCqiSetup *param,
4570 PUBLIC S16 cmPkRgrUeDlPCqiSetup(param, mBuf)
4571 RgrUeDlPCqiSetup *param;
4576 TRC3(cmPkRgrUeDlPCqiSetup)
4578 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4579 CMCHKPK(SPkU8, param->sANCQI, mBuf);
4580 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4581 CMCHKPK(SPkU16, param->riCfgIdx, mBuf);
4582 CMCHKPK(SPkU8, param->riEna, mBuf);
4583 CMCHKPK(SPkU8, param->k, mBuf);
4584 CMCHKPK(SPkU8, param->cqiRepType, mBuf);
4585 CMCHKPK(SPkU16, param->cqiPCfgIdx, mBuf);
4586 CMCHKPK(SPkU16, param->cqiPResIdx, mBuf);
4592 /***********************************************************
4594 * Func : cmUnpkRgrUeDlPCqiSetup
4597 * Desc : Periodic CQI Setup configuration parameters information
4606 **********************************************************/
4608 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup
4610 RgrUeDlPCqiSetup *param,
4614 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup(param, mBuf)
4615 RgrUeDlPCqiSetup *param;
4621 TRC3(cmUnpkRgrUeDlPCqiSetup)
4623 CMCHKUNPK(SUnpkU16, ¶m->cqiPResIdx, mBuf);
4624 CMCHKUNPK(SUnpkU16, ¶m->cqiPCfgIdx, mBuf);
4625 CMCHKUNPK(SUnpkU8, ¶m->cqiRepType, mBuf);
4626 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4627 CMCHKUNPK(SUnpkU8, ¶m->riEna, mBuf);
4628 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4629 CMCHKUNPK(SUnpkU16, ¶m->riCfgIdx, mBuf);
4630 CMCHKUNPK(SUnpkU8, ¶m->sANCQI, mBuf);
4631 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4632 param->prdModeEnum = (RgrPrdCqiMode) tmpEnum;
4638 /***********************************************************
4640 * Func : cmPkRgrUePrdDlCqiCfg
4643 * Desc : Periodic CQI/PMI/RI configuration parameters information
4652 **********************************************************/
4654 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4656 RgrUePrdDlCqiCfg *param,
4660 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4661 RgrUePrdDlCqiCfg *param;
4666 TRC3(cmPkRgrUePrdDlCqiCfg)
4668 CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4669 CMCHKPK(SPkU8, param->type, mBuf);
4675 /***********************************************************
4677 * Func : cmUnpkRgrUePrdDlCqiCfg
4680 * Desc : Periodic CQI/PMI/RI configuration parameters information
4689 **********************************************************/
4691 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4693 RgrUePrdDlCqiCfg *param,
4697 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4698 RgrUePrdDlCqiCfg *param;
4703 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4705 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4706 CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4712 /***********************************************************
4714 * Func : cmPkRgrUeUlSrsSetupCfg
4717 * Desc : SRS configuration setup parameters information.
4718 Reference 36.313 SoundingRS-UL-Config
4727 **********************************************************/
4729 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg
4731 RgrUeUlSrsSetupCfg *param,
4735 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg(param, mBuf)
4736 RgrUeUlSrsSetupCfg *param;
4741 TRC3(cmPkRgrUeUlSrsSetupCfg)
4743 CMCHKPK(SPkU8, param->fDomPosi, mBuf);
4744 CMCHKPK(SPkU8, param->txComb, mBuf);
4745 CMCHKPK(SPkU8, param->sANSrs, mBuf);
4746 CMCHKPK(SPkU8, param->duration, mBuf);
4747 CMCHKPK(SPkU32, param->cycShift, mBuf);
4748 CMCHKPK(SPkU32, param->srsHopBw, mBuf);
4749 CMCHKPK(SPkU32, param->srsBw, mBuf);
4750 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4751 CMCHKPK(SPkU16, param->srsCfgIdx, mBuf);
4757 /***********************************************************
4759 * Func : cmUnpkRgrUeUlSrsSetupCfg
4762 * Desc : SRS configuration setup parameters information.
4763 Reference 36.313 SoundingRS-UL-Config
4772 **********************************************************/
4774 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg
4776 RgrUeUlSrsSetupCfg *param,
4780 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg(param, mBuf)
4781 RgrUeUlSrsSetupCfg *param;
4787 TRC3(cmUnpkRgrUeUlSrsSetupCfg)
4789 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4790 CMCHKUNPK(SUnpkU16, ¶m->srsCfgIdx, mBuf);
4791 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4792 param->srsBw = (RgrUlSrsBwInfo) tmpEnum;
4793 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4794 param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum;
4795 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4796 param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum;
4797 CMCHKUNPK(SUnpkU8, ¶m->duration, mBuf);
4798 CMCHKUNPK(SUnpkU8, ¶m->sANSrs, mBuf);
4799 CMCHKUNPK(SUnpkU8, ¶m->txComb, mBuf);
4800 CMCHKUNPK(SUnpkU8, ¶m->fDomPosi, mBuf);
4806 /***********************************************************
4808 * Func : cmPkRgrUeSrSetupCfg
4811 * Desc : SR Setup configuration parameters information
4820 **********************************************************/
4822 PUBLIC S16 cmPkRgrUeSrSetupCfg
4824 RgrUeSrSetupCfg *param,
4828 PUBLIC S16 cmPkRgrUeSrSetupCfg(param, mBuf)
4829 RgrUeSrSetupCfg *param;
4834 TRC3(cmPkRgrUeSrSetupCfg)
4836 /* ccpu00131601:DEL - dTMax Packing removed since this param will not
4837 * be required by Scheduler*/
4838 CMCHKPK(SPkU8, param->srCfgIdx, mBuf);
4839 CMCHKPK(SPkU16, param->srResIdx, mBuf);
4845 /***********************************************************
4847 * Func : cmUnpkRgrUeSrSetupCfg
4850 * Desc : SR Setup configuration parameters information
4859 **********************************************************/
4861 PUBLIC S16 cmUnpkRgrUeSrSetupCfg
4863 RgrUeSrSetupCfg *param,
4867 PUBLIC S16 cmUnpkRgrUeSrSetupCfg(param, mBuf)
4868 RgrUeSrSetupCfg *param;
4872 TRC3(cmUnpkRgrUeSrSetupCfg)
4874 CMCHKUNPK(SUnpkU16, ¶m->srResIdx, mBuf);
4875 CMCHKUNPK(SUnpkU8, ¶m->srCfgIdx, mBuf);
4876 /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not
4877 * be required by Scheduler*/
4883 /***********************************************************
4885 * Func : cmPkRgrUeSrCfg
4888 * Desc : SR configuration parameters information
4897 **********************************************************/
4899 PUBLIC S16 cmPkRgrUeSrCfg
4905 PUBLIC S16 cmPkRgrUeSrCfg(param, mBuf)
4911 TRC3(cmPkRgrUeSrCfg)
4913 CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
4914 CMCHKPK(SPkU8, param->type, mBuf);
4920 /***********************************************************
4922 * Func : cmUnpkRgrUeSrCfg
4925 * Desc : SR configuration parameters information
4934 **********************************************************/
4936 PUBLIC S16 cmUnpkRgrUeSrCfg
4942 PUBLIC S16 cmUnpkRgrUeSrCfg(param, mBuf)
4948 TRC3(cmUnpkRgrUeSrCfg)
4950 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4951 CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
4957 /***********************************************************
4959 * Func : cmPkRgrUeUlSrsCfg
4962 * Desc : SRS configuration parameters information.
4963 Reference 36.313 SoundingRS-UL-Config
4972 **********************************************************/
4974 PUBLIC S16 cmPkRgrUeUlSrsCfg
4976 RgrUeUlSrsCfg *param,
4980 PUBLIC S16 cmPkRgrUeUlSrsCfg(param, mBuf)
4981 RgrUeUlSrsCfg *param;
4986 TRC3(cmPkRgrUeUlSrsCfg)
4988 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4989 CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
4990 CMCHKPK(SPkU8, param->type, mBuf);
4996 /***********************************************************
4998 * Func : cmUnpkRgrUeUlSrsCfg
5001 * Desc : SRS configuration parameters information.
5002 Reference 36.313 SoundingRS-UL-Config
5011 **********************************************************/
5013 PUBLIC S16 cmUnpkRgrUeUlSrsCfg
5015 RgrUeUlSrsCfg *param,
5019 PUBLIC S16 cmUnpkRgrUeUlSrsCfg(param, mBuf)
5020 RgrUeUlSrsCfg *param;
5025 TRC3(cmUnpkRgrUeUlSrsCfg)
5027 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5028 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5029 CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5034 #endif /*TFU_UPGRADE */
5037 /***********************************************************
5039 * Func : cmPkRgrUeDlCqiCfg
5042 * Desc : Downlink CQI reporting related configuration per UE
5051 **********************************************************/
5053 PUBLIC S16 cmPkRgrUeDlCqiCfg
5055 RgrUeDlCqiCfg *param,
5059 PUBLIC S16 cmPkRgrUeDlCqiCfg(param, mBuf)
5060 RgrUeDlCqiCfg *param;
5065 TRC3(cmPkRgrUeDlCqiCfg)
5068 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5070 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5073 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5075 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5077 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5083 /***********************************************************
5085 * Func : cmUnpkRgrUeDlCqiCfg
5088 * Desc : Downlink CQI reporting related configuration per UE
5097 **********************************************************/
5099 PUBLIC S16 cmUnpkRgrUeDlCqiCfg
5101 RgrUeDlCqiCfg *param,
5105 PUBLIC S16 cmUnpkRgrUeDlCqiCfg(param, mBuf)
5106 RgrUeDlCqiCfg *param;
5111 TRC3(cmUnpkRgrUeDlCqiCfg)
5113 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5114 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5120 /***********************************************************
5122 * Func : cmPkRgrUeMeasGapCfg
5125 * Desc : Measurement gap configuration for UE
5134 **********************************************************/
5136 PUBLIC S16 cmPkRgrUeMeasGapCfg
5138 RgrUeMeasGapCfg *param,
5142 PUBLIC S16 cmPkRgrUeMeasGapCfg(param, mBuf)
5143 RgrUeMeasGapCfg *param;
5148 TRC3(cmPkRgrUeMeasGapCfg)
5150 CMCHKPK(SPkU8, param->gapOffst, mBuf);
5151 CMCHKPK(SPkU8, param->gapPrd, mBuf);
5152 CMCHKPK(SPkU8, param->isMesGapEnabled, mBuf);
5158 /***********************************************************
5160 * Func : cmUnpkRgrUeMeasGapCfg
5163 * Desc : Measurement gap configuration for UE
5172 **********************************************************/
5174 PUBLIC S16 cmUnpkRgrUeMeasGapCfg
5176 RgrUeMeasGapCfg *param,
5180 PUBLIC S16 cmUnpkRgrUeMeasGapCfg(param, mBuf)
5181 RgrUeMeasGapCfg *param;
5186 TRC3(cmUnpkRgrUeMeasGapCfg)
5188 CMCHKUNPK(SUnpkU8, ¶m->isMesGapEnabled, mBuf);
5189 CMCHKUNPK(SUnpkU8, ¶m->gapPrd, mBuf);
5190 CMCHKUNPK(SUnpkU8, ¶m->gapOffst, mBuf);
5194 /*rgr_c_001.main_9 ADD DRX functionality under flag*/
5196 /***********************************************************
5198 * Func : cmPkRgrDrxLongCycleOffst
5201 * Desc : DRX Long Cycle Offset
5210 **********************************************************/
5212 PUBLIC S16 cmPkRgrDrxLongCycleOffst
5214 RgrDrxLongCycleOffst *param,
5218 PUBLIC S16 cmPkRgrDrxLongCycleOffst(param, mBuf)
5219 RgrDrxLongCycleOffst *param;
5224 TRC3(cmPkRgrDrxLongCycleOffst)
5226 CMCHKPK(SPkU16, param->drxStartOffst, mBuf);
5227 CMCHKPK(SPkU16, param->longDrxCycle, mBuf);
5233 /***********************************************************
5235 * Func : cmUnpkRgrDrxLongCycleOffst
5238 * Desc : DRX Long Cycle Offset
5247 **********************************************************/
5249 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst
5251 RgrDrxLongCycleOffst *param,
5255 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst(param, mBuf)
5256 RgrDrxLongCycleOffst *param;
5261 TRC3(cmUnpkRgrDrxLongCycleOffst)
5263 CMCHKUNPK(SUnpkU16, ¶m->longDrxCycle, mBuf);
5264 CMCHKUNPK(SUnpkU16, ¶m->drxStartOffst, mBuf);
5270 /***********************************************************
5272 * Func : cmPkRgrDrxShortDrx
5275 * Desc : DRX Short Cycle Offset
5284 **********************************************************/
5286 PUBLIC S16 cmPkRgrDrxShortDrx
5288 RgrDrxShortDrx *param,
5292 PUBLIC S16 cmPkRgrDrxShortDrx(param, mBuf)
5293 RgrDrxShortDrx *param;
5298 TRC3(cmPkRgrDrxShortDrx)
5300 CMCHKPK(SPkU8, param->drxShortCycleTmr, mBuf);
5301 CMCHKPK(SPkU16, param->shortDrxCycle, mBuf);
5302 CMCHKPK(SPkU8, param->pres, mBuf);
5308 /***********************************************************
5310 * Func : cmUnpkRgrDrxShortDrx
5313 * Desc : DRX Short Cycle Offset
5322 **********************************************************/
5324 PUBLIC S16 cmUnpkRgrDrxShortDrx
5326 RgrDrxShortDrx *param,
5330 PUBLIC S16 cmUnpkRgrDrxShortDrx(param, mBuf)
5331 RgrDrxShortDrx *param;
5336 TRC3(cmUnpkRgrDrxShortDrx)
5338 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5339 CMCHKUNPK(SUnpkU16, ¶m->shortDrxCycle, mBuf);
5340 CMCHKUNPK(SUnpkU8, ¶m->drxShortCycleTmr, mBuf);
5344 /***********************************************************
5346 * Func : cmPkRgrUeDrxCfg
5349 * Desc : DRX configuration for UE
5358 **********************************************************/
5360 PUBLIC S16 cmPkRgrUeDrxCfg
5366 PUBLIC S16 cmPkRgrUeDrxCfg(param, mBuf)
5372 TRC3(cmPkRgrUeDrxCfg)
5374 CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5375 CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5376 CMCHKPK(SPkU16, param->drxRetxTmr, mBuf);
5378 CMCHKPK(SPkU8, param->drxRetxTmrR13Pres, mBuf);
5379 CMCHKPK(SPkU8, param->drxOnDurTmrR13Pres, mBuf);
5380 CMCHKPK(SPkU16, param->emtcDrxUlRetxTmr, mBuf);
5381 CMCHKPK(SPkU8, param->isEmtcUe, mBuf);
5383 CMCHKPK(SPkU16, param->drxInactvTmr, mBuf);
5384 CMCHKPK(SPkU16, param->drxOnDurTmr, mBuf);
5385 /*rgr_c_001.main_9 ADD added changes for R9*/
5387 CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf);
5394 /***********************************************************
5396 * Func : cmUnpkRgrUeDrxCfg
5399 * Desc : DRX configuration for UE
5408 **********************************************************/
5410 PUBLIC S16 cmUnpkRgrUeDrxCfg
5416 PUBLIC S16 cmUnpkRgrUeDrxCfg(param, mBuf)
5422 TRC3(cmUnpkRgrUeDrxCfg)
5424 /*rgr_c_001.main_9 ADD added changes for R9*/
5426 CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf);
5428 CMCHKUNPK(SUnpkU16, ¶m->drxOnDurTmr, mBuf);
5429 CMCHKUNPK(SUnpkU16, ¶m->drxInactvTmr, mBuf);
5431 CMCHKUNPK(SUnpkU8, ¶m->isEmtcUe, mBuf);
5432 CMCHKUNPK(SUnpkU16,¶m->emtcDrxUlRetxTmr, mBuf);
5433 CMCHKUNPK(SUnpkU8, ¶m->drxOnDurTmrR13Pres, mBuf);
5434 CMCHKUNPK(SUnpkU8, ¶m->drxRetxTmrR13Pres, mBuf);
5436 CMCHKUNPK(SUnpkU16, ¶m->drxRetxTmr, mBuf);
5437 CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5438 CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5442 /*rgr_c_001.main_9 ADD added DRX changes under DRX*/
5444 /***********************************************************
5446 * Func : cmPkRgrUeCapCfg
5449 * Desc : RgrUeCapCfg
5458 **********************************************************/
5460 PUBLIC S16 cmPkRgrUeCapCfg
5466 PUBLIC S16 cmPkRgrUeCapCfg(param, mBuf)
5472 TRC3(cmPkRgrUeCapCfg)
5474 CMCHKPK(SPkU8, param->txAntSel, mBuf);
5475 CMCHKPK(SPkU8, param->simCqiAckNack, mBuf);
5476 CMCHKPK(SPkU8, param->resAloocType1, mBuf);
5477 CMCHKPK(SPkU8, param->intraSfFeqHop, mBuf);
5478 CMCHKPK(SPkU8, param->pwrClass, mBuf);
5484 /***********************************************************
5486 * Func : cmUnpkRgrUeCapCfg
5489 * Desc : RgrUeCapCfg
5498 **********************************************************/
5500 PUBLIC S16 cmUnpkRgrUeCapCfg
5506 PUBLIC S16 cmUnpkRgrUeCapCfg(param, mBuf)
5512 TRC3(cmUnpkRgrUeCapCfg)
5514 CMCHKUNPK(SUnpkU8, ¶m->pwrClass, mBuf);
5515 CMCHKUNPK(SUnpkU8, ¶m->intraSfFeqHop, mBuf);
5516 CMCHKUNPK(SUnpkU8, ¶m->resAloocType1, mBuf);
5517 CMCHKUNPK(SUnpkU8, ¶m->simCqiAckNack, mBuf);
5518 CMCHKUNPK(SUnpkU8, ¶m->txAntSel, mBuf);
5524 /***********************************************************
5526 * Func : cmPkRgrUeAckNackRepCfg
5529 * Desc : rgrUeAckNackRepCfg
5538 **********************************************************/
5540 PUBLIC S16 cmPkRgrUeAckNackRepCfg
5542 RgrUeAckNackRepCfg *param,
5546 PUBLIC S16 cmPkRgrUeAckNackRepCfg(param, mBuf)
5547 RgrUeAckNackRepCfg *param;
5552 TRC3(cmPkRgrUeAckNackRepCfg)
5554 CMCHKPK(SPkU32, param->ackNackRepFactor, mBuf);
5555 CMCHKPK(SPkU16, param->pucchAckNackRep, mBuf);
5556 CMCHKPK(SPkU8, param->isAckNackEnabled, mBuf);
5562 /***********************************************************
5564 * Func : cmUnpkRgrUeAckNackRepCfg
5567 * Desc : rgrUeAckNackRepCfg
5576 **********************************************************/
5578 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg
5580 RgrUeAckNackRepCfg *param,
5584 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg(param, mBuf)
5585 RgrUeAckNackRepCfg *param;
5591 TRC3(cmUnpkRgrUeAckNackRepCfg)
5593 CMCHKUNPK(SUnpkU8, ¶m->isAckNackEnabled, mBuf);
5594 CMCHKUNPK(SUnpkU16, ¶m->pucchAckNackRep, mBuf);
5595 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5596 param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum;
5602 /***********************************************************
5604 * Func : cmPkRgrUeTxModeCfg
5607 * Desc : Transmission mode configuration per UE
5616 **********************************************************/
5618 PUBLIC S16 cmPkRgrUeTxModeCfg
5620 RgrUeTxModeCfg *param,
5624 PUBLIC S16 cmPkRgrUeTxModeCfg(param, mBuf)
5625 RgrUeTxModeCfg *param;
5630 TRC3(cmPkRgrUeTxModeCfg)
5632 CMCHKPK(SPkU32, param->txModeEnum, mBuf);
5633 CMCHKPK(SPkU32, param->tmTrnstnState, mBuf);
5634 CMCHKPK(SPkU8, param->pres, mBuf);
5641 /***********************************************************
5643 * Func : cmUnpkRgrUeTxModeCfg
5646 * Desc : Transmission mode configuration per UE
5655 **********************************************************/
5657 PUBLIC S16 cmUnpkRgrUeTxModeCfg
5659 RgrUeTxModeCfg *param,
5663 PUBLIC S16 cmUnpkRgrUeTxModeCfg(param, mBuf)
5664 RgrUeTxModeCfg *param;
5670 TRC3(cmUnpkRgrUeTxModeCfg)
5672 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5673 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5674 param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum;
5676 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5677 param->txModeEnum = (RgrTxMode) tmpEnum;
5683 /***********************************************************
5685 * Func : cmPkRgrUeUlHqCfg
5688 * Desc : Uplink HARQ configuration per UE
5697 **********************************************************/
5699 PUBLIC S16 cmPkRgrUeUlHqCfg
5701 RgrUeUlHqCfg *param,
5705 PUBLIC S16 cmPkRgrUeUlHqCfg(param, mBuf)
5706 RgrUeUlHqCfg *param;
5711 TRC3(cmPkRgrUeUlHqCfg)
5713 CMCHKPK(SPkU8, param->deltaHqOffst, mBuf);
5714 CMCHKPK(SPkU8, param->maxUlHqTx, mBuf);
5720 /***********************************************************
5722 * Func : cmUnpkRgrUeUlHqCfg
5725 * Desc : Uplink HARQ configuration per UE
5734 **********************************************************/
5736 PUBLIC S16 cmUnpkRgrUeUlHqCfg
5738 RgrUeUlHqCfg *param,
5742 PUBLIC S16 cmUnpkRgrUeUlHqCfg(param, mBuf)
5743 RgrUeUlHqCfg *param;
5748 TRC3(cmUnpkRgrUeUlHqCfg)
5750 CMCHKUNPK(SUnpkU8, ¶m->maxUlHqTx, mBuf);
5751 CMCHKUNPK(SUnpkU8, ¶m->deltaHqOffst, mBuf);
5757 /***********************************************************
5759 * Func : cmPkRgrUeGrpPwrCfg
5762 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5771 **********************************************************/
5773 PUBLIC S16 cmPkRgrUeGrpPwrCfg
5775 RgrUeGrpPwrCfg *param,
5779 PUBLIC S16 cmPkRgrUeGrpPwrCfg(param, mBuf)
5780 RgrUeGrpPwrCfg *param;
5785 TRC3(cmPkRgrUeGrpPwrCfg)
5787 CMCHKPK(SPkU8, param->idx, mBuf);
5788 CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf);
5789 CMCHKPK(SPkU8, param->pres, mBuf);
5795 /***********************************************************
5797 * Func : cmUnpkRgrUeGrpPwrCfg
5800 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5809 **********************************************************/
5811 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg
5813 RgrUeGrpPwrCfg *param,
5817 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg(param, mBuf)
5818 RgrUeGrpPwrCfg *param;
5823 TRC3(cmUnpkRgrUeGrpPwrCfg)
5825 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5826 CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf);
5827 CMCHKUNPK(SUnpkU8, ¶m->idx, mBuf);
5831 /*rgr_c_001.main_7 - Added support for SPS*/
5834 /***********************************************************
5836 * Func : cmPkRgrUeSpsDlCfg
5839 * Desc : DL SPS configuration parameters per UE
5848 **********************************************************/
5850 PUBLIC S16 cmPkRgrUeSpsDlCfg
5852 RgrUeSpsDlCfg *param,
5856 PUBLIC S16 cmPkRgrUeSpsDlCfg(param, mBuf)
5857 RgrUeSpsDlCfg *param;
5863 TRC3(cmPkRgrUeSpsDlCfg)
5864 CMCHKPK(SPkU16, param->explicitRelCnt, mBuf);
5865 CMCHKPK(SPkU32, param->dlSpsPrdctyEnum, mBuf);
5866 for (i=param->numPucchVal-1; i >= 0; i--) {
5867 CMCHKPK(SPkU32, param->n1PucchVal[i], mBuf);
5869 CMCHKPK(SPkU8, param->numPucchVal, mBuf);
5870 CMCHKPK(SPkU8, param->numSpsHqProc, mBuf);
5871 CMCHKPK(SPkU8, param->isDlSpsEnabled, mBuf);
5877 /***********************************************************
5879 * Func : cmUnpkRgrUeSpsDlCfg
5882 * Desc : DL SPS configuration parameters per UE
5891 **********************************************************/
5893 PUBLIC S16 cmUnpkRgrUeSpsDlCfg
5895 RgrUeSpsDlCfg *param,
5899 PUBLIC S16 cmUnpkRgrUeSpsDlCfg(param, mBuf)
5900 RgrUeSpsDlCfg *param;
5907 TRC3(cmUnpkRgrUeSpsDlCfg)
5909 CMCHKUNPK(SUnpkU8, ¶m->isDlSpsEnabled, mBuf);
5910 CMCHKUNPK(SUnpkU8, ¶m->numSpsHqProc, mBuf);
5911 CMCHKUNPK(SUnpkU8, ¶m->numPucchVal, mBuf);
5912 for (i=0; i<param->numPucchVal; i++) {
5913 CMCHKUNPK(SUnpkU32, ¶m->n1PucchVal[i], mBuf);
5915 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5916 param->dlSpsPrdctyEnum = tmpEnum;
5917 CMCHKUNPK(SUnpkU16, ¶m->explicitRelCnt, mBuf);
5923 /***********************************************************
5925 * Func : cmPkRgrUeSpsUlCfg
5928 * Desc : UL SPS configuration parameters per UE
5937 **********************************************************/
5939 PUBLIC S16 cmPkRgrUeSpsUlCfg
5941 RgrUeSpsUlCfg *param,
5945 PUBLIC S16 cmPkRgrUeSpsUlCfg(param, mBuf)
5946 RgrUeSpsUlCfg *param;
5952 TRC3(cmPkRgrUeSpsUlCfg)
5954 CMCHKPK(SPkU8, param->isLcSRMaskEnab, mBuf);
5955 for (i=param->lcCnt-1; i >= 0; i--) {
5956 /* SPS Changes starts */
5957 CMCHKPK(SPkU8, param->spsLcInfo[i].isSpsEnabled, mBuf);
5958 CMCHKPK(SPkU8, param->spsLcInfo[i].lcId, mBuf);
5959 /* SPS Changes ends */
5961 CMCHKPK(SPkU8, param->lcCnt, mBuf);
5962 CMCHKPK(SPkU32, param->ulSpsPrdctyEnum, mBuf);
5963 CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf);
5964 CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf);
5965 CMCHKPK(SPkU8, param->pwrCfgPres, mBuf);
5968 CMCHKPK(SPkU8, param->twoIntervalCfg, mBuf);
5971 CMCHKPK(SPkU32, param->implicitRelCnt, mBuf);
5972 CMCHKPK(SPkU8, param->isUlSpsEnabled, mBuf);
5978 /***********************************************************
5980 * Func : cmUnpkRgrUeSpsUlCfg
5983 * Desc : UL SPS configuration parameters per UE
5992 **********************************************************/
5994 PUBLIC S16 cmUnpkRgrUeSpsUlCfg
5996 RgrUeSpsUlCfg *param,
6000 PUBLIC S16 cmUnpkRgrUeSpsUlCfg(param, mBuf)
6001 RgrUeSpsUlCfg *param;
6008 TRC3(cmUnpkRgrUeSpsUlCfg)
6010 CMCHKUNPK(SUnpkU8, ¶m->isUlSpsEnabled, mBuf);
6011 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6012 param->implicitRelCnt = tmpEnum;
6015 CMCHKUNPK(SUnpkU8, ¶m->twoIntervalCfg, mBuf);
6018 CMCHKUNPK(SUnpkU8, ¶m->pwrCfgPres, mBuf);
6019 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf);
6020 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf);
6021 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6022 param->ulSpsPrdctyEnum = tmpEnum;
6023 CMCHKUNPK(SUnpkU8, ¶m->lcCnt, mBuf);
6024 for (i=0; i<param->lcCnt; i++) {
6025 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].lcId, mBuf);
6026 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf);
6028 CMCHKUNPK(SUnpkU8, ¶m->isLcSRMaskEnab, mBuf);
6034 /***********************************************************
6036 * Func : cmPkRgrUeSpsCfg
6039 * Desc : SPS configuration parameters per UE
6048 **********************************************************/
6050 PUBLIC S16 cmPkRgrUeSpsCfg
6056 PUBLIC S16 cmPkRgrUeSpsCfg(param, mBuf)
6062 TRC3(cmPkRgrUeSpsCfg)
6064 CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6065 CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6066 CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf);
6072 /***********************************************************
6074 * Func : cmUnpkRgrUeSpsCfg
6077 * Desc : SPS configuration parameters per UE
6086 **********************************************************/
6088 PUBLIC S16 cmUnpkRgrUeSpsCfg
6094 PUBLIC S16 cmUnpkRgrUeSpsCfg(param, mBuf)
6100 TRC3(cmUnpkRgrUeSpsCfg)
6102 CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf);
6103 CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6104 CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6109 /***********************************************************
6111 * Func : cmPkRgrUeUlPwrCfg
6114 * Desc : Uplink power configuration per UE
6123 **********************************************************/
6125 PUBLIC S16 cmPkRgrUeUlPwrCfg
6127 RgrUeUlPwrCfg *param,
6131 PUBLIC S16 cmPkRgrUeUlPwrCfg(param, mBuf)
6132 RgrUeUlPwrCfg *param;
6137 TRC3(cmPkRgrUeUlPwrCfg)
6139 CMCHKPK(SPkU8, param->trgCqi, mBuf);
6140 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
6141 CMCHKPK(SPkS8, param->p0UePucch, mBuf);
6142 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
6143 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
6144 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
6145 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6146 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6152 /***********************************************************
6154 * Func : cmUnpkRgrUeUlPwrCfg
6157 * Desc : Uplink power configuration per UE
6166 **********************************************************/
6168 PUBLIC S16 cmUnpkRgrUeUlPwrCfg
6170 RgrUeUlPwrCfg *param,
6174 PUBLIC S16 cmUnpkRgrUeUlPwrCfg(param, mBuf)
6175 RgrUeUlPwrCfg *param;
6180 TRC3(cmUnpkRgrUeUlPwrCfg)
6182 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6183 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6184 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
6185 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
6186 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
6187 CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf);
6188 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
6189 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
6195 /***********************************************************
6197 * Func : cmPkRgrUeQosCfg
6200 * Desc : Downlink/Uplink QoS configuration per UE
6209 **********************************************************/
6211 PUBLIC S16 cmPkRgrUeQosCfg
6217 PUBLIC S16 cmPkRgrUeQosCfg(param, mBuf)
6223 TRC3(cmPkRgrUeQosCfg)
6225 CMCHKPK(SPkU32, param->ueBr, mBuf);
6226 CMCHKPK(SPkU32, param->dlAmbr, mBuf);
6227 CMCHKPK(SPkU8, param->ambrPres, mBuf);
6233 /***********************************************************
6235 * Func : cmUnpkRgrUeQosCfg
6238 * Desc : Downlink/Uplink QoS configuration per UE
6247 **********************************************************/
6249 PUBLIC S16 cmUnpkRgrUeQosCfg
6255 PUBLIC S16 cmUnpkRgrUeQosCfg(param, mBuf)
6261 TRC3(cmUnpkRgrUeQosCfg)
6263 CMCHKUNPK(SUnpkU8, ¶m->ambrPres, mBuf);
6264 CMCHKUNPK(SUnpkU32, ¶m->dlAmbr, mBuf);
6265 CMCHKUNPK(SUnpkU32, ¶m->ueBr, mBuf);
6269 /***********************************************************
6271 * Func : cmPkRgrUePuschDedCfg
6274 * Desc : PUSCH Config Dedication for UE
6283 **********************************************************/
6285 PUBLIC S16 cmPkRgrUePuschDedCfg
6287 RgrUePuschDedCfg *param,
6291 PUBLIC S16 cmPkRgrUePuschDedCfg(param, mBuf)
6292 RgrUePuschDedCfg *param;
6297 TRC3(cmPkRgrUePuschDedCfg)
6299 CMCHKPK(SPkU8, param->bCQIIdx, mBuf);
6300 CMCHKPK(SPkU8, param->bRIIdx, mBuf);
6301 CMCHKPK(SPkU8, param->bACKIdx, mBuf);
6302 CMCHKPK(SPkU8, param->pres, mBuf);
6307 /***********************************************************
6309 * Func : cmUnpkRgrUePuschDedCfg
6312 * Desc : PUSCH Config Dedication for UE
6322 **********************************************************/
6324 PUBLIC S16 cmUnpkRgrUePuschDedCfg
6326 RgrUePuschDedCfg *param,
6330 PUBLIC S16 cmUnpkRgrUePuschDedCfg(param, mBuf)
6331 RgrUePuschDedCfg *param;
6336 TRC3(cmUnpkRgrUePuschDedCfg)
6338 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6339 CMCHKUNPK(SUnpkU8, ¶m->bACKIdx, mBuf);
6340 CMCHKUNPK(SUnpkU8, ¶m->bRIIdx, mBuf);
6341 CMCHKUNPK(SUnpkU8, ¶m->bCQIIdx, mBuf);
6345 /***********************************************************
6347 * Func : cmPkRgrUeTxAntSelCfg
6350 * Desc : UE Transmit Antenna selection related configuration
6359 **********************************************************/
6361 PUBLIC S16 cmPkRgrUeTxAntSelCfg
6363 RgrUeTxAntSelCfg *param,
6367 PUBLIC S16 cmPkRgrUeTxAntSelCfg(param, mBuf)
6368 RgrUeTxAntSelCfg *param;
6373 TRC3(cmPkRgrUeTxAntSelCfg)
6375 CMCHKPK(SPkU32, param->selType, mBuf);
6376 CMCHKPK(SPkU8, param->pres, mBuf);
6382 /***********************************************************
6384 * Func : cmUnpkRgrUeTxAntSelCfg
6387 * Desc : UE Transmit Antenna selection related configuration
6396 **********************************************************/
6398 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg
6400 RgrUeTxAntSelCfg *param,
6404 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg(param, mBuf)
6405 RgrUeTxAntSelCfg *param;
6411 TRC3(cmUnpkRgrUeTxAntSelCfg)
6413 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6414 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6415 param->selType = (RgrUeTxAntSelType) tmpEnum;
6420 /***********************************************************
6422 * Func : cmPkRgrUeTaTmrCfg
6425 * Desc : Time Alignment timer configuration per UE
6434 **********************************************************/
6436 PUBLIC S16 cmPkRgrUeTaTmrCfg
6438 RgrUeTaTmrCfg *param,
6442 PUBLIC S16 cmPkRgrUeTaTmrCfg(param, mBuf)
6443 RgrUeTaTmrCfg *param;
6448 TRC3(cmPkRgrUeTaTmrCfg)
6450 CMCHKPK(SPkU16, param->taTmr, mBuf);
6451 CMCHKPK(SPkU8, param->pres, mBuf);
6457 /***********************************************************
6459 * Func : cmUnpkRgrUeTaTmrCfg
6462 * Desc : Time Alignment timer configuration per UE
6471 **********************************************************/
6473 PUBLIC S16 cmUnpkRgrUeTaTmrCfg
6475 RgrUeTaTmrCfg *param,
6479 PUBLIC S16 cmUnpkRgrUeTaTmrCfg(param, mBuf)
6480 RgrUeTaTmrCfg *param;
6485 TRC3(cmUnpkRgrUeTaTmrCfg)
6487 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6488 CMCHKUNPK(SUnpkU16, ¶m->taTmr, mBuf);
6495 PUBLIC S16 cmUnpkRgrEmtcUeCfg
6497 RgrUeEmtcCfg *param,
6501 PUBLIC S16 cmUnpkRgrEmtcUeCfg(param, mBuf)
6502 RgrUeEmtcCfg *param;
6508 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6509 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6510 RgrEpdcchAddModLst *epdcchAddModLst;
6512 CMCHKUNPK(SUnpkU8,¶m->pdschReptLevModeA,mBuf);
6513 /*UnPacking PUCCH Rep */
6514 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf);
6515 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf);
6516 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->isPucchRepPres),mBuf);
6520 for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++)
6522 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6523 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf);
6524 CMCHKUNPK(SUnpkU16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf);
6525 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf);
6526 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf);
6527 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf);
6528 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.pres),mBuf);
6529 CMCHKUNPK(cmUnpkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6530 CMCHKUNPK(cmUnpkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6531 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->pucchResStartoffset),mBuf);
6532 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->dmrsScrambSeq),mBuf);
6533 for(idx = 0; idx < 5; idx++)
6535 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf);
6538 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf);
6539 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->transmissionType),mBuf);
6540 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->setConfigId),mBuf);
6543 CMCHKUNPK(cmUnpkTknU32,&(emtcEpdcchCfg->startSymbolr11),mBuf);
6544 for(indx = 0; indx < 5; indx++)
6546 CMCHKUNPK(SUnpkU8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf);
6548 CMCHKUNPK(SUnpkU8, &(emtcEpdcchCfg->sfPtn.pres), mBuf);
6549 CMCHKUNPK(SUnpkU8, &(param->pres), mBuf);
6550 CMCHKUNPK(SUnpkU8, &(param->isHdFddEnbld), mBuf);
6552 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6553 printf("\n EMTC RGR UE unpack\n");
6554 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6556 for(indx = 0; indx < 5; indx++)
6558 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6560 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6561 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6563 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6565 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6566 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6567 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);
6568 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6569 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6570 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6571 for(idx = 0; idx < 5 ; idx++)
6573 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6575 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6576 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6577 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6578 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6579 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6580 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6581 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6582 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6583 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6584 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6585 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6586 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6596 PUBLIC S16 cmPkRgrEmtcUeCfg
6598 RgrUeEmtcCfg *param,
6604 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6605 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6606 RgrEpdcchAddModLst *epdcchAddModLst;
6608 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6609 CMCHKPK(SPkU8, param->pres, mBuf);
6610 CMCHKPK(SPkU8, emtcEpdcchCfg->sfPtn.pres, mBuf);
6611 for(indx = 4; indx >=0; indx--)
6613 CMCHKPK(SPkU8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf);
6615 CMCHKPK(cmPkTknU32,&emtcEpdcchCfg->startSymbolr11,mBuf);
6616 for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--)
6618 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6620 CMCHKPK(SPkU8,epdcchAddModLst->setConfigId,mBuf);
6621 CMCHKPK(SPkU8,epdcchAddModLst->transmissionType,mBuf);
6622 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf);
6623 for(idx = 4; idx >= 0; idx--)
6625 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf);
6627 CMCHKPK(SPkU32,epdcchAddModLst->dmrsScrambSeq,mBuf);
6628 CMCHKPK(SPkU32,epdcchAddModLst->pucchResStartoffset,mBuf);
6629 CMCHKPK(cmPkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6630 CMCHKPK(cmPkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6631 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.pres,mBuf);
6632 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf);
6633 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf);
6634 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf);
6635 CMCHKPK(SPkU16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf);
6636 CMCHKPK(SPkU32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf);
6639 /*Packing PUCCH Rep */
6640 CMCHKPK(SPkU8,emtcPucchRepCfg->isPucchRepPres, mBuf);
6641 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf);
6642 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf);
6643 CMCHKPK(SPkU8,param->pdschReptLevModeA,mBuf);
6645 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6646 printf("\n EMTC RGR UE pack\n");
6647 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6649 for(indx = 0; indx < 5; indx++)
6651 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6653 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6654 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6656 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6658 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6659 /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6660 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/
6661 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6662 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6663 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6664 for(idx = 0; idx < 5 ; idx++)
6666 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6668 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6669 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6670 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6671 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6672 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6673 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6674 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6675 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6676 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6677 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6678 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6679 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6691 PUBLIC S16 cmUnpkRgr5gtfUeCfg
6693 RgrUe5gtfCfg *param,
6697 CMCHKUNPK(SUnpkU8, ¶m->grpId, mBuf);
6698 CMCHKUNPK(SUnpkU8, ¶m->BeamId, mBuf);
6699 CMCHKUNPK(SUnpkU8, ¶m->numCC, mBuf);
6700 CMCHKUNPK(SUnpkU8, ¶m->mcs, mBuf);
6701 CMCHKUNPK(SUnpkU8, ¶m->maxPrb, mBuf);
6705 PUBLIC S16 cmPkRgr5gtfUeCfg
6707 RgrUe5gtfCfg *param,
6711 CMCHKPK(SPkU8, param->maxPrb, mBuf);
6712 CMCHKPK(SPkU8, param->mcs, mBuf);
6713 CMCHKPK(SPkU8, param->numCC, mBuf);
6714 CMCHKPK(SPkU8, param->BeamId, mBuf);
6715 CMCHKPK(SPkU8, param->grpId, mBuf);
6721 /***********************************************************
6723 * Func : cmPkRgrUeCfg
6726 * Desc : UE configuration
6735 **********************************************************/
6737 PUBLIC S16 cmPkRgrUeCfg
6743 PUBLIC S16 cmPkRgrUeCfg(param, mBuf)
6751 CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6754 CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6756 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
6758 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
6759 /* LTE_ADV_FLAG_REMOVED_START */
6760 CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6761 /* LTE_ADV_FLAG_REMOVED_END */
6763 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
6764 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6766 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6767 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6769 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6771 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6773 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6774 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6776 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6778 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6782 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
6783 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6788 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6791 CMCHKPK(SPkU32, param->ackNackModeEnum, mBuf);
6794 CMCHKPK(cmPkTknU8, ¶m->dedPreambleId, mBuf);
6795 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6796 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6797 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6798 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6799 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
6800 /*rgr_c_001.main_9 ADD added changes for DRX*/
6802 /* Anshika - Pack only if DRX is enabled */
6803 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6805 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6807 CMCHKPK(SPkU8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if
6809 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
6811 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6813 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6815 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6816 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6817 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6818 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6819 CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6820 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6821 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
6822 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
6828 /***********************************************************
6830 * Func : cmUnpkRgrUeCfg
6833 * Desc : UE configuration
6842 **********************************************************/
6844 PUBLIC S16 cmUnpkRgrUeCfg
6850 PUBLIC S16 cmUnpkRgrUeCfg(param, mBuf)
6857 TRC3(cmUnpkRgrUeCfg)
6859 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
6860 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
6861 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6862 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6863 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6864 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6865 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6866 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6868 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6870 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6872 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6873 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
6874 /*rgr_c_001.main_9 ADD added changes for DRX*/
6876 /* Anshika - Unpack only if DRX is enabled */
6877 CMCHKUNPK(SUnpkU8, ¶m->ueDrxCfg.isDrxEnabled, mBuf);
6878 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6880 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6882 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
6883 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6884 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6885 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6886 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6887 CMCHKUNPK(cmUnpkTknU8, ¶m->dedPreambleId, mBuf);
6890 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6891 param->ackNackModeEnum = tmpEnum;
6894 /*rgr_c_001.main_7 - Added support for SPS*/
6895 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6897 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6899 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6900 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
6902 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6904 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
6906 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6907 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6908 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6909 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6911 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6914 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6916 /* LTE_ADV_FLAG_REMOVED_START */
6917 CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6918 /* LTE_ADV_FLAG_REMOVED_END */
6919 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
6920 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
6923 CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6927 CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6935 /***********************************************************
6937 * Func : cmPkRgrLchQosCfg
6940 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
6949 **********************************************************/
6951 PUBLIC S16 cmPkRgrLchQosCfg
6953 RgrLchQosCfg *param,
6957 PUBLIC S16 cmPkRgrLchQosCfg(param, mBuf)
6958 RgrLchQosCfg *param;
6963 TRC3(cmPkRgrLchQosCfg)
6965 CMCHKPK(SPkU32, param->mbr, mBuf);
6966 CMCHKPK(SPkU32, param->gbr, mBuf);
6967 CMCHKPK(SPkU8, param->qci, mBuf);
6973 /***********************************************************
6975 * Func : cmUnpkRgrLchQosCfg
6978 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
6987 **********************************************************/
6989 PUBLIC S16 cmUnpkRgrLchQosCfg
6991 RgrLchQosCfg *param,
6995 PUBLIC S16 cmUnpkRgrLchQosCfg(param, mBuf)
6996 RgrLchQosCfg *param;
7001 TRC3(cmUnpkRgrLchQosCfg)
7003 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7004 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7005 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7008 /*rgr_c_001.main_7 - Added support for SPS*/
7011 /***********************************************************
7013 * Func : cmPkRgrLchSpsCfg
7016 * Desc : SPS related configuration for logical channels
7025 **********************************************************/
7027 PUBLIC S16 cmPkRgrLchSpsCfg
7029 RgrLchSpsCfg *param,
7033 PUBLIC S16 cmPkRgrLchSpsCfg(param, mBuf)
7034 RgrLchSpsCfg *param;
7039 TRC3(cmPkRgrLchSpsCfg)
7042 CMCHKPK(SPkU8, param->isSpsEnabled, mBuf);
7048 /***********************************************************
7050 * Func : cmUnpkRgrLchSpsCfg
7053 * Desc : SPS related configuration for logical channels
7062 **********************************************************/
7064 PUBLIC S16 cmUnpkRgrLchSpsCfg
7066 RgrLchSpsCfg *param,
7070 PUBLIC S16 cmUnpkRgrLchSpsCfg(param, mBuf)
7071 RgrLchSpsCfg *param;
7076 TRC3(cmUnpkRgrLchSpsCfg)
7078 CMCHKUNPK(SUnpkU8, ¶m->isSpsEnabled, mBuf);
7084 /***********************************************************
7086 * Func : cmPkRgrDlLchCfg
7089 * Desc : Logical channel configuration info for downlink logical channels
7098 **********************************************************/
7100 PUBLIC S16 cmPkRgrDlLchCfg
7106 PUBLIC S16 cmPkRgrDlLchCfg(param, mBuf)
7112 TRC3(cmPkRgrDlLchCfg)
7113 /*rgr_c_001.main_7 - Added support for SPS*/
7115 CMCHKPK(SPkU8, param->rlcReorderTmr, mBuf);
7116 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7117 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf);
7118 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
7124 /***********************************************************
7126 * Func : cmUnpkRgrDlLchCfg
7129 * Desc : Logical channel configuration info for downlink logical channels
7138 **********************************************************/
7140 PUBLIC S16 cmUnpkRgrDlLchCfg
7146 PUBLIC S16 cmUnpkRgrDlLchCfg(param, mBuf)
7152 TRC3(cmUnpkRgrDlLchCfg)
7154 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
7155 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf);
7156 /*rgr_c_001.main_7 - Added support for SPs*/
7157 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7158 CMCHKUNPK(SUnpkU8, ¶m->rlcReorderTmr, mBuf);
7164 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7168 /***********************************************************
7170 * Func : cmPkRgrUlLchCfg
7173 * Desc : Logical channel configuration information for uplink logical channels
7182 **********************************************************/
7184 PUBLIC S16 cmPkRgrUlLchCfg
7190 PUBLIC S16 cmPkRgrUlLchCfg(param, mBuf)
7196 TRC3(cmPkRgrUlLchCfg)
7198 CMCHKPK(SPkU8, param->qci, mBuf);
7199 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7205 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7206 /***********************************************************
7208 * Func : cmUnpkRgrUlLchCfg
7211 * Desc : Logical channel configuration information for uplink logical channels
7220 **********************************************************/
7222 PUBLIC S16 cmUnpkRgrUlLchCfg
7228 PUBLIC S16 cmUnpkRgrUlLchCfg(param, mBuf)
7234 TRC3(cmUnpkRgrUlLchCfg)
7236 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7237 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7244 /***********************************************************
7246 * Func : cmPkRgrUlLcgCfg
7249 * Desc : Logical channel configuration info for uplink logical channels
7258 **********************************************************/
7260 PUBLIC S16 cmPkRgrUlLcgCfg
7266 PUBLIC S16 cmPkRgrUlLcgCfg(param, mBuf)
7272 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7276 TRC3(cmPkRgrUlLcgCfg)
7277 CMCHKPK(SPkU32, param->mbr, mBuf);
7278 CMCHKPK(SPkU32, param->gbr, mBuf);
7280 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7282 for (i = param->numLch - 1; i >= 0; i--)
7284 CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7286 CMCHKPK(SPkU8, param->numLch, mBuf);
7288 CMCHKPK(SPkU8, param->lcgId, mBuf);
7294 /***********************************************************
7296 * Func : cmUnpkRgrUlLcgCfg
7299 * Desc : Logical channel configuration info for uplink logical channels
7308 **********************************************************/
7310 PUBLIC S16 cmUnpkRgrUlLcgCfg
7316 PUBLIC S16 cmUnpkRgrUlLcgCfg(param, mBuf)
7322 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7326 TRC3(cmUnpkRgrUlLcgCfg)
7328 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7329 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7331 CMCHKUNPK(SUnpkU8, ¶m->numLch, mBuf);
7332 for (i = 0; i< param->numLch; i++)
7334 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7338 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7339 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7344 PUBLIC S16 cmPkRgrUlLchQciCfg
7346 RgrUlLchQciCfg *param,
7350 PUBLIC S16 cmPkRgrUlLchQciCfg (param, mBuf)
7351 RgrUlLchQciCfg *param;
7355 CMCHKPK(SPkU8, param->lcId, mBuf);
7356 CMCHKPK(SPkU8, param->qci, mBuf);
7357 CMCHKPK(SPkU8, param->lcgId, mBuf);
7361 PUBLIC S16 cmUnpkRgrUlLchQciCfg
7363 RgrUlLchQciCfg *param,
7367 PUBLIC S16 cmUnpkRgrUlLchQciCfg (param, mBuf)
7368 RgrUlLchQciCfg *param;
7372 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7373 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7374 CMCHKUNPK(SUnpkU8, ¶m->lcId, mBuf);
7379 /***********************************************************
7381 * Func : cmPkRgrLchCfg
7384 * Desc : Logical channel configuration info for dedicated channels
7393 **********************************************************/
7395 PUBLIC S16 cmPkRgrLchCfg
7401 PUBLIC S16 cmPkRgrLchCfg(param, mBuf)
7408 CMCHKPK(SPkU8, param->lcgId, mBuf);
7409 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7410 CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7411 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
7412 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7413 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7414 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7420 /***********************************************************
7422 * Func : cmUnpkRgrLchCfg
7425 * Desc : Logical channel configuration info for dedicated channels
7434 **********************************************************/
7436 PUBLIC S16 cmUnpkRgrLchCfg
7442 PUBLIC S16 cmUnpkRgrLchCfg(param, mBuf)
7448 TRC3(cmUnpkRgrLchCfg)
7450 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7451 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7452 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7453 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
7454 CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7455 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7456 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7462 PUBLIC S16 cmPkRgrLcgCfg
7468 PUBLIC S16 cmPkRgrLcgCfg(param, mBuf)
7476 CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7477 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7478 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7484 PUBLIC S16 cmUnpkRgrLcgCfg
7490 PUBLIC S16 cmUnpkRgrLcgCfg(param, mBuf)
7496 TRC3(cmUnpkRgrLcgCfg)
7498 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7499 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7500 CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7506 /***********************************************************
7511 * Desc : Basic Configuration structure at RRM
7520 **********************************************************/
7522 PUBLIC S16 cmPkRgrCfg
7528 PUBLIC S16 cmPkRgrCfg(param, mBuf)
7536 switch(param->cfgType) {
7538 CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7541 CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7544 CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7547 CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7550 CMCHKPK(cmPkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7555 CMCHKPK(SPkU8, param->cfgType, mBuf);
7561 /***********************************************************
7563 * Func : cmUnpkRgrCfg
7566 * Desc : Basic Configuration structure at RRM
7575 **********************************************************/
7577 PUBLIC S16 cmUnpkRgrCfg
7583 PUBLIC S16 cmUnpkRgrCfg(param, mBuf)
7591 CMCHKUNPK(SUnpkU8, ¶m->cfgType, mBuf);
7592 switch(param->cfgType) {
7594 CMCHKUNPK(cmUnpkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7597 CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7600 CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7603 CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7606 CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7616 /***********************************************************
7618 * Func : cmPkRgrActvTime
7621 * Desc : Activation time information
7630 **********************************************************/
7632 PUBLIC S16 cmPkRgrActvTime
7638 PUBLIC S16 cmPkRgrActvTime(param, mBuf)
7644 TRC3(cmPkRgrActvTime)
7646 CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf);
7647 CMCHKPK(SPkU8, param->pres, mBuf);
7653 /***********************************************************
7655 * Func : cmUnpkRgrActvTime
7658 * Desc : Activation time information
7667 **********************************************************/
7669 PUBLIC S16 cmUnpkRgrActvTime
7675 PUBLIC S16 cmUnpkRgrActvTime(param, mBuf)
7681 TRC3(cmUnpkRgrActvTime)
7683 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
7684 CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf);
7690 /***********************************************************
7692 * Func : cmPkRgrCellRecfg
7695 * Desc : Cell reconfiguration structure at RRM
7704 **********************************************************/
7706 PUBLIC S16 cmPkRgrCellRecfg
7708 RgrCellRecfg *param,
7712 PUBLIC S16 cmPkRgrCellRecfg(param, mBuf)
7713 RgrCellRecfg *param;
7718 TRC3(cmPkRgrCellRecfg)
7719 CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7720 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7721 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
7722 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
7723 /* LTE_ADV_FLAG_REMOVED_START */
7724 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7725 /* LTE_ADV_FLAG_REMOVED_END */
7726 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
7727 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
7729 CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf);
7730 #endif /* RGR_SI_SCH */
7731 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7732 CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf);
7733 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7734 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7735 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7736 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7737 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7738 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7739 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7740 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7741 CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf);
7742 CMCHKPK(SPkU32, param->recfgTypes, mBuf);
7743 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7749 /***********************************************************
7751 * Func : cmUnpkRgrCellRecfg
7754 * Desc : Cell reconfiguration structure at RRM
7763 **********************************************************/
7765 PUBLIC S16 cmUnpkRgrCellRecfg
7767 RgrCellRecfg *param,
7771 PUBLIC S16 cmUnpkRgrCellRecfg(param, mBuf)
7772 RgrCellRecfg *param;
7777 TRC3(cmUnpkRgrCellRecfg)
7779 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7780 CMCHKUNPK(SUnpkU32, ¶m->recfgTypes, mBuf);
7781 CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf);
7782 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7783 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7784 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7785 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7786 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7787 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7788 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7789 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7790 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf);
7791 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7792 /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */
7794 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf);
7795 #endif /* RGR_SI_SCH */
7796 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
7797 /* LTE_ADV_FLAG_REMOVED_START */
7798 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7799 /* LTE_ADV_FLAG_REMOVED_END */
7800 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
7801 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
7802 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7803 CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7810 /***********************************************************
7812 * Func : cmPkRgrUeRecfg
7815 * Desc : UE reconfiguration info
7824 **********************************************************/
7826 PUBLIC S16 cmPkRgrUeRecfg
7832 PUBLIC S16 cmPkRgrUeRecfg(param, mBuf)
7838 TRC3(cmPkRgrUeRecfg)
7840 /* Note: As we add more members to emtcUeRecfg,
7841 create a new function for pkUnpk */
7842 CMCHKPK(SPkU8, param->emtcUeRecfg.isHdFddEnbld, mBuf);
7844 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
7846 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
7848 CMCHKPK(SPkU8, param->simulAckNackCQIFormat3, mBuf);
7849 CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
7850 CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
7852 /* LTE_ADV_FLAG_REMOVED_START */
7853 CMCHKPK(SPkU8, param->ueLteAdvCfg.isUeCellEdge, mBuf);
7854 CMCHKPK(SPkU8, param->ueLteAdvCfg.isAbsUe, mBuf);
7855 CMCHKPK(SPkU32, param->ueLteAdvCfg.pres, mBuf);
7856 /* LTE_ADV_FLAG_REMOVED_END */
7857 /*ccpu00130497: Removed the duplicate packing*/
7859 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
7861 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
7862 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
7864 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
7867 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
7868 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
7870 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
7872 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
7876 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
7877 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
7878 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
7881 /*rgr_c_001.main_7 - Added support for SPS*/
7882 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
7883 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
7885 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
7886 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
7888 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
7889 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
7890 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
7891 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
7892 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
7893 /*rgr_c_001.main_9 ADD added changes for DRX*/
7895 /* Anshika - Pack only if DRX is enabled */
7896 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
7898 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
7900 CMCHKPK(SPkU8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if
7902 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
7904 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
7906 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
7908 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
7909 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
7910 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
7913 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
7916 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
7917 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7918 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
7919 /* LTE_ADV_FLAG_REMOVED_START */
7920 /* KW fix for LTE_ADV */
7921 CMCHKPK(SPkU32, param->ueRecfgTypes, mBuf);
7922 /* LTE_ADV_FLAG_REMOVED_END */
7923 CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf);
7924 CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf);
7925 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7931 /***********************************************************
7933 * Func : cmUnpkRgrUeRecfg
7936 * Desc : UE reconfiguration info
7945 **********************************************************/
7947 PUBLIC S16 cmUnpkRgrUeRecfg
7953 PUBLIC S16 cmUnpkRgrUeRecfg(param, mBuf)
7960 TRC3(cmUnpkRgrUeRecfg)
7962 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7963 CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf);
7964 CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf);
7965 /* LTE_ADV_FLAG_REMOVED_START */
7966 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
7967 /* KW fix for LTE_ADV */
7968 CMCHKUNPK(SUnpkU32, ¶m->ueRecfgTypes, mBuf);
7969 /* LTE_ADV_FLAG_REMOVED_END */
7970 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7972 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
7975 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
7978 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
7979 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
7980 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
7982 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
7984 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
7986 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
7987 /*rgr_c_001.main_9 ADD added changes for DRX*/
7989 /* Anshika - Unpack only if DRX is enabled */
7990 CMCHKUNPK(SUnpkU8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf);
7991 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
7993 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
7995 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
7996 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
7997 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
7998 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
7999 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8000 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
8001 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
8002 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
8003 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
8004 /*rgr_c_001.main_7 - Added support for SPS*/
8005 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
8007 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
8009 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
8010 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
8011 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
8014 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
8016 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
8019 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
8021 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
8022 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
8024 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
8027 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
8030 /* LTE_ADV_FLAG_REMOVED_START */
8031 CMCHKUNPK(SUnpkU32, ¶m->ueLteAdvCfg.pres, mBuf);
8032 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isAbsUe, mBuf);
8033 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf);
8034 /* LTE_ADV_FLAG_REMOVED_END */
8036 CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
8037 CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
8038 CMCHKUNPK(SUnpkU8, ¶m->simulAckNackCQIFormat3, mBuf);
8040 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
8042 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
8044 CMCHKPK(SUnpkU8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf);
8052 /***********************************************************
8054 * Func : cmPkRgrLchRecfg
8057 * Desc : Logical channel reconfiguration info for dedicated channels only
8066 **********************************************************/
8068 PUBLIC S16 cmPkRgrLchRecfg
8074 PUBLIC S16 cmPkRgrLchRecfg(param, mBuf)
8080 TRC3(cmPkRgrLchRecfg)
8081 /*rgr_c_001.main_7 - Added support for SPS*/
8082 CMCHKPK(SPkU8, param->lcgId, mBuf);
8084 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8085 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8087 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8088 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
8089 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8090 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8096 /***********************************************************
8098 * Func : cmUnpkRgrLchRecfg
8101 * Desc : Logical channel reconfiguration info for dedicated channels only
8110 **********************************************************/
8112 PUBLIC S16 cmUnpkRgrLchRecfg
8118 PUBLIC S16 cmUnpkRgrLchRecfg(param, mBuf)
8124 TRC3(cmUnpkRgrLchRecfg)
8126 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8127 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8128 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
8129 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8130 /*rgr_c_001.main_7 - Added support for SPs*/
8131 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8133 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8134 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
8140 PUBLIC S16 cmPkRgrLcgRecfg
8146 PUBLIC S16 cmPkRgrLcgRecfg(param, mBuf)
8154 TRC3(cmPkRgrLcgRecfg)
8156 CMCHKPK(SPkU32, param->ulRecfg.mbr, mBuf);
8157 CMCHKPK(SPkU32, param->ulRecfg.gbr, mBuf);
8159 for (i = param->ulRecfg.numLch - 1; i >= 0; i--)
8161 CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8163 CMCHKPK(SPkU8, param->ulRecfg.numLch, mBuf);
8165 CMCHKPK(SPkU8, param->ulRecfg.lcgId, mBuf);
8166 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8167 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8173 PUBLIC S16 cmUnpkRgrLcgRecfg
8179 PUBLIC S16 cmUnpkRgrLcgRecfg(param, mBuf)
8187 TRC3(cmUnpkRgrLcgRecfg)
8189 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8190 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8191 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.lcgId, mBuf);
8194 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.numLch, mBuf);
8195 for (i = 0; i < param->ulRecfg.numLch; i++)
8197 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8200 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.gbr, mBuf);
8201 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.mbr, mBuf);
8208 /***********************************************************
8210 * Func : cmPkRgrRecfg
8213 * Desc : Basic reconfiguration structure at RRM
8222 **********************************************************/
8224 PUBLIC S16 cmPkRgrRecfg
8230 PUBLIC S16 cmPkRgrRecfg(param, mBuf)
8238 switch(param->recfgType) {
8240 CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8243 CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8246 CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8249 CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8254 CMCHKPK(SPkU8, param->recfgType, mBuf);
8260 /***********************************************************
8262 * Func : cmUnpkRgrRecfg
8265 * Desc : Basic reconfiguration structure at RRM
8274 **********************************************************/
8276 PUBLIC S16 cmUnpkRgrRecfg
8282 PUBLIC S16 cmUnpkRgrRecfg(param, mBuf)
8288 TRC3(cmUnpkRgrRecfg)
8290 CMCHKUNPK(SUnpkU8, ¶m->recfgType, mBuf);
8291 switch(param->recfgType) {
8293 CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8296 CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8299 CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8302 CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8311 /***********************************************************
8313 * Func : cmPkRgrUeDlSecCellRelInfo
8316 * Desc : DL Secondary Cell information of the UE
8325 **********************************************************/
8327 PUBLIC S16 cmPkRgrUeDlSecCellRelInfo
8329 RgrUeDlSecCellRelInfo *param,
8333 PRIVATE S16 cmPkRgrUeDlSecCellRelInfo(param, mBuf)
8334 RgrUeDlSecCellRelInfo *param;
8338 CMCHKPK(SPkU16, param->sCellId, mBuf);
8339 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8343 /***********************************************************
8345 * Func : cmPkRgrUeSecCellRelInfo
8348 * Desc : Secondary Cell Delete information of the UE
8357 **********************************************************/
8359 PUBLIC S16 cmPkRgrUeSecCellRelInfo
8361 RgrUeSecCellRelInfo *param,
8365 PUBLIC S16 cmPkRgrUeSecCellRelInfo(param, mBuf)
8366 RgrUeSecCellRelInfo *param;
8371 for(idx = param->numSCells - 1; idx >= 0; idx--)
8373 CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(U8)idx],mBuf);
8375 CMCHKPK(SPkU8, param->numSCells, mBuf);
8382 /***********************************************************
8387 * Desc : Basic Delete info for MAC
8396 **********************************************************/
8398 PUBLIC S16 cmPkRgrDel
8404 PUBLIC S16 cmPkRgrDel(param, mBuf)
8412 switch(param->delType) {
8414 CMCHKPK(SPkU8, param->u.lcgDel.lcgId, mBuf);
8415 CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf);
8416 CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf);
8419 CMCHKPK(SPkU8, param->u.lchDel.lcgId, mBuf);
8420 CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf);
8421 CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf);
8422 CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf);
8425 CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf);
8426 CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf);
8429 CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf);
8432 case RGR_SCELL_UE_CFG:
8433 CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8434 CMCHKPK(SPkU32, param->u.ueScellRel.ueDelTypes, mBuf);
8435 CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf);
8436 CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf);
8442 CMCHKPK(SPkU8, param->delType, mBuf);
8449 /***********************************************************
8451 * Func : cmUnpkRgrUeDlSecCellRelInfo
8454 * Desc : DL Secondary Cell information of the UE
8463 **********************************************************/
8465 PUBLIC S16 cmUnpkRgrUeDlSecCellRelInfo
8467 RgrUeDlSecCellRelInfo *param,
8471 PRIVATE S16 cmUnpkRgrUeDlSecCellRelInfo(param, mBuf)
8472 RgrUeDlSecCellRelInfo *param;
8476 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8477 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
8482 /***********************************************************
8484 * Func : cmUnpkRgrUeSecCellRelInfo
8487 * Desc : Secondary Cell information of the UE
8496 **********************************************************/
8498 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo
8500 RgrUeSecCellRelInfo *param,
8504 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo(param, mBuf)
8505 RgrUeSecCellRelInfo *param;
8511 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
8513 for(idx = 0; idx < param->numSCells;idx++)
8515 CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf);
8521 /***********************************************************
8523 * Func : cmUnpkRgrDel
8526 * Desc : Basic Delete info for MAC
8535 **********************************************************/
8537 PUBLIC S16 cmUnpkRgrDel
8543 PUBLIC S16 cmUnpkRgrDel(param, mBuf)
8551 CMCHKUNPK(SUnpkU8, ¶m->delType, mBuf);
8552 switch(param->delType) {
8554 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf);
8557 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf);
8558 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf);
8561 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf);
8562 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf);
8563 CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf);
8564 CMCHKUNPK(SUnpkU8, ¶m->u.lchDel.lcgId, mBuf);
8567 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf);
8568 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf);
8569 CMCHKUNPK(SUnpkU8, ¶m->u.lcgDel.lcgId, mBuf);
8572 case RGR_SCELL_UE_CFG:
8573 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf);
8574 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf);
8575 CMCHKUNPK(SUnpkU32, ¶m->u.ueScellRel.ueDelTypes, mBuf);
8576 CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8584 /***********************************************************
8586 * Func : cmPkRgrSonPrbCfg
8589 * Desc : SON PRB Configuration info for MAC
8598 **********************************************************/
8600 PUBLIC S16 cmPkRgrSonPrbCfg
8606 PUBLIC S16 cmPkRgrSonPrbCfg(param, mBuf)
8613 for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --)
8615 CMCHKPK(SPkU32, param->paLevelPerPrb[count], mBuf);
8617 for(count = param->numCellCentreUEs - 1; count >= 0; count --)
8619 CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf);
8621 for(count = param->numCellEdgeUEs - 1; count >= 0; count --)
8623 CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf);
8625 CMCHKPK(SPkU8, param->numCellCentreUEs, mBuf);
8626 CMCHKPK(SPkU8, param->numCellEdgeUEs, mBuf);
8627 CMCHKPK(SPkU8, param->isSonIcicEnable, mBuf);
8631 /***********************************************************
8633 * Func : cmUnpkRgrSon
8636 * Desc : SON configuration info for MAC
8645 **********************************************************/
8647 PUBLIC S16 cmUnpkRgrSonPrbCfg
8653 PUBLIC S16 cmUnpkRgrSonPrbCfg(param, mBuf)
8659 TRC3(cmUnpkRgrSonPrbCfg)
8660 CMCHKUNPK(SUnpkU8, ¶m->isSonIcicEnable, mBuf);
8661 CMCHKUNPK(SUnpkU8, ¶m->numCellEdgeUEs, mBuf);
8662 CMCHKUNPK(SUnpkU8, ¶m->numCellCentreUEs, mBuf);
8663 for (count = 0; count < param->numCellEdgeUEs; count++)
8665 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf);
8667 for (count = 0; count < param->numCellCentreUEs; count++)
8669 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf);
8671 for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++)
8673 CMCHKUNPK(SUnpkU32,(U32 *) ¶m->paLevelPerPrb[count], mBuf);
8677 /***********************************************************
8679 * Func : cmPkRgrSonCfg
8682 * Desc : SON Configuration info for MAC
8691 **********************************************************/
8693 PUBLIC S16 cmPkRgrSonCfg
8699 PUBLIC S16 cmPkRgrSonCfg(param, mBuf)
8706 switch(param->cfgType)
8708 case RGR_SON_PRB_CFG :
8709 CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8714 CMCHKPK(SPkU32, param->cfgType, mBuf);
8718 /***********************************************************
8720 * Func : cmUnpkRgrSon
8723 * Desc : SON configuration info for MAC
8732 **********************************************************/
8734 PUBLIC S16 cmUnpkRgrSonCfg
8740 PUBLIC S16 cmUnpkRgrSonCfg(param, mBuf)
8746 TRC3(cmUnpkRgrSonCfg)
8747 CMCHKUNPK(SUnpkU32, (U32 *)¶m->cfgType, mBuf);
8748 switch(param->cfgType)
8750 case RGR_SON_PRB_CFG :
8752 CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8762 /***********************************************************
8767 * Desc : UE RESET info for MAC
8776 **********************************************************/
8778 PUBLIC S16 cmPkRgrRst
8784 PUBLIC S16 cmPkRgrRst(param, mBuf)
8792 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8793 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8799 /***********************************************************
8801 * Func : cmUnpkRgrRst
8804 * Desc : UE RESET info for MAC
8813 **********************************************************/
8815 PUBLIC S16 cmUnpkRgrRst
8821 PUBLIC S16 cmUnpkRgrRst(param, mBuf)
8829 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8830 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8834 /***********************************************************
8836 * Func : cmUnPkRgrSCellActDeactInfo
8839 * Desc : SCell Activation information of the UE
8848 **********************************************************/
8850 PRIVATE S16 cmUnPkRgrSCellActDeactInfo
8852 RgrSCellActDeactInfo *param,
8856 PRIVATE S16 cmUnPkRgrSCellActInfo(param, mBuf)
8857 RgrSCellActDeactInfo *param;
8861 TRC3(cmUnPkRgrSCellActDeactInfo)
8863 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8867 /***********************************************************
8869 * Func : cmUnPkRgrSCellActDeactEvnt
8872 * Desc : SCell Activation Configuration structure to SCH
8881 **********************************************************/
8883 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt
8885 RgrSCellActDeactEvnt *param,
8889 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt(param, mBuf)
8890 RgrSCellActDeactEvnt *param;
8894 TRC3(cmUnPkRgrSCellActDeactEvnt)
8898 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8899 CMCHKUNPK(SUnpkU8, ¶m->numOfSCells, mBuf);
8901 for(idx = 0; idx < param->numOfSCells;idx++)
8903 CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf);
8910 /***********************************************************
8912 * Func : cmPkRgrSCellActInfo
8915 * Desc : SCell Activation information of the UE
8924 **********************************************************/
8926 PRIVATE S16 cmPkRgrSCellActDeactInfo
8928 RgrSCellActDeactInfo *param,
8932 PRIVATE S16 cmPkRgrSCellActDeactInfo(param, mBuf)
8933 RgrSCellActDeactInfo *param;
8937 TRC3(cmPkRgrSCellActDeactInfo)
8939 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8944 /***********************************************************
8946 * Func : cmPkRgrSCellActDeactEvnt
8949 * Desc : Basic Configuration structure at SCH
8958 **********************************************************/
8960 PUBLIC S16 cmPkRgrSCellActDeactEvnt
8962 RgrSCellActDeactEvnt *param,
8966 PUBLIC S16 cmPkRgrSCellActDeactEvnt(param, mBuf)
8967 RgrSCellActDeactEvnt *param;
8972 TRC3(cmPkRgrSCellActDeactEvnt)
8975 for(idx = param->numOfSCells - 1; idx >= 0; idx--)
8977 CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(U8)idx], mBuf);
8980 CMCHKPK(SPkU8, param->numOfSCells, mBuf);
8981 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8987 #endif /* LTE_ADV */
8989 /***********************************************************
8991 * Func : cmPkRgrCfgReqInfo
8994 * Desc : Basic RGR configuration/reconfiguration info at RRM
9003 **********************************************************/
9005 PUBLIC S16 cmPkRgrCfgReqInfo
9007 RgrCfgReqInfo *param,
9011 PUBLIC S16 cmPkRgrCfgReqInfo(param, mBuf)
9012 RgrCfgReqInfo *param;
9017 TRC3(cmPkRgrCfgReqInfo)
9019 switch(param->action) {
9021 CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9024 CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf);
9027 CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf);
9030 CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9033 CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf);
9037 case RGR_SCELL_DEACT:
9038 case RGR_SCELL_READY:
9039 CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9045 CMCHKPK(SPkU8, param->action, mBuf);
9051 /***********************************************************
9053 * Func : cmUnpkRgrCfgReqInfo
9056 * Desc : Basic RGR configuration/reconfiguration info at RRM
9065 **********************************************************/
9067 PUBLIC S16 cmUnpkRgrCfgReqInfo
9069 RgrCfgReqInfo *param,
9073 PUBLIC S16 cmUnpkRgrCfgReqInfo(param, mBuf)
9074 RgrCfgReqInfo *param;
9079 TRC3(cmUnpkRgrCfgReqInfo)
9081 CMCHKUNPK(SUnpkU8, ¶m->action, mBuf);
9082 switch(param->action) {
9084 CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf);
9087 CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9090 CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf);
9093 CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf);
9096 CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9100 case RGR_SCELL_DEACT:
9101 case RGR_SCELL_READY:
9102 CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9104 #endif /* LTE_ADV */
9111 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
9113 /***********************************************************
9115 * Func : cmPkRgrUeBsrTmrCfg
9118 * Desc : BSR timer configuration per UE
9127 **********************************************************/
9129 PUBLIC S16 cmPkRgrUeBsrTmrCfg
9131 RgrUeBsrTmrCfg *param,
9135 PUBLIC S16 cmPkRgrUeBsrTmrCfg(param, mBuf)
9136 RgrUeBsrTmrCfg *param;
9141 TRC3(cmPkRgrUeBsrTmrCfg)
9143 CMCHKPK(SPkU16, param->prdBsrTmr, mBuf);
9144 CMCHKPK(SPkU16, param->retxBsrTmr, mBuf);
9145 CMCHKPK(SPkU8, param->isPrdBsrTmrPres, mBuf);
9149 /***********************************************************
9151 * Func : cmUnpkRgrUeBsrTmrCfg
9154 * Desc : BSR timer configuration per UE
9163 **********************************************************/
9165 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg
9167 RgrUeBsrTmrCfg *param,
9171 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg(param, mBuf)
9172 RgrUeBsrTmrCfg *param;
9177 TRC3(cmUnpkRgrUeBsrTmrCfg)
9179 CMCHKUNPK(SUnpkU8, ¶m->isPrdBsrTmrPres, mBuf);
9180 CMCHKUNPK(SUnpkU16, ¶m->retxBsrTmr, mBuf);
9181 CMCHKUNPK(SUnpkU16, ¶m->prdBsrTmr, mBuf);
9185 /* rgr_c_001.main_4-ADD-Added for SI Enhancement. */
9187 /***********************************************************
9189 * Func : cmPkRgrSiCfgReq
9192 * Desc : SI Configuration Request from RRM to MAC for
9202 **********************************************************/
9204 PUBLIC S16 cmPkRgrSiCfgReq
9208 RgrCfgTransId transId,
9209 RgrSiCfgReqInfo * cfgReqInfo
9212 PUBLIC S16 cmPkRgrSiCfgReq(pst, spId, transId, cfgReqInfo)
9215 RgrCfgTransId transId;
9216 RgrSiCfgReqInfo * cfgReqInfo;
9219 Buffer *mBuf = NULLP;
9221 TRC3(cmPkRgrSiCfgReq)
9223 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9225 #if (ERRCLASS & ERRCLS_ADD_RES)
9226 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9227 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9228 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
9230 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9231 sizeof(RgrSiCfgReqInfo));
9234 if (cmPkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9235 #if (ERRCLASS & ERRCLS_ADD_RES)
9236 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9237 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9238 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
9240 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9241 sizeof(RgrSiCfgReqInfo));
9245 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
9246 #if (ERRCLASS & ERRCLS_ADD_RES)
9247 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9248 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9249 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
9251 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9252 sizeof(RgrSiCfgReqInfo));
9256 if (SPkS16(spId, mBuf) != ROK) {
9257 #if (ERRCLASS & ERRCLS_ADD_RES)
9258 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9259 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9260 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
9262 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9263 sizeof(RgrSiCfgReqInfo));
9267 if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9268 sizeof(RgrSiCfgReqInfo)) != ROK) {
9269 #if (ERRCLASS & ERRCLS_ADD_RES)
9270 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9271 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9272 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
9278 pst->event = (Event) EVTRGRSICFGREQ;
9279 RETVALUE(SPstTsk(pst,mBuf));
9282 /***********************************************************
9284 * Func : cmUnpkRgrSiCfgReq
9287 * Desc : SI Configuration Request from RRM to MAC for
9297 **********************************************************/
9299 PUBLIC S16 cmUnpkRgrSiCfgReq
9306 PUBLIC S16 cmUnpkRgrSiCfgReq(func, pst, mBuf)
9313 RgrCfgTransId transId;
9314 RgrSiCfgReqInfo *cfgReqInfo;
9316 TRC3(cmUnpkRgrSiCfgReq)
9318 if (SUnpkS16(&spId, mBuf) != ROK) {
9320 #if (ERRCLASS & ERRCLS_ADD_RES)
9321 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9322 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9323 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
9327 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
9329 #if (ERRCLASS & ERRCLS_ADD_RES)
9330 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9331 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9332 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
9336 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,
9337 sizeof(RgrSiCfgReqInfo))) != ROK) {
9338 #if (ERRCLASS & ERRCLS_ADD_RES)
9339 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9340 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9341 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
9346 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrSiCfgReqInfo));
9347 if (pst->selector == ODU_SELECTOR_LC)
9348 if (cmUnpkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9349 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9350 sizeof(RgrSiCfgReqInfo));
9352 #if (ERRCLASS & ERRCLS_ADD_RES)
9353 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9354 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9355 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
9361 RETVALUE((*func)(pst, spId, transId, cfgReqInfo));
9364 /***********************************************************
9366 * Func : cmPkRgrSiCfgReqInfo
9369 * Desc : Basic SI configuration/reconfiguration info at RRM
9378 **********************************************************/
9380 PUBLIC S16 cmPkRgrSiCfgReqInfo
9382 RgrSiCfgReqInfo *param,
9386 PUBLIC S16 cmPkRgrSiCfgReqInfo(param, mBuf)
9387 RgrSiCfgReqInfo *param;
9391 /* ccpu00111328: S16 is renamed as MsgLen */
9394 TRC3(cmPkRgrSiCfgReqInfo)
9396 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9397 CMCHKPK(SPkS32, param->cfgType, mBuf);
9398 CMCHKPK(SPkU8, param->siId, mBuf);
9400 if(NULLP != param->pdu)
9402 if (SFndLenMsg(param->pdu, &msgLen) != ROK)
9404 if (SCatMsg(mBuf, param->pdu, M1M2) != ROK)
9406 SPutMsg(param->pdu);
9407 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9412 CMCHKPK(cmPkMsgLen, 0, mBuf);
9418 /***********************************************************
9420 * Func : cmUnpkRgrSiCfgReqInfo
9423 * Desc : Basic SI configuration/reconfiguration info at RRM
9432 **********************************************************/
9434 PUBLIC S16 cmUnpkRgrSiCfgReqInfo
9436 RgrSiCfgReqInfo *param,
9440 PUBLIC S16 cmUnpkRgrSiCfgReqInfo(param, mBuf)
9441 RgrSiCfgReqInfo *param;
9445 MsgLen msgLen, totalMsgLen;
9446 /*Merge from Mohit Changes*/
9449 TRC3(cmUnpkRgrSiCfgReqInfo)
9451 SFndLenMsg(mBuf, &msgLen);
9454 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9458 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9460 if (SSegMsg(mBuf, totalMsgLen-msgLen, ¶m->pdu) != ROK)
9469 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9470 /*CMCHKUNPK(SUnpkS32, (S32 *)¶m->cfgType, mBuf);*/
9471 /*Merge from Mohit Changes*/
9472 CMCHKUNPK(SUnpkS32,(S32 *)&cfgType, mBuf);
9473 param->cfgType = (RgrSiCfgType) cfgType;
9474 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9481 /***********************************************************
9483 * Func : cmPkRgrWarningSiCfgReq
9486 * Desc : SI Configuration Request from RRM to MAC for
9487 * configuring warning SI
9496 **********************************************************/
9498 PUBLIC S16 cmPkRgrWarningSiCfgReq
9502 RgrCfgTransId transId,
9503 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo
9506 PUBLIC S16 cmPkRgrWarningSiCfgReq(pst, spId, transId, warningSiCfgReqInfo)
9509 RgrCfgTransId transId;
9510 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo;
9513 Buffer *mBuf = NULLP;
9515 TRC3(cmPkRgrWarningSiCfgReq)
9517 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9519 #if (ERRCLASS & ERRCLS_ADD_RES)
9520 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9521 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9522 (ErrVal)ERGR061, (ErrVal)0, "Packing failed");
9524 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9525 sizeof(RgrWarningSiCfgReqInfo));
9529 if (cmPkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9531 #if (ERRCLASS & ERRCLS_ADD_RES)
9532 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9533 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9534 (ErrVal)ERGR062, (ErrVal)0, "Packing failed");
9536 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9537 sizeof(RgrWarningSiCfgReqInfo));
9542 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9544 #if (ERRCLASS & ERRCLS_ADD_RES)
9545 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9546 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9547 (ErrVal)ERGR063, (ErrVal)0, "Packing failed");
9549 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9550 sizeof(RgrWarningSiCfgReqInfo));
9555 if (SPkS16(spId, mBuf) != ROK)
9557 #if (ERRCLASS & ERRCLS_ADD_RES)
9558 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9559 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9560 (ErrVal)ERGR064, (ErrVal)0, "Packing failed");
9562 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9563 sizeof(RgrWarningSiCfgReqInfo));
9568 /* if the application wants to retain this structure, the below
9569 * code should be removed */
9570 if (SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9571 sizeof(RgrWarningSiCfgReqInfo)) != ROK)
9573 #if (ERRCLASS & ERRCLS_ADD_RES)
9574 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9575 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9576 (ErrVal)ERGR065, (ErrVal)0, "Packing failed");
9582 pst->event = (Event) EVTRGRWARNINGSICFGREQ;
9583 RETVALUE(SPstTsk(pst,mBuf));
9584 }/*cmPkRgrWarningSiCfgReq*/
9587 /***********************************************************
9589 * Func : cmUnpkRgrWarningSiCfgReq
9592 * Desc : SI Configuration Request from RRM to MAC for
9593 * configuring warning SI
9602 **********************************************************/
9604 PUBLIC S16 cmUnpkRgrWarningSiCfgReq
9606 RgrWarningSiCfgReq func,
9611 PUBLIC S16 cmUnpkRgrWarningSiCfgReq(func, pst, mBuf)
9612 RgrWarningSiCfgReq func;
9618 RgrCfgTransId transId;
9619 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo;
9621 TRC3(cmUnpkRgrWarningSiCfgReq)
9623 if (SUnpkS16(&spId, mBuf) != ROK)
9626 #if (ERRCLASS & ERRCLS_ADD_RES)
9627 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9628 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9629 (ErrVal)ERGR066, (ErrVal)0, "Packing failed");
9634 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9637 #if (ERRCLASS & ERRCLS_ADD_RES)
9638 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9639 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9640 (ErrVal)ERGR067, (ErrVal)0, "Packing failed");
9645 if ((SGetSBuf(pst->region, pst->pool, (Data **)&warningSiCfgReqInfo,
9646 sizeof(RgrWarningSiCfgReqInfo))) != ROK)
9648 #if (ERRCLASS & ERRCLS_ADD_RES)
9649 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9650 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9651 (ErrVal)ERGR068, (ErrVal)0, "Packing failed");
9658 if (pst->selector == ODU_SELECTOR_LC)
9660 if (cmUnpkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9662 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9663 sizeof(RgrWarningSiCfgReqInfo));
9665 #if (ERRCLASS & ERRCLS_ADD_RES)
9666 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9667 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9668 (ErrVal)ERGR069, (ErrVal)0, "Packing failed");
9675 RETVALUE((*func)(pst, spId, transId, warningSiCfgReqInfo));
9676 } /* cmUnpkRgrWarningSiCfgReq */
9679 /***********************************************************
9681 * Func : cmPkRgrWarningSiCfgReqInfo
9684 * Desc : Basic warning SI configuration/reconfiguration
9694 **********************************************************/
9696 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo
9699 RgrWarningSiCfgReqInfo *param,
9703 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9705 RgrWarningSiCfgReqInfo *param;
9711 CmLList *node, *prevNode;
9712 RgrSegmentInfo *pdu;
9714 TRC3(cmPkRgrWarningSiCfgReqInfo)
9716 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
9718 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9719 CMCHKPK(SPkU8, param->siId, mBuf);
9721 count = param->siPduLst.count;
9722 node = param->siPduLst.last;
9725 pdu = (RgrSegmentInfo *)node->node;
9726 prevNode= node->prev;
9729 if (SFndLenMsg(pdu->pdu, &msgLen) != ROK)
9731 if (SCatMsg(mBuf, pdu->pdu, M1M2) != ROK)
9733 /* The PDU is not Released. This has to be done by
9734 * the caller of the packing function */
9735 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9738 cmLListDelFrm(¶m->siPduLst, node);
9739 SPutSBuf(pst->region, pst->pool, (Data *)node, sizeof(RgrSegmentInfo));
9742 CMCHKPK(SPkU32, count, mBuf);
9747 /***********************************************************
9749 * Func : cmUnpkRgrWarningSiCfgReqInfo
9752 * Desc : Unpack warning SI configuration info at SCH
9761 **********************************************************/
9763 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo
9766 RgrWarningSiCfgReqInfo *param,
9770 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9772 RgrWarningSiCfgReqInfo *param;
9776 MsgLen msgLen, totalMsgLen;
9781 TRC3(cmUnpkRgrWarningSiCfgReqInfo)
9783 cmLListInit(¶m->siPduLst);
9784 CMCHKUNPK(SUnpkU32, &count, mBuf);
9785 for (loopCnt=0; loopCnt<count; loopCnt++)
9787 if(SFndLenMsg(mBuf, &msgLen) != ROK)
9794 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9795 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9799 if (SSegMsg(mBuf, totalMsgLen-msgLen, &pdu) != ROK)
9808 if ((SGetSBuf(pst->region, pst->pool, (Data **)&node,
9809 sizeof(CmLList))) != ROK)
9811 node->node = (PTR)pdu;
9812 cmLListAdd2Tail(¶m->siPduLst, node);
9815 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9816 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9817 CMCHKPK(SUnpkU8, ¶m->emtcEnable, mBuf);
9823 /***********************************************************
9825 * Func : cmPkRgrWarningSiStopReq
9827 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
9834 **********************************************************/
9836 PUBLIC S16 cmPkRgrWarningSiStopReq
9840 RgrCfgTransId transId,
9844 PUBLIC S16 cmPkRgrWarningSiStopReq(pst,spId, transId, siId)
9847 RgrCfgTransId transId;
9851 Buffer *mBuf = NULLP;
9853 TRC3(cmPkRgrWarningSiStopReq)
9855 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9857 #if (ERRCLASS & ERRCLS_ADD_RES)
9858 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9859 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9860 (ErrVal)ERGR070, (ErrVal)0, "Packing failed");
9865 CMCHKPK(SPkU8, siId, mBuf);
9868 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9870 #if (ERRCLASS & ERRCLS_ADD_RES)
9871 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9872 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9873 (ErrVal)ERGR082, (ErrVal)0, "Packing failed");
9880 if (SPkS16(spId, mBuf) != ROK)
9882 #if (ERRCLASS & ERRCLS_ADD_RES)
9883 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9884 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9885 (ErrVal)ERGR071, (ErrVal)0, "Packing failed");
9891 pst->event = (Event) EVTRGRWARNINGSISTOPREQ;
9892 RETVALUE(SPstTsk(pst,mBuf));
9893 }/*cmPkRgrWarningSiStopReq */
9896 /***********************************************************
9898 * Func : cmUnpkRgrWarningSiStopReq
9900 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
9907 **********************************************************/
9909 PUBLIC S16 cmUnpkRgrWarningSiStopReq
9911 RgrWarningSiStopReq func,
9916 PUBLIC S16 cmUnpkRgrWarningSiStopReq(param, mBuf)
9917 RgrWarningSiStopReq func;
9924 RgrCfgTransId transId;
9926 TRC3(cmUnpkRgrWarningSiStopReq)
9928 if (SUnpkS16(&spId, mBuf) != ROK)
9931 #if (ERRCLASS & ERRCLS_ADD_RES)
9932 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9933 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9934 (ErrVal)ERGR072, (ErrVal)0, "Packing failed");
9939 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9942 #if (ERRCLASS & ERRCLS_ADD_RES)
9943 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9944 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9945 (ErrVal)ERGR083, (ErrVal)0, "Packing failed");
9950 CMCHKUNPK(SUnpkU8, &siId, mBuf);
9954 RETVALUE((*func)(pst, spId, transId, siId));
9955 } /*cmUnpkRgrWarningSiStopReq */
9958 /***********************************************************
9960 * Func : cmPkRgrWarningSiCfgCfm
9963 * Desc : Warning SI Configuration Confirm from MAC to RRM
9972 **********************************************************/
9974 PUBLIC S16 cmPkRgrWarningSiCfgCfm
9978 RgrCfgTransId transId,
9983 PUBLIC S16 cmPkRgrWarningSiCfgCfm(pst, suId, transId, siId, status)
9986 RgrCfgTransId transId;
9991 Buffer *mBuf = NULLP;
9993 TRC3(cmPkRgrWarningSiCfgCfm)
9995 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9997 #if (ERRCLASS & ERRCLS_ADD_RES)
9998 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9999 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10000 (ErrVal)ERGR073, (ErrVal)0, "Packing failed");
10005 if (SPkU8(status, mBuf) != ROK)
10007 #if (ERRCLASS & ERRCLS_ADD_RES)
10008 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10009 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10010 (ErrVal)ERGR074, (ErrVal)0, "Packing failed");
10016 if (SPkU8(siId, mBuf) != ROK)
10018 #if (ERRCLASS & ERRCLS_ADD_RES)
10019 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10020 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10021 (ErrVal)ERGR075, (ErrVal)0, "Packing failed");
10027 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
10029 #if (ERRCLASS & ERRCLS_ADD_RES)
10030 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10031 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10032 (ErrVal)ERGR076, (ErrVal)0, "Packing failed");
10038 if (SPkS16(suId, mBuf) != ROK)
10040 #if (ERRCLASS & ERRCLS_ADD_RES)
10041 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10042 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10043 (ErrVal)ERGR077, (ErrVal)0, "Packing failed");
10049 pst->event = (Event) EVTRGRWARNINGSICFGCFM;
10050 RETVALUE(SPstTsk(pst,mBuf));
10051 } /* cmPkRgrWarningSiCfgCfm */
10054 /***********************************************************
10056 * Func : cmUnpkRgrwarningSiCfgCfm
10059 * Desc : Warning SI Configuration Confirm from MAC to RRM
10068 **********************************************************/
10070 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm
10072 RgrWarningSiCfgCfm func,
10077 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm(func, pst, mBuf)
10078 RgrWarningSiCfgCfm func;
10085 RgrCfgTransId transId;
10088 TRC3(cmUnpkRgrWarningSiCfgCfm)
10090 if (SUnpkS16(&suId, mBuf) != ROK)
10093 #if (ERRCLASS & ERRCLS_ADD_RES)
10094 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10095 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10096 (ErrVal)ERGR078, (ErrVal)0, "Packing failed");
10101 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
10104 #if (ERRCLASS & ERRCLS_ADD_RES)
10105 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10106 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10107 (ErrVal)ERGR079, (ErrVal)0, "Packing failed");
10112 if (SUnpkU8(&siId, mBuf) != ROK)
10115 #if (ERRCLASS & ERRCLS_ADD_RES)
10116 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10117 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10118 (ErrVal)ERGR080, (ErrVal)0, "Packing failed");
10123 if (SUnpkU8(&status, mBuf) != ROK)
10126 #if (ERRCLASS & ERRCLS_ADD_RES)
10127 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10128 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10129 (ErrVal)ERGR081, (ErrVal)0, "Packing failed");
10134 RETVALUE((*func)(pst, suId, transId, siId, status));
10135 }/* cmUnpkRgrwarningSiCfgCfm */
10136 #endif/*RGR_SI_SCH*/
10138 /* LTE_ADV_FLAG_REMOVED_START */
10139 /***********************************************************
10141 * Func : cmPkRgrLoadInfReq
10144 * Desc : LOAD INF Configuration Request from RRM to MAC for
10145 * configuring RNTP, ABS etc
10154 **********************************************************/
10156 PUBLIC S16 cmPkRgrLoadInfReq
10160 RgrCfgTransId transId,
10161 RgrLoadInfReqInfo * loadInfReq
10164 PUBLIC S16 cmPkRgrLoadInfReq(pst, spId, transId, loadInfReq)
10167 RgrCfgTransId transId;
10168 RgrLoadInfReqInfo * loadInfReq;
10171 Buffer *mBuf = NULLP;
10173 TRC3(cmPkRgrLoadInfReq)
10175 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10177 #if (ERRCLASS & ERRCLS_ADD_RES)
10178 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10179 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10180 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
10182 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10183 sizeof(RgrLoadInfReqInfo));
10186 if (cmPkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10187 #if (ERRCLASS & ERRCLS_ADD_RES)
10188 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10189 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10190 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
10192 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10193 sizeof(RgrLoadInfReqInfo));
10197 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
10198 #if (ERRCLASS & ERRCLS_ADD_RES)
10199 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10200 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10201 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
10203 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10204 sizeof(RgrLoadInfReqInfo));
10208 if (SPkS16(spId, mBuf) != ROK) {
10209 #if (ERRCLASS & ERRCLS_ADD_RES)
10210 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10211 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10212 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
10214 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10215 sizeof(RgrLoadInfReqInfo));
10219 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10220 sizeof(RgrLoadInfReqInfo)) != ROK) {
10221 #if (ERRCLASS & ERRCLS_ADD_RES)
10222 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10223 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10224 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
10230 pst->event = (Event) EVTRGRLOADINFREQ;
10231 RETVALUE(SPstTsk(pst,mBuf));
10234 /***********************************************************
10236 * Func : cmUnpkRgrLoadInfReq
10239 * Desc : LOAD INF Configuration Request from RRM to MAC for
10240 * configuring RNTP, ABS etc
10249 **********************************************************/
10251 PUBLIC S16 cmUnpkRgrLoadInfReq
10253 RgrLoadInfReq func,
10258 PUBLIC S16 cmUnpkRgrLoadInfReq(func, pst, mBuf)
10259 RgrLoadInfReq func;
10265 RgrCfgTransId transId;
10266 RgrLoadInfReqInfo *loadInfReq;
10268 TRC3(cmUnpkRgrLoadInfReq)
10270 if (SUnpkS16(&spId, mBuf) != ROK) {
10272 #if (ERRCLASS & ERRCLS_ADD_RES)
10273 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10274 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10275 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
10280 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
10282 #if (ERRCLASS & ERRCLS_ADD_RES)
10283 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10284 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10285 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
10290 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfReq,
10291 sizeof(RgrLoadInfReqInfo))) != ROK) {
10292 #if (ERRCLASS & ERRCLS_ADD_RES)
10293 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10294 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10295 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
10301 cmMemset((U8 *)loadInfReq, 0, sizeof(RgrLoadInfReqInfo));
10303 if (pst->selector == ODU_SELECTOR_LC)
10304 if (cmUnpkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10305 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10306 sizeof(RgrLoadInfReqInfo));
10308 #if (ERRCLASS & ERRCLS_ADD_RES)
10309 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10310 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10311 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
10317 RETVALUE((*func)(pst, spId, transId, loadInfReq));
10320 /***********************************************************
10322 * Func : cmPkRgrLoadInfReqInfo
10325 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10334 **********************************************************/
10336 PUBLIC S16 cmPkRgrLoadInfReqInfo
10338 RgrLoadInfReqInfo *param,
10342 PUBLIC S16 cmPkRgrLoadInfReqInfo(param, mBuf)
10343 RgrLoadInfReqInfo *param;
10347 TRC3(cmPkRgrLoadInfReqInfo)
10349 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10350 CMCHKPK(SPkU8, param->rgrCcPHighStartRb, mBuf);
10351 CMCHKPK(SPkU8, param->rgrCcPHighEndRb, mBuf);
10356 /***********************************************************
10358 * Func : cmUnpkRgrLoadInfReqInfo
10361 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10370 **********************************************************/
10372 PUBLIC S16 cmUnpkRgrLoadInfReqInfo
10374 RgrLoadInfReqInfo *param,
10378 PUBLIC S16 cmUnpkRgrLoadInfReqInfo(param, mBuf)
10379 RgrLoadInfReqInfo *param;
10383 TRC3(cmUnpkRgrLoadInfReqInfo)
10385 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighEndRb, mBuf);
10386 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighStartRb, mBuf);
10387 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10391 /* LTE_ADV_FLAG_REMOVED_END */
10393 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
10394 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
10395 #ifdef RGR_CQI_REPT
10397 /***********************************************************
10399 * Func : cmPkRgrUeCqiReptCfg
10402 * Desc : Transaction ID between MAC and RRM
10411 **********************************************************/
10413 PUBLIC S16 cmPkRgrUeCqiReptCfg
10415 RgrUeCqiReptCfg *param,
10419 PUBLIC S16 cmPkRgrUeCqiReptCfg(param, mBuf)
10420 RgrUeCqiReptCfg *param;
10424 TRC3(cmPkRgrUeCqiReptCfg)
10426 CMCHKPK(SPkU8, param->numColltdCqiRept, mBuf);
10432 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10433 /***********************************************************
10435 * Func : cmUnpkRgrUeCqiReptCfg
10438 * Desc : Transaction ID between MAC and RRM
10447 **********************************************************/
10449 PUBLIC S16 cmUnpkRgrUeCqiReptCfg
10451 RgrUeCqiReptCfg *param,
10455 PUBLIC S16 cmUnpkRgrUeCqiReptCfg(param, mBuf)
10456 RgrUeCqiReptCfg *param;
10460 TRC3(cmUnpkRgrUeCqiReptCfg)
10462 CMCHKUNPK(SUnpkU8, ¶m->numColltdCqiRept, mBuf);
10468 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10469 /***********************************************************
10471 * Func : cmPkRgrStaInd
10474 * Desc : Packing Sta Indication sent to RRM
10483 **********************************************************/
10485 PUBLIC S16 cmPkRgrStaInd
10489 RgrStaIndInfo* staInd
10492 PUBLIC S16 cmPkRgrStaInd(pst, suId, staInd)
10495 RgrStaIndInfo* staInd;
10498 Buffer *mBuf = NULLP;
10499 TRC3(cmPkRgrStaInd)
10501 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10503 #if (ERRCLASS & ERRCLS_ADD_RES)
10504 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10505 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10506 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
10508 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10509 sizeof(RgrStaIndInfo));
10513 if (cmPkRgrStaIndInfo(staInd, mBuf) != ROK)
10515 #if (ERRCLASS & ERRCLS_ADD_RES)
10516 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10517 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10518 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
10520 SPutSBuf(pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo));
10525 if (SPkS16(suId, mBuf) != ROK)
10527 #if (ERRCLASS & ERRCLS_ADD_RES)
10528 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10529 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10530 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
10532 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10533 sizeof(RgrStaIndInfo));
10538 if (SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10539 sizeof(RgrStaIndInfo)) != ROK)
10541 #if (ERRCLASS & ERRCLS_ADD_RES)
10542 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10543 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10544 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
10550 pst->event = (Event) EVTRGRSTAIND;
10551 RETVALUE(SPstTsk(pst,mBuf));
10554 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10555 /***********************************************************
10557 * Func : cmUnpkRgrStaInd
10560 * Desc : Unpacking Sta Indication sent to RRM
10568 **********************************************************/
10570 PUBLIC S16 cmUnpkRgrStaInd
10577 PUBLIC S16 cmUnpkRgrStaInd(func, pst, mBuf)
10584 RgrStaIndInfo *staInd;
10586 TRC3(cmUnpkRgrStaInd)
10588 if (SUnpkS16(&suId, mBuf) != ROK)
10591 #if (ERRCLASS & ERRCLS_ADD_RES)
10592 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10593 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10594 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
10599 if ((SGetSBuf(pst->region, pst->pool, (Data **)&staInd,
10600 sizeof(RgrStaIndInfo))) != ROK)
10602 #if (ERRCLASS & ERRCLS_ADD_RES)
10603 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10604 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10605 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
10611 if (cmUnpkRgrStaIndInfo(staInd, mBuf) != ROK)
10613 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10614 sizeof(RgrStaIndInfo));
10616 #if (ERRCLASS & ERRCLS_ADD_RES)
10617 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10618 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10619 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
10625 RETVALUE((*func)(pst, suId, staInd));
10628 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10629 /***********************************************************
10631 * Func : cmPkRgrStaIndInfo
10634 * Desc : Packing of StaIndInfo structure
10642 **********************************************************/
10644 PUBLIC S16 cmPkRgrStaIndInfo
10646 RgrStaIndInfo *param,
10650 PUBLIC S16 cmPkRgrStaIndInfo(param, mBuf)
10651 RgrStaIndInfo *param;
10656 TRC3(cmPkRgrStaIndInfo)
10658 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10659 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
10660 CMCHKPK(cmPkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10664 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10665 /***********************************************************
10667 * Func : cmUnpkRgrStaIndInfo
10670 * Desc : Unpacking of StaIndInfo structure
10678 **********************************************************/
10680 PUBLIC S16 cmUnpkRgrStaIndInfo
10682 RgrStaIndInfo *param,
10686 PUBLIC S16 cmUnpkRgrStaIndInfo(param, mBuf)
10687 RgrStaIndInfo *param;
10692 TRC3(cmUnpkRgrStaIndInfo)
10694 CMCHKUNPK(cmUnpkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10695 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
10696 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10700 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10701 /***********************************************************
10703 * Func : cmPkRgrUeCqiInfo
10706 * Desc : Packing of StaIndInfo structure
10714 **********************************************************/
10716 PUBLIC S16 cmPkRgrUeCqiInfo
10718 RgrUeCqiInfo *param,
10722 PUBLIC S16 cmPkRgrUeCqiInfo(param, mBuf)
10723 RgrUeCqiInfo *param;
10729 TRC3(cmPkRgrUeCqiInfo)
10731 for (idx = param->numCqiRept - 1; idx >= 0; idx--)
10733 CMCHKPK(cmPkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10735 CMCHKPK(SPkU8, param->numCqiRept, mBuf);
10738 } /* cmPkRgrUeCqiInfo */
10740 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10741 /***********************************************************
10743 * Func : cmUnpkRgrUeCqiInfo
10746 * Desc : Packing of StaIndInfo structure
10754 **********************************************************/
10756 PUBLIC S16 cmUnpkRgrUeCqiInfo
10758 RgrUeCqiInfo *param,
10762 PUBLIC S16 cmUnpkRgrUeCqiInfo(param, mBuf)
10763 RgrUeCqiInfo *param;
10769 TRC3(cmUnpkRgrUeCqiInfo)
10771 CMCHKUNPK(SUnpkU8, ¶m->numCqiRept, mBuf);
10772 for (idx = 0; idx < param->numCqiRept; idx++)
10774 CMCHKUNPK(cmUnpkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10778 } /* cmUnpkRgrUeCqiInfo */
10780 /***********************************************************
10782 * Func : cmPkRgrSubBandCqiInfo
10785 * Desc : Packing ofcmPkRgrSubBandCqiInfo structure
10793 **********************************************************/
10795 PUBLIC S16 cmPkRgrSubBandCqiInfo
10797 RgrSubBandCqiInfo *param,
10801 PUBLIC S16 cmPkRgrSubBandCqiInfo(param, mBuf)
10802 RgrSubBandCqiInfo *param;
10807 TRC3(cmPkRgrSubBandCqiInfo)
10809 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10810 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10811 CMCHKPK(SPkU8, param->subBandIdx, mBuf);
10814 } /* cmPkRgrSubBandCqiInfo */
10816 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10817 /***********************************************************
10819 * Func : cmPkRgrUeCqiRept
10822 * Desc : Packing of StaIndInfo structure
10830 **********************************************************/
10832 PUBLIC S16 cmPkRgrUeCqiRept
10834 RgrUeCqiRept *param,
10838 PUBLIC S16 cmPkRgrUeCqiRept(param, mBuf)
10839 RgrUeCqiRept *param;
10846 TRC3(cmPkRgrUeCqiRept)
10848 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10849 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10850 CMCHKPK(SPkU8, param->cqiMode, mBuf);
10851 for (idx = param->numSubBand - 1; idx >= 0; idx--)
10854 CMCHKPK(cmPkRgrSubBandCqiInfo, ¶m->sbCqiInfo[count], mBuf);
10856 CMCHKPK(SPkU8, param->numSubBand, mBuf);
10858 } /* cmPkRgrUeCqiRept */
10860 /***********************************************************
10862 * Func :cmUnpkRgrSubBandCqiInfo
10865 * Desc : Packing of cmUnpkRgrSubBandCqiInfo structure
10873 **********************************************************/
10875 PUBLIC S16 cmUnpkRgrSubBandCqiInfo
10877 RgrSubBandCqiInfo *param,
10881 PUBLIC S16 cmUnpkRgrSubBandCqiInfo(param, mBuf)
10882 RgrSubBandCqiInfo *param;
10887 TRC3(cmUnpkRgrSubBandCqiInfo)
10889 CMCHKUNPK(SUnpkU8, ¶m->subBandIdx, mBuf);
10890 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
10891 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
10894 } /* cmUnpkRgrSubBandCqiInfo*/
10896 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10897 /***********************************************************
10899 * Func : cmUnpkRgrUeCqiRept
10902 * Desc : Packing of StaIndInfo structure
10910 **********************************************************/
10912 PUBLIC S16 cmUnpkRgrUeCqiRept
10914 RgrUeCqiRept *param,
10918 PUBLIC S16 cmUnpkRgrUeCqiRept(param, mBuf)
10919 RgrUeCqiRept *param;
10925 TRC3(cmUnpkRgrUeCqiRept)
10926 CMCHKUNPK(SUnpkU8, ¶m->numSubBand, mBuf);
10927 for (idx = 0; idx < param->numSubBand; idx++)
10929 CMCHKUNPK(cmUnpkRgrSubBandCqiInfo, ¶m->sbCqiInfo[idx], mBuf);
10931 CMCHKUNPK(SUnpkU8, ¶m->cqiMode, mBuf);
10932 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
10933 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
10936 } /* cmUnpkRgrUeCqiRept */
10937 #endif /* End of ifdef RGR_CQI_REPT */
10939 /* LTE_ADV_FLAG_REMOVED_START */
10940 /***********************************************************
10942 * Func : cmPkRgrLoadInfInd
10945 * Desc : Packing LOAD INFORMATION Indication sent to RRM
10954 **********************************************************/
10956 PUBLIC S16 cmPkRgrLoadInfInd
10960 RgrLoadInfIndInfo* loadInfInd
10963 PUBLIC S16 cmPkRgrLoadInfInd(pst, suId, loadInfInd)
10966 RgrLoadInfIndInfo* loadInfInd;
10969 Buffer *mBuf = NULLP;
10970 TRC3(cmPkRgrLoadInfInd)
10972 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10974 #if (ERRCLASS & ERRCLS_ADD_RES)
10975 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10976 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10977 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
10979 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
10980 sizeof(RgrLoadInfIndInfo));
10984 if (cmPkRgrLoadInfIndInfo(loadInfInd, mBuf) != ROK)
10986 #if (ERRCLASS & ERRCLS_ADD_RES)
10987 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10988 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10989 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
10991 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
10992 sizeof(RgrLoadInfIndInfo));
10998 if (SPkS16(suId, mBuf) != ROK)
11000 #if (ERRCLASS & ERRCLS_ADD_RES)
11001 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11002 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11003 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11005 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11006 sizeof(RgrLoadInfIndInfo));
11011 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11012 sizeof(RgrLoadInfIndInfo)) != ROK)
11014 #if (ERRCLASS & ERRCLS_ADD_RES)
11015 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11016 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11017 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11023 pst->event = (Event) EVTRGRLOADINFIND;
11024 RETVALUE(SPstTsk(pst,mBuf));
11027 /***********************************************************
11029 * Func : cmUnpkRgrLoadInfInd
11032 * Desc : Unpacking LOAD INFORMATION Indication sent to RRM
11040 **********************************************************/
11042 PUBLIC S16 cmUnpkRgrLoadInfInd
11044 RgrLoadInfInd func,
11049 PUBLIC S16 cmUnpkRgrLoadInfInd(func, pst, mBuf)
11050 RgrLoadInfInd func;
11056 RgrLoadInfIndInfo *loadInfInd = NULLP; /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11058 TRC3(cmUnpkRgrLoadInfInd)
11060 if (SUnpkS16(&suId, mBuf) != ROK)
11063 #if (ERRCLASS & ERRCLS_ADD_RES)
11064 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11065 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11066 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11071 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfInd,
11072 sizeof(RgrLoadInfIndInfo))) != ROK)
11074 #if (ERRCLASS & ERRCLS_ADD_RES)
11075 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11076 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11077 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11083 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11084 if (cmUnpkRgrLoadInfIndInfo(loadInfInd, pst, mBuf) != ROK)
11086 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11087 sizeof(RgrLoadInfIndInfo));
11089 #if (ERRCLASS & ERRCLS_ADD_RES)
11090 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11091 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11092 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11098 RETVALUE((*func)(pst, suId, loadInfInd));
11102 /***********************************************************
11104 * Func : cmPkRgrLoadInfIndInfo
11107 * Desc : Packing of LoadInfIndInfo structure
11115 **********************************************************/
11117 PUBLIC S16 cmPkRgrLoadInfIndInfo
11119 RgrLoadInfIndInfo *param,
11123 PUBLIC S16 cmPkRgrLoadInfIndInfo(param, mBuf)
11124 RgrLoadInfIndInfo *param;
11129 TRC3(cmPkRgrLoadInfIndInfo)
11131 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11132 CMCHKPK(SPkU16, param->bw, mBuf);
11133 if(RGR_ABS == param->type)
11135 for(idx = 0; idx < RGR_ABS_PATTERN_LEN; idx++)
11137 CMCHKPK(SPkU32, param->u.absLoadInfo[idx], mBuf);
11142 CMCHKPK(cmPkTknStrOSXL, ¶m->u.rntpInfo, mBuf);
11145 CMCHKPK(SPkU32, param->type, mBuf);
11150 /***********************************************************
11152 * Func : cmUnpkRgrLoadInfIndInfo
11155 * Desc : Unpacking of LoadInfIndInfo structure
11163 **********************************************************/
11165 PUBLIC S16 cmUnpkRgrLoadInfIndInfo
11167 RgrLoadInfIndInfo *param,
11172 PUBLIC S16 cmUnpkRgrLoadInfIndInfo(param, pst, mBuf)
11173 RgrLoadInfIndInfo *param;
11180 /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11181 TknStrOSXL *tknStr;
11184 TRC3(cmUnpkRgrLoadInfIndInfo)
11186 CMCHKUNPK(SUnpkU32, ¶m->type, mBuf);
11187 if(RGR_ABS == param->type)
11189 for(idx = RGR_ABS_PATTERN_LEN -1 ; idx >= 0; idx--)
11191 CMCHKUNPK(SUnpkU32, ¶m->u.absLoadInfo[(U8)idx], mBuf);
11197 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** Start */
11198 tknStr = ¶m->u.rntpInfo;
11200 CMCHKUNPK(SUnpkU8, &tknStr->pres, mBuf);
11205 CMCHKUNPK(SUnpkU16, &tknStr->len, mBuf);
11207 if ((SGetSBuf(pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) {
11208 #if (ERRCLASS & ERRCLS_ADD_RES)
11209 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11210 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11211 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
11218 for (ndx = 1; ndx <= tknStr->len; ndx++)
11220 CMCHKUNPK(SUnpkU8, &tknStr->val[tknStr->len - ndx], mBuf);
11224 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** End */
11226 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11227 CMCHKUNPK(SUnpkU16, ¶m->bw, mBuf);
11229 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
11233 /* LTE_ADV_FLAG_REMOVED_END */
11236 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11237 /***********************************************************
11239 * Func : cmPkRgrUepACfg
11242 * Desc : Transaction ID between MAC and RRM
11251 **********************************************************/
11253 PUBLIC S16 cmPkRgrUepACfg
11259 PUBLIC S16 cmPkRgrUepACfg(param, mBuf)
11264 TRC3(cmPkRgrUepACfg)
11268 CMCHKPK(SPkU32, param->pA, mBuf);
11270 CMCHKPK(SPkU8, param->pAPrsnt, mBuf);
11276 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11277 /***********************************************************
11279 * Func : cmUnpkRgrUepACfg
11282 * Desc : Transaction ID between MAC and RRM
11291 **********************************************************/
11293 PUBLIC S16 cmUnpkRgrUepACfg
11299 PUBLIC S16 cmUnpkRgrUepACfg(param, mBuf)
11305 TRC3(cmUnpkRgrUepACfg)
11307 CMCHKUNPK(SUnpkU8, (U8 *)¶m->pAPrsnt, mBuf);
11308 if (param->pAPrsnt)
11310 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
11311 param->pA = (RgrUeDlPwrCntrlPaCfg) tmpEnum;
11317 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11318 /***********************************************************
11320 * Func : cmPkRgrUePdschDedCfg
11323 * Desc : Transaction ID between MAC and RRM
11332 **********************************************************/
11334 PUBLIC S16 cmPkRgrUePdschDedCfg
11336 RgrUePdschDedCfg *param,
11340 PUBLIC S16 cmPkRgrUePdschDedCfg(param, mBuf)
11341 RgrUePdschDedCfg *param;
11345 TRC3(cmPkRgrUePdschDedCfg)
11347 CMCHKPK(cmPkRgrUepACfg, ¶m->uepACfg, mBuf);
11353 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11354 /***********************************************************
11356 * Func : cmUnpkRgrUePdschDedCfg
11359 * Desc : Transaction ID between MAC and RRM
11368 **********************************************************/
11370 PUBLIC S16 cmUnpkRgrUePdschDedCfg
11372 RgrUePdschDedCfg *param,
11376 PUBLIC S16 cmUnpkRgrUePdschDedCfg(param, mBuf)
11377 RgrUePdschDedCfg *param;
11381 TRC3(cmUnpkRgrUePdschDedCfg)
11383 CMCHKUNPK(cmUnpkRgrUepACfg, ¶m->uepACfg, mBuf);
11392 /***********************************************************
11394 * Func : cmPkRgrUeUlPwrDedSCellCfg
11397 * Desc : DL Secondary Cell UL PC Info
11406 **********************************************************/
11408 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg
11410 RgrUeUlPwrDedSCellCfg *param,
11414 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg(param, mBuf)
11415 RgrUeUlPwrDedSCellCfg *param;
11419 TRC3(cmPkRgrUeUlPwrDedSCellCfg)
11420 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
11421 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
11422 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
11423 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
11428 /***********************************************************
11430 * Func : cmUnpkRgrUeUlPwrDedSCellCfg
11433 * Desc : Uplink power configuration per UE
11442 **********************************************************/
11444 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg
11446 RgrUeUlPwrDedSCellCfg *param,
11450 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg(param, mBuf)
11451 RgrUeUlPwrDedSCellCfg *param;
11456 TRC3(cmUnpkRgrUeUlPwrDedSCellCfg)
11458 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
11459 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
11460 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
11461 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
11468 /***********************************************************
11470 * Func : cmPkRgrUeSecCellCfg
11473 * Desc : DL Secondary Cell information of the UE
11482 **********************************************************/
11484 PRIVATE S16 cmPkRgrUeSecCellCfg
11486 RgrUeSecCellCfg *param,
11490 PRIVATE S16 cmPkRgrUeSecCellCfg(param, mBuf)
11491 RgrUeSecCellCfg *param;
11495 CMCHKPK(cmPkRgrUeUlPwrDedSCellCfg,¶m->ueSCellUlDedPwrCfg, mBuf);
11496 CMCHKPK(SPkU8, param->isUlCaEnabled, mBuf);
11497 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11499 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11500 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11502 CMCHKPK(cmPkRgrUeDlCqiCfg,¶m->ueSCellDlCqiCfg, mBuf);
11503 CMCHKPK(cmPkTknU32, ¶m->sCellDeActTmr, mBuf);
11504 CMCHKPK(SPkU16, param->sCellId, mBuf);
11505 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
11512 /***********************************************************
11514 * Func : cmPkRgrUeSecCellInfo
11517 * Desc : Secondary Cell information of the UE
11526 **********************************************************/
11528 PUBLIC S16 cmPkRgrUeSecCellInfo
11530 RgrUeSecCellInfo *param,
11534 PUBLIC S16 cmPkRgrUeSecCellInfo(param, mBuf)
11535 RgrUeSecCellInfo *param;
11540 for(idx = param->numSCells - 1; idx >= 0; idx--)
11542 CMCHKPK(cmPkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[(U8)idx],mBuf);
11545 CMCHKPK(SPkU8, param->numSCells, mBuf);
11547 CMCHKPK(SPkU8, param->useExtBSRSizes, mBuf);
11553 /***********************************************************
11555 * Func : cmUnpkRgrUeSecCellCfg
11558 * Desc : DL Secondary Cell information of the UE
11567 **********************************************************/
11569 PRIVATE S16 cmUnpkRgrUeSecCellCfg
11571 RgrUeSecCellCfg *param,
11575 PRIVATE S16 cmUnpkRgrUeSecCellCfg(param, mBuf)
11576 RgrUeSecCellCfg *param;
11580 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
11581 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
11582 CMCHKUNPK(cmUnpkTknU32, ¶m->sCellDeActTmr, mBuf);
11583 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueSCellDlCqiCfg, mBuf);
11585 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11587 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11588 CMCHKUNPK(SUnpkU8, ¶m->isUlCaEnabled, mBuf);
11589 CMCHKUNPK(cmUnpkRgrUeUlPwrDedSCellCfg, ¶m->ueSCellUlDedPwrCfg, mBuf);
11597 /***********************************************************
11599 * Func : cmUnpkRgrUeSecCellInfo
11602 * Desc : Secondary Cell information of the UE
11611 **********************************************************/
11613 PUBLIC S16 cmUnpkRgrUeSecCellInfo
11615 RgrUeSecCellInfo *param,
11619 PUBLIC S16 cmUnpkRgrUeSecCellInfo(param, mBuf)
11620 RgrUeSecCellInfo *param;
11626 CMCHKUNPK(SUnpkU8, ¶m->useExtBSRSizes, mBuf);
11627 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
11629 for(idx = 0; idx < param->numSCells;idx++)
11631 CMCHKUNPK(cmUnpkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[idx],mBuf);
11637 /***********************************************************
11639 * Func : cmPkRgrUeSCellAckPucchCfg
11642 * Desc : PUCCH Configuration information of the UE
11651 **********************************************************/
11653 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg
11655 RgrUeSCellAckPucchCfg *param,
11659 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg(param, mBuf)
11660 RgrUeSCellAckPucchCfg *param;
11665 TRC3(cmPkRgrUeSCellAckPucchCfg);
11667 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11669 for(idx = param->u.format1Bcs.sCellAckN1ResTb2Count - 1; idx >=0 ;idx--)
11671 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb2[(U8)idx], mBuf);
11674 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11676 for(idx = param->u.format1Bcs.sCellAckN1ResTb1Count - 1; idx >=0 ;idx--)
11678 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb1[(U8)idx], mBuf);
11681 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11685 for(idx = param->u.format3.sCellAckN3ResAntP1Count - 1; idx >=0 ;idx--)
11687 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP1[(U8)idx], mBuf);
11690 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP1Count, mBuf);
11692 for(idx = param->u.format3.sCellAckN3ResAntP0Count- 1; idx >=0 ;idx--)
11694 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP0[(U8)idx], mBuf);
11697 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP0Count, mBuf);
11699 CMCHKPK(SPkU32, param->pucchFormatType, mBuf);
11704 /***********************************************************
11706 * Func : cmUnpkRgrUeSCellAckPucchCfg
11709 * Desc : PUCCH Configuration information of the UE
11718 **********************************************************/
11720 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg
11722 RgrUeSCellAckPucchCfg *param,
11726 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg(param, mBuf)
11727 RgrUeSCellAckPucchCfg *param;
11733 TRC3(cmUnpkRgrUeSCellAckPucchCfg);
11735 CMCHKUNPK(SUnpkU32, (U32*)¶m->pucchFormatType, mBuf);
11736 //if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS)
11737 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11739 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11741 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb1Count; idx++)
11743 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb1[idx], mBuf);
11746 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11748 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb2Count; idx++)
11750 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb2[idx], mBuf);
11755 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP0Count, mBuf);
11757 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP0Count; idx++)
11759 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP0[idx], mBuf);
11762 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP1Count, mBuf);
11764 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP1Count; idx++)
11766 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP1[idx], mBuf);
11779 /***********************************************************
11781 * Func : cmPkRgrUeStaInd
11784 * Desc : Packing Ue Sta Indication sent to RRM
11793 **********************************************************/
11795 PUBLIC S16 cmPkRgrUeStaInd
11799 RgrUeStaIndInfo* ueStaInd
11802 PUBLIC S16 cmPkRgrUeStaInd(pst, suId, ueStaInd)
11805 RgrUeStaIndInfo* ueStaInd;
11808 Buffer *mBuf = NULLP;
11809 TRC3(cmPkRgrUeStaInd)
11810 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
11812 #if (ERRCLASS & ERRCLS_ADD_RES)
11813 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11814 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11815 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11817 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11818 sizeof(RgrUeStaIndInfo));
11822 if (cmPkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
11824 #if (ERRCLASS & ERRCLS_ADD_RES)
11825 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11826 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11827 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11829 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11830 sizeof(RgrUeStaIndInfo));
11835 if (SPkS16(suId, mBuf) != ROK)
11837 #if (ERRCLASS & ERRCLS_ADD_RES)
11838 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11839 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11840 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11842 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11843 sizeof(RgrUeStaIndInfo));
11848 if (SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11849 sizeof(RgrUeStaIndInfo)) != ROK)
11851 #if (ERRCLASS & ERRCLS_ADD_RES)
11852 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11853 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11854 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11860 pst->event = (Event) EVTRGRUESTAIND;
11861 RETVALUE(SPstTsk(pst,mBuf));
11864 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11865 /***********************************************************
11867 * Func : cmUnpkRgrUeStaInd
11870 * Desc : Unpacking Sta Indication sent to RRM
11878 **********************************************************/
11880 PUBLIC S16 cmUnpkRgrUeStaInd
11887 PUBLIC S16 cmUnpkRgrUeStaInd(func, pst, mBuf)
11894 RgrUeStaIndInfo *ueStaInd;
11896 TRC3(cmUnpkRgrUeStaInd)
11898 if (SUnpkS16(&suId, mBuf) != ROK)
11901 #if (ERRCLASS & ERRCLS_ADD_RES)
11902 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11903 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11904 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11909 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ueStaInd,
11910 sizeof(RgrUeStaIndInfo))) != ROK)
11912 #if (ERRCLASS & ERRCLS_ADD_RES)
11913 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11914 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11915 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11921 if (cmUnpkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
11923 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11924 sizeof(RgrUeStaIndInfo));
11926 #if (ERRCLASS & ERRCLS_ADD_RES)
11927 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11928 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11929 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11935 RETVALUE((*func)(pst, suId, ueStaInd));
11938 /***********************************************************
11940 * Func : cmPkRgrUeStaIndInfo
11943 * Desc : Packing of UeStaIndInfo structure
11951 **********************************************************/
11953 PUBLIC S16 cmPkRgrUeStaIndInfo
11955 RgrUeStaIndInfo *param,
11959 PUBLIC S16 cmPkRgrUeStaIndInfo(param, mBuf)
11960 RgrUeStaIndInfo *param;
11965 TRC3(cmPkRgrUeStaIndInfo)
11967 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11968 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
11969 CMCHKPK(SPkU8, param->status, mBuf);
11973 /***********************************************************
11975 * Func : cmUnpkRgrUeStaIndInfo
11978 * Desc : Unpacking of UeStaIndInfo structure
11986 **********************************************************/
11988 PUBLIC S16 cmUnpkRgrUeStaIndInfo
11990 RgrUeStaIndInfo *param,
11994 PUBLIC S16 cmUnpkRgrUeStaIndInfo(param, mBuf)
11995 RgrUeStaIndInfo *param;
12000 TRC3(cmUnpkRgrUeStaIndInfo)
12002 CMCHKUNPK(SUnpkU8, ¶m->status, mBuf);
12003 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
12004 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
12010 /***********************************************************
12012 * Func : cmPkRgrCellCsgParamCfg
12015 * Desc : CSG Parameter configuration
12024 **********************************************************/
12026 PUBLIC S16 cmPkRgrCellCsgParamCfg
12028 RgrCellCsgParamCfg *param,
12032 PUBLIC S16 cmPkRgrCellCsgParamCfg(param, mBuf)
12033 RgrCellCsgParamCfg *param;
12038 TRC3(cmPkRgrCellCsgParamCfg)
12040 CMCHKPK(SPkU8, param->minUlResNonCsg, mBuf);
12041 CMCHKPK(SPkU8, param->minDlResNonCsg, mBuf);
12046 /***********************************************************
12048 * Func : cmUnpkRgrCellCsgParamCfg
12051 * Desc : Unpacking of RgrCellCsgParamCfg structure
12059 **********************************************************/
12061 PUBLIC S16 cmUnpkRgrCellCsgParamCfg
12063 RgrCellCsgParamCfg *param,
12067 PUBLIC S16 cmUnpkRgrCellCsgParamCfg(param, mBuf)
12068 RgrCellCsgParamCfg *param;
12073 TRC3(cmUnpkRgrCellCsgParamCfg)
12075 CMCHKUNPK(SUnpkU8, ¶m->minDlResNonCsg, mBuf);
12076 CMCHKUNPK(SUnpkU8, ¶m->minUlResNonCsg, mBuf);
12081 /***********************************************************
12083 * Func : cmPkRgrCellCntrlCmdCfg
12086 * Desc : Packing of RgrCellCntrlCmdCfg structure
12094 **********************************************************/
12096 PUBLIC S16 cmPkRgrCellCntrlCmdCfg
12098 RgrCellCntrlCmdCfg *param,
12102 PUBLIC S16 cmPkRgrCellCntrlCmdCfg(param, mBuf)
12103 RgrCellCntrlCmdCfg *param;
12107 TRC3(cmPkRgrCellCntrlCmdCfg)
12109 switch(param->cmdType)
12111 case RGR_CNTRL_CMD_RACH_OVRLD:
12112 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffVal, mBuf);
12113 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12115 case RGR_CNTRL_CMD_CPU_OVRLD:
12116 CMCHKUNPK(SPkU8, param->cmdDesc.cpuOvrLd.instruction, mBuf);
12121 CMCHKUNPK(SPkU32, param->cmdType, mBuf);
12125 /***********************************************************
12127 * Func : cmUnpkRgrCellCntrlCmdCfg
12130 * Desc : Unpacking of RgrCellCntrlCmdCfg structure
12138 **********************************************************/
12140 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg
12142 RgrCellCntrlCmdCfg *param,
12146 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg(param, mBuf)
12147 RgrCellCntrlCmdCfg *param;
12153 TRC3(cmUnpkRgrCellCntrlCmdCfg)
12155 CMCHKUNPK(SUnpkU32, &tmpEnum, mBuf);
12156 param->cmdType = (RgrCellCntrlCmdType) tmpEnum;
12157 switch(param->cmdType)
12159 case RGR_CNTRL_CMD_RACH_OVRLD:
12160 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12161 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffVal, mBuf);
12163 case RGR_CNTRL_CMD_CPU_OVRLD:
12164 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.cpuOvrLd.instruction, mBuf);
12172 #endif /* End of if defined(LCRGR) */
12174 /**********************************************************************
12176 **********************************************************************/