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 /* header include files (.h) */
37 #include "envopt.h" /* environment options */
38 #include "envdep.h" /* environment dependent */
39 #include "envind.h" /* environment independent */
40 #include "gen.h" /* general */
41 #include "ssi.h" /* system services */
42 #include "cm_tkns.h" /* Common Token Defines */
43 #include "cm_llist.h" /* Common Link List Defines */
44 #include "cm_hash.h" /* Common Hash List Defines */
45 #include "cm_lte.h" /* Common LTE Defines */
46 /* LTE_ADV_FLAG_REMOVED_START */
48 /* LTE_ADV_FLAG_REMOVED_END */
49 #include "rgr.h" /* RGR Interface defines */
51 /* header/extern include files (.x) */
52 #include "gen.x" /* general */
53 #include "ssi.x" /* system services */
54 #include "cm_tkns.x" /* Common Token Definitions */
55 #include "cm_llist.x" /* Common Link List Definitions */
56 #include "cm_lib.x" /* Common Library Definitions */
57 #include "cm_hash.x" /* Common Hash List Definitions */
58 #include "cm_lte.x" /* Common LTE Defines */
59 /* LTE_ADV_FLAG_REMOVED_START */
61 /* LTE_ADV_FLAG_REMOVED_END */
62 #include "rgr.x" /* RGR Interface includes */
67 /***********************************************************
69 * Func : cmPkRgrBndReq
72 * Desc : Request from RRM to MAC to bind the interface saps
81 **********************************************************/
83 PUBLIC S16 cmPkRgrBndReq
90 PUBLIC S16 cmPkRgrBndReq(pst, suId, spId)
99 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
100 #if (ERRCLASS & ERRCLS_ADD_RES)
101 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
102 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
103 (ErrVal)ERGR001, (ErrVal)0, "Packing failed");
107 if (SPkS16(spId, mBuf) != ROK) {
108 #if (ERRCLASS & ERRCLS_ADD_RES)
109 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
110 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
111 (ErrVal)ERGR002, (ErrVal)0, "Packing failed");
116 if (SPkS16(suId, mBuf) != ROK) {
117 #if (ERRCLASS & ERRCLS_ADD_RES)
118 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
119 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
120 (ErrVal)ERGR003, (ErrVal)0, "Packing failed");
125 pst->event = (Event) EVTRGRBNDREQ;
126 RETVALUE(SPstTsk(pst,mBuf));
130 /***********************************************************
132 * Func : cmUnpkRgrBndReq
135 * Desc : Request from RRM to MAC to bind the interface saps
144 **********************************************************/
146 PUBLIC S16 cmUnpkRgrBndReq
153 PUBLIC S16 cmUnpkRgrBndReq(func, pst, mBuf)
162 TRC3(cmUnpkRgrBndReq)
164 if (SUnpkS16(&suId, mBuf) != ROK) {
166 #if (ERRCLASS & ERRCLS_ADD_RES)
167 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
168 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
169 (ErrVal)ERGR004, (ErrVal)0, "Packing failed");
173 if (SUnpkS16(&spId, mBuf) != ROK) {
175 #if (ERRCLASS & ERRCLS_ADD_RES)
176 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
177 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
178 (ErrVal)ERGR005, (ErrVal)0, "Packing failed");
183 RETVALUE((*func)(pst, suId, spId));
187 /***********************************************************
189 * Func : cmPkRgrBndCfm
192 * Desc : Confirmation from MAC to RRM for the bind/Unbind
193 * request for the interface saps
202 **********************************************************/
204 PUBLIC S16 cmPkRgrBndCfm
211 PUBLIC S16 cmPkRgrBndCfm(pst, suId, status)
217 Buffer *mBuf = NULLP;
220 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
221 #if (ERRCLASS & ERRCLS_ADD_RES)
222 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
223 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
224 (ErrVal)ERGR006, (ErrVal)0, "Packing failed");
228 if (SPkU8(status, mBuf) != ROK) {
229 #if (ERRCLASS & ERRCLS_ADD_RES)
230 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
231 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
232 (ErrVal)ERGR007, (ErrVal)0, "Packing failed");
237 if (SPkS16(suId, mBuf) != ROK) {
238 #if (ERRCLASS & ERRCLS_ADD_RES)
239 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
240 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
241 (ErrVal)ERGR008, (ErrVal)0, "Packing failed");
246 pst->event = (Event) EVTRGRBNDCFM;
247 RETVALUE(SPstTsk(pst,mBuf));
251 /***********************************************************
253 * Func : cmUnpkRgrBndCfm
256 * Desc : Confirmation from MAC to RRM for the bind/Unbind
257 * request for the interface saps
266 **********************************************************/
268 PUBLIC S16 cmUnpkRgrBndCfm
275 PUBLIC S16 cmUnpkRgrBndCfm(func, pst, mBuf)
284 TRC3(cmUnpkRgrBndCfm)
286 if (SUnpkS16(&suId, mBuf) != ROK) {
288 #if (ERRCLASS & ERRCLS_ADD_RES)
289 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
290 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
291 (ErrVal)ERGR009, (ErrVal)0, "Packing failed");
295 if (SUnpkU8(&status, mBuf) != ROK) {
297 #if (ERRCLASS & ERRCLS_ADD_RES)
298 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
299 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
300 (ErrVal)ERGR010, (ErrVal)0, "Packing failed");
305 RETVALUE((*func)(pst, suId, status));
309 /***********************************************************
311 * Func : cmPkRgrUbndReq
314 * Desc : Request from RRM to MAC to Unbind the interface saps
323 **********************************************************/
325 PUBLIC S16 cmPkRgrUbndReq
332 PUBLIC S16 cmPkRgrUbndReq(pst, spId, reason)
338 Buffer *mBuf = NULLP;
341 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
342 #if (ERRCLASS & ERRCLS_ADD_RES)
343 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
344 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
345 (ErrVal)ERGR011, (ErrVal)0, "Packing failed");
349 if (SPkS16(reason, mBuf) != ROK) {
350 #if (ERRCLASS & ERRCLS_ADD_RES)
351 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
352 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
353 (ErrVal)ERGR012, (ErrVal)0, "Packing failed");
358 if (SPkS16(spId, mBuf) != ROK) {
359 #if (ERRCLASS & ERRCLS_ADD_RES)
360 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
361 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
362 (ErrVal)ERGR013, (ErrVal)0, "Packing failed");
367 pst->event = (Event) EVTRGRUBNDREQ;
368 RETVALUE(SPstTsk(pst,mBuf));
372 /***********************************************************
374 * Func : cmUnpkRgrUbndReq
377 * Desc : Request from RRM to MAC to Unbind the interface saps
386 **********************************************************/
388 PUBLIC S16 cmUnpkRgrUbndReq
395 PUBLIC S16 cmUnpkRgrUbndReq(func, pst, mBuf)
404 TRC3(cmUnpkRgrUbndReq)
406 if (SUnpkS16(&spId, mBuf) != ROK) {
408 #if (ERRCLASS & ERRCLS_ADD_RES)
409 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
410 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
411 (ErrVal)ERGR014, (ErrVal)0, "Packing failed");
415 if (SUnpkS16(&reason, mBuf) != ROK) {
417 #if (ERRCLASS & ERRCLS_ADD_RES)
418 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
419 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
420 (ErrVal)ERGR015, (ErrVal)0, "Packing failed");
425 RETVALUE((*func)(pst, spId, reason));
429 /***********************************************************
431 * Func : cmUnpkRgrCfgReq
434 * Desc : Configuration Request from RRM to MAC for
435 * configuring Cell/Ue/Lc
444 **********************************************************/
446 PUBLIC S16 cmUnpkRgrCfgReq
453 PUBLIC S16 cmUnpkRgrCfgReq(func, pst, mBuf)
459 RgrCfgTransId transId;
460 RgrCfgReqInfo *cfgReqInfo;
462 TRC3(cmUnpkRgrCfgReq)
464 if (SUnpkS16(&spId, mBuf) != ROK) {
466 #if (ERRCLASS & ERRCLS_ADD_RES)
467 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
468 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
469 (ErrVal)ERGR021, (ErrVal)0, "Packing failed");
475 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
477 #if (ERRCLASS & ERRCLS_ADD_RES)
478 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
479 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
480 (ErrVal)ERGR022, (ErrVal)0, "Packing failed");
484 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) {
485 #if (ERRCLASS & ERRCLS_ADD_RES)
486 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
487 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
488 (ErrVal)ERGR023, (ErrVal)0, "Packing failed");
493 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrCfgReqInfo));
494 if (pst->selector == RGR_SEL_LC)
495 if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
496 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
498 #if (ERRCLASS & ERRCLS_ADD_RES)
499 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
500 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
501 (ErrVal)ERGR024, (ErrVal)0, "Packing failed");
506 RETVALUE((*func)(pst, transId, cfgReqInfo));
509 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
511 /***********************************************************
513 * Func : cmPkRgrTtiIndInfo
516 * Desc : Packs the TTI indication information.
525 **********************************************************/
527 PUBLIC S16 cmPkRgrTtiIndInfo
529 RgrTtiIndInfo *param,
533 PUBLIC S16 cmPkRgrTtiIndInfo(param, mBuf)
534 RgrTtiIndInfo *param;
539 CMCHKPK(SPkU16, param->sfn, mBuf);
540 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
544 /***********************************************************
546 * Func : cmUnpkRgrTtiIndInfo
549 * Desc : Unpacking for RgrTtiIndInfo
557 **********************************************************/
559 PUBLIC S16 cmUnpkRgrTtiIndInfo
561 RgrTtiIndInfo *param,
565 PUBLIC S16 cmUnpkRgrTtiIndInfo(param, mBuf)
566 RgrTtiIndInfo *param;
570 TRC3(cmUnpkRgrTtiIndInfo)
572 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
573 CMCHKUNPK(SUnpkU16, ¶m->sfn, mBuf);
578 /***********************************************************
580 * Func : cmPkRgrTtiInd
583 * Desc : TTI indication from MAC to RRM
592 **********************************************************/
594 PUBLIC S16 cmPkRgrTtiInd
598 RgrTtiIndInfo *ttiInd
601 PUBLIC S16 cmPkRgrTtiInd(pst, suId, ttiInd)
604 RgrTtiIndInfo *ttiInd;
607 Buffer *mBuf = NULLP;
610 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
611 #if (ERRCLASS & ERRCLS_ADD_RES)
612 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
613 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
614 (ErrVal)ERGR025, (ErrVal)0, "Packing failed");
618 if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
619 #if (ERRCLASS & ERRCLS_ADD_RES)
620 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
621 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
622 (ErrVal)ERGR026, (ErrVal)0, "Packing failed");
624 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
628 if (SPkS16(suId, mBuf) != ROK) {
629 #if (ERRCLASS & ERRCLS_ADD_RES)
630 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
631 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
632 (ErrVal)ERGR027, (ErrVal)0, "Packing failed");
634 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
638 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
639 pst->event = (Event) EVTRGRTTIIND;
640 RETVALUE(SPstTsk(pst,mBuf));
644 /***********************************************************
646 * Func : cmUnpkRgrTtiInd
649 * Desc : TTI indication from MAC to RRM
658 **********************************************************/
660 PUBLIC S16 cmUnpkRgrTtiInd
667 PUBLIC S16 cmUnpkRgrTtiInd(func, pst, mBuf)
674 RgrTtiIndInfo *ttiInd;
676 TRC3(cmUnpkRgrTtiInd)
678 if (SUnpkS16(&suId, mBuf) != ROK) {
680 #if (ERRCLASS & ERRCLS_ADD_RES)
681 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
682 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
683 (ErrVal)ERGR028, (ErrVal)0, "Packing failed");
687 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK)
689 #if (ERRCLASS & ERRCLS_ADD_RES)
690 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
691 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
692 (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed");
698 if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
699 /*ccpu00114888- Memory Leak issue- Start*/
700 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd,
701 sizeof(RgrTtiIndInfo));
702 /*ccpu00114888- Memory Leak issue- End*/
704 #if (ERRCLASS & ERRCLS_ADD_RES)
705 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
706 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
707 (ErrVal)ERGR030, (ErrVal)0, "Packing failed");
712 RETVALUE((*func)(pst, suId, ttiInd));
716 /***********************************************************
718 * Func : cmPkRgrCfgCfm
721 * Desc : Configuration Confirm from MAC to RRM
730 **********************************************************/
732 PUBLIC S16 cmPkRgrCfgCfm
735 RgrCfgTransId transId,
739 PUBLIC S16 cmPkRgrCfgCfm(pst, transId, status)
741 RgrCfgTransId transId;
745 Buffer *mBuf = NULLP;
748 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
749 #if (ERRCLASS & ERRCLS_ADD_RES)
750 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
751 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
752 (ErrVal)ERGR031, (ErrVal)0, "Packing failed");
756 if (SPkU8(status, mBuf) != ROK) {
757 #if (ERRCLASS & ERRCLS_ADD_RES)
758 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
759 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
760 (ErrVal)ERGR032, (ErrVal)0, "Packing failed");
765 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
766 #if (ERRCLASS & ERRCLS_ADD_RES)
767 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
768 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
769 (ErrVal)ERGR033, (ErrVal)0, "Packing failed");
774 pst->event = (Event) EVTMACSCHCFGCFM;
775 RETVALUE(SPstTsk(pst,mBuf));
779 /***********************************************************
781 * Func : cmUnpkRgrCfgCfm
784 * Desc : Configuration Confirm from MAC to RRM
793 **********************************************************/
795 PUBLIC S16 cmUnpkRgrCfgCfm
802 PUBLIC S16 cmUnpkRgrCfgCfm(func, pst, mBuf)
808 RgrCfgTransId transId;
811 TRC3(cmUnpkRgrCfgCfm)
813 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
815 #if (ERRCLASS & ERRCLS_ADD_RES)
816 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
817 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
818 (ErrVal)ERGR036, (ErrVal)0, "Packing failed");
822 if (SUnpkU8(&status, mBuf) != ROK) {
824 #if (ERRCLASS & ERRCLS_ADD_RES)
825 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
826 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
827 (ErrVal)ERGR037, (ErrVal)0, "Packing failed");
832 RETVALUE((*func)(pst, transId, status));
835 /* rgr_c_001.main_4: ADD-Added for SI Enhancement. */
837 /***********************************************************
839 * Func : cmPkRgrSiCfgCfm
842 * Desc : SI Configuration Confirm from MAC to RRM
851 **********************************************************/
853 PUBLIC S16 cmPkRgrSiCfgCfm
857 RgrCfgTransId transId,
861 PUBLIC S16 cmPkRgrSiCfgCfm(pst, suId, transId, status)
864 RgrCfgTransId transId;
868 Buffer *mBuf = NULLP;
870 TRC3(cmPkRgrSiCfgCfm)
872 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
873 #if (ERRCLASS & ERRCLS_ADD_RES)
874 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
875 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
876 (ErrVal)ERGR038, (ErrVal)0, "Packing failed");
880 if (SPkU8(status, mBuf) != ROK) {
881 #if (ERRCLASS & ERRCLS_ADD_RES)
882 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
883 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
884 (ErrVal)ERGR039, (ErrVal)0, "Packing failed");
889 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
890 #if (ERRCLASS & ERRCLS_ADD_RES)
891 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
892 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
893 (ErrVal)ERGR040, (ErrVal)0, "Packing failed");
898 if (SPkS16(suId, mBuf) != ROK) {
899 #if (ERRCLASS & ERRCLS_ADD_RES)
900 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
901 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
902 (ErrVal)ERGR041, (ErrVal)0, "Packing failed");
908 pst->event = (Event) EVTRGRSICFGCFM;
909 RETVALUE(SPstTsk(pst,mBuf));
913 /***********************************************************
915 * Func : cmUnpkRgrSiCfgCfm
918 * Desc : Configuration Confirm from MAC to RRM
927 **********************************************************/
929 PUBLIC S16 cmUnpkRgrSiCfgCfm
936 PUBLIC S16 cmUnpkRgrSiCfgCfm(func, pst, mBuf)
943 RgrCfgTransId transId;
946 TRC3(cmUnpkRgrSiCfgCfm)
948 if (SUnpkS16(&suId, mBuf) != ROK) {
950 #if (ERRCLASS & ERRCLS_ADD_RES)
951 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
952 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
953 (ErrVal)ERGR042, (ErrVal)0, "Packing failed");
957 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
959 #if (ERRCLASS & ERRCLS_ADD_RES)
960 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
961 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
962 (ErrVal)ERGR043, (ErrVal)0, "Packing failed");
966 if (SUnpkU8(&status, mBuf) != ROK) {
968 #if (ERRCLASS & ERRCLS_ADD_RES)
969 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
970 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
971 (ErrVal)ERGR044, (ErrVal)0, "Packing failed");
976 RETVALUE((*func)(pst, suId, transId, status));
981 /***********************************************************
983 * Func : cmPkRgrCfgTransId
986 * Desc : Transaction ID between MAC and RRM
995 **********************************************************/
997 PUBLIC S16 cmPkRgrCfgTransId
999 RgrCfgTransId *param,
1003 PUBLIC S16 cmPkRgrCfgTransId(param, mBuf)
1004 RgrCfgTransId *param;
1010 TRC3(cmPkRgrCfgTransId)
1012 for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) {
1013 CMCHKPK(SPkU8, param->trans[i], mBuf);
1020 /***********************************************************
1022 * Func : cmUnpkRgrCfgTransId
1025 * Desc : Transaction ID between MAC and RRM
1034 **********************************************************/
1036 PUBLIC S16 cmUnpkRgrCfgTransId
1038 RgrCfgTransId *param,
1042 PUBLIC S16 cmUnpkRgrCfgTransId(param, mBuf)
1043 RgrCfgTransId *param;
1049 TRC3(cmUnpkRgrCfgTransId)
1051 for (i=0; i<RGR_CFG_TRANSID_SIZE; i++) {
1052 CMCHKUNPK(SUnpkU8, ¶m->trans[i], mBuf);
1059 /***********************************************************
1061 * Func : cmPkRgrDlHqCfg
1064 * Desc : Downlink HARQ configuration per Cell
1073 **********************************************************/
1075 PUBLIC S16 cmPkRgrDlHqCfg
1081 PUBLIC S16 cmPkRgrDlHqCfg(param, mBuf)
1087 TRC3(cmPkRgrDlHqCfg)
1089 CMCHKPK(SPkU8, param->maxMsg4HqTx, mBuf);
1090 CMCHKPK(SPkU8, param->maxDlHqTx, mBuf);
1096 /***********************************************************
1098 * Func : cmUnpkRgrDlHqCfg
1101 * Desc : Downlink HARQ configuration per Cell
1110 **********************************************************/
1112 PUBLIC S16 cmUnpkRgrDlHqCfg
1118 PUBLIC S16 cmUnpkRgrDlHqCfg(param, mBuf)
1124 TRC3(cmUnpkRgrDlHqCfg)
1126 CMCHKUNPK(SUnpkU8, ¶m->maxDlHqTx, mBuf);
1127 CMCHKUNPK(SUnpkU8, ¶m->maxMsg4HqTx, mBuf);
1133 /***********************************************************
1135 * Func : cmPkRgrRntiCfg
1138 * Desc : Range of RNTIs managed by MAC
1147 **********************************************************/
1149 PUBLIC S16 cmPkRgrRntiCfg
1155 PUBLIC S16 cmPkRgrRntiCfg(param, mBuf)
1161 TRC3(cmPkRgrRntiCfg)
1163 CMCHKPK(SPkU16, param->size, mBuf);
1164 CMCHKPK(cmPkLteRnti, param->startRnti, mBuf);
1170 /***********************************************************
1172 * Func : cmUnpkRgrRntiCfg
1175 * Desc : Range of RNTIs managed by MAC
1184 **********************************************************/
1186 PUBLIC S16 cmUnpkRgrRntiCfg
1192 PUBLIC S16 cmUnpkRgrRntiCfg(param, mBuf)
1198 TRC3(cmUnpkRgrRntiCfg)
1200 CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf);
1201 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1206 /***********************************************************
1208 * Func : cmPkRgrEmtcRntiCfg
1211 * Desc : Range of Emtc RNTIs managed by MAC
1220 **********************************************************/
1222 PUBLIC S16 cmPkRgrEmtcRntiCfg
1224 RgrEmtcRntiCfg *param,
1228 PUBLIC S16 cmPkRgrEmtcRntiCfg(param, mBuf)
1229 RgrEmtcRntiCfg *param;
1234 TRC3(cmPkRgrEmtcRntiCfg)
1236 CMCHKPK(SPkU16, param->size, mBuf);
1237 CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf);
1238 CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf);
1239 CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf);
1240 CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf);
1246 /***********************************************************
1248 * Func : cmUnpkRgrEmtcRntiCfg
1251 * Desc : Range of Emtc RNTIs managed by MAC
1260 **********************************************************/
1262 PUBLIC S16 cmUnpkRgrEmtcRntiCfg
1264 RgrEmtcRntiCfg *param,
1268 PUBLIC S16 cmUnpkRgrEmtcRntiCfg(param, mBuf)
1269 RgrEmtcRntiCfg *param;
1274 TRC3(cmUnpkRgrEmtcRntiCfg)
1276 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf);
1277 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf);
1278 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf);
1279 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf);
1280 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1287 /***********************************************************
1289 * Func : cmPkRgrDlCmnCodeRateCfg
1292 * Desc : Downlink common channel code rate configuration per cell
1301 **********************************************************/
1303 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg
1305 RgrDlCmnCodeRateCfg *param,
1309 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg(param, mBuf)
1310 RgrDlCmnCodeRateCfg *param;
1315 TRC3(cmPkRgrDlCmnCodeRateCfg)
1317 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1318 CMCHKPK(SPkU16, param->pdcchCodeRate, mBuf);
1319 CMCHKPK(SPkU16, param->bcchPchRaCodeRate, mBuf);
1325 /***********************************************************
1327 * Func : cmUnpkRgrDlCmnCodeRateCfg
1330 * Desc : Downlink common channel code rate configuration per cell
1339 **********************************************************/
1341 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg
1343 RgrDlCmnCodeRateCfg *param,
1347 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg(param, mBuf)
1348 RgrDlCmnCodeRateCfg *param;
1353 TRC3(cmUnpkRgrDlCmnCodeRateCfg)
1355 CMCHKUNPK(SUnpkU16, ¶m->bcchPchRaCodeRate, mBuf);
1356 CMCHKUNPK(SUnpkU16, ¶m->pdcchCodeRate, mBuf);
1357 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1363 /***********************************************************
1365 * Func : cmPkRgrCfiCfg
1368 * Desc : Control Format Indicator (CFI) configuration per cell
1377 **********************************************************/
1379 PUBLIC S16 cmPkRgrCfiCfg
1385 PUBLIC S16 cmPkRgrCfiCfg(param, mBuf)
1393 CMCHKPK(SPkU8, param->cfi, mBuf);
1399 /***********************************************************
1401 * Func : cmUnpkRgrCfiCfg
1404 * Desc : Control Format Indicator (CFI) configuration per cell
1413 **********************************************************/
1415 PUBLIC S16 cmUnpkRgrCfiCfg
1421 PUBLIC S16 cmUnpkRgrCfiCfg(param, mBuf)
1427 TRC3(cmUnpkRgrCfiCfg)
1429 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
1435 /***********************************************************
1437 * Func : cmPkRgrPuschSubBandCfg
1440 * Desc : PUSCH sub-band configuration per cell
1449 **********************************************************/
1451 PUBLIC S16 cmPkRgrPuschSubBandCfg
1453 RgrPuschSubBandCfg *param,
1457 PUBLIC S16 cmPkRgrPuschSubBandCfg(param, mBuf)
1458 RgrPuschSubBandCfg *param;
1464 TRC3(cmPkRgrPuschSubBandCfg)
1466 for (i=param->numSubbands-1; i >= 0; i--) {
1467 CMCHKPK(SPkU8, param->dmrs[i], mBuf);
1469 CMCHKPK(SPkU8, param->size, mBuf);
1470 CMCHKPK(SPkU8, param->numSubbands, mBuf);
1471 CMCHKPK(SPkU8, param->subbandStart, mBuf);
1477 /***********************************************************
1479 * Func : cmUnpkRgrPuschSubBandCfg
1482 * Desc : PUSCH sub-band configuration per cell
1491 **********************************************************/
1493 PUBLIC S16 cmUnpkRgrPuschSubBandCfg
1495 RgrPuschSubBandCfg *param,
1499 PUBLIC S16 cmUnpkRgrPuschSubBandCfg(param, mBuf)
1500 RgrPuschSubBandCfg *param;
1506 TRC3(cmUnpkRgrPuschSubBandCfg)
1508 CMCHKUNPK(SUnpkU8, ¶m->subbandStart, mBuf);
1509 CMCHKUNPK(SUnpkU8, ¶m->numSubbands, mBuf);
1510 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
1511 for (i=0; i<param->numSubbands; i++) {
1512 CMCHKUNPK(SUnpkU8, ¶m->dmrs[i], mBuf);
1519 /***********************************************************
1521 * Func : cmPkRgrUlCmnCodeRateCfg
1524 * Desc : Uplink common channel code rate configuration per cell
1533 **********************************************************/
1535 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg
1537 RgrUlCmnCodeRateCfg *param,
1541 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg(param, mBuf)
1542 RgrUlCmnCodeRateCfg *param;
1547 TRC3(cmPkRgrUlCmnCodeRateCfg)
1549 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1555 /***********************************************************
1557 * Func : cmUnpkRgrUlCmnCodeRateCfg
1560 * Desc : Uplink common channel code rate configuration per cell
1569 **********************************************************/
1571 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg
1573 RgrUlCmnCodeRateCfg *param,
1577 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg(param, mBuf)
1578 RgrUlCmnCodeRateCfg *param;
1583 TRC3(cmUnpkRgrUlCmnCodeRateCfg)
1585 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1591 /***********************************************************
1593 * Func : cmPkRgrUlTrgCqiCfg
1596 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1605 **********************************************************/
1607 PUBLIC S16 cmPkRgrUlTrgCqiCfg
1609 RgrUlTrgCqiCfg *param,
1613 PUBLIC S16 cmPkRgrUlTrgCqiCfg(param, mBuf)
1614 RgrUlTrgCqiCfg *param;
1619 TRC3(cmPkRgrUlTrgCqiCfg)
1621 CMCHKPK(SPkU8, param->trgCqi, mBuf);
1627 /***********************************************************
1629 * Func : cmUnpkRgrUlTrgCqiCfg
1632 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1641 **********************************************************/
1643 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg
1645 RgrUlTrgCqiCfg *param,
1649 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg(param, mBuf)
1650 RgrUlTrgCqiCfg *param;
1655 TRC3(cmUnpkRgrUlTrgCqiCfg)
1657 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
1663 /***********************************************************
1665 * Func : cmPkRgrBwCfg
1668 * Desc : Bandwidth configuration per cell
1677 **********************************************************/
1679 PUBLIC S16 cmPkRgrBwCfg
1685 PUBLIC S16 cmPkRgrBwCfg(param, mBuf)
1693 CMCHKPK(SPkU8, param->ulTotalBw, mBuf);
1694 CMCHKPK(SPkU8, param->dlTotalBw, mBuf);
1700 /* EMTC related pack changes start*/
1703 PUBLIC S16 cmPkRgrEmtcSiCfg
1705 RgrEmtcSiCfg *param,
1709 PUBLIC S16 cmPkRgrEmtcSiCfg(param, mBuf)
1710 RgrEmtcSiCfg *param;
1716 TRC3(cmPkRgrEmtcSiCfg)
1718 CMCHKPK(SPkU8, param->siHoppingEnable, mBuf);
1719 CMCHKPK(SPkU32, param->modPrd, mBuf);
1720 CMCHKPK(SPkU8, param->siWinSizeBr, mBuf);
1721 CMCHKPK(SPkU8, param->sib1Repetition, mBuf);
1722 CMCHKPK(SPkU8, param->siRepetition, mBuf);
1724 CMCHKPK(SPkU16, param->startSymbolLc, mBuf);
1725 //CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1726 /*Changes by SIMRAN*/
1727 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1729 CMCHKPK(SPkU16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1733 //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf);
1734 for (i=0; i<2; i++) {
1735 CMCHKPK(SPkU32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1739 CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1740 //CMCHKPK(SPkU16, param->fddDlOrTddSfBitmapBR, mBuf);
1742 for (i= (param->numSi-1); i >= 0; i--) {
1743 CMCHKPK(SPkU8, param->schdInfo[i].emtcSiNarrowBand, mBuf);
1744 CMCHKPK(SPkU16, param->schdInfo[i].emtcSiTbs, mBuf);
1747 for (i= (param->numSi-1); i >= 0; i--) {
1748 CMCHKPK(SPkU32, param->siPeriodicity[i], mBuf);
1751 CMCHKPK(SPkU8, param->numSi, mBuf);
1760 PUBLIC S16 cmPkRgrEmtcRachCfg
1762 RgrEmtcRachCfg *param,
1766 PUBLIC S16 cmPkRgrEmtcRachCfg(param, mBuf)
1767 RgrEmtcRachCfg *param;
1773 TRC3(cmPkRgrEmtcRachCfg)
1775 CMCHKPK(SPkU8, param->emtcCeLvlSupported, mBuf);
1777 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1778 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcRarHopping, mBuf);
1779 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcWinSize, mBuf);
1780 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf);
1781 CMCHKPK(SPkU16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf);
1782 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf);
1783 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf);
1791 PUBLIC S16 cmPkRgrEmtcPdschCfg
1793 RgrEmtcPdschCfg*param,
1797 PUBLIC S16 cmPkRgrEmtcPdschCfg(param, mBuf)
1798 RgrEmtcPdschCfg *param;
1803 TRC3(cmPkRgrEmtcPdschCfg)
1804 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1805 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1811 PUBLIC S16 cmPkRgrEmtcPuschCfg
1813 RgrEmtcPuschCfg*param,
1817 PUBLIC S16 cmPkRgrEmtcPuschCfg(param, mBuf)
1818 RgrEmtcPuschCfg *param;
1822 TRC3(cmPkRgrEmtcPuschCfg)
1823 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1824 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1825 CMCHKPK(SPkU8, param->emtcHoppingOffset, mBuf);
1832 PUBLIC S16 cmPkRgrEmtcPucchCfg
1834 RgrEmtcPucchCfg *param,
1838 PUBLIC S16 cmPkRgrEmtcPucchCfg(param, mBuf)
1839 RgrEmtcPucchCfg *param;
1846 TRC3(cmPkRgrEmtcPucchCfg)
1847 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1848 CMCHKPK(SPkU16, param->emtcN1pucchAnInfoLst[i], mBuf);
1851 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf);
1852 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf);
1853 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf);
1854 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf);
1861 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg
1863 RgrEmtcPrachCEParamLst *param,
1867 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg(param, mBuf)
1868 RgrEmtcPrachCEParamLst *param;
1872 TRC3(cmPkRgrEmtcPrachCeParamCfg)
1873 CMCHKPK(SPkU8, param->emtcPrachCfgIdx, mBuf);
1874 CMCHKPK(SPkU8, param->emtcPrachFreqOffset, mBuf);
1875 CMCHKPK(SPkU16, param->emtcPrachStartSubFrame, mBuf);
1876 CMCHKPK(SPkU8, param->emtcMaxPremAttemptCE, mBuf);
1877 CMCHKPK(SPkU8, param->emtcNumRepPerPreambleAtt, mBuf);
1878 CMCHKPK(SPkU8, param->emtcNumMpdcchNBtoMonitor, mBuf);
1879 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[0], mBuf);
1880 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[1], mBuf);
1881 CMCHKPK(SPkU16, param->emtcMpdcchNumRep, mBuf);
1882 CMCHKPK(SPkU8, param->emtcPrachHoppingCfg, mBuf);
1889 PUBLIC S16 cmPkRgrEmtcPrachCfg
1891 RgrEmtcPrachCfg *param,
1895 PUBLIC S16 cmPkRgrEmtcPrachCfg(param, mBuf)
1896 RgrEmtcPrachCfg *param;
1902 TRC3(cmPkRgrEmtcPrachCfg)
1903 CMCHKPK(SPkU8, param->emtcMpdcchStartSFCssRaFdd, mBuf);
1904 CMCHKPK(SPkU8, param->emtcPrachHopingOffset, mBuf);
1905 CMCHKPK(SPkU8, param->emtcInitialCElevel, mBuf);
1906 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1907 CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
1917 PUBLIC S16 cmPkRgrEmtcCfg
1919 RgrEmtcCellCfg *param,
1923 PUBLIC S16 cmPkRgrEmtcCfg(param, mBuf)
1924 RgrEmtcCellCfg *param;
1928 TRC3(cmPkRgrEmtcCfg)
1929 CMCHKPK(SPkU16, param->pci, mBuf);
1930 CMCHKPK(SPkU32, param->emtcT300Tmr, mBuf);
1931 CMCHKPK(SPkU32, param->emtcT301Tmr, mBuf);
1932 CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
1933 CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
1934 CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
1935 CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
1936 CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
1937 CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
1938 CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
1939 CMCHKPK(SPkU8, param->emtcPdschNbIdx, mBuf);
1940 CMCHKPK(SPkU8, param->emtcMpdcchNbIdx, mBuf);
1941 CMCHKPK(SPkU8, param->emtcPuschNbIdx, mBuf);
1946 /* EMTC related pack changes end*/
1948 /* EMTC related unpack changes start*/
1951 PUBLIC S16 cmUnpkRgrEmtcSiCfg
1953 RgrEmtcSiCfg *param,
1957 PUBLIC S16 cmUnpkRgrEmtcSiCfg(param, mBuf)
1958 RgrEmtcSiCfg *param;
1965 TRC3(cmUnpkRgrEmtcSiCfg)
1966 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
1968 for (i=0; i < param->numSi ; i++) {
1969 CMCHKUNPK(SUnpkU32,(U32*)&tmpEnum,mBuf);
1970 param->siPeriodicity[i] = (RgrSiPeriodicity) tmpEnum;
1973 for (i=0; i < param->numSi ; i++) {
1974 CMCHKUNPK(SUnpkU16, ¶m->schdInfo[i].emtcSiTbs, mBuf);
1975 CMCHKUNPK(SUnpkU8, ¶m->schdInfo[i].emtcSiNarrowBand, mBuf);
1977 //CMCHKUNPK(SUnpkU16, ¶m->fddDlOrTddSfBitmapBR, mBuf);
1978 CMCHKUNPK(SUnpkU8, ¶m->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1979 /*Changes by SIMRAN*/
1980 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1982 CMCHKUNPK(SUnpkU16, ¶m->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1986 for (i=1; i>=0; i--) {
1987 CMCHKUNPK(SUnpkU32, ¶m->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1991 CMCHKUNPK(SUnpkU16, ¶m->startSymbolLc, mBuf);
1992 CMCHKUNPK(SUnpkU8, ¶m->siRepetition, mBuf);
1993 CMCHKUNPK(SUnpkU8, ¶m->sib1Repetition, mBuf);
1994 CMCHKUNPK(SUnpkU8, ¶m->siWinSizeBr, mBuf);
1995 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
1996 param->modPrd = (RgrModPeriodicity) tmpEnum;
1997 CMCHKUNPK(SUnpkU8, ¶m->siHoppingEnable, mBuf);
2006 PUBLIC S16 cmUnpkRgrEmtcRachCfg
2008 RgrEmtcRachCfg *param,
2012 PUBLIC S16 cmUnpkRgrEmtcRachCfg(param, mBuf)
2013 RgrEmtcRachCfg *param;
2019 TRC3(cmUnpkRgrEmtcRachCfg)
2020 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2021 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.lastPreamble), mBuf);
2022 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.firstPreamble), mBuf);
2023 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].emtcPreambleTransMax), mBuf);
2024 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcContResTmr), mBuf);
2025 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf);
2026 CMCHKUNPK(SUnpkU8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf);
2028 CMCHKUNPK(SUnpkU8, ¶m->emtcCeLvlSupported, mBuf);
2034 PUBLIC S16 cmUnpkRgrEmtcPdschCfg
2036 RgrEmtcPdschCfg*param,
2040 PUBLIC S16 cmUnpkRgrEmtcPdschCfg(param, mBuf)
2041 RgrEmtcPdschCfg *param;
2046 TRC3(cmUnpkRgrEmtcPdschCfg)
2047 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2048 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2053 PUBLIC S16 cmUnpkRgrEmtcPuschCfg
2055 RgrEmtcPuschCfg*param,
2059 PUBLIC S16 cmUnpkRgrEmtcPuschCfg(param, mBuf)
2060 RgrEmtcPuschCfg *param;
2064 TRC3(cmUnpkRgrEmtcPuschCfg)
2065 CMCHKUNPK(SUnpkU8, ¶m->emtcHoppingOffset, mBuf);
2066 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2067 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2074 PUBLIC S16 cmUnpkRgrEmtcPucchCfg
2076 RgrEmtcPucchCfg *param,
2080 PUBLIC S16 cmUnpkRgrEmtcPucchCfg(param, mBuf)
2081 RgrEmtcPucchCfg *param;
2088 TRC3(cmUnpkRgrEmtcPucchCfg)
2090 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf);
2091 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf);
2092 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf);
2093 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf);
2095 for (i=0; i < RGR_MAX_CE_LEVEL ; i++) {
2096 CMCHKUNPK(SUnpkU16, ¶m->emtcN1pucchAnInfoLst[i], mBuf);
2103 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg
2105 RgrEmtcPrachCEParamLst *param,
2109 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg(param, mBuf)
2110 RgrEmtcPrachCEParamLst *param;
2114 TRC3(cmUnpkRgrEmtcPrachCeParamCfg)
2115 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHoppingCfg, mBuf);
2116 CMCHKUNPK(SUnpkU16, ¶m->emtcMpdcchNumRep, mBuf);
2117 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf);
2118 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf);
2119 CMCHKUNPK(SUnpkU8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf);
2120 CMCHKUNPK(SUnpkU8, ¶m->emtcNumRepPerPreambleAtt, mBuf);
2121 CMCHKUNPK(SUnpkU8, ¶m->emtcMaxPremAttemptCE, mBuf);
2122 CMCHKUNPK(SUnpkU16, ¶m->emtcPrachStartSubFrame, mBuf);
2123 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachFreqOffset, mBuf);
2124 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachCfgIdx, mBuf);
2131 PUBLIC S16 cmUnpkRgrEmtcPrachCfg
2133 RgrEmtcPrachCfg *param,
2137 PUBLIC S16 cmUnpkRgrEmtcPrachCfg(param, mBuf)
2138 RgrEmtcPrachCfg *param;
2144 TRC3(cmUnpkRgrEmtcPrachCfg)
2145 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2146 CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2148 CMCHKUNPK(SUnpkU8, ¶m->emtcInitialCElevel, mBuf);
2149 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHopingOffset, mBuf);
2150 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf);
2156 PUBLIC S16 cmUnpkRgrEmtcCfg
2158 RgrEmtcCellCfg *param,
2162 PUBLIC S16 cmUnpkRgrEmtcCfg(param, mBuf)
2163 RgrEmtcCellCfg *param;
2168 TRC3(cmUnpkRgrEmtcCfg)
2169 CMCHKUNPK(SUnpkU8, ¶m->emtcPuschNbIdx, mBuf);
2170 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNbIdx, mBuf);
2171 CMCHKUNPK(SUnpkU8, ¶m->emtcPdschNbIdx, mBuf);
2172 CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2173 CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2174 CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2175 CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2176 CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2177 CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2178 CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2179 CMCHKUNPK(SUnpkU32,¶m->emtcT301Tmr, mBuf);
2180 CMCHKUNPK(SUnpkU32, ¶m->emtcT300Tmr, mBuf);
2181 CMCHKUNPK(SUnpkU16, ¶m->pci, mBuf);
2190 /* EMTC related unpack changes end*/
2196 /***********************************************************
2198 * Func : cmUnpkRgrBwCfg
2201 * Desc : Bandwidth configuration per cell
2210 **********************************************************/
2212 PUBLIC S16 cmUnpkRgrBwCfg
2218 PUBLIC S16 cmUnpkRgrBwCfg(param, mBuf)
2224 TRC3(cmUnpkRgrBwCfg)
2226 CMCHKUNPK(SUnpkU8, ¶m->dlTotalBw, mBuf);
2227 CMCHKUNPK(SUnpkU8, ¶m->ulTotalBw, mBuf);
2233 /***********************************************************
2235 * Func : cmPkRgrPhichCfg
2238 * Desc : PHICH configuration per cell
2247 **********************************************************/
2249 PUBLIC S16 cmPkRgrPhichCfg
2255 PUBLIC S16 cmPkRgrPhichCfg(param, mBuf)
2261 TRC3(cmPkRgrPhichCfg)
2263 CMCHKPK(SPkU8, param->isDurExtend, mBuf);
2264 CMCHKPK(SPkU32, param->ngEnum, mBuf);
2270 /***********************************************************
2272 * Func : cmUnpkRgrPhichCfg
2275 * Desc : PHICH configuration per cell
2284 **********************************************************/
2286 PUBLIC S16 cmUnpkRgrPhichCfg
2292 PUBLIC S16 cmUnpkRgrPhichCfg(param, mBuf)
2299 TRC3(cmUnpkRgrPhichCfg)
2301 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2302 param->ngEnum = (RgrPhichNg) tmpEnum;
2303 CMCHKUNPK(SUnpkU8, ¶m->isDurExtend, mBuf);
2309 /***********************************************************
2311 * Func : cmPkRgrPucchCfg
2314 * Desc : PUCCH configuration per cell
2323 **********************************************************/
2325 PUBLIC S16 cmPkRgrPucchCfg
2331 PUBLIC S16 cmPkRgrPucchCfg(param, mBuf)
2337 TRC3(cmPkRgrPucchCfg)
2339 CMCHKPK(SPkU8, param->maxPucchRb, mBuf);
2340 CMCHKPK(SPkU8, param->cyclicShift, mBuf);
2341 CMCHKPK(SPkU8, param->deltaShift, mBuf);
2342 CMCHKPK(SPkU16, param->n1PucchAn, mBuf);
2343 CMCHKPK(SPkU8, param->resourceSize, mBuf);
2350 /***********************************************************
2352 * Func : cmUnpkRgrPucchCfg
2355 * Desc : PUCCH configuration per cell
2364 **********************************************************/
2366 PUBLIC S16 cmUnpkRgrPucchCfg
2372 PUBLIC S16 cmUnpkRgrPucchCfg(param, mBuf)
2378 TRC3(cmUnpkRgrPucchCfg)
2380 CMCHKUNPK(SUnpkU8, ¶m->resourceSize, mBuf);
2381 CMCHKUNPK(SUnpkU16, ¶m->n1PucchAn, mBuf);
2382 CMCHKUNPK(SUnpkU8, ¶m->deltaShift, mBuf);
2383 CMCHKUNPK(SUnpkU8, ¶m->cyclicShift, mBuf);
2384 CMCHKUNPK(SUnpkU8, ¶m->maxPucchRb, mBuf);
2391 /***********************************************************
2393 * Func : cmPkRgrSrsCfg
2396 * Desc : SRS configuration per cell
2405 **********************************************************/
2407 PUBLIC S16 cmPkRgrSrsCfg
2413 PUBLIC S16 cmPkRgrSrsCfg(param, mBuf)
2421 CMCHKPK(SPkU8, param->srsSubFrameCfg, mBuf);
2422 CMCHKPK(SPkU32, param->srsBwEnum, mBuf);
2423 CMCHKPK(SPkU32, param->srsCfgPrdEnum, mBuf);
2424 CMCHKPK(SPkU8, param->isSrsCfgSetup, mBuf);
2430 /***********************************************************
2432 * Func : cmUnpkRgrSrsCfg
2435 * Desc : SRS configuration per cell
2444 **********************************************************/
2446 PUBLIC S16 cmUnpkRgrSrsCfg
2452 PUBLIC S16 cmUnpkRgrSrsCfg(param, mBuf)
2459 TRC3(cmUnpkRgrSrsCfg)
2461 CMCHKUNPK(SUnpkU8, ¶m->isSrsCfgSetup, mBuf);
2462 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2463 param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum;
2464 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2465 param->srsBwEnum = (RgrSrsBwCfg) tmpEnum;
2466 CMCHKUNPK(SUnpkU8, ¶m->srsSubFrameCfg, mBuf);
2472 /***********************************************************
2474 * Func : cmPkRgrRachCfg
2477 * Desc : RACH configuration per cell
2486 **********************************************************/
2488 PUBLIC S16 cmPkRgrRachCfg
2494 PUBLIC S16 cmPkRgrRachCfg(param, mBuf)
2501 TRC3(cmPkRgrRachCfg)
2503 CMCHKPK(SPkU8, param->prachResource, mBuf);
2504 CMCHKPK(SPkU16, param->msgSizeGrpA, mBuf);
2505 CMCHKPK(SPkU8, param->sizeRaPreambleGrpA, mBuf);
2506 CMCHKPK(SPkU8, param->numRaPreamble, mBuf);
2507 CMCHKPK(SPkU8, param->maxMsg3Tx, mBuf);
2508 for (i=param->raOccasion.size-1; i >= 0; i--) {
2509 CMCHKPK(SPkU8, param->raOccasion.subFrameNum[i], mBuf);
2511 CMCHKPK(SPkU32, param->raOccasion.sfnEnum, mBuf);
2512 CMCHKPK(SPkU8, param->raOccasion.size, mBuf);
2513 CMCHKPK(SPkU8, param->raWinSize, mBuf);
2514 CMCHKPK(SPkU8, param->preambleFormat, mBuf);
2516 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2517 * timer configuration */
2518 CMCHKPK(SPkU8, param->contResTmr, mBuf);
2525 /***********************************************************
2527 * Func : cmUnpkRgrRachCfg
2530 * Desc : RACH configuration per cell
2539 **********************************************************/
2541 PUBLIC S16 cmUnpkRgrRachCfg
2547 PUBLIC S16 cmUnpkRgrRachCfg(param, mBuf)
2555 TRC3(cmUnpkRgrRachCfg)
2557 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2558 * timer configuration */
2559 CMCHKUNPK(SUnpkU8, ¶m->contResTmr, mBuf);
2561 CMCHKUNPK(SUnpkU8, ¶m->preambleFormat, mBuf);
2562 CMCHKUNPK(SUnpkU8, ¶m->raWinSize, mBuf);
2563 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.size, mBuf);
2564 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2565 param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum;
2566 for (i=0; i<param->raOccasion.size; i++) {
2567 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.subFrameNum[i], mBuf);
2569 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3Tx, mBuf);
2570 CMCHKUNPK(SUnpkU8, ¶m->numRaPreamble, mBuf);
2571 CMCHKUNPK(SUnpkU8, ¶m->sizeRaPreambleGrpA, mBuf);
2572 CMCHKUNPK(SUnpkU16, ¶m->msgSizeGrpA, mBuf);
2573 CMCHKUNPK(SUnpkU8, ¶m->prachResource, mBuf);
2579 /***********************************************************
2581 * Func : cmPkRgrSiCfg
2584 * Desc : SI Configuration per cell
2593 **********************************************************/
2595 PUBLIC S16 cmPkRgrSiCfg
2601 PUBLIC S16 cmPkRgrSiCfg(param, mBuf)
2606 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2609 #endif/*RGR_SI_SCH*/
2614 if(param->numSi > sizeof(param->siPeriodicity)/
2615 sizeof(param->siPeriodicity[0]))
2616 param->numSi = sizeof(param->siPeriodicity)/
2617 sizeof(param->siPeriodicity[0]);
2619 for (idx=param->numSi-1; idx >= 0; idx--) {
2620 /* Enum to be packed/unpacked as U32 instead of S32 */
2621 CMCHKPK(SPkU32, param->siPeriodicity[idx], mBuf);
2623 CMCHKPK(SPkU8, param->numSi, mBuf);
2624 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2625 CMCHKPK(SPkU32, (U32)param->modPrd, mBuf);
2626 #endif/*RGR_SI_SCH*/
2627 CMCHKPK(SPkU8, param->retxCnt, mBuf);
2628 CMCHKPK(SPkU8, param->siWinSize, mBuf);
2634 /***********************************************************
2636 * Func : cmUnpkRgrSiCfg
2639 * Desc : SI Configuration per cell
2648 **********************************************************/
2650 PUBLIC S16 cmUnpkRgrSiCfg
2656 PUBLIC S16 cmUnpkRgrSiCfg(param, mBuf)
2662 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2665 #endif/*RGR_SI_SCH*/
2667 TRC3(cmUnpkRgrSiCfg)
2669 CMCHKUNPK(SUnpkU8, ¶m->siWinSize, mBuf);
2670 CMCHKUNPK(SUnpkU8, ¶m->retxCnt, mBuf);
2672 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2673 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2674 param->modPrd = (RgrModPeriodicity) tmpEnum;
2675 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2677 if(param->numSi > sizeof(param->siPeriodicity)/
2678 sizeof(param->siPeriodicity[0]))
2679 param->numSi = sizeof(param->siPeriodicity)/
2680 sizeof(param->siPeriodicity[0]);
2682 /* Enum to be packed/unpacked as U32 instead of S32 */
2683 for (idx=0; idx < param->numSi; idx++) {
2684 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2685 param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum;
2687 #endif/*RGR_SI_SCH*/
2694 /***********************************************************
2696 * Func : cmPkRgrTpcRntiCfg
2699 * Desc : TPC RNTI Range
2708 **********************************************************/
2710 PUBLIC S16 cmPkRgrTpcRntiCfg
2712 RgrTpcRntiCfg *param,
2716 PUBLIC S16 cmPkRgrTpcRntiCfg(param, mBuf)
2717 RgrTpcRntiCfg *param;
2722 TRC3(cmPkRgrTpcRntiCfg)
2724 CMCHKPK(SPkU16, param->size, mBuf);
2725 CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf);
2731 /***********************************************************
2733 * Func : cmUnpkRgrTpcRntiCfg
2736 * Desc : TPC RNTI Range
2745 **********************************************************/
2747 PUBLIC S16 cmUnpkRgrTpcRntiCfg
2749 RgrTpcRntiCfg *param,
2753 PUBLIC S16 cmUnpkRgrTpcRntiCfg(param, mBuf)
2754 RgrTpcRntiCfg *param;
2759 TRC3(cmUnpkRgrTpcRntiCfg)
2761 CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf);
2762 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
2768 /***********************************************************
2770 * Func : cmPkRgrUlPwrCfg
2773 * Desc : Cell specific power configuration
2782 **********************************************************/
2784 PUBLIC S16 cmPkRgrUlPwrCfg
2790 PUBLIC S16 cmPkRgrUlPwrCfg(param, mBuf)
2796 TRC3(cmPkRgrUlPwrCfg)
2798 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2799 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2800 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2801 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2802 CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf);
2803 CMCHKPK(SPkS8, param->p0NominalPucch, mBuf);
2804 CMCHKPK(SPkU32, param->alpha, mBuf);
2805 CMCHKPK(SPkS8, param->p0NominalPusch, mBuf);
2811 /***********************************************************
2813 * Func : cmUnpkRgrUlPwrCfg
2816 * Desc : Cell specific power configuration
2825 **********************************************************/
2827 PUBLIC S16 cmUnpkRgrUlPwrCfg
2833 PUBLIC S16 cmUnpkRgrUlPwrCfg(param, mBuf)
2840 TRC3(cmUnpkRgrUlPwrCfg)
2842 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf);
2843 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2844 param->alpha = (RgrPwrAlpha) tmpEnum;
2845 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf);
2846 CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf);
2847 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2848 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2849 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2850 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2856 /***********************************************************
2858 * Func : cmPkRgrPuschCfg
2861 * Desc : brief cell specific hopping configuration
2870 **********************************************************/
2872 PUBLIC S16 cmPkRgrPuschCfg
2878 PUBLIC S16 cmPkRgrPuschCfg(param, mBuf)
2884 TRC3(cmPkRgrPuschCfg)
2886 CMCHKPK(SPkU8, param->hopOffst, mBuf);
2887 CMCHKPK(SPkU8, param->isIntraHop, mBuf);
2888 CMCHKPK(SPkU8, param->numSubBands, mBuf);
2894 /***********************************************************
2896 * Func : cmUnpkRgrPuschCfg
2899 * Desc : brief cell specific hopping configuration
2908 **********************************************************/
2910 PUBLIC S16 cmUnpkRgrPuschCfg
2916 PUBLIC S16 cmUnpkRgrPuschCfg(param, mBuf)
2922 TRC3(cmUnpkRgrPuschCfg)
2924 CMCHKUNPK(SUnpkU8, ¶m->numSubBands, mBuf);
2925 CMCHKUNPK(SUnpkU8, ¶m->isIntraHop, mBuf);
2926 CMCHKUNPK(SUnpkU8, ¶m->hopOffst, mBuf);
2932 /***********************************************************
2934 * Func : cmPkRgrCodeBookRstCfg
2937 * Desc : Number of bits in code book for different transmission modes
2946 **********************************************************/
2948 PUBLIC S16 cmPkRgrCodeBookRstCfg
2950 RgrCodeBookRstCfg *param,
2954 PUBLIC S16 cmPkRgrCodeBookRstCfg(param, mBuf)
2955 RgrCodeBookRstCfg *param;
2961 TRC3(cmPkRgrCodeBookRstCfg)
2963 for (i=1-1; i >= 0; i--) {
2964 CMCHKPK(SPkU32, param->pmiBitMap[i], mBuf);
2966 CMCHKPK(SPkU8, param->pres, mBuf);
2972 /***********************************************************
2974 * Func : cmUnpkRgrCodeBookRstCfg
2977 * Desc : Number of bits in code book for different transmission modes
2986 **********************************************************/
2988 PUBLIC S16 cmUnpkRgrCodeBookRstCfg
2990 RgrCodeBookRstCfg *param,
2994 PUBLIC S16 cmUnpkRgrCodeBookRstCfg(param, mBuf)
2995 RgrCodeBookRstCfg *param;
3001 TRC3(cmUnpkRgrCodeBookRstCfg)
3003 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3004 for (i=0; i<1; i++) {
3005 CMCHKUNPK(SUnpkU32, ¶m->pmiBitMap[i], mBuf);
3012 /***********************************************************
3014 * Func : cmPkRgrPreambleSetCfg
3017 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3026 **********************************************************/
3028 PUBLIC S16 cmPkRgrPreambleSetCfg
3030 RgrPreambleSetCfg *param,
3034 PUBLIC S16 cmPkRgrPreambleSetCfg(param, mBuf)
3035 RgrPreambleSetCfg *param;
3040 TRC3(cmPkRgrPreambleSetCfg)
3042 CMCHKPK(SPkU8, param->size, mBuf);
3043 CMCHKPK(SPkU8, param->start, mBuf);
3044 CMCHKPK(SPkU8, param->pres, mBuf);
3050 /***********************************************************
3052 * Func : cmUnpkRgrPreambleSetCfg
3055 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3064 **********************************************************/
3066 PUBLIC S16 cmUnpkRgrPreambleSetCfg
3068 RgrPreambleSetCfg *param,
3072 PUBLIC S16 cmUnpkRgrPreambleSetCfg(param, mBuf)
3073 RgrPreambleSetCfg *param;
3078 TRC3(cmUnpkRgrPreambleSetCfg)
3080 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3081 CMCHKUNPK(SUnpkU8, ¶m->start, mBuf);
3082 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
3088 /***********************************************************
3090 * Func : cmPkRgrCmnLchCfg
3093 * Desc : Logical channel configuration info for common channels
3102 **********************************************************/
3104 PUBLIC S16 cmPkRgrCmnLchCfg
3106 RgrCmnLchCfg *param,
3110 PUBLIC S16 cmPkRgrCmnLchCfg(param, mBuf)
3111 RgrCmnLchCfg *param;
3116 TRC3(cmPkRgrCmnLchCfg)
3118 CMCHKPK(SPkU8, param->ulTrchType, mBuf);
3119 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
3120 CMCHKPK(SPkU8, param->dir, mBuf);
3121 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
3122 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
3128 /***********************************************************
3130 * Func : cmUnpkRgrCmnLchCfg
3133 * Desc : Logical channel configuration info for common channels
3142 **********************************************************/
3144 PUBLIC S16 cmUnpkRgrCmnLchCfg
3146 RgrCmnLchCfg *param,
3150 PUBLIC S16 cmUnpkRgrCmnLchCfg(param, mBuf)
3151 RgrCmnLchCfg *param;
3156 TRC3(cmUnpkRgrCmnLchCfg)
3158 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
3159 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
3160 CMCHKUNPK(SUnpkU8, ¶m->dir, mBuf);
3161 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
3162 CMCHKUNPK(SUnpkU8, ¶m->ulTrchType, mBuf);
3168 /***********************************************************
3170 * Func : cmPkRgrDlfsCfg
3173 * Desc : RGR configuration for DLFS scheduler
3182 **********************************************************/
3184 PUBLIC S16 cmPkRgrDlfsCfg
3190 PUBLIC S16 cmPkRgrDlfsCfg(param, mBuf)
3196 TRC3(cmPkRgrDlfsCfg)
3198 CMCHKPK(SPkU8, param->thresholdCqi, mBuf);
3199 CMCHKPK(SPkU8, param->isDlFreqSel, mBuf);
3205 /***********************************************************
3207 * Func : cmUnpkRgrDlfsCfg
3210 * Desc : RGR configuration for DLFS scheduler
3219 **********************************************************/
3221 PUBLIC S16 cmUnpkRgrDlfsCfg
3227 PUBLIC S16 cmUnpkRgrDlfsCfg(param, mBuf)
3233 TRC3(cmUnpkRgrDlfsCfg)
3235 CMCHKUNPK(SUnpkU8, ¶m->isDlFreqSel, mBuf);
3236 CMCHKUNPK(SUnpkU8, ¶m->thresholdCqi, mBuf);
3246 /***********************************************************
3248 * Func : cmPkRgrTddPrachInfo
3251 * Desc : PRACH resource information for TDD
3260 **********************************************************/
3262 PUBLIC S16 cmPkRgrTddPrachInfo
3264 RgrTddPrachInfo *param,
3268 PUBLIC S16 cmPkRgrTddPrachInfo(param, mBuf)
3269 RgrTddPrachInfo *param;
3274 TRC3(cmPkRgrTddPrachInfo)
3276 CMCHKPK(SPkU8, param->ulStartSfIdx, mBuf);
3277 CMCHKPK(SPkU8, param->halfFrm, mBuf);
3278 CMCHKPK(SPkU32, param->sfn, mBuf);
3279 CMCHKPK(SPkU8, param->freqIdx, mBuf);
3285 /***********************************************************
3287 * Func : cmUnpkRgrTddPrachInfo
3290 * Desc : PRACH resource information for TDD
3299 **********************************************************/
3301 PUBLIC S16 cmUnpkRgrTddPrachInfo
3303 RgrTddPrachInfo *param,
3307 PUBLIC S16 cmUnpkRgrTddPrachInfo(param, mBuf)
3308 RgrTddPrachInfo *param;
3314 TRC3(cmUnpkRgrTddPrachInfo)
3316 CMCHKUNPK(SUnpkU8, ¶m->freqIdx, mBuf);
3317 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
3318 param->sfn = tmpEnum;
3319 CMCHKUNPK(SUnpkU8, ¶m->halfFrm, mBuf);
3320 CMCHKUNPK(SUnpkU8, ¶m->ulStartSfIdx, mBuf);
3326 /***********************************************************
3328 * Func : cmPkRgrTddPrachRscInfo
3331 * Desc : Set of PRACH Information for TDD
3340 **********************************************************/
3342 PUBLIC S16 cmPkRgrTddPrachRscInfo
3344 RgrTddPrachRscInfo *param,
3348 PUBLIC S16 cmPkRgrTddPrachRscInfo(param, mBuf)
3349 RgrTddPrachRscInfo *param;
3355 TRC3(cmPkRgrTddPrachRscInfo)
3357 for (i=param->numRsc-1; i >= 0; i--) {
3358 CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3360 CMCHKPK(SPkU8, param->numRsc, mBuf);
3366 /***********************************************************
3368 * Func : cmUnpkRgrTddPrachRscInfo
3371 * Desc : Set of PRACH Information for TDD
3380 **********************************************************/
3382 PUBLIC S16 cmUnpkRgrTddPrachRscInfo
3384 RgrTddPrachRscInfo *param,
3388 PUBLIC S16 cmUnpkRgrTddPrachRscInfo(param, mBuf)
3389 RgrTddPrachRscInfo *param;
3395 TRC3(cmUnpkRgrTddPrachRscInfo)
3397 CMCHKUNPK(SUnpkU8, ¶m->numRsc, mBuf);
3398 for (i=0; i<param->numRsc; i++) {
3399 CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3410 /***********************************************************
3412 * Func : cmPkRgrEnbPfs
3415 * Desc : PFS Configuration
3424 **********************************************************/
3426 PUBLIC S16 cmPkRgrEnbPfs
3432 PUBLIC S16 cmPkRgrEnbPfs(param, mBuf)
3439 for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--)
3441 CMCHKPK(SPkU32, param->qciWgt[idx], mBuf);
3443 CMCHKPK(SPkU8, param->fairCoeffi, mBuf);
3444 CMCHKPK(SPkU8, param->tptCoeffi, mBuf);
3451 /***********************************************************
3453 * Func : cmUnpkRgrEnbPfs
3456 * Desc : PFS Configuration
3465 **********************************************************/
3467 PUBLIC S16 cmUnpkRgrEnbPfs
3473 PUBLIC S16 cmUnpkRgrEnbPfs(param, mBuf)
3479 TRC3(cmUnpkRgrEnbPfs)
3481 CMCHKUNPK(SUnpkU8, ¶m->tptCoeffi, mBuf);
3482 CMCHKUNPK(SUnpkU8, ¶m->fairCoeffi, mBuf);
3483 for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++)
3485 CMCHKUNPK(SUnpkU32, ¶m->qciWgt[idx], mBuf);
3490 /*rgr_c_001.main_7 - Added support for SPS*/
3492 /***********************************************************
3494 * Func : cmPkRgrSpsCellCfg
3497 * Desc : DL SPS configuration parameters per UE
3498 TODO: Check if this is to be added to re-configuration as well
3507 **********************************************************/
3509 PUBLIC S16 cmPkRgrSpsCellCfg
3511 RgrSpsCellCfg *param,
3515 PUBLIC S16 cmPkRgrSpsCellCfg(param, mBuf)
3516 RgrSpsCellCfg *param;
3521 TRC3(cmPkRgrSpsCellCfg)
3522 CMCHKPK(SPkU16, param->maxSpsUePerUlSf, mBuf);
3523 CMCHKPK(SPkU16, param->maxSpsUePerDlSf, mBuf);
3524 CMCHKPK(SPkU8, param->maxSpsDlBw, mBuf);
3531 /***********************************************************
3533 * Func : cmUnpkRgrSpsDlCellCfg
3536 * Desc : DL SPS configuration parameters per UE
3537 TODO: Check if this is to be added to re-configuration as well
3546 **********************************************************/
3548 PUBLIC S16 cmUnpkRgrSpsDlCellCfg
3550 RgrSpsCellCfg *param,
3554 PUBLIC S16 cmUnpkRgrSpsDlCellCfg(param, mBuf)
3555 RgrSpsCellCfg *param;
3560 TRC3(cmUnpkRgrSpsDlCellCfg)
3562 CMCHKUNPK(SUnpkU8, ¶m->maxSpsDlBw, mBuf);
3563 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerDlSf, mBuf);
3564 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerUlSf, mBuf);
3570 PUBLIC S16 cmPkRgr5gtfCellCfg
3572 Rgr5gtfCellCfg *param,
3577 for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx)
3580 CMCHKPK(SPkU32, param->dynConfig[(U8)idx], mBuf);
3582 CMCHKPK(SPkU8, param->uePerGrp, mBuf);
3583 CMCHKPK(SPkU8, param->ueGrpPerTti, mBuf);
3584 CMCHKPK(SPkU8, param->numUes, mBuf);
3585 CMCHKPK(SPkU8, param->numOfCC, mBuf);
3586 CMCHKPK(SPkU8, param->bwPerCC, mBuf);
3587 CMCHKPK(SPkU8, param->cfi, mBuf);
3591 PUBLIC S16 cmUnPkRgr5gtfCellCfg
3593 Rgr5gtfCellCfg *param,
3599 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
3600 CMCHKUNPK(SUnpkU8, ¶m->bwPerCC, mBuf);
3601 CMCHKUNPK(SUnpkU8, ¶m->numOfCC, mBuf);
3602 CMCHKUNPK(SUnpkU8, ¶m->numUes, mBuf);
3603 CMCHKUNPK(SUnpkU8, ¶m->ueGrpPerTti, mBuf);
3604 CMCHKUNPK(SUnpkU8, ¶m->uePerGrp, mBuf);
3605 for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx)
3608 CMCHKUNPK(SUnpkU32, ¶m->dynConfig[(U8)idx], mBuf);
3615 /*LAA : functions to pack and unpack LAA params*/
3616 /***********************************************************
3618 * Func : cmPkRgrLteUCellCfg
3621 * Desc : LAA configuration for the Cell
3630 **********************************************************/
3632 PRIVATE S16 cmPkRgrLteUCellCfg
3638 PRIVATE S16 cmPkRgrLteUCellCfg(param, mBuf)
3644 TRC3(cmPkRgrlteUCellCfg)
3645 CMCHKPK(SPkU8, param->isLaaCell, mBuf);
3650 /***********************************************************
3652 * Func : cmUnpkRgrLteUCellCfg
3655 * Desc : LAA configuration for the cell
3664 **********************************************************/
3666 PRIVATE S16 cmUnpkRgrLteUCellCfg
3672 PRIVATE S16 cmUnpkRgrLteUCellCfg(param, mBuf)
3678 TRC3(cmUnpkRgrLteUCellCfg)
3680 CMCHKUNPK(SUnpkU8, ¶m->isLaaCell, mBuf);
3685 /* LTE_ADV_FLAG_REMOVED_START */
3686 /***********************************************************
3688 * Func : cmPkRgrLteAdvancedUeConfig
3691 * Desc : PAcks LteAdvancedUeConfig
3700 **********************************************************/
3702 PUBLIC S16 cmPkRgrLteAdvancedUeConfig
3704 RgrLteAdvancedUeConfig *param,
3708 PUBLIC S16 cmPkRgrLteAdvancedUeConfig(param, mBuf)
3709 RgrLteAdvancedUeConfig *param;
3714 TRC3(cmPkRgrLteAdvancedUeConfig)
3715 CMCHKPK(SPkU8, param->isUeCellEdge, mBuf);
3716 CMCHKPK(SPkU8, param->isAbsUe, mBuf);
3717 CMCHKPK(SPkU32, param->pres, mBuf);
3721 /***********************************************************
3723 * Func : cmUnpkRgrLteAdvancedUeConfig
3726 * Desc : unpacks LteAdvancedUeConfig
3735 **********************************************************/
3737 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig
3739 RgrLteAdvancedUeConfig *param,
3743 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig(param, mBuf)
3744 RgrLteAdvancedUeConfig *param;
3749 TRC3(cmUnpkRgrLteAdvancedUeConfig)
3750 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
3751 CMCHKUNPK(SUnpkU8, ¶m->isAbsUe, mBuf);
3752 CMCHKUNPK(SUnpkU8, ¶m->isUeCellEdge, mBuf);
3756 /***********************************************************
3758 * Func : cmPkRgrAbsConfig
3761 * Desc : Packs RgrAbsConfig
3770 **********************************************************/
3772 PUBLIC S16 cmPkRgrAbsConfig
3774 RgrAbsConfig *param,
3778 PUBLIC S16 cmPkRgrAbsConfig(param, mBuf)
3779 RgrAbsConfig *param;
3785 TRC3(cmPkRgrAbsConfig)
3786 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3787 for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--)
3789 CMCHKPK(SPkU8, param->absPattern[(U8)indx], mBuf);
3792 CMCHKPK(SPkU32, param->absPatternType, mBuf);
3793 CMCHKPK(SPkU32, param->absLoadPeriodicity, mBuf);
3798 /***********************************************************
3800 * Func : cmPkRgrSfrConfig
3803 * Desc : Packs RgrSfrConfig
3812 **********************************************************/
3814 PUBLIC S16 cmPkRgrSfrConfig
3816 RgrSfrConfig *param,
3820 PUBLIC S16 cmPkRgrSfrConfig(param, mBuf)
3821 RgrSfrConfig *param;
3825 TRC3(cmPkRgrSfrConfig)
3827 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3829 CMCHKPK(SPkU32, param->pwrThreshold.pHigh, mBuf);
3830 CMCHKPK(SPkU32, param->pwrThreshold.pLow, mBuf);
3832 CMCHKPK(SPkU8, param->cellEdgeRbRange.endRb, mBuf);
3833 CMCHKPK(SPkU8, param->cellEdgeRbRange.startRb, mBuf);
3840 /***********************************************************
3842 * Func : cmPkRgrDsfrConfig
3845 * Desc : Packs RgrDsfrConfig
3850 * Notes: AIRSPAN_LTE_ADV_DSFR
3854 **********************************************************/
3856 PUBLIC S16 cmPkRgrDsfrConfig
3858 RgrDsfrConfig *param,
3862 PUBLIC S16 cmPkRgrDsfrConfig(param, mBuf)
3863 RgrDsfrConfig *param;
3867 TRC3(cmPkRgrDsfrConfig)
3869 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3876 /***********************************************************
3878 * Func : cmUnpkRgrDsfrConfig
3881 * Desc : UnPacks RgrDsfrConfig
3886 * Notes: AIRSPAN_LTE_ADV_DSFR
3890 **********************************************************/
3892 PUBLIC S16 cmUnpkRgrDsfrConfig
3894 RgrDsfrConfig *param,
3898 PUBLIC S16 cmUnpkRgrDsfrConfig(param, mBuf)
3899 RgrDsfrConfig *param;
3903 TRC3(cmUnpkRgrDsfrConfig)
3905 CMCHKUNPK(SUnpkU32, (U32 *)¶m->status, mBuf);
3911 /***********************************************************
3913 * Func : cmPkRgrCellLteAdvancedFeatureCfg
3916 * Desc : Cell LteAdvancedFeatureCfg
3925 **********************************************************/
3927 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg
3929 RgrLteAdvancedCellConfig *param,
3933 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg(param, mBuf)
3934 RgrLteAdvancedCellConfig *param;
3938 TRC3(cmPkRgrCellLteAdvancedFeatureCfg)
3940 CMCHKPK(SPkU32, param->pres, mBuf);
3941 CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
3942 CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf);
3943 CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf);
3950 /***********************************************************
3952 * Func : cmUnpkRgrAbsConfig
3955 * Desc : Unpacks AbsConfig
3964 **********************************************************/
3966 PUBLIC S16 cmUnpkRgrAbsConfig
3968 RgrAbsConfig *param,
3972 PUBLIC S16 cmUnpkRgrAbsConfig(param, mBuf)
3973 RgrAbsConfig *param;
3979 TRC3(cmUnpkRgrAbsConfig)
3981 CMCHKUNPK(SUnpkU32, ¶m->absLoadPeriodicity, mBuf);
3982 CMCHKUNPK(SUnpkU32, ¶m->absPatternType, mBuf);
3983 for (indx = 0; indx <RGR_ABS_PATTERN_LEN; indx++)
3985 CMCHKUNPK(SUnpkU8, ¶m->absPattern[(U8)indx], mBuf);
3987 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
3993 /***********************************************************
3995 * Func : cmUnpkRgrSfrConfig
3998 * Desc : Unpacks SfrConfig
4007 **********************************************************/
4009 PUBLIC S16 cmUnpkRgrSfrConfig
4011 RgrSfrConfig *param,
4015 PUBLIC S16 cmUnpkRgrSfrConfig(param, mBuf)
4016 RgrSfrConfig *param;
4021 TRC3(cmUnpkRgrSfrConfig)
4023 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.startRb, mBuf);
4024 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.endRb, mBuf);
4026 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pLow, mBuf);
4027 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pHigh, mBuf);
4029 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4034 /***********************************************************
4036 * Func : cmUnpkRgrCellLteAdvancedFeatureCfg
4039 * Desc : unpacks LteAdvancedFeatureCfg per cell
4048 **********************************************************/
4050 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg
4052 RgrLteAdvancedCellConfig *param,
4056 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4057 RgrLteAdvancedCellConfig *param;
4062 TRC3(cmUnpkRgrCellLteAdvancedFeatureCfg)
4063 CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf);
4064 CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4065 CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4066 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
4071 /* LTE_ADV_FLAG_REMOVED_END */
4073 /***********************************************************
4075 * Func : cmPkMacSchedGnbCfg
4077 * Desc : SCH GNB Configurations
4085 **********************************************************/
4087 PUBLIC S16 cmPkMacSchedGnbCfg
4089 MacSchedGnbCfg *param,
4093 PUBLIC S16 cmPkMacSchedGnbCfg(param, mBuf)
4094 RgrSchedEnbCfg *param;
4098 TRC3(cmPkMacSchedGnbCfg)
4100 CMCHKPK(SPkU8, param->maxDlUePerTti, mBuf);
4101 CMCHKPK(SPkU8, param->maxUlUePerTti, mBuf);
4102 CMCHKPK(SPkU8, param->numCells, mBuf);
4103 CMCHKPK(SPkU8, param->dlSchdType, mBuf);
4104 CMCHKPK(SPkU8, param->ulSchdType, mBuf);
4105 CMCHKPK(SPkU8, param->numTxAntPorts, mBuf);
4107 } /* cmPkRgrSchedEnbCfg */
4109 /***********************************************************
4111 * Func : cmUnpkMacSchedGnbCfg
4114 * Desc : SCH Gnodeb Configuration to SCH
4123 **********************************************************/
4125 PUBLIC S16 cmUnpkMacSchedGnbCfg
4127 MacSchedGnbCfg *param,
4131 PUBLIC S16 cmUnpkMacSchedGnbCfg(param, mBuf)
4132 MacSchedGnbCfg *param;
4137 TRC3(cmUnpkMacSchedGnbCfg)
4139 CMCHKUNPK(SUnpkU8, ¶m->numTxAntPorts, mBuf);
4140 CMCHKUNPK(SUnpkU8, ¶m->ulSchdType, mBuf);
4141 CMCHKUNPK(SUnpkU8, ¶m->dlSchdType, mBuf);
4142 CMCHKUNPK(SUnpkU8, ¶m->numCells, mBuf);
4143 CMCHKUNPK(SUnpkU8, ¶m->maxUlUePerTti, mBuf);
4144 CMCHKUNPK(SUnpkU8, ¶m->maxDlUePerTti, mBuf);
4146 } /* cmUnpkMacSchedGnbCfg */
4149 /***********************************************************
4151 * Func : cmPkRgrCellCfg
4154 * Desc : Cell Configuration at RRM
4163 **********************************************************/
4165 PUBLIC S16 cmPkRgrCellCfg
4171 PUBLIC S16 cmPkRgrCellCfg(param, mBuf)
4178 TRC3(cmPkRgrCellCfg)
4181 /* EMTC related changes start*/
4184 /* EMTC related changes ends*/
4188 CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4191 CMCHKPK(SPkU8, param->isPucchFormat3Sptd, mBuf);
4193 /*LAA: Pack LAA params*/
4194 CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4195 CMCHKPK(SPkU32, param->msg4pAVal, mBuf);
4196 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
4197 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
4198 CMCHKPK(SPkU16, param->phichTxPwrOffset, mBuf);
4199 CMCHKPK(SPkU16, param->rarTxPwrOffset, mBuf);
4200 CMCHKPK(SPkU16, param->pcchTxPwrOffset, mBuf);
4201 CMCHKPK(SPkU16, param->bcchTxPwrOffset, mBuf);
4203 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
4204 /*rgr_c_001.main_7 - Added support for SPS*/
4205 CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf);
4207 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4208 CMCHKPK(SPkU8, param->rrmTtiIndPrd, mBuf);
4210 CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4211 CMCHKPK(SPkU8, param->spclSfCfgIdx, mBuf);
4212 CMCHKPK(SPkU8, param->ulDlCfgIdx, mBuf);
4215 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4216 for (i=param->numCmnLcs-1; i >= 0; i--) {
4217 CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4219 CMCHKPK(SPkU8, param->numCmnLcs, mBuf);
4220 CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4221 CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf);
4222 CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4223 CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf);
4224 CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf);
4225 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf);
4226 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4227 CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf);
4228 /* LTE_ADV_FLAG_REMOVED_START */
4229 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4230 /* LTE_ADV_FLAG_REMOVED_END */
4231 CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf);
4232 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4233 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4234 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4235 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4236 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4237 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4238 CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf);
4239 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4240 CMCHKPK(SPkU8, param->dlfsSchdType, mBuf);
4242 CMCHKPK(SPkS8, param->pMax, mBuf);
4243 CMCHKPK(SPkU8, param->cellModSchm, mBuf);
4244 CMCHKPK(SPkU8, param->isCpDlExtend, mBuf);
4245 CMCHKPK(SPkU8, param->isCpUlExtend, mBuf);
4246 CMCHKPK(SPkU8, param->maxUlUeNewTxPerTti, mBuf);
4247 CMCHKPK(SPkU8, param->maxDlUeNewTxPerTti, mBuf);
4248 CMCHKPK(SPkU8, param->maxDlRetxBw, mBuf);
4249 CMCHKPK(SPkU8, param->maxDlBwPerUe, mBuf);
4250 CMCHKPK(SPkU8, param->maxUlBwPerUe, mBuf);
4251 CMCHKPK(SPkU8, param->maxCcchPerDlSf, mBuf);
4252 CMCHKPK(SPkU8, param->maxUePerDlSf, mBuf);
4253 CMCHKPK(SPkU8, param->maxUePerUlSf, mBuf);
4255 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4257 CMCHKPK(SPkU8, param->maxMsg3PerUlSf, mBuf);
4259 CMCHKPK(SPkU8, param->macInst, mBuf);
4260 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
4263 /* EMTC related changes start*/
4264 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
4265 CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4266 /* EMTC related changes ends*/
4274 /***********************************************************
4276 * Func : cmUnpkRgrCellCfg
4279 * Desc : Cell Configuration at RRM
4288 **********************************************************/
4290 PUBLIC S16 cmUnpkRgrCellCfg
4296 PUBLIC S16 cmUnpkRgrCellCfg(param, mBuf)
4304 TRC3(cmUnpkRgrCellCfg)
4306 /* EMTC related changes start*/
4307 CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4308 CMCHKUNPK(SUnpkU8, ¶m->emtcEnable, mBuf);
4309 /* EMTC related changes ends*/
4312 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
4313 CMCHKUNPK(SUnpkU8, ¶m->macInst, mBuf);
4315 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4317 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3PerUlSf, mBuf);
4319 CMCHKUNPK(SUnpkU8, ¶m->maxUePerUlSf, mBuf);
4320 CMCHKUNPK(SUnpkU8, ¶m->maxUePerDlSf, mBuf);
4321 CMCHKUNPK(SUnpkU8, ¶m->maxCcchPerDlSf, mBuf);
4322 CMCHKUNPK(SUnpkU8, ¶m->maxUlBwPerUe, mBuf);
4323 CMCHKUNPK(SUnpkU8, ¶m->maxDlBwPerUe, mBuf);
4324 CMCHKUNPK(SUnpkU8, ¶m->maxDlRetxBw, mBuf);
4325 CMCHKUNPK(SUnpkU8, ¶m->maxDlUeNewTxPerTti, mBuf);
4326 CMCHKUNPK(SUnpkU8, ¶m->maxUlUeNewTxPerTti, mBuf);
4327 CMCHKUNPK(SUnpkU8, ¶m->isCpUlExtend, mBuf);
4328 CMCHKUNPK(SUnpkU8, ¶m->isCpDlExtend, mBuf);
4329 CMCHKUNPK(SUnpkU8, ¶m->cellModSchm, mBuf);
4330 CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf);
4331 CMCHKUNPK(SUnpkU8, ¶m->dlfsSchdType, mBuf);
4332 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4333 CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf);
4334 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4335 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4336 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4337 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4338 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4339 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4340 CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf);
4341 /* LTE_ADV_FLAG_REMOVED_START */
4342 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4343 /* LTE_ADV_FLAG_REMOVED_END */
4344 CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf);
4345 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4346 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf);
4347 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf);
4348 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf);
4349 CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4350 CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf);
4351 CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4352 CMCHKUNPK(SUnpkU8, ¶m->numCmnLcs, mBuf);
4353 for (i=0; i<param->numCmnLcs; i++) {
4354 CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4356 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4359 CMCHKUNPK(SUnpkU8, ¶m->ulDlCfgIdx, mBuf);
4360 CMCHKUNPK(SUnpkU8, ¶m->spclSfCfgIdx, mBuf);
4361 CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4364 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4365 CMCHKUNPK(SUnpkU8, ¶m->rrmTtiIndPrd, mBuf);
4366 /*rgr_c_001.main_7 - Added support for SPS*/
4367 CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf);
4369 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
4370 CMCHKPK(SUnpkU16, ¶m->bcchTxPwrOffset, mBuf);
4371 CMCHKPK(SUnpkU16, ¶m->pcchTxPwrOffset, mBuf);
4372 CMCHKPK(SUnpkU16, ¶m->rarTxPwrOffset, mBuf);
4373 CMCHKPK(SUnpkU16, ¶m->phichTxPwrOffset, mBuf);
4374 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
4375 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
4376 CMCHKPK(SUnpkU32, (U32*)¶m->msg4pAVal, mBuf);
4377 /*LAA: Unpack LAA Cell params*/
4378 CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4380 CMCHKUNPK(SUnpkU8, ¶m->isPucchFormat3Sptd, mBuf);
4383 CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4390 /***********************************************************
4392 * Func : cmPkRgrUeAprdDlCqiCfg
4395 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4404 **********************************************************/
4406 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg
4408 RgrUeAprdDlCqiCfg *param,
4412 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg(param, mBuf)
4413 RgrUeAprdDlCqiCfg *param;
4418 TRC3(cmPkRgrUeAprdDlCqiCfg)
4419 /*Pack Aperiodic Trigger List only for Pcell */
4421 CMCHKPK(SPkU8, param->triggerSet2, mBuf);
4422 CMCHKPK(SPkU8, param->triggerSet1, mBuf);
4425 CMCHKPK(SPkU32, param->aprdModeEnum, mBuf);
4426 CMCHKPK(SPkU8, param->pres, mBuf);
4432 /***********************************************************
4434 * Func : cmUnpkRgrUeAprdDlCqiCfg
4437 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4446 **********************************************************/
4448 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg
4450 RgrUeAprdDlCqiCfg *param,
4454 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg(param, mBuf)
4455 RgrUeAprdDlCqiCfg *param;
4461 TRC3(cmUnpkRgrUeAprdDlCqiCfg)
4463 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4464 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4465 param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum;
4468 CMCHKUNPK(SUnpkU8, ¶m->triggerSet1, mBuf);
4469 CMCHKUNPK(SUnpkU8, ¶m->triggerSet2, mBuf);
4476 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4480 /***********************************************************
4482 * Func : cmPkRgrUePrdDlCqiCfg
4485 * Desc : Downlink Periodic CQI reporting related configuration per UE
4494 **********************************************************/
4496 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4498 RgrUePrdDlCqiCfg *param,
4502 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4503 RgrUePrdDlCqiCfg *param;
4508 TRC3(cmPkRgrUePrdDlCqiCfg)
4510 CMCHKPK(SPkU16, param->cqiPmiCfgIdx, mBuf);
4511 CMCHKPK(SPkU8, param->k, mBuf);
4512 CMCHKPK(SPkS8, param->cqiOffst, mBuf);
4513 CMCHKPK(SPkU8, param->subframeOffst, mBuf);
4514 CMCHKPK(SPkU32, param->prdicityEnum, mBuf);
4515 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4516 CMCHKPK(SPkU8, param->pres, mBuf);
4522 /***********************************************************
4524 * Func : cmUnpkRgrUePrdDlCqiCfg
4527 * Desc : Downlink Periodic CQI reporting related configuration per UE
4536 **********************************************************/
4538 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4540 RgrUePrdDlCqiCfg *param,
4544 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4545 RgrUePrdDlCqiCfg *param;
4551 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4553 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4554 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4555 param->prdModeEnum = tmpEnum;
4556 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4557 param->prdicityEnum = tmpEnum;
4558 CMCHKUNPK(SUnpkU8, ¶m->subframeOffst, mBuf);
4559 CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf);
4560 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4561 CMCHKUNPK(SUnpkU16, ¶m->cqiPmiCfgIdx, mBuf);
4568 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4570 /***********************************************************
4572 * Func : cmPkRgrUeDlPCqiSetup
4575 * Desc : Periodic CQI Setup configuration parameters information
4584 **********************************************************/
4586 PUBLIC S16 cmPkRgrUeDlPCqiSetup
4588 RgrUeDlPCqiSetup *param,
4592 PUBLIC S16 cmPkRgrUeDlPCqiSetup(param, mBuf)
4593 RgrUeDlPCqiSetup *param;
4598 TRC3(cmPkRgrUeDlPCqiSetup)
4600 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4601 CMCHKPK(SPkU8, param->sANCQI, mBuf);
4602 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4603 CMCHKPK(SPkU16, param->riCfgIdx, mBuf);
4604 CMCHKPK(SPkU8, param->riEna, mBuf);
4605 CMCHKPK(SPkU8, param->k, mBuf);
4606 CMCHKPK(SPkU8, param->cqiRepType, mBuf);
4607 CMCHKPK(SPkU16, param->cqiPCfgIdx, mBuf);
4608 CMCHKPK(SPkU16, param->cqiPResIdx, mBuf);
4614 /***********************************************************
4616 * Func : cmUnpkRgrUeDlPCqiSetup
4619 * Desc : Periodic CQI Setup configuration parameters information
4628 **********************************************************/
4630 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup
4632 RgrUeDlPCqiSetup *param,
4636 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup(param, mBuf)
4637 RgrUeDlPCqiSetup *param;
4643 TRC3(cmUnpkRgrUeDlPCqiSetup)
4645 CMCHKUNPK(SUnpkU16, ¶m->cqiPResIdx, mBuf);
4646 CMCHKUNPK(SUnpkU16, ¶m->cqiPCfgIdx, mBuf);
4647 CMCHKUNPK(SUnpkU8, ¶m->cqiRepType, mBuf);
4648 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4649 CMCHKUNPK(SUnpkU8, ¶m->riEna, mBuf);
4650 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4651 CMCHKUNPK(SUnpkU16, ¶m->riCfgIdx, mBuf);
4652 CMCHKUNPK(SUnpkU8, ¶m->sANCQI, mBuf);
4653 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4654 param->prdModeEnum = (RgrPrdCqiMode) tmpEnum;
4660 /***********************************************************
4662 * Func : cmPkRgrUePrdDlCqiCfg
4665 * Desc : Periodic CQI/PMI/RI configuration parameters information
4674 **********************************************************/
4676 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4678 RgrUePrdDlCqiCfg *param,
4682 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4683 RgrUePrdDlCqiCfg *param;
4688 TRC3(cmPkRgrUePrdDlCqiCfg)
4690 CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4691 CMCHKPK(SPkU8, param->type, mBuf);
4697 /***********************************************************
4699 * Func : cmUnpkRgrUePrdDlCqiCfg
4702 * Desc : Periodic CQI/PMI/RI configuration parameters information
4711 **********************************************************/
4713 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4715 RgrUePrdDlCqiCfg *param,
4719 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4720 RgrUePrdDlCqiCfg *param;
4725 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4727 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4728 CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4734 /***********************************************************
4736 * Func : cmPkRgrUeUlSrsSetupCfg
4739 * Desc : SRS configuration setup parameters information.
4740 Reference 36.313 SoundingRS-UL-Config
4749 **********************************************************/
4751 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg
4753 RgrUeUlSrsSetupCfg *param,
4757 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg(param, mBuf)
4758 RgrUeUlSrsSetupCfg *param;
4763 TRC3(cmPkRgrUeUlSrsSetupCfg)
4765 CMCHKPK(SPkU8, param->fDomPosi, mBuf);
4766 CMCHKPK(SPkU8, param->txComb, mBuf);
4767 CMCHKPK(SPkU8, param->sANSrs, mBuf);
4768 CMCHKPK(SPkU8, param->duration, mBuf);
4769 CMCHKPK(SPkU32, param->cycShift, mBuf);
4770 CMCHKPK(SPkU32, param->srsHopBw, mBuf);
4771 CMCHKPK(SPkU32, param->srsBw, mBuf);
4772 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4773 CMCHKPK(SPkU16, param->srsCfgIdx, mBuf);
4779 /***********************************************************
4781 * Func : cmUnpkRgrUeUlSrsSetupCfg
4784 * Desc : SRS configuration setup parameters information.
4785 Reference 36.313 SoundingRS-UL-Config
4794 **********************************************************/
4796 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg
4798 RgrUeUlSrsSetupCfg *param,
4802 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg(param, mBuf)
4803 RgrUeUlSrsSetupCfg *param;
4809 TRC3(cmUnpkRgrUeUlSrsSetupCfg)
4811 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4812 CMCHKUNPK(SUnpkU16, ¶m->srsCfgIdx, mBuf);
4813 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4814 param->srsBw = (RgrUlSrsBwInfo) tmpEnum;
4815 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4816 param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum;
4817 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4818 param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum;
4819 CMCHKUNPK(SUnpkU8, ¶m->duration, mBuf);
4820 CMCHKUNPK(SUnpkU8, ¶m->sANSrs, mBuf);
4821 CMCHKUNPK(SUnpkU8, ¶m->txComb, mBuf);
4822 CMCHKUNPK(SUnpkU8, ¶m->fDomPosi, mBuf);
4828 /***********************************************************
4830 * Func : cmPkRgrUeSrSetupCfg
4833 * Desc : SR Setup configuration parameters information
4842 **********************************************************/
4844 PUBLIC S16 cmPkRgrUeSrSetupCfg
4846 RgrUeSrSetupCfg *param,
4850 PUBLIC S16 cmPkRgrUeSrSetupCfg(param, mBuf)
4851 RgrUeSrSetupCfg *param;
4856 TRC3(cmPkRgrUeSrSetupCfg)
4858 /* ccpu00131601:DEL - dTMax Packing removed since this param will not
4859 * be required by Scheduler*/
4860 CMCHKPK(SPkU8, param->srCfgIdx, mBuf);
4861 CMCHKPK(SPkU16, param->srResIdx, mBuf);
4867 /***********************************************************
4869 * Func : cmUnpkRgrUeSrSetupCfg
4872 * Desc : SR Setup configuration parameters information
4881 **********************************************************/
4883 PUBLIC S16 cmUnpkRgrUeSrSetupCfg
4885 RgrUeSrSetupCfg *param,
4889 PUBLIC S16 cmUnpkRgrUeSrSetupCfg(param, mBuf)
4890 RgrUeSrSetupCfg *param;
4894 TRC3(cmUnpkRgrUeSrSetupCfg)
4896 CMCHKUNPK(SUnpkU16, ¶m->srResIdx, mBuf);
4897 CMCHKUNPK(SUnpkU8, ¶m->srCfgIdx, mBuf);
4898 /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not
4899 * be required by Scheduler*/
4905 /***********************************************************
4907 * Func : cmPkRgrUeSrCfg
4910 * Desc : SR configuration parameters information
4919 **********************************************************/
4921 PUBLIC S16 cmPkRgrUeSrCfg
4927 PUBLIC S16 cmPkRgrUeSrCfg(param, mBuf)
4933 TRC3(cmPkRgrUeSrCfg)
4935 CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
4936 CMCHKPK(SPkU8, param->type, mBuf);
4942 /***********************************************************
4944 * Func : cmUnpkRgrUeSrCfg
4947 * Desc : SR configuration parameters information
4956 **********************************************************/
4958 PUBLIC S16 cmUnpkRgrUeSrCfg
4964 PUBLIC S16 cmUnpkRgrUeSrCfg(param, mBuf)
4970 TRC3(cmUnpkRgrUeSrCfg)
4972 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4973 CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
4979 /***********************************************************
4981 * Func : cmPkRgrUeUlSrsCfg
4984 * Desc : SRS configuration parameters information.
4985 Reference 36.313 SoundingRS-UL-Config
4994 **********************************************************/
4996 PUBLIC S16 cmPkRgrUeUlSrsCfg
4998 RgrUeUlSrsCfg *param,
5002 PUBLIC S16 cmPkRgrUeUlSrsCfg(param, mBuf)
5003 RgrUeUlSrsCfg *param;
5008 TRC3(cmPkRgrUeUlSrsCfg)
5010 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5011 CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5012 CMCHKPK(SPkU8, param->type, mBuf);
5018 /***********************************************************
5020 * Func : cmUnpkRgrUeUlSrsCfg
5023 * Desc : SRS configuration parameters information.
5024 Reference 36.313 SoundingRS-UL-Config
5033 **********************************************************/
5035 PUBLIC S16 cmUnpkRgrUeUlSrsCfg
5037 RgrUeUlSrsCfg *param,
5041 PUBLIC S16 cmUnpkRgrUeUlSrsCfg(param, mBuf)
5042 RgrUeUlSrsCfg *param;
5047 TRC3(cmUnpkRgrUeUlSrsCfg)
5049 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5050 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5051 CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5056 #endif /*TFU_UPGRADE */
5059 /***********************************************************
5061 * Func : cmPkRgrUeDlCqiCfg
5064 * Desc : Downlink CQI reporting related configuration per UE
5073 **********************************************************/
5075 PUBLIC S16 cmPkRgrUeDlCqiCfg
5077 RgrUeDlCqiCfg *param,
5081 PUBLIC S16 cmPkRgrUeDlCqiCfg(param, mBuf)
5082 RgrUeDlCqiCfg *param;
5087 TRC3(cmPkRgrUeDlCqiCfg)
5090 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5092 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5095 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5097 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5099 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5105 /***********************************************************
5107 * Func : cmUnpkRgrUeDlCqiCfg
5110 * Desc : Downlink CQI reporting related configuration per UE
5119 **********************************************************/
5121 PUBLIC S16 cmUnpkRgrUeDlCqiCfg
5123 RgrUeDlCqiCfg *param,
5127 PUBLIC S16 cmUnpkRgrUeDlCqiCfg(param, mBuf)
5128 RgrUeDlCqiCfg *param;
5133 TRC3(cmUnpkRgrUeDlCqiCfg)
5135 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5136 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5142 /***********************************************************
5144 * Func : cmPkRgrUeMeasGapCfg
5147 * Desc : Measurement gap configuration for UE
5156 **********************************************************/
5158 PUBLIC S16 cmPkRgrUeMeasGapCfg
5160 RgrUeMeasGapCfg *param,
5164 PUBLIC S16 cmPkRgrUeMeasGapCfg(param, mBuf)
5165 RgrUeMeasGapCfg *param;
5170 TRC3(cmPkRgrUeMeasGapCfg)
5172 CMCHKPK(SPkU8, param->gapOffst, mBuf);
5173 CMCHKPK(SPkU8, param->gapPrd, mBuf);
5174 CMCHKPK(SPkU8, param->isMesGapEnabled, mBuf);
5180 /***********************************************************
5182 * Func : cmUnpkRgrUeMeasGapCfg
5185 * Desc : Measurement gap configuration for UE
5194 **********************************************************/
5196 PUBLIC S16 cmUnpkRgrUeMeasGapCfg
5198 RgrUeMeasGapCfg *param,
5202 PUBLIC S16 cmUnpkRgrUeMeasGapCfg(param, mBuf)
5203 RgrUeMeasGapCfg *param;
5208 TRC3(cmUnpkRgrUeMeasGapCfg)
5210 CMCHKUNPK(SUnpkU8, ¶m->isMesGapEnabled, mBuf);
5211 CMCHKUNPK(SUnpkU8, ¶m->gapPrd, mBuf);
5212 CMCHKUNPK(SUnpkU8, ¶m->gapOffst, mBuf);
5216 /*rgr_c_001.main_9 ADD DRX functionality under flag*/
5218 /***********************************************************
5220 * Func : cmPkRgrDrxLongCycleOffst
5223 * Desc : DRX Long Cycle Offset
5232 **********************************************************/
5234 PUBLIC S16 cmPkRgrDrxLongCycleOffst
5236 RgrDrxLongCycleOffst *param,
5240 PUBLIC S16 cmPkRgrDrxLongCycleOffst(param, mBuf)
5241 RgrDrxLongCycleOffst *param;
5246 TRC3(cmPkRgrDrxLongCycleOffst)
5248 CMCHKPK(SPkU16, param->drxStartOffst, mBuf);
5249 CMCHKPK(SPkU16, param->longDrxCycle, mBuf);
5255 /***********************************************************
5257 * Func : cmUnpkRgrDrxLongCycleOffst
5260 * Desc : DRX Long Cycle Offset
5269 **********************************************************/
5271 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst
5273 RgrDrxLongCycleOffst *param,
5277 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst(param, mBuf)
5278 RgrDrxLongCycleOffst *param;
5283 TRC3(cmUnpkRgrDrxLongCycleOffst)
5285 CMCHKUNPK(SUnpkU16, ¶m->longDrxCycle, mBuf);
5286 CMCHKUNPK(SUnpkU16, ¶m->drxStartOffst, mBuf);
5292 /***********************************************************
5294 * Func : cmPkRgrDrxShortDrx
5297 * Desc : DRX Short Cycle Offset
5306 **********************************************************/
5308 PUBLIC S16 cmPkRgrDrxShortDrx
5310 RgrDrxShortDrx *param,
5314 PUBLIC S16 cmPkRgrDrxShortDrx(param, mBuf)
5315 RgrDrxShortDrx *param;
5320 TRC3(cmPkRgrDrxShortDrx)
5322 CMCHKPK(SPkU8, param->drxShortCycleTmr, mBuf);
5323 CMCHKPK(SPkU16, param->shortDrxCycle, mBuf);
5324 CMCHKPK(SPkU8, param->pres, mBuf);
5330 /***********************************************************
5332 * Func : cmUnpkRgrDrxShortDrx
5335 * Desc : DRX Short Cycle Offset
5344 **********************************************************/
5346 PUBLIC S16 cmUnpkRgrDrxShortDrx
5348 RgrDrxShortDrx *param,
5352 PUBLIC S16 cmUnpkRgrDrxShortDrx(param, mBuf)
5353 RgrDrxShortDrx *param;
5358 TRC3(cmUnpkRgrDrxShortDrx)
5360 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5361 CMCHKUNPK(SUnpkU16, ¶m->shortDrxCycle, mBuf);
5362 CMCHKUNPK(SUnpkU8, ¶m->drxShortCycleTmr, mBuf);
5366 /***********************************************************
5368 * Func : cmPkRgrUeDrxCfg
5371 * Desc : DRX configuration for UE
5380 **********************************************************/
5382 PUBLIC S16 cmPkRgrUeDrxCfg
5388 PUBLIC S16 cmPkRgrUeDrxCfg(param, mBuf)
5394 TRC3(cmPkRgrUeDrxCfg)
5396 CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5397 CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5398 CMCHKPK(SPkU16, param->drxRetxTmr, mBuf);
5400 CMCHKPK(SPkU8, param->drxRetxTmrR13Pres, mBuf);
5401 CMCHKPK(SPkU8, param->drxOnDurTmrR13Pres, mBuf);
5402 CMCHKPK(SPkU16, param->emtcDrxUlRetxTmr, mBuf);
5403 CMCHKPK(SPkU8, param->isEmtcUe, mBuf);
5405 CMCHKPK(SPkU16, param->drxInactvTmr, mBuf);
5406 CMCHKPK(SPkU16, param->drxOnDurTmr, mBuf);
5407 /*rgr_c_001.main_9 ADD added changes for R9*/
5409 CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf);
5416 /***********************************************************
5418 * Func : cmUnpkRgrUeDrxCfg
5421 * Desc : DRX configuration for UE
5430 **********************************************************/
5432 PUBLIC S16 cmUnpkRgrUeDrxCfg
5438 PUBLIC S16 cmUnpkRgrUeDrxCfg(param, mBuf)
5444 TRC3(cmUnpkRgrUeDrxCfg)
5446 /*rgr_c_001.main_9 ADD added changes for R9*/
5448 CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf);
5450 CMCHKUNPK(SUnpkU16, ¶m->drxOnDurTmr, mBuf);
5451 CMCHKUNPK(SUnpkU16, ¶m->drxInactvTmr, mBuf);
5453 CMCHKUNPK(SUnpkU8, ¶m->isEmtcUe, mBuf);
5454 CMCHKUNPK(SUnpkU16,¶m->emtcDrxUlRetxTmr, mBuf);
5455 CMCHKUNPK(SUnpkU8, ¶m->drxOnDurTmrR13Pres, mBuf);
5456 CMCHKUNPK(SUnpkU8, ¶m->drxRetxTmrR13Pres, mBuf);
5458 CMCHKUNPK(SUnpkU16, ¶m->drxRetxTmr, mBuf);
5459 CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5460 CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5464 /*rgr_c_001.main_9 ADD added DRX changes under DRX*/
5466 /***********************************************************
5468 * Func : cmPkRgrUeCapCfg
5471 * Desc : RgrUeCapCfg
5480 **********************************************************/
5482 PUBLIC S16 cmPkRgrUeCapCfg
5488 PUBLIC S16 cmPkRgrUeCapCfg(param, mBuf)
5494 TRC3(cmPkRgrUeCapCfg)
5496 CMCHKPK(SPkU8, param->txAntSel, mBuf);
5497 CMCHKPK(SPkU8, param->simCqiAckNack, mBuf);
5498 CMCHKPK(SPkU8, param->resAloocType1, mBuf);
5499 CMCHKPK(SPkU8, param->intraSfFeqHop, mBuf);
5500 CMCHKPK(SPkU8, param->pwrClass, mBuf);
5506 /***********************************************************
5508 * Func : cmUnpkRgrUeCapCfg
5511 * Desc : RgrUeCapCfg
5520 **********************************************************/
5522 PUBLIC S16 cmUnpkRgrUeCapCfg
5528 PUBLIC S16 cmUnpkRgrUeCapCfg(param, mBuf)
5534 TRC3(cmUnpkRgrUeCapCfg)
5536 CMCHKUNPK(SUnpkU8, ¶m->pwrClass, mBuf);
5537 CMCHKUNPK(SUnpkU8, ¶m->intraSfFeqHop, mBuf);
5538 CMCHKUNPK(SUnpkU8, ¶m->resAloocType1, mBuf);
5539 CMCHKUNPK(SUnpkU8, ¶m->simCqiAckNack, mBuf);
5540 CMCHKUNPK(SUnpkU8, ¶m->txAntSel, mBuf);
5546 /***********************************************************
5548 * Func : cmPkRgrUeAckNackRepCfg
5551 * Desc : rgrUeAckNackRepCfg
5560 **********************************************************/
5562 PUBLIC S16 cmPkRgrUeAckNackRepCfg
5564 RgrUeAckNackRepCfg *param,
5568 PUBLIC S16 cmPkRgrUeAckNackRepCfg(param, mBuf)
5569 RgrUeAckNackRepCfg *param;
5574 TRC3(cmPkRgrUeAckNackRepCfg)
5576 CMCHKPK(SPkU32, param->ackNackRepFactor, mBuf);
5577 CMCHKPK(SPkU16, param->pucchAckNackRep, mBuf);
5578 CMCHKPK(SPkU8, param->isAckNackEnabled, mBuf);
5584 /***********************************************************
5586 * Func : cmUnpkRgrUeAckNackRepCfg
5589 * Desc : rgrUeAckNackRepCfg
5598 **********************************************************/
5600 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg
5602 RgrUeAckNackRepCfg *param,
5606 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg(param, mBuf)
5607 RgrUeAckNackRepCfg *param;
5613 TRC3(cmUnpkRgrUeAckNackRepCfg)
5615 CMCHKUNPK(SUnpkU8, ¶m->isAckNackEnabled, mBuf);
5616 CMCHKUNPK(SUnpkU16, ¶m->pucchAckNackRep, mBuf);
5617 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5618 param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum;
5624 /***********************************************************
5626 * Func : cmPkRgrUeTxModeCfg
5629 * Desc : Transmission mode configuration per UE
5638 **********************************************************/
5640 PUBLIC S16 cmPkRgrUeTxModeCfg
5642 RgrUeTxModeCfg *param,
5646 PUBLIC S16 cmPkRgrUeTxModeCfg(param, mBuf)
5647 RgrUeTxModeCfg *param;
5652 TRC3(cmPkRgrUeTxModeCfg)
5654 CMCHKPK(SPkU32, param->txModeEnum, mBuf);
5655 CMCHKPK(SPkU32, param->tmTrnstnState, mBuf);
5656 CMCHKPK(SPkU8, param->pres, mBuf);
5663 /***********************************************************
5665 * Func : cmUnpkRgrUeTxModeCfg
5668 * Desc : Transmission mode configuration per UE
5677 **********************************************************/
5679 PUBLIC S16 cmUnpkRgrUeTxModeCfg
5681 RgrUeTxModeCfg *param,
5685 PUBLIC S16 cmUnpkRgrUeTxModeCfg(param, mBuf)
5686 RgrUeTxModeCfg *param;
5692 TRC3(cmUnpkRgrUeTxModeCfg)
5694 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5695 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5696 param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum;
5698 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5699 param->txModeEnum = (RgrTxMode) tmpEnum;
5705 /***********************************************************
5707 * Func : cmPkRgrUeUlHqCfg
5710 * Desc : Uplink HARQ configuration per UE
5719 **********************************************************/
5721 PUBLIC S16 cmPkRgrUeUlHqCfg
5723 RgrUeUlHqCfg *param,
5727 PUBLIC S16 cmPkRgrUeUlHqCfg(param, mBuf)
5728 RgrUeUlHqCfg *param;
5733 TRC3(cmPkRgrUeUlHqCfg)
5735 CMCHKPK(SPkU8, param->deltaHqOffst, mBuf);
5736 CMCHKPK(SPkU8, param->maxUlHqTx, mBuf);
5742 /***********************************************************
5744 * Func : cmUnpkRgrUeUlHqCfg
5747 * Desc : Uplink HARQ configuration per UE
5756 **********************************************************/
5758 PUBLIC S16 cmUnpkRgrUeUlHqCfg
5760 RgrUeUlHqCfg *param,
5764 PUBLIC S16 cmUnpkRgrUeUlHqCfg(param, mBuf)
5765 RgrUeUlHqCfg *param;
5770 TRC3(cmUnpkRgrUeUlHqCfg)
5772 CMCHKUNPK(SUnpkU8, ¶m->maxUlHqTx, mBuf);
5773 CMCHKUNPK(SUnpkU8, ¶m->deltaHqOffst, mBuf);
5779 /***********************************************************
5781 * Func : cmPkRgrUeGrpPwrCfg
5784 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5793 **********************************************************/
5795 PUBLIC S16 cmPkRgrUeGrpPwrCfg
5797 RgrUeGrpPwrCfg *param,
5801 PUBLIC S16 cmPkRgrUeGrpPwrCfg(param, mBuf)
5802 RgrUeGrpPwrCfg *param;
5807 TRC3(cmPkRgrUeGrpPwrCfg)
5809 CMCHKPK(SPkU8, param->idx, mBuf);
5810 CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf);
5811 CMCHKPK(SPkU8, param->pres, mBuf);
5817 /***********************************************************
5819 * Func : cmUnpkRgrUeGrpPwrCfg
5822 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5831 **********************************************************/
5833 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg
5835 RgrUeGrpPwrCfg *param,
5839 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg(param, mBuf)
5840 RgrUeGrpPwrCfg *param;
5845 TRC3(cmUnpkRgrUeGrpPwrCfg)
5847 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5848 CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf);
5849 CMCHKUNPK(SUnpkU8, ¶m->idx, mBuf);
5853 /*rgr_c_001.main_7 - Added support for SPS*/
5856 /***********************************************************
5858 * Func : cmPkRgrUeSpsDlCfg
5861 * Desc : DL SPS configuration parameters per UE
5870 **********************************************************/
5872 PUBLIC S16 cmPkRgrUeSpsDlCfg
5874 RgrUeSpsDlCfg *param,
5878 PUBLIC S16 cmPkRgrUeSpsDlCfg(param, mBuf)
5879 RgrUeSpsDlCfg *param;
5885 TRC3(cmPkRgrUeSpsDlCfg)
5886 CMCHKPK(SPkU16, param->explicitRelCnt, mBuf);
5887 CMCHKPK(SPkU32, param->dlSpsPrdctyEnum, mBuf);
5888 for (i=param->numPucchVal-1; i >= 0; i--) {
5889 CMCHKPK(SPkU32, param->n1PucchVal[i], mBuf);
5891 CMCHKPK(SPkU8, param->numPucchVal, mBuf);
5892 CMCHKPK(SPkU8, param->numSpsHqProc, mBuf);
5893 CMCHKPK(SPkU8, param->isDlSpsEnabled, mBuf);
5899 /***********************************************************
5901 * Func : cmUnpkRgrUeSpsDlCfg
5904 * Desc : DL SPS configuration parameters per UE
5913 **********************************************************/
5915 PUBLIC S16 cmUnpkRgrUeSpsDlCfg
5917 RgrUeSpsDlCfg *param,
5921 PUBLIC S16 cmUnpkRgrUeSpsDlCfg(param, mBuf)
5922 RgrUeSpsDlCfg *param;
5929 TRC3(cmUnpkRgrUeSpsDlCfg)
5931 CMCHKUNPK(SUnpkU8, ¶m->isDlSpsEnabled, mBuf);
5932 CMCHKUNPK(SUnpkU8, ¶m->numSpsHqProc, mBuf);
5933 CMCHKUNPK(SUnpkU8, ¶m->numPucchVal, mBuf);
5934 for (i=0; i<param->numPucchVal; i++) {
5935 CMCHKUNPK(SUnpkU32, ¶m->n1PucchVal[i], mBuf);
5937 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5938 param->dlSpsPrdctyEnum = tmpEnum;
5939 CMCHKUNPK(SUnpkU16, ¶m->explicitRelCnt, mBuf);
5945 /***********************************************************
5947 * Func : cmPkRgrUeSpsUlCfg
5950 * Desc : UL SPS configuration parameters per UE
5959 **********************************************************/
5961 PUBLIC S16 cmPkRgrUeSpsUlCfg
5963 RgrUeSpsUlCfg *param,
5967 PUBLIC S16 cmPkRgrUeSpsUlCfg(param, mBuf)
5968 RgrUeSpsUlCfg *param;
5974 TRC3(cmPkRgrUeSpsUlCfg)
5976 CMCHKPK(SPkU8, param->isLcSRMaskEnab, mBuf);
5977 for (i=param->lcCnt-1; i >= 0; i--) {
5978 /* SPS Changes starts */
5979 CMCHKPK(SPkU8, param->spsLcInfo[i].isSpsEnabled, mBuf);
5980 CMCHKPK(SPkU8, param->spsLcInfo[i].lcId, mBuf);
5981 /* SPS Changes ends */
5983 CMCHKPK(SPkU8, param->lcCnt, mBuf);
5984 CMCHKPK(SPkU32, param->ulSpsPrdctyEnum, mBuf);
5985 CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf);
5986 CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf);
5987 CMCHKPK(SPkU8, param->pwrCfgPres, mBuf);
5990 CMCHKPK(SPkU8, param->twoIntervalCfg, mBuf);
5993 CMCHKPK(SPkU32, param->implicitRelCnt, mBuf);
5994 CMCHKPK(SPkU8, param->isUlSpsEnabled, mBuf);
6000 /***********************************************************
6002 * Func : cmUnpkRgrUeSpsUlCfg
6005 * Desc : UL SPS configuration parameters per UE
6014 **********************************************************/
6016 PUBLIC S16 cmUnpkRgrUeSpsUlCfg
6018 RgrUeSpsUlCfg *param,
6022 PUBLIC S16 cmUnpkRgrUeSpsUlCfg(param, mBuf)
6023 RgrUeSpsUlCfg *param;
6030 TRC3(cmUnpkRgrUeSpsUlCfg)
6032 CMCHKUNPK(SUnpkU8, ¶m->isUlSpsEnabled, mBuf);
6033 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6034 param->implicitRelCnt = tmpEnum;
6037 CMCHKUNPK(SUnpkU8, ¶m->twoIntervalCfg, mBuf);
6040 CMCHKUNPK(SUnpkU8, ¶m->pwrCfgPres, mBuf);
6041 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf);
6042 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf);
6043 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6044 param->ulSpsPrdctyEnum = tmpEnum;
6045 CMCHKUNPK(SUnpkU8, ¶m->lcCnt, mBuf);
6046 for (i=0; i<param->lcCnt; i++) {
6047 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].lcId, mBuf);
6048 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf);
6050 CMCHKUNPK(SUnpkU8, ¶m->isLcSRMaskEnab, mBuf);
6056 /***********************************************************
6058 * Func : cmPkRgrUeSpsCfg
6061 * Desc : SPS configuration parameters per UE
6070 **********************************************************/
6072 PUBLIC S16 cmPkRgrUeSpsCfg
6078 PUBLIC S16 cmPkRgrUeSpsCfg(param, mBuf)
6084 TRC3(cmPkRgrUeSpsCfg)
6086 CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6087 CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6088 CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf);
6094 /***********************************************************
6096 * Func : cmUnpkRgrUeSpsCfg
6099 * Desc : SPS configuration parameters per UE
6108 **********************************************************/
6110 PUBLIC S16 cmUnpkRgrUeSpsCfg
6116 PUBLIC S16 cmUnpkRgrUeSpsCfg(param, mBuf)
6122 TRC3(cmUnpkRgrUeSpsCfg)
6124 CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf);
6125 CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6126 CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6131 /***********************************************************
6133 * Func : cmPkRgrUeUlPwrCfg
6136 * Desc : Uplink power configuration per UE
6145 **********************************************************/
6147 PUBLIC S16 cmPkRgrUeUlPwrCfg
6149 RgrUeUlPwrCfg *param,
6153 PUBLIC S16 cmPkRgrUeUlPwrCfg(param, mBuf)
6154 RgrUeUlPwrCfg *param;
6159 TRC3(cmPkRgrUeUlPwrCfg)
6161 CMCHKPK(SPkU8, param->trgCqi, mBuf);
6162 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
6163 CMCHKPK(SPkS8, param->p0UePucch, mBuf);
6164 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
6165 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
6166 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
6167 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6168 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6174 /***********************************************************
6176 * Func : cmUnpkRgrUeUlPwrCfg
6179 * Desc : Uplink power configuration per UE
6188 **********************************************************/
6190 PUBLIC S16 cmUnpkRgrUeUlPwrCfg
6192 RgrUeUlPwrCfg *param,
6196 PUBLIC S16 cmUnpkRgrUeUlPwrCfg(param, mBuf)
6197 RgrUeUlPwrCfg *param;
6202 TRC3(cmUnpkRgrUeUlPwrCfg)
6204 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6205 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6206 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
6207 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
6208 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
6209 CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf);
6210 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
6211 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
6217 /***********************************************************
6219 * Func : cmPkRgrUeQosCfg
6222 * Desc : Downlink/Uplink QoS configuration per UE
6231 **********************************************************/
6233 PUBLIC S16 cmPkRgrUeQosCfg
6239 PUBLIC S16 cmPkRgrUeQosCfg(param, mBuf)
6245 TRC3(cmPkRgrUeQosCfg)
6247 CMCHKPK(SPkU32, param->ueBr, mBuf);
6248 CMCHKPK(SPkU32, param->dlAmbr, mBuf);
6249 CMCHKPK(SPkU8, param->ambrPres, mBuf);
6255 /***********************************************************
6257 * Func : cmUnpkRgrUeQosCfg
6260 * Desc : Downlink/Uplink QoS configuration per UE
6269 **********************************************************/
6271 PUBLIC S16 cmUnpkRgrUeQosCfg
6277 PUBLIC S16 cmUnpkRgrUeQosCfg(param, mBuf)
6283 TRC3(cmUnpkRgrUeQosCfg)
6285 CMCHKUNPK(SUnpkU8, ¶m->ambrPres, mBuf);
6286 CMCHKUNPK(SUnpkU32, ¶m->dlAmbr, mBuf);
6287 CMCHKUNPK(SUnpkU32, ¶m->ueBr, mBuf);
6291 /***********************************************************
6293 * Func : cmPkRgrUePuschDedCfg
6296 * Desc : PUSCH Config Dedication for UE
6305 **********************************************************/
6307 PUBLIC S16 cmPkRgrUePuschDedCfg
6309 RgrUePuschDedCfg *param,
6313 PUBLIC S16 cmPkRgrUePuschDedCfg(param, mBuf)
6314 RgrUePuschDedCfg *param;
6319 TRC3(cmPkRgrUePuschDedCfg)
6321 CMCHKPK(SPkU8, param->bCQIIdx, mBuf);
6322 CMCHKPK(SPkU8, param->bRIIdx, mBuf);
6323 CMCHKPK(SPkU8, param->bACKIdx, mBuf);
6324 CMCHKPK(SPkU8, param->pres, mBuf);
6329 /***********************************************************
6331 * Func : cmUnpkRgrUePuschDedCfg
6334 * Desc : PUSCH Config Dedication for UE
6344 **********************************************************/
6346 PUBLIC S16 cmUnpkRgrUePuschDedCfg
6348 RgrUePuschDedCfg *param,
6352 PUBLIC S16 cmUnpkRgrUePuschDedCfg(param, mBuf)
6353 RgrUePuschDedCfg *param;
6358 TRC3(cmUnpkRgrUePuschDedCfg)
6360 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6361 CMCHKUNPK(SUnpkU8, ¶m->bACKIdx, mBuf);
6362 CMCHKUNPK(SUnpkU8, ¶m->bRIIdx, mBuf);
6363 CMCHKUNPK(SUnpkU8, ¶m->bCQIIdx, mBuf);
6367 /***********************************************************
6369 * Func : cmPkRgrUeTxAntSelCfg
6372 * Desc : UE Transmit Antenna selection related configuration
6381 **********************************************************/
6383 PUBLIC S16 cmPkRgrUeTxAntSelCfg
6385 RgrUeTxAntSelCfg *param,
6389 PUBLIC S16 cmPkRgrUeTxAntSelCfg(param, mBuf)
6390 RgrUeTxAntSelCfg *param;
6395 TRC3(cmPkRgrUeTxAntSelCfg)
6397 CMCHKPK(SPkU32, param->selType, mBuf);
6398 CMCHKPK(SPkU8, param->pres, mBuf);
6404 /***********************************************************
6406 * Func : cmUnpkRgrUeTxAntSelCfg
6409 * Desc : UE Transmit Antenna selection related configuration
6418 **********************************************************/
6420 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg
6422 RgrUeTxAntSelCfg *param,
6426 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg(param, mBuf)
6427 RgrUeTxAntSelCfg *param;
6433 TRC3(cmUnpkRgrUeTxAntSelCfg)
6435 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6436 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6437 param->selType = (RgrUeTxAntSelType) tmpEnum;
6442 /***********************************************************
6444 * Func : cmPkRgrUeTaTmrCfg
6447 * Desc : Time Alignment timer configuration per UE
6456 **********************************************************/
6458 PUBLIC S16 cmPkRgrUeTaTmrCfg
6460 RgrUeTaTmrCfg *param,
6464 PUBLIC S16 cmPkRgrUeTaTmrCfg(param, mBuf)
6465 RgrUeTaTmrCfg *param;
6470 TRC3(cmPkRgrUeTaTmrCfg)
6472 CMCHKPK(SPkU16, param->taTmr, mBuf);
6473 CMCHKPK(SPkU8, param->pres, mBuf);
6479 /***********************************************************
6481 * Func : cmUnpkRgrUeTaTmrCfg
6484 * Desc : Time Alignment timer configuration per UE
6493 **********************************************************/
6495 PUBLIC S16 cmUnpkRgrUeTaTmrCfg
6497 RgrUeTaTmrCfg *param,
6501 PUBLIC S16 cmUnpkRgrUeTaTmrCfg(param, mBuf)
6502 RgrUeTaTmrCfg *param;
6507 TRC3(cmUnpkRgrUeTaTmrCfg)
6509 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6510 CMCHKUNPK(SUnpkU16, ¶m->taTmr, mBuf);
6517 PUBLIC S16 cmUnpkRgrEmtcUeCfg
6519 RgrUeEmtcCfg *param,
6523 PUBLIC S16 cmUnpkRgrEmtcUeCfg(param, mBuf)
6524 RgrUeEmtcCfg *param;
6530 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6531 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6532 RgrEpdcchAddModLst *epdcchAddModLst;
6534 CMCHKUNPK(SUnpkU8,¶m->pdschReptLevModeA,mBuf);
6535 /*UnPacking PUCCH Rep */
6536 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf);
6537 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf);
6538 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->isPucchRepPres),mBuf);
6542 for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++)
6544 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6545 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf);
6546 CMCHKUNPK(SUnpkU16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf);
6547 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf);
6548 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf);
6549 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf);
6550 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.pres),mBuf);
6551 CMCHKUNPK(cmUnpkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6552 CMCHKUNPK(cmUnpkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6553 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->pucchResStartoffset),mBuf);
6554 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->dmrsScrambSeq),mBuf);
6555 for(idx = 0; idx < 5; idx++)
6557 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf);
6560 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf);
6561 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->transmissionType),mBuf);
6562 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->setConfigId),mBuf);
6565 CMCHKUNPK(cmUnpkTknU32,&(emtcEpdcchCfg->startSymbolr11),mBuf);
6566 for(indx = 0; indx < 5; indx++)
6568 CMCHKUNPK(SUnpkU8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf);
6570 CMCHKUNPK(SUnpkU8, &(emtcEpdcchCfg->sfPtn.pres), mBuf);
6571 CMCHKUNPK(SUnpkU8, &(param->pres), mBuf);
6572 CMCHKUNPK(SUnpkU8, &(param->isHdFddEnbld), mBuf);
6574 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6575 printf("\n EMTC RGR UE unpack\n");
6576 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6578 for(indx = 0; indx < 5; indx++)
6580 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6582 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6583 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6585 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6587 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6588 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6589 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);
6590 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6591 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6592 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6593 for(idx = 0; idx < 5 ; idx++)
6595 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6597 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6598 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6599 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6600 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6601 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6602 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6603 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6604 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6605 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6606 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6607 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6608 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6618 PUBLIC S16 cmPkRgrEmtcUeCfg
6620 RgrUeEmtcCfg *param,
6626 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6627 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6628 RgrEpdcchAddModLst *epdcchAddModLst;
6630 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6631 CMCHKPK(SPkU8, param->pres, mBuf);
6632 CMCHKPK(SPkU8, emtcEpdcchCfg->sfPtn.pres, mBuf);
6633 for(indx = 4; indx >=0; indx--)
6635 CMCHKPK(SPkU8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf);
6637 CMCHKPK(cmPkTknU32,&emtcEpdcchCfg->startSymbolr11,mBuf);
6638 for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--)
6640 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6642 CMCHKPK(SPkU8,epdcchAddModLst->setConfigId,mBuf);
6643 CMCHKPK(SPkU8,epdcchAddModLst->transmissionType,mBuf);
6644 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf);
6645 for(idx = 4; idx >= 0; idx--)
6647 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf);
6649 CMCHKPK(SPkU32,epdcchAddModLst->dmrsScrambSeq,mBuf);
6650 CMCHKPK(SPkU32,epdcchAddModLst->pucchResStartoffset,mBuf);
6651 CMCHKPK(cmPkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6652 CMCHKPK(cmPkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6653 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.pres,mBuf);
6654 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf);
6655 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf);
6656 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf);
6657 CMCHKPK(SPkU16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf);
6658 CMCHKPK(SPkU32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf);
6661 /*Packing PUCCH Rep */
6662 CMCHKPK(SPkU8,emtcPucchRepCfg->isPucchRepPres, mBuf);
6663 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf);
6664 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf);
6665 CMCHKPK(SPkU8,param->pdschReptLevModeA,mBuf);
6667 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6668 printf("\n EMTC RGR UE pack\n");
6669 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6671 for(indx = 0; indx < 5; indx++)
6673 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6675 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6676 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6678 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6680 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6681 /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6682 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/
6683 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6684 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6685 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6686 for(idx = 0; idx < 5 ; idx++)
6688 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6690 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6691 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6692 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6693 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6694 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6695 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6696 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6697 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6698 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6699 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6700 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6701 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6713 PUBLIC S16 cmUnpkRgr5gtfUeCfg
6715 RgrUe5gtfCfg *param,
6719 CMCHKUNPK(SUnpkU8, ¶m->grpId, mBuf);
6720 CMCHKUNPK(SUnpkU8, ¶m->BeamId, mBuf);
6721 CMCHKUNPK(SUnpkU8, ¶m->numCC, mBuf);
6722 CMCHKUNPK(SUnpkU8, ¶m->mcs, mBuf);
6723 CMCHKUNPK(SUnpkU8, ¶m->maxPrb, mBuf);
6727 PUBLIC S16 cmPkRgr5gtfUeCfg
6729 RgrUe5gtfCfg *param,
6733 CMCHKPK(SPkU8, param->maxPrb, mBuf);
6734 CMCHKPK(SPkU8, param->mcs, mBuf);
6735 CMCHKPK(SPkU8, param->numCC, mBuf);
6736 CMCHKPK(SPkU8, param->BeamId, mBuf);
6737 CMCHKPK(SPkU8, param->grpId, mBuf);
6743 /***********************************************************
6745 * Func : cmPkRgrUeCfg
6748 * Desc : UE configuration
6757 **********************************************************/
6759 PUBLIC S16 cmPkRgrUeCfg
6765 PUBLIC S16 cmPkRgrUeCfg(param, mBuf)
6773 CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6776 CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6778 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
6780 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
6781 /* LTE_ADV_FLAG_REMOVED_START */
6782 CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6783 /* LTE_ADV_FLAG_REMOVED_END */
6785 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
6786 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6788 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6789 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6791 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6793 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6795 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6796 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6798 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6800 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6804 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
6805 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6810 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6813 CMCHKPK(SPkU32, param->ackNackModeEnum, mBuf);
6816 CMCHKPK(cmPkTknU8, ¶m->dedPreambleId, mBuf);
6817 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6818 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6819 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6820 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6821 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
6822 /*rgr_c_001.main_9 ADD added changes for DRX*/
6824 /* Anshika - Pack only if DRX is enabled */
6825 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6827 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6829 CMCHKPK(SPkU8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if
6831 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
6833 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6835 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6837 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6838 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6839 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6840 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6841 CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6842 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6843 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
6844 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
6850 /***********************************************************
6852 * Func : cmUnpkRgrUeCfg
6855 * Desc : UE configuration
6864 **********************************************************/
6866 PUBLIC S16 cmUnpkRgrUeCfg
6872 PUBLIC S16 cmUnpkRgrUeCfg(param, mBuf)
6879 TRC3(cmUnpkRgrUeCfg)
6881 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
6882 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
6883 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6884 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6885 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6886 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6887 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6888 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6890 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6892 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6894 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6895 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
6896 /*rgr_c_001.main_9 ADD added changes for DRX*/
6898 /* Anshika - Unpack only if DRX is enabled */
6899 CMCHKUNPK(SUnpkU8, ¶m->ueDrxCfg.isDrxEnabled, mBuf);
6900 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6902 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6904 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
6905 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6906 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6907 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6908 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6909 CMCHKUNPK(cmUnpkTknU8, ¶m->dedPreambleId, mBuf);
6912 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6913 param->ackNackModeEnum = tmpEnum;
6916 /*rgr_c_001.main_7 - Added support for SPS*/
6917 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6919 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6921 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6922 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
6924 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6926 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
6928 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6929 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6930 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6931 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6933 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6936 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6938 /* LTE_ADV_FLAG_REMOVED_START */
6939 CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6940 /* LTE_ADV_FLAG_REMOVED_END */
6941 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
6942 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
6945 CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6949 CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6957 /***********************************************************
6959 * Func : cmPkRgrLchQosCfg
6962 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
6971 **********************************************************/
6973 PUBLIC S16 cmPkRgrLchQosCfg
6975 RgrLchQosCfg *param,
6979 PUBLIC S16 cmPkRgrLchQosCfg(param, mBuf)
6980 RgrLchQosCfg *param;
6985 TRC3(cmPkRgrLchQosCfg)
6987 CMCHKPK(SPkU32, param->mbr, mBuf);
6988 CMCHKPK(SPkU32, param->gbr, mBuf);
6989 CMCHKPK(SPkU8, param->qci, mBuf);
6995 /***********************************************************
6997 * Func : cmUnpkRgrLchQosCfg
7000 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
7009 **********************************************************/
7011 PUBLIC S16 cmUnpkRgrLchQosCfg
7013 RgrLchQosCfg *param,
7017 PUBLIC S16 cmUnpkRgrLchQosCfg(param, mBuf)
7018 RgrLchQosCfg *param;
7023 TRC3(cmUnpkRgrLchQosCfg)
7025 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7026 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7027 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7030 /*rgr_c_001.main_7 - Added support for SPS*/
7033 /***********************************************************
7035 * Func : cmPkRgrLchSpsCfg
7038 * Desc : SPS related configuration for logical channels
7047 **********************************************************/
7049 PUBLIC S16 cmPkRgrLchSpsCfg
7051 RgrLchSpsCfg *param,
7055 PUBLIC S16 cmPkRgrLchSpsCfg(param, mBuf)
7056 RgrLchSpsCfg *param;
7061 TRC3(cmPkRgrLchSpsCfg)
7064 CMCHKPK(SPkU8, param->isSpsEnabled, mBuf);
7070 /***********************************************************
7072 * Func : cmUnpkRgrLchSpsCfg
7075 * Desc : SPS related configuration for logical channels
7084 **********************************************************/
7086 PUBLIC S16 cmUnpkRgrLchSpsCfg
7088 RgrLchSpsCfg *param,
7092 PUBLIC S16 cmUnpkRgrLchSpsCfg(param, mBuf)
7093 RgrLchSpsCfg *param;
7098 TRC3(cmUnpkRgrLchSpsCfg)
7100 CMCHKUNPK(SUnpkU8, ¶m->isSpsEnabled, mBuf);
7106 /***********************************************************
7108 * Func : cmPkRgrDlLchCfg
7111 * Desc : Logical channel configuration info for downlink logical channels
7120 **********************************************************/
7122 PUBLIC S16 cmPkRgrDlLchCfg
7128 PUBLIC S16 cmPkRgrDlLchCfg(param, mBuf)
7134 TRC3(cmPkRgrDlLchCfg)
7135 /*rgr_c_001.main_7 - Added support for SPS*/
7137 CMCHKPK(SPkU8, param->rlcReorderTmr, mBuf);
7138 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7139 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf);
7140 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
7146 /***********************************************************
7148 * Func : cmUnpkRgrDlLchCfg
7151 * Desc : Logical channel configuration info for downlink logical channels
7160 **********************************************************/
7162 PUBLIC S16 cmUnpkRgrDlLchCfg
7168 PUBLIC S16 cmUnpkRgrDlLchCfg(param, mBuf)
7174 TRC3(cmUnpkRgrDlLchCfg)
7176 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
7177 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf);
7178 /*rgr_c_001.main_7 - Added support for SPs*/
7179 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7180 CMCHKUNPK(SUnpkU8, ¶m->rlcReorderTmr, mBuf);
7186 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7190 /***********************************************************
7192 * Func : cmPkRgrUlLchCfg
7195 * Desc : Logical channel configuration information for uplink logical channels
7204 **********************************************************/
7206 PUBLIC S16 cmPkRgrUlLchCfg
7212 PUBLIC S16 cmPkRgrUlLchCfg(param, mBuf)
7218 TRC3(cmPkRgrUlLchCfg)
7220 CMCHKPK(SPkU8, param->qci, mBuf);
7221 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7227 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7228 /***********************************************************
7230 * Func : cmUnpkRgrUlLchCfg
7233 * Desc : Logical channel configuration information for uplink logical channels
7242 **********************************************************/
7244 PUBLIC S16 cmUnpkRgrUlLchCfg
7250 PUBLIC S16 cmUnpkRgrUlLchCfg(param, mBuf)
7256 TRC3(cmUnpkRgrUlLchCfg)
7258 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7259 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7266 /***********************************************************
7268 * Func : cmPkRgrUlLcgCfg
7271 * Desc : Logical channel configuration info for uplink logical channels
7280 **********************************************************/
7282 PUBLIC S16 cmPkRgrUlLcgCfg
7288 PUBLIC S16 cmPkRgrUlLcgCfg(param, mBuf)
7294 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7298 TRC3(cmPkRgrUlLcgCfg)
7299 CMCHKPK(SPkU32, param->mbr, mBuf);
7300 CMCHKPK(SPkU32, param->gbr, mBuf);
7302 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7304 for (i = param->numLch - 1; i >= 0; i--)
7306 CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7308 CMCHKPK(SPkU8, param->numLch, mBuf);
7310 CMCHKPK(SPkU8, param->lcgId, mBuf);
7316 /***********************************************************
7318 * Func : cmUnpkRgrUlLcgCfg
7321 * Desc : Logical channel configuration info for uplink logical channels
7330 **********************************************************/
7332 PUBLIC S16 cmUnpkRgrUlLcgCfg
7338 PUBLIC S16 cmUnpkRgrUlLcgCfg(param, mBuf)
7344 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7348 TRC3(cmUnpkRgrUlLcgCfg)
7350 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7351 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7353 CMCHKUNPK(SUnpkU8, ¶m->numLch, mBuf);
7354 for (i = 0; i< param->numLch; i++)
7356 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7360 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7361 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7366 PUBLIC S16 cmPkRgrUlLchQciCfg
7368 RgrUlLchQciCfg *param,
7372 PUBLIC S16 cmPkRgrUlLchQciCfg (param, mBuf)
7373 RgrUlLchQciCfg *param;
7377 CMCHKPK(SPkU8, param->lcId, mBuf);
7378 CMCHKPK(SPkU8, param->qci, mBuf);
7379 CMCHKPK(SPkU8, param->lcgId, mBuf);
7383 PUBLIC S16 cmUnpkRgrUlLchQciCfg
7385 RgrUlLchQciCfg *param,
7389 PUBLIC S16 cmUnpkRgrUlLchQciCfg (param, mBuf)
7390 RgrUlLchQciCfg *param;
7394 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7395 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7396 CMCHKUNPK(SUnpkU8, ¶m->lcId, mBuf);
7401 /***********************************************************
7403 * Func : cmPkRgrLchCfg
7406 * Desc : Logical channel configuration info for dedicated channels
7415 **********************************************************/
7417 PUBLIC S16 cmPkRgrLchCfg
7423 PUBLIC S16 cmPkRgrLchCfg(param, mBuf)
7430 CMCHKPK(SPkU8, param->lcgId, mBuf);
7431 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7432 CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7433 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
7434 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7435 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7436 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7442 /***********************************************************
7444 * Func : cmUnpkRgrLchCfg
7447 * Desc : Logical channel configuration info for dedicated channels
7456 **********************************************************/
7458 PUBLIC S16 cmUnpkRgrLchCfg
7464 PUBLIC S16 cmUnpkRgrLchCfg(param, mBuf)
7470 TRC3(cmUnpkRgrLchCfg)
7472 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7473 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7474 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7475 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
7476 CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7477 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7478 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7484 PUBLIC S16 cmPkRgrLcgCfg
7490 PUBLIC S16 cmPkRgrLcgCfg(param, mBuf)
7498 CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7499 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7500 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7506 PUBLIC S16 cmUnpkRgrLcgCfg
7512 PUBLIC S16 cmUnpkRgrLcgCfg(param, mBuf)
7518 TRC3(cmUnpkRgrLcgCfg)
7520 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7521 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7522 CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7528 /***********************************************************
7533 * Desc : Basic Configuration structure at RRM
7542 **********************************************************/
7544 PUBLIC S16 cmPkRgrCfg
7550 PUBLIC S16 cmPkRgrCfg(param, mBuf)
7558 switch(param->cfgType) {
7560 CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7563 CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7566 CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7569 CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7572 CMCHKPK(cmPkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7577 CMCHKPK(SPkU8, param->cfgType, mBuf);
7583 /***********************************************************
7585 * Func : cmUnpkRgrCfg
7588 * Desc : Basic Configuration structure at RRM
7597 **********************************************************/
7599 PUBLIC S16 cmUnpkRgrCfg
7605 PUBLIC S16 cmUnpkRgrCfg(param, mBuf)
7613 CMCHKUNPK(SUnpkU8, ¶m->cfgType, mBuf);
7614 switch(param->cfgType) {
7616 CMCHKUNPK(cmUnpkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7619 CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7622 CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7625 CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7628 CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7638 /***********************************************************
7640 * Func : cmPkRgrActvTime
7643 * Desc : Activation time information
7652 **********************************************************/
7654 PUBLIC S16 cmPkRgrActvTime
7660 PUBLIC S16 cmPkRgrActvTime(param, mBuf)
7666 TRC3(cmPkRgrActvTime)
7668 CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf);
7669 CMCHKPK(SPkU8, param->pres, mBuf);
7675 /***********************************************************
7677 * Func : cmUnpkRgrActvTime
7680 * Desc : Activation time information
7689 **********************************************************/
7691 PUBLIC S16 cmUnpkRgrActvTime
7697 PUBLIC S16 cmUnpkRgrActvTime(param, mBuf)
7703 TRC3(cmUnpkRgrActvTime)
7705 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
7706 CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf);
7712 /***********************************************************
7714 * Func : cmPkRgrCellRecfg
7717 * Desc : Cell reconfiguration structure at RRM
7726 **********************************************************/
7728 PUBLIC S16 cmPkRgrCellRecfg
7730 RgrCellRecfg *param,
7734 PUBLIC S16 cmPkRgrCellRecfg(param, mBuf)
7735 RgrCellRecfg *param;
7740 TRC3(cmPkRgrCellRecfg)
7741 CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7742 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7743 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
7744 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
7745 /* LTE_ADV_FLAG_REMOVED_START */
7746 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7747 /* LTE_ADV_FLAG_REMOVED_END */
7748 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
7749 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
7751 CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf);
7752 #endif /* RGR_SI_SCH */
7753 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7754 CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf);
7755 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7756 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7757 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7758 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7759 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7760 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7761 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7762 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7763 CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf);
7764 CMCHKPK(SPkU32, param->recfgTypes, mBuf);
7765 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7771 /***********************************************************
7773 * Func : cmUnpkRgrCellRecfg
7776 * Desc : Cell reconfiguration structure at RRM
7785 **********************************************************/
7787 PUBLIC S16 cmUnpkRgrCellRecfg
7789 RgrCellRecfg *param,
7793 PUBLIC S16 cmUnpkRgrCellRecfg(param, mBuf)
7794 RgrCellRecfg *param;
7799 TRC3(cmUnpkRgrCellRecfg)
7801 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7802 CMCHKUNPK(SUnpkU32, ¶m->recfgTypes, mBuf);
7803 CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf);
7804 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7805 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7806 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7807 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7808 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7809 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7810 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7811 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7812 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf);
7813 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7814 /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */
7816 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf);
7817 #endif /* RGR_SI_SCH */
7818 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
7819 /* LTE_ADV_FLAG_REMOVED_START */
7820 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7821 /* LTE_ADV_FLAG_REMOVED_END */
7822 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
7823 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
7824 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7825 CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7832 /***********************************************************
7834 * Func : cmPkRgrUeRecfg
7837 * Desc : UE reconfiguration info
7846 **********************************************************/
7848 PUBLIC S16 cmPkRgrUeRecfg
7854 PUBLIC S16 cmPkRgrUeRecfg(param, mBuf)
7860 TRC3(cmPkRgrUeRecfg)
7862 /* Note: As we add more members to emtcUeRecfg,
7863 create a new function for pkUnpk */
7864 CMCHKPK(SPkU8, param->emtcUeRecfg.isHdFddEnbld, mBuf);
7866 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
7868 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
7870 CMCHKPK(SPkU8, param->simulAckNackCQIFormat3, mBuf);
7871 CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
7872 CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
7874 /* LTE_ADV_FLAG_REMOVED_START */
7875 CMCHKPK(SPkU8, param->ueLteAdvCfg.isUeCellEdge, mBuf);
7876 CMCHKPK(SPkU8, param->ueLteAdvCfg.isAbsUe, mBuf);
7877 CMCHKPK(SPkU32, param->ueLteAdvCfg.pres, mBuf);
7878 /* LTE_ADV_FLAG_REMOVED_END */
7879 /*ccpu00130497: Removed the duplicate packing*/
7881 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
7883 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
7884 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
7886 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
7889 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
7890 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
7892 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
7894 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
7898 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
7899 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
7900 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
7903 /*rgr_c_001.main_7 - Added support for SPS*/
7904 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
7905 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
7907 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
7908 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
7910 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
7911 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
7912 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
7913 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
7914 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
7915 /*rgr_c_001.main_9 ADD added changes for DRX*/
7917 /* Anshika - Pack only if DRX is enabled */
7918 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
7920 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
7922 CMCHKPK(SPkU8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if
7924 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
7926 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
7928 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
7930 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
7931 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
7932 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
7935 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
7938 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
7939 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7940 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
7941 /* LTE_ADV_FLAG_REMOVED_START */
7942 /* KW fix for LTE_ADV */
7943 CMCHKPK(SPkU32, param->ueRecfgTypes, mBuf);
7944 /* LTE_ADV_FLAG_REMOVED_END */
7945 CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf);
7946 CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf);
7947 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7953 /***********************************************************
7955 * Func : cmUnpkRgrUeRecfg
7958 * Desc : UE reconfiguration info
7967 **********************************************************/
7969 PUBLIC S16 cmUnpkRgrUeRecfg
7975 PUBLIC S16 cmUnpkRgrUeRecfg(param, mBuf)
7982 TRC3(cmUnpkRgrUeRecfg)
7984 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7985 CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf);
7986 CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf);
7987 /* LTE_ADV_FLAG_REMOVED_START */
7988 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
7989 /* KW fix for LTE_ADV */
7990 CMCHKUNPK(SUnpkU32, ¶m->ueRecfgTypes, mBuf);
7991 /* LTE_ADV_FLAG_REMOVED_END */
7992 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7994 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
7997 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
8000 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
8001 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
8002 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
8004 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
8006 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
8008 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
8009 /*rgr_c_001.main_9 ADD added changes for DRX*/
8011 /* Anshika - Unpack only if DRX is enabled */
8012 CMCHKUNPK(SUnpkU8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf);
8013 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
8015 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
8017 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
8018 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
8019 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
8020 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
8021 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8022 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
8023 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
8024 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
8025 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
8026 /*rgr_c_001.main_7 - Added support for SPS*/
8027 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
8029 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
8031 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
8032 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
8033 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
8036 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
8038 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
8041 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
8043 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
8044 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
8046 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
8049 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
8052 /* LTE_ADV_FLAG_REMOVED_START */
8053 CMCHKUNPK(SUnpkU32, ¶m->ueLteAdvCfg.pres, mBuf);
8054 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isAbsUe, mBuf);
8055 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf);
8056 /* LTE_ADV_FLAG_REMOVED_END */
8058 CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
8059 CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
8060 CMCHKUNPK(SUnpkU8, ¶m->simulAckNackCQIFormat3, mBuf);
8062 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
8064 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
8066 CMCHKPK(SUnpkU8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf);
8074 /***********************************************************
8076 * Func : cmPkRgrLchRecfg
8079 * Desc : Logical channel reconfiguration info for dedicated channels only
8088 **********************************************************/
8090 PUBLIC S16 cmPkRgrLchRecfg
8096 PUBLIC S16 cmPkRgrLchRecfg(param, mBuf)
8102 TRC3(cmPkRgrLchRecfg)
8103 /*rgr_c_001.main_7 - Added support for SPS*/
8104 CMCHKPK(SPkU8, param->lcgId, mBuf);
8106 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8107 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8109 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8110 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
8111 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8112 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8118 /***********************************************************
8120 * Func : cmUnpkRgrLchRecfg
8123 * Desc : Logical channel reconfiguration info for dedicated channels only
8132 **********************************************************/
8134 PUBLIC S16 cmUnpkRgrLchRecfg
8140 PUBLIC S16 cmUnpkRgrLchRecfg(param, mBuf)
8146 TRC3(cmUnpkRgrLchRecfg)
8148 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8149 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8150 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
8151 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8152 /*rgr_c_001.main_7 - Added support for SPs*/
8153 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8155 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8156 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
8162 PUBLIC S16 cmPkRgrLcgRecfg
8168 PUBLIC S16 cmPkRgrLcgRecfg(param, mBuf)
8176 TRC3(cmPkRgrLcgRecfg)
8178 CMCHKPK(SPkU32, param->ulRecfg.mbr, mBuf);
8179 CMCHKPK(SPkU32, param->ulRecfg.gbr, mBuf);
8181 for (i = param->ulRecfg.numLch - 1; i >= 0; i--)
8183 CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8185 CMCHKPK(SPkU8, param->ulRecfg.numLch, mBuf);
8187 CMCHKPK(SPkU8, param->ulRecfg.lcgId, mBuf);
8188 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8189 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8195 PUBLIC S16 cmUnpkRgrLcgRecfg
8201 PUBLIC S16 cmUnpkRgrLcgRecfg(param, mBuf)
8209 TRC3(cmUnpkRgrLcgRecfg)
8211 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8212 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8213 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.lcgId, mBuf);
8216 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.numLch, mBuf);
8217 for (i = 0; i < param->ulRecfg.numLch; i++)
8219 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8222 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.gbr, mBuf);
8223 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.mbr, mBuf);
8230 /***********************************************************
8232 * Func : cmPkRgrRecfg
8235 * Desc : Basic reconfiguration structure at RRM
8244 **********************************************************/
8246 PUBLIC S16 cmPkRgrRecfg
8252 PUBLIC S16 cmPkRgrRecfg(param, mBuf)
8260 switch(param->recfgType) {
8262 CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8265 CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8268 CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8271 CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8276 CMCHKPK(SPkU8, param->recfgType, mBuf);
8282 /***********************************************************
8284 * Func : cmUnpkRgrRecfg
8287 * Desc : Basic reconfiguration structure at RRM
8296 **********************************************************/
8298 PUBLIC S16 cmUnpkRgrRecfg
8304 PUBLIC S16 cmUnpkRgrRecfg(param, mBuf)
8310 TRC3(cmUnpkRgrRecfg)
8312 CMCHKUNPK(SUnpkU8, ¶m->recfgType, mBuf);
8313 switch(param->recfgType) {
8315 CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8318 CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8321 CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8324 CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8333 /***********************************************************
8335 * Func : cmPkRgrUeDlSecCellRelInfo
8338 * Desc : DL Secondary Cell information of the UE
8347 **********************************************************/
8349 PUBLIC S16 cmPkRgrUeDlSecCellRelInfo
8351 RgrUeDlSecCellRelInfo *param,
8355 PRIVATE S16 cmPkRgrUeDlSecCellRelInfo(param, mBuf)
8356 RgrUeDlSecCellRelInfo *param;
8360 CMCHKPK(SPkU16, param->sCellId, mBuf);
8361 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8365 /***********************************************************
8367 * Func : cmPkRgrUeSecCellRelInfo
8370 * Desc : Secondary Cell Delete information of the UE
8379 **********************************************************/
8381 PUBLIC S16 cmPkRgrUeSecCellRelInfo
8383 RgrUeSecCellRelInfo *param,
8387 PUBLIC S16 cmPkRgrUeSecCellRelInfo(param, mBuf)
8388 RgrUeSecCellRelInfo *param;
8393 for(idx = param->numSCells - 1; idx >= 0; idx--)
8395 CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(U8)idx],mBuf);
8397 CMCHKPK(SPkU8, param->numSCells, mBuf);
8404 /***********************************************************
8409 * Desc : Basic Delete info for MAC
8418 **********************************************************/
8420 PUBLIC S16 cmPkRgrDel
8426 PUBLIC S16 cmPkRgrDel(param, mBuf)
8434 switch(param->delType) {
8436 CMCHKPK(SPkU8, param->u.lcgDel.lcgId, mBuf);
8437 CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf);
8438 CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf);
8441 CMCHKPK(SPkU8, param->u.lchDel.lcgId, mBuf);
8442 CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf);
8443 CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf);
8444 CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf);
8447 CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf);
8448 CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf);
8451 CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf);
8454 case RGR_SCELL_UE_CFG:
8455 CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8456 CMCHKPK(SPkU32, param->u.ueScellRel.ueDelTypes, mBuf);
8457 CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf);
8458 CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf);
8464 CMCHKPK(SPkU8, param->delType, mBuf);
8471 /***********************************************************
8473 * Func : cmUnpkRgrUeDlSecCellRelInfo
8476 * Desc : DL Secondary Cell information of the UE
8485 **********************************************************/
8487 PUBLIC S16 cmUnpkRgrUeDlSecCellRelInfo
8489 RgrUeDlSecCellRelInfo *param,
8493 PRIVATE S16 cmUnpkRgrUeDlSecCellRelInfo(param, mBuf)
8494 RgrUeDlSecCellRelInfo *param;
8498 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8499 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
8504 /***********************************************************
8506 * Func : cmUnpkRgrUeSecCellRelInfo
8509 * Desc : Secondary Cell information of the UE
8518 **********************************************************/
8520 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo
8522 RgrUeSecCellRelInfo *param,
8526 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo(param, mBuf)
8527 RgrUeSecCellRelInfo *param;
8533 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
8535 for(idx = 0; idx < param->numSCells;idx++)
8537 CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf);
8543 /***********************************************************
8545 * Func : cmUnpkRgrDel
8548 * Desc : Basic Delete info for MAC
8557 **********************************************************/
8559 PUBLIC S16 cmUnpkRgrDel
8565 PUBLIC S16 cmUnpkRgrDel(param, mBuf)
8573 CMCHKUNPK(SUnpkU8, ¶m->delType, mBuf);
8574 switch(param->delType) {
8576 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf);
8579 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf);
8580 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf);
8583 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf);
8584 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf);
8585 CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf);
8586 CMCHKUNPK(SUnpkU8, ¶m->u.lchDel.lcgId, mBuf);
8589 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf);
8590 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf);
8591 CMCHKUNPK(SUnpkU8, ¶m->u.lcgDel.lcgId, mBuf);
8594 case RGR_SCELL_UE_CFG:
8595 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf);
8596 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf);
8597 CMCHKUNPK(SUnpkU32, ¶m->u.ueScellRel.ueDelTypes, mBuf);
8598 CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8606 /***********************************************************
8608 * Func : cmPkRgrSonPrbCfg
8611 * Desc : SON PRB Configuration info for MAC
8620 **********************************************************/
8622 PUBLIC S16 cmPkRgrSonPrbCfg
8628 PUBLIC S16 cmPkRgrSonPrbCfg(param, mBuf)
8635 for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --)
8637 CMCHKPK(SPkU32, param->paLevelPerPrb[count], mBuf);
8639 for(count = param->numCellCentreUEs - 1; count >= 0; count --)
8641 CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf);
8643 for(count = param->numCellEdgeUEs - 1; count >= 0; count --)
8645 CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf);
8647 CMCHKPK(SPkU8, param->numCellCentreUEs, mBuf);
8648 CMCHKPK(SPkU8, param->numCellEdgeUEs, mBuf);
8649 CMCHKPK(SPkU8, param->isSonIcicEnable, mBuf);
8653 /***********************************************************
8655 * Func : cmUnpkRgrSon
8658 * Desc : SON configuration info for MAC
8667 **********************************************************/
8669 PUBLIC S16 cmUnpkRgrSonPrbCfg
8675 PUBLIC S16 cmUnpkRgrSonPrbCfg(param, mBuf)
8681 TRC3(cmUnpkRgrSonPrbCfg)
8682 CMCHKUNPK(SUnpkU8, ¶m->isSonIcicEnable, mBuf);
8683 CMCHKUNPK(SUnpkU8, ¶m->numCellEdgeUEs, mBuf);
8684 CMCHKUNPK(SUnpkU8, ¶m->numCellCentreUEs, mBuf);
8685 for (count = 0; count < param->numCellEdgeUEs; count++)
8687 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf);
8689 for (count = 0; count < param->numCellCentreUEs; count++)
8691 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf);
8693 for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++)
8695 CMCHKUNPK(SUnpkU32,(U32 *) ¶m->paLevelPerPrb[count], mBuf);
8699 /***********************************************************
8701 * Func : cmPkRgrSonCfg
8704 * Desc : SON Configuration info for MAC
8713 **********************************************************/
8715 PUBLIC S16 cmPkRgrSonCfg
8721 PUBLIC S16 cmPkRgrSonCfg(param, mBuf)
8728 switch(param->cfgType)
8730 case RGR_SON_PRB_CFG :
8731 CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8736 CMCHKPK(SPkU32, param->cfgType, mBuf);
8740 /***********************************************************
8742 * Func : cmUnpkRgrSon
8745 * Desc : SON configuration info for MAC
8754 **********************************************************/
8756 PUBLIC S16 cmUnpkRgrSonCfg
8762 PUBLIC S16 cmUnpkRgrSonCfg(param, mBuf)
8768 TRC3(cmUnpkRgrSonCfg)
8769 CMCHKUNPK(SUnpkU32, (U32 *)¶m->cfgType, mBuf);
8770 switch(param->cfgType)
8772 case RGR_SON_PRB_CFG :
8774 CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8784 /***********************************************************
8789 * Desc : UE RESET info for MAC
8798 **********************************************************/
8800 PUBLIC S16 cmPkRgrRst
8806 PUBLIC S16 cmPkRgrRst(param, mBuf)
8814 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8815 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8821 /***********************************************************
8823 * Func : cmUnpkRgrRst
8826 * Desc : UE RESET info for MAC
8835 **********************************************************/
8837 PUBLIC S16 cmUnpkRgrRst
8843 PUBLIC S16 cmUnpkRgrRst(param, mBuf)
8851 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8852 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8856 /***********************************************************
8858 * Func : cmUnPkRgrSCellActDeactInfo
8861 * Desc : SCell Activation information of the UE
8870 **********************************************************/
8872 PRIVATE S16 cmUnPkRgrSCellActDeactInfo
8874 RgrSCellActDeactInfo *param,
8878 PRIVATE S16 cmUnPkRgrSCellActInfo(param, mBuf)
8879 RgrSCellActDeactInfo *param;
8883 TRC3(cmUnPkRgrSCellActDeactInfo)
8885 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8889 /***********************************************************
8891 * Func : cmUnPkRgrSCellActDeactEvnt
8894 * Desc : SCell Activation Configuration structure to SCH
8903 **********************************************************/
8905 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt
8907 RgrSCellActDeactEvnt *param,
8911 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt(param, mBuf)
8912 RgrSCellActDeactEvnt *param;
8916 TRC3(cmUnPkRgrSCellActDeactEvnt)
8920 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8921 CMCHKUNPK(SUnpkU8, ¶m->numOfSCells, mBuf);
8923 for(idx = 0; idx < param->numOfSCells;idx++)
8925 CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf);
8932 /***********************************************************
8934 * Func : cmPkRgrSCellActInfo
8937 * Desc : SCell Activation information of the UE
8946 **********************************************************/
8948 PRIVATE S16 cmPkRgrSCellActDeactInfo
8950 RgrSCellActDeactInfo *param,
8954 PRIVATE S16 cmPkRgrSCellActDeactInfo(param, mBuf)
8955 RgrSCellActDeactInfo *param;
8959 TRC3(cmPkRgrSCellActDeactInfo)
8961 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8966 /***********************************************************
8968 * Func : cmPkRgrSCellActDeactEvnt
8971 * Desc : Basic Configuration structure at SCH
8980 **********************************************************/
8982 PUBLIC S16 cmPkRgrSCellActDeactEvnt
8984 RgrSCellActDeactEvnt *param,
8988 PUBLIC S16 cmPkRgrSCellActDeactEvnt(param, mBuf)
8989 RgrSCellActDeactEvnt *param;
8994 TRC3(cmPkRgrSCellActDeactEvnt)
8997 for(idx = param->numOfSCells - 1; idx >= 0; idx--)
8999 CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(U8)idx], mBuf);
9002 CMCHKPK(SPkU8, param->numOfSCells, mBuf);
9003 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
9009 #endif /* LTE_ADV */
9011 /***********************************************************
9013 * Func : cmPkRgrCfgReqInfo
9016 * Desc : Basic RGR configuration/reconfiguration info at RRM
9025 **********************************************************/
9027 PUBLIC S16 cmPkRgrCfgReqInfo
9029 RgrCfgReqInfo *param,
9033 PUBLIC S16 cmPkRgrCfgReqInfo(param, mBuf)
9034 RgrCfgReqInfo *param;
9039 TRC3(cmPkRgrCfgReqInfo)
9041 switch(param->action) {
9043 CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9046 CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf);
9049 CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf);
9052 CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9055 CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf);
9059 case RGR_SCELL_DEACT:
9060 case RGR_SCELL_READY:
9061 CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9067 CMCHKPK(SPkU8, param->action, mBuf);
9073 /***********************************************************
9075 * Func : cmUnpkRgrCfgReqInfo
9078 * Desc : Basic RGR configuration/reconfiguration info at RRM
9087 **********************************************************/
9089 PUBLIC S16 cmUnpkRgrCfgReqInfo
9091 RgrCfgReqInfo *param,
9095 PUBLIC S16 cmUnpkRgrCfgReqInfo(param, mBuf)
9096 RgrCfgReqInfo *param;
9101 TRC3(cmUnpkRgrCfgReqInfo)
9103 CMCHKUNPK(SUnpkU8, ¶m->action, mBuf);
9104 switch(param->action) {
9106 CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf);
9109 CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9112 CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf);
9115 CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf);
9118 CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9122 case RGR_SCELL_DEACT:
9123 case RGR_SCELL_READY:
9124 CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9126 #endif /* LTE_ADV */
9133 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
9135 /***********************************************************
9137 * Func : cmPkRgrUeBsrTmrCfg
9140 * Desc : BSR timer configuration per UE
9149 **********************************************************/
9151 PUBLIC S16 cmPkRgrUeBsrTmrCfg
9153 RgrUeBsrTmrCfg *param,
9157 PUBLIC S16 cmPkRgrUeBsrTmrCfg(param, mBuf)
9158 RgrUeBsrTmrCfg *param;
9163 TRC3(cmPkRgrUeBsrTmrCfg)
9165 CMCHKPK(SPkU16, param->prdBsrTmr, mBuf);
9166 CMCHKPK(SPkU16, param->retxBsrTmr, mBuf);
9167 CMCHKPK(SPkU8, param->isPrdBsrTmrPres, mBuf);
9171 /***********************************************************
9173 * Func : cmUnpkRgrUeBsrTmrCfg
9176 * Desc : BSR timer configuration per UE
9185 **********************************************************/
9187 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg
9189 RgrUeBsrTmrCfg *param,
9193 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg(param, mBuf)
9194 RgrUeBsrTmrCfg *param;
9199 TRC3(cmUnpkRgrUeBsrTmrCfg)
9201 CMCHKUNPK(SUnpkU8, ¶m->isPrdBsrTmrPres, mBuf);
9202 CMCHKUNPK(SUnpkU16, ¶m->retxBsrTmr, mBuf);
9203 CMCHKUNPK(SUnpkU16, ¶m->prdBsrTmr, mBuf);
9207 /* rgr_c_001.main_4-ADD-Added for SI Enhancement. */
9209 /***********************************************************
9211 * Func : cmPkRgrSiCfgReq
9214 * Desc : SI Configuration Request from RRM to MAC for
9224 **********************************************************/
9226 PUBLIC S16 cmPkRgrSiCfgReq
9230 RgrCfgTransId transId,
9231 RgrSiCfgReqInfo * cfgReqInfo
9234 PUBLIC S16 cmPkRgrSiCfgReq(pst, spId, transId, cfgReqInfo)
9237 RgrCfgTransId transId;
9238 RgrSiCfgReqInfo * cfgReqInfo;
9241 Buffer *mBuf = NULLP;
9243 TRC3(cmPkRgrSiCfgReq)
9245 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9247 #if (ERRCLASS & ERRCLS_ADD_RES)
9248 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9249 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9250 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
9252 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9253 sizeof(RgrSiCfgReqInfo));
9256 if (cmPkRgrSiCfgReqInfo(cfgReqInfo, 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)ERGR046, (ErrVal)0, "Packing failed");
9262 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9263 sizeof(RgrSiCfgReqInfo));
9267 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
9268 #if (ERRCLASS & ERRCLS_ADD_RES)
9269 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9270 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9271 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
9273 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9274 sizeof(RgrSiCfgReqInfo));
9278 if (SPkS16(spId, mBuf) != ROK) {
9279 #if (ERRCLASS & ERRCLS_ADD_RES)
9280 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9281 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9282 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
9284 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9285 sizeof(RgrSiCfgReqInfo));
9289 if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9290 sizeof(RgrSiCfgReqInfo)) != ROK) {
9291 #if (ERRCLASS & ERRCLS_ADD_RES)
9292 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9293 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9294 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
9300 pst->event = (Event) EVTRGRSICFGREQ;
9301 RETVALUE(SPstTsk(pst,mBuf));
9304 /***********************************************************
9306 * Func : cmUnpkRgrSiCfgReq
9309 * Desc : SI Configuration Request from RRM to MAC for
9319 **********************************************************/
9321 PUBLIC S16 cmUnpkRgrSiCfgReq
9328 PUBLIC S16 cmUnpkRgrSiCfgReq(func, pst, mBuf)
9335 RgrCfgTransId transId;
9336 RgrSiCfgReqInfo *cfgReqInfo;
9338 TRC3(cmUnpkRgrSiCfgReq)
9340 if (SUnpkS16(&spId, mBuf) != ROK) {
9342 #if (ERRCLASS & ERRCLS_ADD_RES)
9343 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9344 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9345 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
9349 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
9351 #if (ERRCLASS & ERRCLS_ADD_RES)
9352 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9353 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9354 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
9358 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,
9359 sizeof(RgrSiCfgReqInfo))) != ROK) {
9360 #if (ERRCLASS & ERRCLS_ADD_RES)
9361 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9362 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9363 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
9368 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrSiCfgReqInfo));
9369 if (pst->selector == RGR_SEL_LC)
9370 if (cmUnpkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9371 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9372 sizeof(RgrSiCfgReqInfo));
9374 #if (ERRCLASS & ERRCLS_ADD_RES)
9375 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9376 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9377 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
9383 RETVALUE((*func)(pst, spId, transId, cfgReqInfo));
9386 /***********************************************************
9388 * Func : cmPkRgrSiCfgReqInfo
9391 * Desc : Basic SI configuration/reconfiguration info at RRM
9400 **********************************************************/
9402 PUBLIC S16 cmPkRgrSiCfgReqInfo
9404 RgrSiCfgReqInfo *param,
9408 PUBLIC S16 cmPkRgrSiCfgReqInfo(param, mBuf)
9409 RgrSiCfgReqInfo *param;
9413 /* ccpu00111328: S16 is renamed as MsgLen */
9416 TRC3(cmPkRgrSiCfgReqInfo)
9418 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9419 CMCHKPK(SPkS32, param->cfgType, mBuf);
9420 CMCHKPK(SPkU8, param->siId, mBuf);
9422 if(NULLP != param->pdu)
9424 if (SFndLenMsg(param->pdu, &msgLen) != ROK)
9426 if (SCatMsg(mBuf, param->pdu, M1M2) != ROK)
9428 SPutMsg(param->pdu);
9429 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9434 CMCHKPK(cmPkMsgLen, 0, mBuf);
9440 /***********************************************************
9442 * Func : cmUnpkRgrSiCfgReqInfo
9445 * Desc : Basic SI configuration/reconfiguration info at RRM
9454 **********************************************************/
9456 PUBLIC S16 cmUnpkRgrSiCfgReqInfo
9458 RgrSiCfgReqInfo *param,
9462 PUBLIC S16 cmUnpkRgrSiCfgReqInfo(param, mBuf)
9463 RgrSiCfgReqInfo *param;
9467 MsgLen msgLen, totalMsgLen;
9468 /*Merge from Mohit Changes*/
9471 TRC3(cmUnpkRgrSiCfgReqInfo)
9473 SFndLenMsg(mBuf, &msgLen);
9476 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9480 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9482 if (SSegMsg(mBuf, totalMsgLen-msgLen, ¶m->pdu) != ROK)
9491 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9492 /*CMCHKUNPK(SUnpkS32, (S32 *)¶m->cfgType, mBuf);*/
9493 /*Merge from Mohit Changes*/
9494 CMCHKUNPK(SUnpkS32,(S32 *)&cfgType, mBuf);
9495 param->cfgType = (RgrSiCfgType) cfgType;
9496 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9503 /***********************************************************
9505 * Func : cmPkRgrWarningSiCfgReq
9508 * Desc : SI Configuration Request from RRM to MAC for
9509 * configuring warning SI
9518 **********************************************************/
9520 PUBLIC S16 cmPkRgrWarningSiCfgReq
9524 RgrCfgTransId transId,
9525 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo
9528 PUBLIC S16 cmPkRgrWarningSiCfgReq(pst, spId, transId, warningSiCfgReqInfo)
9531 RgrCfgTransId transId;
9532 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo;
9535 Buffer *mBuf = NULLP;
9537 TRC3(cmPkRgrWarningSiCfgReq)
9539 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9541 #if (ERRCLASS & ERRCLS_ADD_RES)
9542 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9543 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9544 (ErrVal)ERGR061, (ErrVal)0, "Packing failed");
9546 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9547 sizeof(RgrWarningSiCfgReqInfo));
9551 if (cmPkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9553 #if (ERRCLASS & ERRCLS_ADD_RES)
9554 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9555 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9556 (ErrVal)ERGR062, (ErrVal)0, "Packing failed");
9558 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9559 sizeof(RgrWarningSiCfgReqInfo));
9564 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9566 #if (ERRCLASS & ERRCLS_ADD_RES)
9567 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9568 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9569 (ErrVal)ERGR063, (ErrVal)0, "Packing failed");
9571 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9572 sizeof(RgrWarningSiCfgReqInfo));
9577 if (SPkS16(spId, mBuf) != ROK)
9579 #if (ERRCLASS & ERRCLS_ADD_RES)
9580 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9581 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9582 (ErrVal)ERGR064, (ErrVal)0, "Packing failed");
9584 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9585 sizeof(RgrWarningSiCfgReqInfo));
9590 /* if the application wants to retain this structure, the below
9591 * code should be removed */
9592 if (SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9593 sizeof(RgrWarningSiCfgReqInfo)) != ROK)
9595 #if (ERRCLASS & ERRCLS_ADD_RES)
9596 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9597 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9598 (ErrVal)ERGR065, (ErrVal)0, "Packing failed");
9604 pst->event = (Event) EVTRGRWARNINGSICFGREQ;
9605 RETVALUE(SPstTsk(pst,mBuf));
9606 }/*cmPkRgrWarningSiCfgReq*/
9609 /***********************************************************
9611 * Func : cmUnpkRgrWarningSiCfgReq
9614 * Desc : SI Configuration Request from RRM to MAC for
9615 * configuring warning SI
9624 **********************************************************/
9626 PUBLIC S16 cmUnpkRgrWarningSiCfgReq
9628 RgrWarningSiCfgReq func,
9633 PUBLIC S16 cmUnpkRgrWarningSiCfgReq(func, pst, mBuf)
9634 RgrWarningSiCfgReq func;
9640 RgrCfgTransId transId;
9641 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo;
9643 TRC3(cmUnpkRgrWarningSiCfgReq)
9645 if (SUnpkS16(&spId, mBuf) != ROK)
9648 #if (ERRCLASS & ERRCLS_ADD_RES)
9649 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9650 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9651 (ErrVal)ERGR066, (ErrVal)0, "Packing failed");
9656 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9659 #if (ERRCLASS & ERRCLS_ADD_RES)
9660 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9661 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9662 (ErrVal)ERGR067, (ErrVal)0, "Packing failed");
9667 if ((SGetSBuf(pst->region, pst->pool, (Data **)&warningSiCfgReqInfo,
9668 sizeof(RgrWarningSiCfgReqInfo))) != ROK)
9670 #if (ERRCLASS & ERRCLS_ADD_RES)
9671 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9672 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9673 (ErrVal)ERGR068, (ErrVal)0, "Packing failed");
9680 if (pst->selector == RGR_SEL_LC)
9682 if (cmUnpkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9684 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9685 sizeof(RgrWarningSiCfgReqInfo));
9687 #if (ERRCLASS & ERRCLS_ADD_RES)
9688 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9689 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9690 (ErrVal)ERGR069, (ErrVal)0, "Packing failed");
9697 RETVALUE((*func)(pst, spId, transId, warningSiCfgReqInfo));
9698 } /* cmUnpkRgrWarningSiCfgReq */
9701 /***********************************************************
9703 * Func : cmPkRgrWarningSiCfgReqInfo
9706 * Desc : Basic warning SI configuration/reconfiguration
9716 **********************************************************/
9718 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo
9721 RgrWarningSiCfgReqInfo *param,
9725 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9727 RgrWarningSiCfgReqInfo *param;
9733 CmLList *node, *prevNode;
9734 RgrSegmentInfo *pdu;
9736 TRC3(cmPkRgrWarningSiCfgReqInfo)
9738 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
9740 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9741 CMCHKPK(SPkU8, param->siId, mBuf);
9743 count = param->siPduLst.count;
9744 node = param->siPduLst.last;
9747 pdu = (RgrSegmentInfo *)node->node;
9748 prevNode= node->prev;
9751 if (SFndLenMsg(pdu->pdu, &msgLen) != ROK)
9753 if (SCatMsg(mBuf, pdu->pdu, M1M2) != ROK)
9755 /* The PDU is not Released. This has to be done by
9756 * the caller of the packing function */
9757 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9760 cmLListDelFrm(¶m->siPduLst, node);
9761 SPutSBuf(pst->region, pst->pool, (Data *)node, sizeof(RgrSegmentInfo));
9764 CMCHKPK(SPkU32, count, mBuf);
9769 /***********************************************************
9771 * Func : cmUnpkRgrWarningSiCfgReqInfo
9774 * Desc : Unpack warning SI configuration info at SCH
9783 **********************************************************/
9785 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo
9788 RgrWarningSiCfgReqInfo *param,
9792 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9794 RgrWarningSiCfgReqInfo *param;
9798 MsgLen msgLen, totalMsgLen;
9803 TRC3(cmUnpkRgrWarningSiCfgReqInfo)
9805 cmLListInit(¶m->siPduLst);
9806 CMCHKUNPK(SUnpkU32, &count, mBuf);
9807 for (loopCnt=0; loopCnt<count; loopCnt++)
9809 if(SFndLenMsg(mBuf, &msgLen) != ROK)
9816 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9817 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9821 if (SSegMsg(mBuf, totalMsgLen-msgLen, &pdu) != ROK)
9830 if ((SGetSBuf(pst->region, pst->pool, (Data **)&node,
9831 sizeof(CmLList))) != ROK)
9833 node->node = (PTR)pdu;
9834 cmLListAdd2Tail(¶m->siPduLst, node);
9837 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9838 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9839 CMCHKPK(SUnpkU8, ¶m->emtcEnable, mBuf);
9845 /***********************************************************
9847 * Func : cmPkRgrWarningSiStopReq
9849 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
9856 **********************************************************/
9858 PUBLIC S16 cmPkRgrWarningSiStopReq
9862 RgrCfgTransId transId,
9866 PUBLIC S16 cmPkRgrWarningSiStopReq(pst,spId, transId, siId)
9869 RgrCfgTransId transId;
9873 Buffer *mBuf = NULLP;
9875 TRC3(cmPkRgrWarningSiStopReq)
9877 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9879 #if (ERRCLASS & ERRCLS_ADD_RES)
9880 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9881 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9882 (ErrVal)ERGR070, (ErrVal)0, "Packing failed");
9887 CMCHKPK(SPkU8, siId, mBuf);
9890 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9892 #if (ERRCLASS & ERRCLS_ADD_RES)
9893 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9894 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9895 (ErrVal)ERGR082, (ErrVal)0, "Packing failed");
9902 if (SPkS16(spId, mBuf) != ROK)
9904 #if (ERRCLASS & ERRCLS_ADD_RES)
9905 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9906 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9907 (ErrVal)ERGR071, (ErrVal)0, "Packing failed");
9913 pst->event = (Event) EVTRGRWARNINGSISTOPREQ;
9914 RETVALUE(SPstTsk(pst,mBuf));
9915 }/*cmPkRgrWarningSiStopReq */
9918 /***********************************************************
9920 * Func : cmUnpkRgrWarningSiStopReq
9922 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
9929 **********************************************************/
9931 PUBLIC S16 cmUnpkRgrWarningSiStopReq
9933 RgrWarningSiStopReq func,
9938 PUBLIC S16 cmUnpkRgrWarningSiStopReq(param, mBuf)
9939 RgrWarningSiStopReq func;
9946 RgrCfgTransId transId;
9948 TRC3(cmUnpkRgrWarningSiStopReq)
9950 if (SUnpkS16(&spId, mBuf) != ROK)
9953 #if (ERRCLASS & ERRCLS_ADD_RES)
9954 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9955 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9956 (ErrVal)ERGR072, (ErrVal)0, "Packing failed");
9961 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9964 #if (ERRCLASS & ERRCLS_ADD_RES)
9965 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9966 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9967 (ErrVal)ERGR083, (ErrVal)0, "Packing failed");
9972 CMCHKUNPK(SUnpkU8, &siId, mBuf);
9976 RETVALUE((*func)(pst, spId, transId, siId));
9977 } /*cmUnpkRgrWarningSiStopReq */
9980 /***********************************************************
9982 * Func : cmPkRgrWarningSiCfgCfm
9985 * Desc : Warning SI Configuration Confirm from MAC to RRM
9994 **********************************************************/
9996 PUBLIC S16 cmPkRgrWarningSiCfgCfm
10000 RgrCfgTransId transId,
10005 PUBLIC S16 cmPkRgrWarningSiCfgCfm(pst, suId, transId, siId, status)
10008 RgrCfgTransId transId;
10013 Buffer *mBuf = NULLP;
10015 TRC3(cmPkRgrWarningSiCfgCfm)
10017 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10019 #if (ERRCLASS & ERRCLS_ADD_RES)
10020 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10021 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10022 (ErrVal)ERGR073, (ErrVal)0, "Packing failed");
10027 if (SPkU8(status, 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)ERGR074, (ErrVal)0, "Packing failed");
10038 if (SPkU8(siId, 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)ERGR075, (ErrVal)0, "Packing failed");
10049 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
10051 #if (ERRCLASS & ERRCLS_ADD_RES)
10052 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10053 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10054 (ErrVal)ERGR076, (ErrVal)0, "Packing failed");
10060 if (SPkS16(suId, mBuf) != ROK)
10062 #if (ERRCLASS & ERRCLS_ADD_RES)
10063 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10064 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10065 (ErrVal)ERGR077, (ErrVal)0, "Packing failed");
10071 pst->event = (Event) EVTRGRWARNINGSICFGCFM;
10072 RETVALUE(SPstTsk(pst,mBuf));
10073 } /* cmPkRgrWarningSiCfgCfm */
10076 /***********************************************************
10078 * Func : cmUnpkRgrwarningSiCfgCfm
10081 * Desc : Warning SI Configuration Confirm from MAC to RRM
10090 **********************************************************/
10092 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm
10094 RgrWarningSiCfgCfm func,
10099 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm(func, pst, mBuf)
10100 RgrWarningSiCfgCfm func;
10107 RgrCfgTransId transId;
10110 TRC3(cmUnpkRgrWarningSiCfgCfm)
10112 if (SUnpkS16(&suId, 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)ERGR078, (ErrVal)0, "Packing failed");
10123 if (cmUnpkRgrCfgTransId(&transId, 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)ERGR079, (ErrVal)0, "Packing failed");
10134 if (SUnpkU8(&siId, mBuf) != ROK)
10137 #if (ERRCLASS & ERRCLS_ADD_RES)
10138 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10139 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10140 (ErrVal)ERGR080, (ErrVal)0, "Packing failed");
10145 if (SUnpkU8(&status, mBuf) != ROK)
10148 #if (ERRCLASS & ERRCLS_ADD_RES)
10149 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10150 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10151 (ErrVal)ERGR081, (ErrVal)0, "Packing failed");
10156 RETVALUE((*func)(pst, suId, transId, siId, status));
10157 }/* cmUnpkRgrwarningSiCfgCfm */
10158 #endif/*RGR_SI_SCH*/
10160 /* LTE_ADV_FLAG_REMOVED_START */
10161 /***********************************************************
10163 * Func : cmPkRgrLoadInfReq
10166 * Desc : LOAD INF Configuration Request from RRM to MAC for
10167 * configuring RNTP, ABS etc
10176 **********************************************************/
10178 PUBLIC S16 cmPkRgrLoadInfReq
10182 RgrCfgTransId transId,
10183 RgrLoadInfReqInfo * loadInfReq
10186 PUBLIC S16 cmPkRgrLoadInfReq(pst, spId, transId, loadInfReq)
10189 RgrCfgTransId transId;
10190 RgrLoadInfReqInfo * loadInfReq;
10193 Buffer *mBuf = NULLP;
10195 TRC3(cmPkRgrLoadInfReq)
10197 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10199 #if (ERRCLASS & ERRCLS_ADD_RES)
10200 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10201 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10202 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
10204 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10205 sizeof(RgrLoadInfReqInfo));
10208 if (cmPkRgrLoadInfReqInfo(loadInfReq, 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)ERGR046, (ErrVal)0, "Packing failed");
10214 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10215 sizeof(RgrLoadInfReqInfo));
10219 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
10220 #if (ERRCLASS & ERRCLS_ADD_RES)
10221 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10222 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10223 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
10225 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10226 sizeof(RgrLoadInfReqInfo));
10230 if (SPkS16(spId, mBuf) != ROK) {
10231 #if (ERRCLASS & ERRCLS_ADD_RES)
10232 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10233 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10234 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
10236 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10237 sizeof(RgrLoadInfReqInfo));
10241 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10242 sizeof(RgrLoadInfReqInfo)) != ROK) {
10243 #if (ERRCLASS & ERRCLS_ADD_RES)
10244 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10245 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10246 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
10252 pst->event = (Event) EVTRGRLOADINFREQ;
10253 RETVALUE(SPstTsk(pst,mBuf));
10256 /***********************************************************
10258 * Func : cmUnpkRgrLoadInfReq
10261 * Desc : LOAD INF Configuration Request from RRM to MAC for
10262 * configuring RNTP, ABS etc
10271 **********************************************************/
10273 PUBLIC S16 cmUnpkRgrLoadInfReq
10275 RgrLoadInfReq func,
10280 PUBLIC S16 cmUnpkRgrLoadInfReq(func, pst, mBuf)
10281 RgrLoadInfReq func;
10287 RgrCfgTransId transId;
10288 RgrLoadInfReqInfo *loadInfReq;
10290 TRC3(cmUnpkRgrLoadInfReq)
10292 if (SUnpkS16(&spId, mBuf) != ROK) {
10294 #if (ERRCLASS & ERRCLS_ADD_RES)
10295 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10296 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10297 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
10302 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
10304 #if (ERRCLASS & ERRCLS_ADD_RES)
10305 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10306 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10307 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
10312 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfReq,
10313 sizeof(RgrLoadInfReqInfo))) != ROK) {
10314 #if (ERRCLASS & ERRCLS_ADD_RES)
10315 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10316 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10317 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
10323 cmMemset((U8 *)loadInfReq, 0, sizeof(RgrLoadInfReqInfo));
10325 if (pst->selector == RGR_SEL_LC)
10326 if (cmUnpkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10327 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10328 sizeof(RgrLoadInfReqInfo));
10330 #if (ERRCLASS & ERRCLS_ADD_RES)
10331 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10332 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10333 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
10339 RETVALUE((*func)(pst, spId, transId, loadInfReq));
10342 /***********************************************************
10344 * Func : cmPkRgrLoadInfReqInfo
10347 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10356 **********************************************************/
10358 PUBLIC S16 cmPkRgrLoadInfReqInfo
10360 RgrLoadInfReqInfo *param,
10364 PUBLIC S16 cmPkRgrLoadInfReqInfo(param, mBuf)
10365 RgrLoadInfReqInfo *param;
10369 TRC3(cmPkRgrLoadInfReqInfo)
10371 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10372 CMCHKPK(SPkU8, param->rgrCcPHighStartRb, mBuf);
10373 CMCHKPK(SPkU8, param->rgrCcPHighEndRb, mBuf);
10378 /***********************************************************
10380 * Func : cmUnpkRgrLoadInfReqInfo
10383 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10392 **********************************************************/
10394 PUBLIC S16 cmUnpkRgrLoadInfReqInfo
10396 RgrLoadInfReqInfo *param,
10400 PUBLIC S16 cmUnpkRgrLoadInfReqInfo(param, mBuf)
10401 RgrLoadInfReqInfo *param;
10405 TRC3(cmUnpkRgrLoadInfReqInfo)
10407 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighEndRb, mBuf);
10408 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighStartRb, mBuf);
10409 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10413 /* LTE_ADV_FLAG_REMOVED_END */
10415 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
10416 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
10417 #ifdef RGR_CQI_REPT
10419 /***********************************************************
10421 * Func : cmPkRgrUeCqiReptCfg
10424 * Desc : Transaction ID between MAC and RRM
10433 **********************************************************/
10435 PUBLIC S16 cmPkRgrUeCqiReptCfg
10437 RgrUeCqiReptCfg *param,
10441 PUBLIC S16 cmPkRgrUeCqiReptCfg(param, mBuf)
10442 RgrUeCqiReptCfg *param;
10446 TRC3(cmPkRgrUeCqiReptCfg)
10448 CMCHKPK(SPkU8, param->numColltdCqiRept, mBuf);
10454 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10455 /***********************************************************
10457 * Func : cmUnpkRgrUeCqiReptCfg
10460 * Desc : Transaction ID between MAC and RRM
10469 **********************************************************/
10471 PUBLIC S16 cmUnpkRgrUeCqiReptCfg
10473 RgrUeCqiReptCfg *param,
10477 PUBLIC S16 cmUnpkRgrUeCqiReptCfg(param, mBuf)
10478 RgrUeCqiReptCfg *param;
10482 TRC3(cmUnpkRgrUeCqiReptCfg)
10484 CMCHKUNPK(SUnpkU8, ¶m->numColltdCqiRept, mBuf);
10490 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10491 /***********************************************************
10493 * Func : cmPkRgrStaInd
10496 * Desc : Packing Sta Indication sent to RRM
10505 **********************************************************/
10507 PUBLIC S16 cmPkRgrStaInd
10511 RgrStaIndInfo* staInd
10514 PUBLIC S16 cmPkRgrStaInd(pst, suId, staInd)
10517 RgrStaIndInfo* staInd;
10520 Buffer *mBuf = NULLP;
10521 TRC3(cmPkRgrStaInd)
10523 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10525 #if (ERRCLASS & ERRCLS_ADD_RES)
10526 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10527 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10528 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
10530 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10531 sizeof(RgrStaIndInfo));
10535 if (cmPkRgrStaIndInfo(staInd, mBuf) != ROK)
10537 #if (ERRCLASS & ERRCLS_ADD_RES)
10538 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10539 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10540 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
10542 SPutSBuf(pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo));
10547 if (SPkS16(suId, mBuf) != ROK)
10549 #if (ERRCLASS & ERRCLS_ADD_RES)
10550 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10551 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10552 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
10554 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10555 sizeof(RgrStaIndInfo));
10560 if (SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10561 sizeof(RgrStaIndInfo)) != ROK)
10563 #if (ERRCLASS & ERRCLS_ADD_RES)
10564 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10565 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10566 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
10572 pst->event = (Event) EVTRGRSTAIND;
10573 RETVALUE(SPstTsk(pst,mBuf));
10576 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10577 /***********************************************************
10579 * Func : cmUnpkRgrStaInd
10582 * Desc : Unpacking Sta Indication sent to RRM
10590 **********************************************************/
10592 PUBLIC S16 cmUnpkRgrStaInd
10599 PUBLIC S16 cmUnpkRgrStaInd(func, pst, mBuf)
10606 RgrStaIndInfo *staInd;
10608 TRC3(cmUnpkRgrStaInd)
10610 if (SUnpkS16(&suId, mBuf) != ROK)
10613 #if (ERRCLASS & ERRCLS_ADD_RES)
10614 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10615 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10616 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
10621 if ((SGetSBuf(pst->region, pst->pool, (Data **)&staInd,
10622 sizeof(RgrStaIndInfo))) != ROK)
10624 #if (ERRCLASS & ERRCLS_ADD_RES)
10625 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10626 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10627 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
10633 if (cmUnpkRgrStaIndInfo(staInd, mBuf) != ROK)
10635 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10636 sizeof(RgrStaIndInfo));
10638 #if (ERRCLASS & ERRCLS_ADD_RES)
10639 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10640 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10641 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
10647 RETVALUE((*func)(pst, suId, staInd));
10650 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10651 /***********************************************************
10653 * Func : cmPkRgrStaIndInfo
10656 * Desc : Packing of StaIndInfo structure
10664 **********************************************************/
10666 PUBLIC S16 cmPkRgrStaIndInfo
10668 RgrStaIndInfo *param,
10672 PUBLIC S16 cmPkRgrStaIndInfo(param, mBuf)
10673 RgrStaIndInfo *param;
10678 TRC3(cmPkRgrStaIndInfo)
10680 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10681 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
10682 CMCHKPK(cmPkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10686 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10687 /***********************************************************
10689 * Func : cmUnpkRgrStaIndInfo
10692 * Desc : Unpacking of StaIndInfo structure
10700 **********************************************************/
10702 PUBLIC S16 cmUnpkRgrStaIndInfo
10704 RgrStaIndInfo *param,
10708 PUBLIC S16 cmUnpkRgrStaIndInfo(param, mBuf)
10709 RgrStaIndInfo *param;
10714 TRC3(cmUnpkRgrStaIndInfo)
10716 CMCHKUNPK(cmUnpkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10717 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
10718 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10722 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10723 /***********************************************************
10725 * Func : cmPkRgrUeCqiInfo
10728 * Desc : Packing of StaIndInfo structure
10736 **********************************************************/
10738 PUBLIC S16 cmPkRgrUeCqiInfo
10740 RgrUeCqiInfo *param,
10744 PUBLIC S16 cmPkRgrUeCqiInfo(param, mBuf)
10745 RgrUeCqiInfo *param;
10751 TRC3(cmPkRgrUeCqiInfo)
10753 for (idx = param->numCqiRept - 1; idx >= 0; idx--)
10755 CMCHKPK(cmPkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10757 CMCHKPK(SPkU8, param->numCqiRept, mBuf);
10760 } /* cmPkRgrUeCqiInfo */
10762 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10763 /***********************************************************
10765 * Func : cmUnpkRgrUeCqiInfo
10768 * Desc : Packing of StaIndInfo structure
10776 **********************************************************/
10778 PUBLIC S16 cmUnpkRgrUeCqiInfo
10780 RgrUeCqiInfo *param,
10784 PUBLIC S16 cmUnpkRgrUeCqiInfo(param, mBuf)
10785 RgrUeCqiInfo *param;
10791 TRC3(cmUnpkRgrUeCqiInfo)
10793 CMCHKUNPK(SUnpkU8, ¶m->numCqiRept, mBuf);
10794 for (idx = 0; idx < param->numCqiRept; idx++)
10796 CMCHKUNPK(cmUnpkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10800 } /* cmUnpkRgrUeCqiInfo */
10802 /***********************************************************
10804 * Func : cmPkRgrSubBandCqiInfo
10807 * Desc : Packing ofcmPkRgrSubBandCqiInfo structure
10815 **********************************************************/
10817 PUBLIC S16 cmPkRgrSubBandCqiInfo
10819 RgrSubBandCqiInfo *param,
10823 PUBLIC S16 cmPkRgrSubBandCqiInfo(param, mBuf)
10824 RgrSubBandCqiInfo *param;
10829 TRC3(cmPkRgrSubBandCqiInfo)
10831 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10832 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10833 CMCHKPK(SPkU8, param->subBandIdx, mBuf);
10836 } /* cmPkRgrSubBandCqiInfo */
10838 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10839 /***********************************************************
10841 * Func : cmPkRgrUeCqiRept
10844 * Desc : Packing of StaIndInfo structure
10852 **********************************************************/
10854 PUBLIC S16 cmPkRgrUeCqiRept
10856 RgrUeCqiRept *param,
10860 PUBLIC S16 cmPkRgrUeCqiRept(param, mBuf)
10861 RgrUeCqiRept *param;
10868 TRC3(cmPkRgrUeCqiRept)
10870 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10871 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10872 CMCHKPK(SPkU8, param->cqiMode, mBuf);
10873 for (idx = param->numSubBand - 1; idx >= 0; idx--)
10876 CMCHKPK(cmPkRgrSubBandCqiInfo, ¶m->sbCqiInfo[count], mBuf);
10878 CMCHKPK(SPkU8, param->numSubBand, mBuf);
10880 } /* cmPkRgrUeCqiRept */
10882 /***********************************************************
10884 * Func :cmUnpkRgrSubBandCqiInfo
10887 * Desc : Packing of cmUnpkRgrSubBandCqiInfo structure
10895 **********************************************************/
10897 PUBLIC S16 cmUnpkRgrSubBandCqiInfo
10899 RgrSubBandCqiInfo *param,
10903 PUBLIC S16 cmUnpkRgrSubBandCqiInfo(param, mBuf)
10904 RgrSubBandCqiInfo *param;
10909 TRC3(cmUnpkRgrSubBandCqiInfo)
10911 CMCHKUNPK(SUnpkU8, ¶m->subBandIdx, mBuf);
10912 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
10913 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
10916 } /* cmUnpkRgrSubBandCqiInfo*/
10918 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10919 /***********************************************************
10921 * Func : cmUnpkRgrUeCqiRept
10924 * Desc : Packing of StaIndInfo structure
10932 **********************************************************/
10934 PUBLIC S16 cmUnpkRgrUeCqiRept
10936 RgrUeCqiRept *param,
10940 PUBLIC S16 cmUnpkRgrUeCqiRept(param, mBuf)
10941 RgrUeCqiRept *param;
10947 TRC3(cmUnpkRgrUeCqiRept)
10948 CMCHKUNPK(SUnpkU8, ¶m->numSubBand, mBuf);
10949 for (idx = 0; idx < param->numSubBand; idx++)
10951 CMCHKUNPK(cmUnpkRgrSubBandCqiInfo, ¶m->sbCqiInfo[idx], mBuf);
10953 CMCHKUNPK(SUnpkU8, ¶m->cqiMode, mBuf);
10954 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
10955 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
10958 } /* cmUnpkRgrUeCqiRept */
10959 #endif /* End of ifdef RGR_CQI_REPT */
10961 /* LTE_ADV_FLAG_REMOVED_START */
10962 /***********************************************************
10964 * Func : cmPkRgrLoadInfInd
10967 * Desc : Packing LOAD INFORMATION Indication sent to RRM
10976 **********************************************************/
10978 PUBLIC S16 cmPkRgrLoadInfInd
10982 RgrLoadInfIndInfo* loadInfInd
10985 PUBLIC S16 cmPkRgrLoadInfInd(pst, suId, loadInfInd)
10988 RgrLoadInfIndInfo* loadInfInd;
10991 Buffer *mBuf = NULLP;
10992 TRC3(cmPkRgrLoadInfInd)
10994 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10996 #if (ERRCLASS & ERRCLS_ADD_RES)
10997 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10998 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10999 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11001 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11002 sizeof(RgrLoadInfIndInfo));
11006 if (cmPkRgrLoadInfIndInfo(loadInfInd, mBuf) != ROK)
11008 #if (ERRCLASS & ERRCLS_ADD_RES)
11009 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11010 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11011 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11013 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11014 sizeof(RgrLoadInfIndInfo));
11020 if (SPkS16(suId, mBuf) != ROK)
11022 #if (ERRCLASS & ERRCLS_ADD_RES)
11023 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11024 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11025 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11027 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11028 sizeof(RgrLoadInfIndInfo));
11033 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11034 sizeof(RgrLoadInfIndInfo)) != ROK)
11036 #if (ERRCLASS & ERRCLS_ADD_RES)
11037 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11038 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11039 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11045 pst->event = (Event) EVTRGRLOADINFIND;
11046 RETVALUE(SPstTsk(pst,mBuf));
11049 /***********************************************************
11051 * Func : cmUnpkRgrLoadInfInd
11054 * Desc : Unpacking LOAD INFORMATION Indication sent to RRM
11062 **********************************************************/
11064 PUBLIC S16 cmUnpkRgrLoadInfInd
11066 RgrLoadInfInd func,
11071 PUBLIC S16 cmUnpkRgrLoadInfInd(func, pst, mBuf)
11072 RgrLoadInfInd func;
11078 RgrLoadInfIndInfo *loadInfInd = NULLP; /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11080 TRC3(cmUnpkRgrLoadInfInd)
11082 if (SUnpkS16(&suId, mBuf) != ROK)
11085 #if (ERRCLASS & ERRCLS_ADD_RES)
11086 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11087 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11088 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11093 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfInd,
11094 sizeof(RgrLoadInfIndInfo))) != ROK)
11096 #if (ERRCLASS & ERRCLS_ADD_RES)
11097 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11098 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11099 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11105 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11106 if (cmUnpkRgrLoadInfIndInfo(loadInfInd, pst, mBuf) != ROK)
11108 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11109 sizeof(RgrLoadInfIndInfo));
11111 #if (ERRCLASS & ERRCLS_ADD_RES)
11112 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11113 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11114 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11120 RETVALUE((*func)(pst, suId, loadInfInd));
11124 /***********************************************************
11126 * Func : cmPkRgrLoadInfIndInfo
11129 * Desc : Packing of LoadInfIndInfo structure
11137 **********************************************************/
11139 PUBLIC S16 cmPkRgrLoadInfIndInfo
11141 RgrLoadInfIndInfo *param,
11145 PUBLIC S16 cmPkRgrLoadInfIndInfo(param, mBuf)
11146 RgrLoadInfIndInfo *param;
11151 TRC3(cmPkRgrLoadInfIndInfo)
11153 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11154 CMCHKPK(SPkU16, param->bw, mBuf);
11155 if(RGR_ABS == param->type)
11157 for(idx = 0; idx < RGR_ABS_PATTERN_LEN; idx++)
11159 CMCHKPK(SPkU32, param->u.absLoadInfo[idx], mBuf);
11164 CMCHKPK(cmPkTknStrOSXL, ¶m->u.rntpInfo, mBuf);
11167 CMCHKPK(SPkU32, param->type, mBuf);
11172 /***********************************************************
11174 * Func : cmUnpkRgrLoadInfIndInfo
11177 * Desc : Unpacking of LoadInfIndInfo structure
11185 **********************************************************/
11187 PUBLIC S16 cmUnpkRgrLoadInfIndInfo
11189 RgrLoadInfIndInfo *param,
11194 PUBLIC S16 cmUnpkRgrLoadInfIndInfo(param, pst, mBuf)
11195 RgrLoadInfIndInfo *param;
11202 /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11203 TknStrOSXL *tknStr;
11206 TRC3(cmUnpkRgrLoadInfIndInfo)
11208 CMCHKUNPK(SUnpkU32, ¶m->type, mBuf);
11209 if(RGR_ABS == param->type)
11211 for(idx = RGR_ABS_PATTERN_LEN -1 ; idx >= 0; idx--)
11213 CMCHKUNPK(SUnpkU32, ¶m->u.absLoadInfo[(U8)idx], mBuf);
11219 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** Start */
11220 tknStr = ¶m->u.rntpInfo;
11222 CMCHKUNPK(SUnpkU8, &tknStr->pres, mBuf);
11227 CMCHKUNPK(SUnpkU16, &tknStr->len, mBuf);
11229 if ((SGetSBuf(pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) {
11230 #if (ERRCLASS & ERRCLS_ADD_RES)
11231 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11232 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11233 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
11240 for (ndx = 1; ndx <= tknStr->len; ndx++)
11242 CMCHKUNPK(SUnpkU8, &tknStr->val[tknStr->len - ndx], mBuf);
11246 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** End */
11248 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11249 CMCHKUNPK(SUnpkU16, ¶m->bw, mBuf);
11251 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
11255 /* LTE_ADV_FLAG_REMOVED_END */
11258 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11259 /***********************************************************
11261 * Func : cmPkRgrUepACfg
11264 * Desc : Transaction ID between MAC and RRM
11273 **********************************************************/
11275 PUBLIC S16 cmPkRgrUepACfg
11281 PUBLIC S16 cmPkRgrUepACfg(param, mBuf)
11286 TRC3(cmPkRgrUepACfg)
11290 CMCHKPK(SPkU32, param->pA, mBuf);
11292 CMCHKPK(SPkU8, param->pAPrsnt, mBuf);
11298 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11299 /***********************************************************
11301 * Func : cmUnpkRgrUepACfg
11304 * Desc : Transaction ID between MAC and RRM
11313 **********************************************************/
11315 PUBLIC S16 cmUnpkRgrUepACfg
11321 PUBLIC S16 cmUnpkRgrUepACfg(param, mBuf)
11327 TRC3(cmUnpkRgrUepACfg)
11329 CMCHKUNPK(SUnpkU8, (U8 *)¶m->pAPrsnt, mBuf);
11330 if (param->pAPrsnt)
11332 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
11333 param->pA = (RgrUeDlPwrCntrlPaCfg) tmpEnum;
11339 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11340 /***********************************************************
11342 * Func : cmPkRgrUePdschDedCfg
11345 * Desc : Transaction ID between MAC and RRM
11354 **********************************************************/
11356 PUBLIC S16 cmPkRgrUePdschDedCfg
11358 RgrUePdschDedCfg *param,
11362 PUBLIC S16 cmPkRgrUePdschDedCfg(param, mBuf)
11363 RgrUePdschDedCfg *param;
11367 TRC3(cmPkRgrUePdschDedCfg)
11369 CMCHKPK(cmPkRgrUepACfg, ¶m->uepACfg, mBuf);
11375 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11376 /***********************************************************
11378 * Func : cmUnpkRgrUePdschDedCfg
11381 * Desc : Transaction ID between MAC and RRM
11390 **********************************************************/
11392 PUBLIC S16 cmUnpkRgrUePdschDedCfg
11394 RgrUePdschDedCfg *param,
11398 PUBLIC S16 cmUnpkRgrUePdschDedCfg(param, mBuf)
11399 RgrUePdschDedCfg *param;
11403 TRC3(cmUnpkRgrUePdschDedCfg)
11405 CMCHKUNPK(cmUnpkRgrUepACfg, ¶m->uepACfg, mBuf);
11414 /***********************************************************
11416 * Func : cmPkRgrUeUlPwrDedSCellCfg
11419 * Desc : DL Secondary Cell UL PC Info
11428 **********************************************************/
11430 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg
11432 RgrUeUlPwrDedSCellCfg *param,
11436 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg(param, mBuf)
11437 RgrUeUlPwrDedSCellCfg *param;
11441 TRC3(cmPkRgrUeUlPwrDedSCellCfg)
11442 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
11443 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
11444 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
11445 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
11450 /***********************************************************
11452 * Func : cmUnpkRgrUeUlPwrDedSCellCfg
11455 * Desc : Uplink power configuration per UE
11464 **********************************************************/
11466 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg
11468 RgrUeUlPwrDedSCellCfg *param,
11472 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg(param, mBuf)
11473 RgrUeUlPwrDedSCellCfg *param;
11478 TRC3(cmUnpkRgrUeUlPwrDedSCellCfg)
11480 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
11481 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
11482 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
11483 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
11490 /***********************************************************
11492 * Func : cmPkRgrUeSecCellCfg
11495 * Desc : DL Secondary Cell information of the UE
11504 **********************************************************/
11506 PRIVATE S16 cmPkRgrUeSecCellCfg
11508 RgrUeSecCellCfg *param,
11512 PRIVATE S16 cmPkRgrUeSecCellCfg(param, mBuf)
11513 RgrUeSecCellCfg *param;
11517 CMCHKPK(cmPkRgrUeUlPwrDedSCellCfg,¶m->ueSCellUlDedPwrCfg, mBuf);
11518 CMCHKPK(SPkU8, param->isUlCaEnabled, mBuf);
11519 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11521 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11522 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11524 CMCHKPK(cmPkRgrUeDlCqiCfg,¶m->ueSCellDlCqiCfg, mBuf);
11525 CMCHKPK(cmPkTknU32, ¶m->sCellDeActTmr, mBuf);
11526 CMCHKPK(SPkU16, param->sCellId, mBuf);
11527 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
11534 /***********************************************************
11536 * Func : cmPkRgrUeSecCellInfo
11539 * Desc : Secondary Cell information of the UE
11548 **********************************************************/
11550 PUBLIC S16 cmPkRgrUeSecCellInfo
11552 RgrUeSecCellInfo *param,
11556 PUBLIC S16 cmPkRgrUeSecCellInfo(param, mBuf)
11557 RgrUeSecCellInfo *param;
11562 for(idx = param->numSCells - 1; idx >= 0; idx--)
11564 CMCHKPK(cmPkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[(U8)idx],mBuf);
11567 CMCHKPK(SPkU8, param->numSCells, mBuf);
11569 CMCHKPK(SPkU8, param->useExtBSRSizes, mBuf);
11575 /***********************************************************
11577 * Func : cmUnpkRgrUeSecCellCfg
11580 * Desc : DL Secondary Cell information of the UE
11589 **********************************************************/
11591 PRIVATE S16 cmUnpkRgrUeSecCellCfg
11593 RgrUeSecCellCfg *param,
11597 PRIVATE S16 cmUnpkRgrUeSecCellCfg(param, mBuf)
11598 RgrUeSecCellCfg *param;
11602 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
11603 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
11604 CMCHKUNPK(cmUnpkTknU32, ¶m->sCellDeActTmr, mBuf);
11605 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueSCellDlCqiCfg, mBuf);
11607 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11609 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11610 CMCHKUNPK(SUnpkU8, ¶m->isUlCaEnabled, mBuf);
11611 CMCHKUNPK(cmUnpkRgrUeUlPwrDedSCellCfg, ¶m->ueSCellUlDedPwrCfg, mBuf);
11619 /***********************************************************
11621 * Func : cmUnpkRgrUeSecCellInfo
11624 * Desc : Secondary Cell information of the UE
11633 **********************************************************/
11635 PUBLIC S16 cmUnpkRgrUeSecCellInfo
11637 RgrUeSecCellInfo *param,
11641 PUBLIC S16 cmUnpkRgrUeSecCellInfo(param, mBuf)
11642 RgrUeSecCellInfo *param;
11648 CMCHKUNPK(SUnpkU8, ¶m->useExtBSRSizes, mBuf);
11649 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
11651 for(idx = 0; idx < param->numSCells;idx++)
11653 CMCHKUNPK(cmUnpkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[idx],mBuf);
11659 /***********************************************************
11661 * Func : cmPkRgrUeSCellAckPucchCfg
11664 * Desc : PUCCH Configuration information of the UE
11673 **********************************************************/
11675 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg
11677 RgrUeSCellAckPucchCfg *param,
11681 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg(param, mBuf)
11682 RgrUeSCellAckPucchCfg *param;
11687 TRC3(cmPkRgrUeSCellAckPucchCfg);
11689 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11691 for(idx = param->u.format1Bcs.sCellAckN1ResTb2Count - 1; idx >=0 ;idx--)
11693 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb2[(U8)idx], mBuf);
11696 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11698 for(idx = param->u.format1Bcs.sCellAckN1ResTb1Count - 1; idx >=0 ;idx--)
11700 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb1[(U8)idx], mBuf);
11703 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11707 for(idx = param->u.format3.sCellAckN3ResAntP1Count - 1; idx >=0 ;idx--)
11709 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP1[(U8)idx], mBuf);
11712 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP1Count, mBuf);
11714 for(idx = param->u.format3.sCellAckN3ResAntP0Count- 1; idx >=0 ;idx--)
11716 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP0[(U8)idx], mBuf);
11719 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP0Count, mBuf);
11721 CMCHKPK(SPkU32, param->pucchFormatType, mBuf);
11726 /***********************************************************
11728 * Func : cmUnpkRgrUeSCellAckPucchCfg
11731 * Desc : PUCCH Configuration information of the UE
11740 **********************************************************/
11742 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg
11744 RgrUeSCellAckPucchCfg *param,
11748 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg(param, mBuf)
11749 RgrUeSCellAckPucchCfg *param;
11755 TRC3(cmUnpkRgrUeSCellAckPucchCfg);
11757 CMCHKUNPK(SUnpkU32, (U32*)¶m->pucchFormatType, mBuf);
11758 //if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS)
11759 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11761 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11763 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb1Count; idx++)
11765 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb1[idx], mBuf);
11768 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11770 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb2Count; idx++)
11772 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb2[idx], mBuf);
11777 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP0Count, mBuf);
11779 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP0Count; idx++)
11781 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP0[idx], mBuf);
11784 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP1Count, mBuf);
11786 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP1Count; idx++)
11788 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP1[idx], mBuf);
11801 /***********************************************************
11803 * Func : cmPkRgrUeStaInd
11806 * Desc : Packing Ue Sta Indication sent to RRM
11815 **********************************************************/
11817 PUBLIC S16 cmPkRgrUeStaInd
11821 RgrUeStaIndInfo* ueStaInd
11824 PUBLIC S16 cmPkRgrUeStaInd(pst, suId, ueStaInd)
11827 RgrUeStaIndInfo* ueStaInd;
11830 Buffer *mBuf = NULLP;
11831 TRC3(cmPkRgrUeStaInd)
11832 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
11834 #if (ERRCLASS & ERRCLS_ADD_RES)
11835 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11836 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11837 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11839 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11840 sizeof(RgrUeStaIndInfo));
11844 if (cmPkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
11846 #if (ERRCLASS & ERRCLS_ADD_RES)
11847 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11848 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11849 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11851 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11852 sizeof(RgrUeStaIndInfo));
11857 if (SPkS16(suId, mBuf) != ROK)
11859 #if (ERRCLASS & ERRCLS_ADD_RES)
11860 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11861 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11862 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11864 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11865 sizeof(RgrUeStaIndInfo));
11870 if (SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11871 sizeof(RgrUeStaIndInfo)) != ROK)
11873 #if (ERRCLASS & ERRCLS_ADD_RES)
11874 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11875 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11876 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11882 pst->event = (Event) EVTRGRUESTAIND;
11883 RETVALUE(SPstTsk(pst,mBuf));
11886 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11887 /***********************************************************
11889 * Func : cmUnpkRgrUeStaInd
11892 * Desc : Unpacking Sta Indication sent to RRM
11900 **********************************************************/
11902 PUBLIC S16 cmUnpkRgrUeStaInd
11909 PUBLIC S16 cmUnpkRgrUeStaInd(func, pst, mBuf)
11916 RgrUeStaIndInfo *ueStaInd;
11918 TRC3(cmUnpkRgrUeStaInd)
11920 if (SUnpkS16(&suId, mBuf) != ROK)
11923 #if (ERRCLASS & ERRCLS_ADD_RES)
11924 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11925 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11926 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11931 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ueStaInd,
11932 sizeof(RgrUeStaIndInfo))) != ROK)
11934 #if (ERRCLASS & ERRCLS_ADD_RES)
11935 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11936 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11937 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11943 if (cmUnpkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
11945 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11946 sizeof(RgrUeStaIndInfo));
11948 #if (ERRCLASS & ERRCLS_ADD_RES)
11949 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11950 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11951 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11957 RETVALUE((*func)(pst, suId, ueStaInd));
11960 /***********************************************************
11962 * Func : cmPkRgrUeStaIndInfo
11965 * Desc : Packing of UeStaIndInfo structure
11973 **********************************************************/
11975 PUBLIC S16 cmPkRgrUeStaIndInfo
11977 RgrUeStaIndInfo *param,
11981 PUBLIC S16 cmPkRgrUeStaIndInfo(param, mBuf)
11982 RgrUeStaIndInfo *param;
11987 TRC3(cmPkRgrUeStaIndInfo)
11989 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11990 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
11991 CMCHKPK(SPkU8, param->status, mBuf);
11995 /***********************************************************
11997 * Func : cmUnpkRgrUeStaIndInfo
12000 * Desc : Unpacking of UeStaIndInfo structure
12008 **********************************************************/
12010 PUBLIC S16 cmUnpkRgrUeStaIndInfo
12012 RgrUeStaIndInfo *param,
12016 PUBLIC S16 cmUnpkRgrUeStaIndInfo(param, mBuf)
12017 RgrUeStaIndInfo *param;
12022 TRC3(cmUnpkRgrUeStaIndInfo)
12024 CMCHKUNPK(SUnpkU8, ¶m->status, mBuf);
12025 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
12026 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
12032 /***********************************************************
12034 * Func : cmPkRgrCellCsgParamCfg
12037 * Desc : CSG Parameter configuration
12046 **********************************************************/
12048 PUBLIC S16 cmPkRgrCellCsgParamCfg
12050 RgrCellCsgParamCfg *param,
12054 PUBLIC S16 cmPkRgrCellCsgParamCfg(param, mBuf)
12055 RgrCellCsgParamCfg *param;
12060 TRC3(cmPkRgrCellCsgParamCfg)
12062 CMCHKPK(SPkU8, param->minUlResNonCsg, mBuf);
12063 CMCHKPK(SPkU8, param->minDlResNonCsg, mBuf);
12068 /***********************************************************
12070 * Func : cmUnpkRgrCellCsgParamCfg
12073 * Desc : Unpacking of RgrCellCsgParamCfg structure
12081 **********************************************************/
12083 PUBLIC S16 cmUnpkRgrCellCsgParamCfg
12085 RgrCellCsgParamCfg *param,
12089 PUBLIC S16 cmUnpkRgrCellCsgParamCfg(param, mBuf)
12090 RgrCellCsgParamCfg *param;
12095 TRC3(cmUnpkRgrCellCsgParamCfg)
12097 CMCHKUNPK(SUnpkU8, ¶m->minDlResNonCsg, mBuf);
12098 CMCHKUNPK(SUnpkU8, ¶m->minUlResNonCsg, mBuf);
12103 /***********************************************************
12105 * Func : cmPkRgrCellCntrlCmdCfg
12108 * Desc : Packing of RgrCellCntrlCmdCfg structure
12116 **********************************************************/
12118 PUBLIC S16 cmPkRgrCellCntrlCmdCfg
12120 RgrCellCntrlCmdCfg *param,
12124 PUBLIC S16 cmPkRgrCellCntrlCmdCfg(param, mBuf)
12125 RgrCellCntrlCmdCfg *param;
12129 TRC3(cmPkRgrCellCntrlCmdCfg)
12131 switch(param->cmdType)
12133 case RGR_CNTRL_CMD_RACH_OVRLD:
12134 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffVal, mBuf);
12135 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12137 case RGR_CNTRL_CMD_CPU_OVRLD:
12138 CMCHKUNPK(SPkU8, param->cmdDesc.cpuOvrLd.instruction, mBuf);
12143 CMCHKUNPK(SPkU32, param->cmdType, mBuf);
12147 /***********************************************************
12149 * Func : cmUnpkRgrCellCntrlCmdCfg
12152 * Desc : Unpacking of RgrCellCntrlCmdCfg structure
12160 **********************************************************/
12162 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg
12164 RgrCellCntrlCmdCfg *param,
12168 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg(param, mBuf)
12169 RgrCellCntrlCmdCfg *param;
12175 TRC3(cmUnpkRgrCellCntrlCmdCfg)
12177 CMCHKUNPK(SUnpkU32, &tmpEnum, mBuf);
12178 param->cmdType = (RgrCellCntrlCmdType) tmpEnum;
12179 switch(param->cmdType)
12181 case RGR_CNTRL_CMD_RACH_OVRLD:
12182 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12183 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffVal, mBuf);
12185 case RGR_CNTRL_CMD_CPU_OVRLD:
12186 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.cpuOvrLd.instruction, mBuf);
12194 #endif /* End of if defined(LCRGR) */
12196 /**********************************************************************
12198 **********************************************************************/