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 : cmPkRgrCfgReq
434 * Desc : Configuration Request from RRM to MAC for
435 * configuring Cell/Ue/Lc
444 **********************************************************/
446 PUBLIC S16 cmPkRgrCfgReq
450 RgrCfgTransId transId,
451 RgrCfgReqInfo * cfgReqInfo
454 PUBLIC S16 cmPkRgrCfgReq(pst, spId, transId, cfgReqInfo)
457 RgrCfgTransId transId;
458 RgrCfgReqInfo * cfgReqInfo;
461 Buffer *mBuf = NULLP;
464 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
465 #if (ERRCLASS & ERRCLS_ADD_RES)
466 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
467 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
468 (ErrVal)ERGR016, (ErrVal)0, "Packing failed");
470 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
473 if (cmPkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
474 #if (ERRCLASS & ERRCLS_ADD_RES)
475 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
476 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
477 (ErrVal)ERGR017, (ErrVal)0, "Packing failed");
479 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
483 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
484 #if (ERRCLASS & ERRCLS_ADD_RES)
485 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
486 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
487 (ErrVal)ERGR018, (ErrVal)0, "Packing failed");
489 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
493 if (SPkS16(spId, mBuf) != ROK) {
494 #if (ERRCLASS & ERRCLS_ADD_RES)
495 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
496 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
497 (ErrVal)ERGR019, (ErrVal)0, "Packing failed");
499 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
503 if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo)) != ROK) {
504 #if (ERRCLASS & ERRCLS_ADD_RES)
505 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
506 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
507 (ErrVal)ERGR020, (ErrVal)0, "Packing failed");
513 pst->event = (Event) EVTRGRCFGREQ;
514 RETVALUE(SPstTsk(pst,mBuf));
518 /***********************************************************
520 * Func : cmUnpkRgrCfgReq
523 * Desc : Configuration Request from RRM to MAC for
524 * configuring Cell/Ue/Lc
533 **********************************************************/
535 PUBLIC S16 cmUnpkRgrCfgReq
542 PUBLIC S16 cmUnpkRgrCfgReq(func, pst, mBuf)
549 RgrCfgTransId transId;
550 RgrCfgReqInfo *cfgReqInfo;
552 TRC3(cmUnpkRgrCfgReq)
554 if (SUnpkS16(&spId, mBuf) != ROK) {
556 #if (ERRCLASS & ERRCLS_ADD_RES)
557 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
558 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
559 (ErrVal)ERGR021, (ErrVal)0, "Packing failed");
563 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
565 #if (ERRCLASS & ERRCLS_ADD_RES)
566 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
567 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
568 (ErrVal)ERGR022, (ErrVal)0, "Packing failed");
572 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) {
573 #if (ERRCLASS & ERRCLS_ADD_RES)
574 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
575 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
576 (ErrVal)ERGR023, (ErrVal)0, "Packing failed");
581 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrCfgReqInfo));
582 if (pst->selector == RGR_SEL_LC)
583 if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
584 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
586 #if (ERRCLASS & ERRCLS_ADD_RES)
587 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
588 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
589 (ErrVal)ERGR024, (ErrVal)0, "Packing failed");
594 RETVALUE((*func)(pst, spId, transId, cfgReqInfo));
597 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
599 /***********************************************************
601 * Func : cmPkRgrTtiIndInfo
604 * Desc : Packs the TTI indication information.
613 **********************************************************/
615 PUBLIC S16 cmPkRgrTtiIndInfo
617 RgrTtiIndInfo *param,
621 PUBLIC S16 cmPkRgrTtiIndInfo(param, mBuf)
622 RgrTtiIndInfo *param;
627 CMCHKPK(SPkU16, param->sfn, mBuf);
628 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
632 /***********************************************************
634 * Func : cmUnpkRgrTtiIndInfo
637 * Desc : Unpacking for RgrTtiIndInfo
645 **********************************************************/
647 PUBLIC S16 cmUnpkRgrTtiIndInfo
649 RgrTtiIndInfo *param,
653 PUBLIC S16 cmUnpkRgrTtiIndInfo(param, mBuf)
654 RgrTtiIndInfo *param;
658 TRC3(cmUnpkRgrTtiIndInfo)
660 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
661 CMCHKUNPK(SUnpkU16, ¶m->sfn, mBuf);
666 /***********************************************************
668 * Func : cmPkRgrTtiInd
671 * Desc : TTI indication from MAC to RRM
680 **********************************************************/
682 PUBLIC S16 cmPkRgrTtiInd
686 RgrTtiIndInfo *ttiInd
689 PUBLIC S16 cmPkRgrTtiInd(pst, suId, ttiInd)
692 RgrTtiIndInfo *ttiInd;
695 Buffer *mBuf = NULLP;
698 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
699 #if (ERRCLASS & ERRCLS_ADD_RES)
700 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
701 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
702 (ErrVal)ERGR025, (ErrVal)0, "Packing failed");
706 if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
707 #if (ERRCLASS & ERRCLS_ADD_RES)
708 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
709 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
710 (ErrVal)ERGR026, (ErrVal)0, "Packing failed");
712 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
716 if (SPkS16(suId, mBuf) != ROK) {
717 #if (ERRCLASS & ERRCLS_ADD_RES)
718 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
719 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
720 (ErrVal)ERGR027, (ErrVal)0, "Packing failed");
722 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
726 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
727 pst->event = (Event) EVTRGRTTIIND;
728 RETVALUE(SPstTsk(pst,mBuf));
732 /***********************************************************
734 * Func : cmUnpkRgrTtiInd
737 * Desc : TTI indication from MAC to RRM
746 **********************************************************/
748 PUBLIC S16 cmUnpkRgrTtiInd
755 PUBLIC S16 cmUnpkRgrTtiInd(func, pst, mBuf)
762 RgrTtiIndInfo *ttiInd;
764 TRC3(cmUnpkRgrTtiInd)
766 if (SUnpkS16(&suId, mBuf) != ROK) {
768 #if (ERRCLASS & ERRCLS_ADD_RES)
769 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
770 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
771 (ErrVal)ERGR028, (ErrVal)0, "Packing failed");
775 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK)
777 #if (ERRCLASS & ERRCLS_ADD_RES)
778 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
779 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
780 (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed");
786 if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
787 /*ccpu00114888- Memory Leak issue- Start*/
788 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd,
789 sizeof(RgrTtiIndInfo));
790 /*ccpu00114888- Memory Leak issue- End*/
792 #if (ERRCLASS & ERRCLS_ADD_RES)
793 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
794 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
795 (ErrVal)ERGR030, (ErrVal)0, "Packing failed");
800 RETVALUE((*func)(pst, suId, ttiInd));
804 /***********************************************************
806 * Func : cmPkRgrCfgCfm
809 * Desc : Configuration Confirm from MAC to RRM
818 **********************************************************/
820 PUBLIC S16 cmPkRgrCfgCfm
824 RgrCfgTransId transId,
828 PUBLIC S16 cmPkRgrCfgCfm(pst, suId, transId, status)
831 RgrCfgTransId transId;
835 Buffer *mBuf = NULLP;
838 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
839 #if (ERRCLASS & ERRCLS_ADD_RES)
840 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
841 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
842 (ErrVal)ERGR031, (ErrVal)0, "Packing failed");
846 if (SPkU8(status, mBuf) != ROK) {
847 #if (ERRCLASS & ERRCLS_ADD_RES)
848 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
849 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
850 (ErrVal)ERGR032, (ErrVal)0, "Packing failed");
855 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
856 #if (ERRCLASS & ERRCLS_ADD_RES)
857 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
858 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
859 (ErrVal)ERGR033, (ErrVal)0, "Packing failed");
864 if (SPkS16(suId, mBuf) != ROK) {
865 #if (ERRCLASS & ERRCLS_ADD_RES)
866 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
867 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
868 (ErrVal)ERGR034, (ErrVal)0, "Packing failed");
873 pst->event = (Event) EVTRGRCFGCFM;
874 RETVALUE(SPstTsk(pst,mBuf));
878 /***********************************************************
880 * Func : cmUnpkRgrCfgCfm
883 * Desc : Configuration Confirm from MAC to RRM
892 **********************************************************/
894 PUBLIC S16 cmUnpkRgrCfgCfm
901 PUBLIC S16 cmUnpkRgrCfgCfm(func, pst, mBuf)
908 RgrCfgTransId transId;
911 TRC3(cmUnpkRgrCfgCfm)
913 if (SUnpkS16(&suId, mBuf) != ROK) {
915 #if (ERRCLASS & ERRCLS_ADD_RES)
916 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
917 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
918 (ErrVal)ERGR035, (ErrVal)0, "Packing failed");
922 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
924 #if (ERRCLASS & ERRCLS_ADD_RES)
925 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
926 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
927 (ErrVal)ERGR036, (ErrVal)0, "Packing failed");
931 if (SUnpkU8(&status, mBuf) != ROK) {
933 #if (ERRCLASS & ERRCLS_ADD_RES)
934 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
935 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
936 (ErrVal)ERGR037, (ErrVal)0, "Packing failed");
941 RETVALUE((*func)(pst, suId, transId, status));
944 /* rgr_c_001.main_4: ADD-Added for SI Enhancement. */
946 /***********************************************************
948 * Func : cmPkRgrSiCfgCfm
951 * Desc : SI Configuration Confirm from MAC to RRM
960 **********************************************************/
962 PUBLIC S16 cmPkRgrSiCfgCfm
966 RgrCfgTransId transId,
970 PUBLIC S16 cmPkRgrSiCfgCfm(pst, suId, transId, status)
973 RgrCfgTransId transId;
977 Buffer *mBuf = NULLP;
979 TRC3(cmPkRgrSiCfgCfm)
981 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
982 #if (ERRCLASS & ERRCLS_ADD_RES)
983 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
984 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
985 (ErrVal)ERGR038, (ErrVal)0, "Packing failed");
989 if (SPkU8(status, mBuf) != ROK) {
990 #if (ERRCLASS & ERRCLS_ADD_RES)
991 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
992 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
993 (ErrVal)ERGR039, (ErrVal)0, "Packing failed");
998 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
999 #if (ERRCLASS & ERRCLS_ADD_RES)
1000 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1001 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1002 (ErrVal)ERGR040, (ErrVal)0, "Packing failed");
1007 if (SPkS16(suId, mBuf) != ROK) {
1008 #if (ERRCLASS & ERRCLS_ADD_RES)
1009 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1010 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1011 (ErrVal)ERGR041, (ErrVal)0, "Packing failed");
1017 pst->event = (Event) EVTRGRSICFGCFM;
1018 RETVALUE(SPstTsk(pst,mBuf));
1022 /***********************************************************
1024 * Func : cmUnpkRgrSiCfgCfm
1027 * Desc : Configuration Confirm from MAC to RRM
1036 **********************************************************/
1038 PUBLIC S16 cmUnpkRgrSiCfgCfm
1045 PUBLIC S16 cmUnpkRgrSiCfgCfm(func, pst, mBuf)
1052 RgrCfgTransId transId;
1055 TRC3(cmUnpkRgrSiCfgCfm)
1057 if (SUnpkS16(&suId, mBuf) != ROK) {
1059 #if (ERRCLASS & ERRCLS_ADD_RES)
1060 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1061 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1062 (ErrVal)ERGR042, (ErrVal)0, "Packing failed");
1066 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
1068 #if (ERRCLASS & ERRCLS_ADD_RES)
1069 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1070 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1071 (ErrVal)ERGR043, (ErrVal)0, "Packing failed");
1075 if (SUnpkU8(&status, mBuf) != ROK) {
1077 #if (ERRCLASS & ERRCLS_ADD_RES)
1078 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1079 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1080 (ErrVal)ERGR044, (ErrVal)0, "Packing failed");
1085 RETVALUE((*func)(pst, suId, transId, status));
1087 #endif/*RGR_SI_SCH*/
1090 /***********************************************************
1092 * Func : cmPkRgrCfgTransId
1095 * Desc : Transaction ID between MAC and RRM
1104 **********************************************************/
1106 PUBLIC S16 cmPkRgrCfgTransId
1108 RgrCfgTransId *param,
1112 PUBLIC S16 cmPkRgrCfgTransId(param, mBuf)
1113 RgrCfgTransId *param;
1119 TRC3(cmPkRgrCfgTransId)
1121 for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) {
1122 CMCHKPK(SPkU8, param->trans[i], mBuf);
1129 /***********************************************************
1131 * Func : cmUnpkRgrCfgTransId
1134 * Desc : Transaction ID between MAC and RRM
1143 **********************************************************/
1145 PUBLIC S16 cmUnpkRgrCfgTransId
1147 RgrCfgTransId *param,
1151 PUBLIC S16 cmUnpkRgrCfgTransId(param, mBuf)
1152 RgrCfgTransId *param;
1158 TRC3(cmUnpkRgrCfgTransId)
1160 for (i=0; i<RGR_CFG_TRANSID_SIZE; i++) {
1161 CMCHKUNPK(SUnpkU8, ¶m->trans[i], mBuf);
1168 /***********************************************************
1170 * Func : cmPkRgrDlHqCfg
1173 * Desc : Downlink HARQ configuration per Cell
1182 **********************************************************/
1184 PUBLIC S16 cmPkRgrDlHqCfg
1190 PUBLIC S16 cmPkRgrDlHqCfg(param, mBuf)
1196 TRC3(cmPkRgrDlHqCfg)
1198 CMCHKPK(SPkU8, param->maxMsg4HqTx, mBuf);
1199 CMCHKPK(SPkU8, param->maxDlHqTx, mBuf);
1205 /***********************************************************
1207 * Func : cmUnpkRgrDlHqCfg
1210 * Desc : Downlink HARQ configuration per Cell
1219 **********************************************************/
1221 PUBLIC S16 cmUnpkRgrDlHqCfg
1227 PUBLIC S16 cmUnpkRgrDlHqCfg(param, mBuf)
1233 TRC3(cmUnpkRgrDlHqCfg)
1235 CMCHKUNPK(SUnpkU8, ¶m->maxDlHqTx, mBuf);
1236 CMCHKUNPK(SUnpkU8, ¶m->maxMsg4HqTx, mBuf);
1242 /***********************************************************
1244 * Func : cmPkRgrRntiCfg
1247 * Desc : Range of RNTIs managed by MAC
1256 **********************************************************/
1258 PUBLIC S16 cmPkRgrRntiCfg
1264 PUBLIC S16 cmPkRgrRntiCfg(param, mBuf)
1270 TRC3(cmPkRgrRntiCfg)
1272 CMCHKPK(SPkU16, param->size, mBuf);
1273 CMCHKPK(cmPkLteRnti, param->startRnti, mBuf);
1279 /***********************************************************
1281 * Func : cmUnpkRgrRntiCfg
1284 * Desc : Range of RNTIs managed by MAC
1293 **********************************************************/
1295 PUBLIC S16 cmUnpkRgrRntiCfg
1301 PUBLIC S16 cmUnpkRgrRntiCfg(param, mBuf)
1307 TRC3(cmUnpkRgrRntiCfg)
1309 CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf);
1310 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1315 /***********************************************************
1317 * Func : cmPkRgrEmtcRntiCfg
1320 * Desc : Range of Emtc RNTIs managed by MAC
1329 **********************************************************/
1331 PUBLIC S16 cmPkRgrEmtcRntiCfg
1333 RgrEmtcRntiCfg *param,
1337 PUBLIC S16 cmPkRgrEmtcRntiCfg(param, mBuf)
1338 RgrEmtcRntiCfg *param;
1343 TRC3(cmPkRgrEmtcRntiCfg)
1345 CMCHKPK(SPkU16, param->size, mBuf);
1346 CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf);
1347 CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf);
1348 CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf);
1349 CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf);
1355 /***********************************************************
1357 * Func : cmUnpkRgrEmtcRntiCfg
1360 * Desc : Range of Emtc RNTIs managed by MAC
1369 **********************************************************/
1371 PUBLIC S16 cmUnpkRgrEmtcRntiCfg
1373 RgrEmtcRntiCfg *param,
1377 PUBLIC S16 cmUnpkRgrEmtcRntiCfg(param, mBuf)
1378 RgrEmtcRntiCfg *param;
1383 TRC3(cmUnpkRgrEmtcRntiCfg)
1385 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf);
1386 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf);
1387 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf);
1388 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf);
1389 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1396 /***********************************************************
1398 * Func : cmPkRgrDlCmnCodeRateCfg
1401 * Desc : Downlink common channel code rate configuration per cell
1410 **********************************************************/
1412 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg
1414 RgrDlCmnCodeRateCfg *param,
1418 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg(param, mBuf)
1419 RgrDlCmnCodeRateCfg *param;
1424 TRC3(cmPkRgrDlCmnCodeRateCfg)
1426 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1427 CMCHKPK(SPkU16, param->pdcchCodeRate, mBuf);
1428 CMCHKPK(SPkU16, param->bcchPchRaCodeRate, mBuf);
1434 /***********************************************************
1436 * Func : cmUnpkRgrDlCmnCodeRateCfg
1439 * Desc : Downlink common channel code rate configuration per cell
1448 **********************************************************/
1450 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg
1452 RgrDlCmnCodeRateCfg *param,
1456 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg(param, mBuf)
1457 RgrDlCmnCodeRateCfg *param;
1462 TRC3(cmUnpkRgrDlCmnCodeRateCfg)
1464 CMCHKUNPK(SUnpkU16, ¶m->bcchPchRaCodeRate, mBuf);
1465 CMCHKUNPK(SUnpkU16, ¶m->pdcchCodeRate, mBuf);
1466 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1472 /***********************************************************
1474 * Func : cmPkRgrCfiCfg
1477 * Desc : Control Format Indicator (CFI) configuration per cell
1486 **********************************************************/
1488 PUBLIC S16 cmPkRgrCfiCfg
1494 PUBLIC S16 cmPkRgrCfiCfg(param, mBuf)
1502 CMCHKPK(SPkU8, param->cfi, mBuf);
1508 /***********************************************************
1510 * Func : cmUnpkRgrCfiCfg
1513 * Desc : Control Format Indicator (CFI) configuration per cell
1522 **********************************************************/
1524 PUBLIC S16 cmUnpkRgrCfiCfg
1530 PUBLIC S16 cmUnpkRgrCfiCfg(param, mBuf)
1536 TRC3(cmUnpkRgrCfiCfg)
1538 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
1544 /***********************************************************
1546 * Func : cmPkRgrPuschSubBandCfg
1549 * Desc : PUSCH sub-band configuration per cell
1558 **********************************************************/
1560 PUBLIC S16 cmPkRgrPuschSubBandCfg
1562 RgrPuschSubBandCfg *param,
1566 PUBLIC S16 cmPkRgrPuschSubBandCfg(param, mBuf)
1567 RgrPuschSubBandCfg *param;
1573 TRC3(cmPkRgrPuschSubBandCfg)
1575 for (i=param->numSubbands-1; i >= 0; i--) {
1576 CMCHKPK(SPkU8, param->dmrs[i], mBuf);
1578 CMCHKPK(SPkU8, param->size, mBuf);
1579 CMCHKPK(SPkU8, param->numSubbands, mBuf);
1580 CMCHKPK(SPkU8, param->subbandStart, mBuf);
1586 /***********************************************************
1588 * Func : cmUnpkRgrPuschSubBandCfg
1591 * Desc : PUSCH sub-band configuration per cell
1600 **********************************************************/
1602 PUBLIC S16 cmUnpkRgrPuschSubBandCfg
1604 RgrPuschSubBandCfg *param,
1608 PUBLIC S16 cmUnpkRgrPuschSubBandCfg(param, mBuf)
1609 RgrPuschSubBandCfg *param;
1615 TRC3(cmUnpkRgrPuschSubBandCfg)
1617 CMCHKUNPK(SUnpkU8, ¶m->subbandStart, mBuf);
1618 CMCHKUNPK(SUnpkU8, ¶m->numSubbands, mBuf);
1619 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
1620 for (i=0; i<param->numSubbands; i++) {
1621 CMCHKUNPK(SUnpkU8, ¶m->dmrs[i], mBuf);
1628 /***********************************************************
1630 * Func : cmPkRgrUlCmnCodeRateCfg
1633 * Desc : Uplink common channel code rate configuration per cell
1642 **********************************************************/
1644 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg
1646 RgrUlCmnCodeRateCfg *param,
1650 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg(param, mBuf)
1651 RgrUlCmnCodeRateCfg *param;
1656 TRC3(cmPkRgrUlCmnCodeRateCfg)
1658 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1664 /***********************************************************
1666 * Func : cmUnpkRgrUlCmnCodeRateCfg
1669 * Desc : Uplink common channel code rate configuration per cell
1678 **********************************************************/
1680 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg
1682 RgrUlCmnCodeRateCfg *param,
1686 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg(param, mBuf)
1687 RgrUlCmnCodeRateCfg *param;
1692 TRC3(cmUnpkRgrUlCmnCodeRateCfg)
1694 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1700 /***********************************************************
1702 * Func : cmPkRgrUlTrgCqiCfg
1705 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1714 **********************************************************/
1716 PUBLIC S16 cmPkRgrUlTrgCqiCfg
1718 RgrUlTrgCqiCfg *param,
1722 PUBLIC S16 cmPkRgrUlTrgCqiCfg(param, mBuf)
1723 RgrUlTrgCqiCfg *param;
1728 TRC3(cmPkRgrUlTrgCqiCfg)
1730 CMCHKPK(SPkU8, param->trgCqi, mBuf);
1736 /***********************************************************
1738 * Func : cmUnpkRgrUlTrgCqiCfg
1741 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1750 **********************************************************/
1752 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg
1754 RgrUlTrgCqiCfg *param,
1758 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg(param, mBuf)
1759 RgrUlTrgCqiCfg *param;
1764 TRC3(cmUnpkRgrUlTrgCqiCfg)
1766 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
1772 /***********************************************************
1774 * Func : cmPkRgrBwCfg
1777 * Desc : Bandwidth configuration per cell
1786 **********************************************************/
1788 PUBLIC S16 cmPkRgrBwCfg
1794 PUBLIC S16 cmPkRgrBwCfg(param, mBuf)
1802 CMCHKPK(SPkU8, param->ulTotalBw, mBuf);
1803 CMCHKPK(SPkU8, param->dlTotalBw, mBuf);
1809 /* EMTC related pack changes start*/
1812 PUBLIC S16 cmPkRgrEmtcSiCfg
1814 RgrEmtcSiCfg *param,
1818 PUBLIC S16 cmPkRgrEmtcSiCfg(param, mBuf)
1819 RgrEmtcSiCfg *param;
1825 TRC3(cmPkRgrEmtcSiCfg)
1827 CMCHKPK(SPkU8, param->siHoppingEnable, mBuf);
1828 CMCHKPK(SPkU32, param->modPrd, mBuf);
1829 CMCHKPK(SPkU8, param->siWinSizeBr, mBuf);
1830 CMCHKPK(SPkU8, param->sib1Repetition, mBuf);
1831 CMCHKPK(SPkU8, param->siRepetition, mBuf);
1833 CMCHKPK(SPkU16, param->startSymbolLc, mBuf);
1834 //CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1835 /*Changes by SIMRAN*/
1836 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1838 CMCHKPK(SPkU16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1842 //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf);
1843 for (i=0; i<2; i++) {
1844 CMCHKPK(SPkU32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1848 CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1849 //CMCHKPK(SPkU16, param->fddDlOrTddSfBitmapBR, mBuf);
1851 for (i= (param->numSi-1); i >= 0; i--) {
1852 CMCHKPK(SPkU8, param->schdInfo[i].emtcSiNarrowBand, mBuf);
1853 CMCHKPK(SPkU16, param->schdInfo[i].emtcSiTbs, mBuf);
1856 for (i= (param->numSi-1); i >= 0; i--) {
1857 CMCHKPK(SPkU32, param->siPeriodicity[i], mBuf);
1860 CMCHKPK(SPkU8, param->numSi, mBuf);
1869 PUBLIC S16 cmPkRgrEmtcRachCfg
1871 RgrEmtcRachCfg *param,
1875 PUBLIC S16 cmPkRgrEmtcRachCfg(param, mBuf)
1876 RgrEmtcRachCfg *param;
1882 TRC3(cmPkRgrEmtcRachCfg)
1884 CMCHKPK(SPkU8, param->emtcCeLvlSupported, mBuf);
1886 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1887 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcRarHopping, mBuf);
1888 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcWinSize, mBuf);
1889 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf);
1890 CMCHKPK(SPkU16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf);
1891 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf);
1892 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf);
1900 PUBLIC S16 cmPkRgrEmtcPdschCfg
1902 RgrEmtcPdschCfg*param,
1906 PUBLIC S16 cmPkRgrEmtcPdschCfg(param, mBuf)
1907 RgrEmtcPdschCfg *param;
1912 TRC3(cmPkRgrEmtcPdschCfg)
1913 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1914 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1920 PUBLIC S16 cmPkRgrEmtcPuschCfg
1922 RgrEmtcPuschCfg*param,
1926 PUBLIC S16 cmPkRgrEmtcPuschCfg(param, mBuf)
1927 RgrEmtcPuschCfg *param;
1931 TRC3(cmPkRgrEmtcPuschCfg)
1932 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1933 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1934 CMCHKPK(SPkU8, param->emtcHoppingOffset, mBuf);
1941 PUBLIC S16 cmPkRgrEmtcPucchCfg
1943 RgrEmtcPucchCfg *param,
1947 PUBLIC S16 cmPkRgrEmtcPucchCfg(param, mBuf)
1948 RgrEmtcPucchCfg *param;
1955 TRC3(cmPkRgrEmtcPucchCfg)
1956 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1957 CMCHKPK(SPkU16, param->emtcN1pucchAnInfoLst[i], mBuf);
1960 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf);
1961 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf);
1962 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf);
1963 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf);
1970 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg
1972 RgrEmtcPrachCEParamLst *param,
1976 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg(param, mBuf)
1977 RgrEmtcPrachCEParamLst *param;
1981 TRC3(cmPkRgrEmtcPrachCeParamCfg)
1982 CMCHKPK(SPkU8, param->emtcPrachCfgIdx, mBuf);
1983 CMCHKPK(SPkU8, param->emtcPrachFreqOffset, mBuf);
1984 CMCHKPK(SPkU16, param->emtcPrachStartSubFrame, mBuf);
1985 CMCHKPK(SPkU8, param->emtcMaxPremAttemptCE, mBuf);
1986 CMCHKPK(SPkU8, param->emtcNumRepPerPreambleAtt, mBuf);
1987 CMCHKPK(SPkU8, param->emtcNumMpdcchNBtoMonitor, mBuf);
1988 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[0], mBuf);
1989 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[1], mBuf);
1990 CMCHKPK(SPkU16, param->emtcMpdcchNumRep, mBuf);
1991 CMCHKPK(SPkU8, param->emtcPrachHoppingCfg, mBuf);
1998 PUBLIC S16 cmPkRgrEmtcPrachCfg
2000 RgrEmtcPrachCfg *param,
2004 PUBLIC S16 cmPkRgrEmtcPrachCfg(param, mBuf)
2005 RgrEmtcPrachCfg *param;
2011 TRC3(cmPkRgrEmtcPrachCfg)
2012 CMCHKPK(SPkU8, param->emtcMpdcchStartSFCssRaFdd, mBuf);
2013 CMCHKPK(SPkU8, param->emtcPrachHopingOffset, mBuf);
2014 CMCHKPK(SPkU8, param->emtcInitialCElevel, mBuf);
2015 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
2016 CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2026 PUBLIC S16 cmPkRgrEmtcCfg
2028 RgrEmtcCellCfg *param,
2032 PUBLIC S16 cmPkRgrEmtcCfg(param, mBuf)
2033 RgrEmtcCellCfg *param;
2037 TRC3(cmPkRgrEmtcCfg)
2038 CMCHKPK(SPkU16, param->pci, mBuf);
2039 CMCHKPK(SPkU32, param->emtcT300Tmr, mBuf);
2040 CMCHKPK(SPkU32, param->emtcT301Tmr, mBuf);
2041 CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2042 CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2043 CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2044 CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2045 CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2046 CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2047 CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2048 CMCHKPK(SPkU8, param->emtcPdschNbIdx, mBuf);
2049 CMCHKPK(SPkU8, param->emtcMpdcchNbIdx, mBuf);
2050 CMCHKPK(SPkU8, param->emtcPuschNbIdx, mBuf);
2055 /* EMTC related pack changes end*/
2057 /* EMTC related unpack changes start*/
2060 PUBLIC S16 cmUnpkRgrEmtcSiCfg
2062 RgrEmtcSiCfg *param,
2066 PUBLIC S16 cmUnpkRgrEmtcSiCfg(param, mBuf)
2067 RgrEmtcSiCfg *param;
2074 TRC3(cmUnpkRgrEmtcSiCfg)
2075 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2077 for (i=0; i < param->numSi ; i++) {
2078 CMCHKUNPK(SUnpkU32,(U32*)&tmpEnum,mBuf);
2079 param->siPeriodicity[i] = (RgrSiPeriodicity) tmpEnum;
2082 for (i=0; i < param->numSi ; i++) {
2083 CMCHKUNPK(SUnpkU16, ¶m->schdInfo[i].emtcSiTbs, mBuf);
2084 CMCHKUNPK(SUnpkU8, ¶m->schdInfo[i].emtcSiNarrowBand, mBuf);
2086 //CMCHKUNPK(SUnpkU16, ¶m->fddDlOrTddSfBitmapBR, mBuf);
2087 CMCHKUNPK(SUnpkU8, ¶m->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
2088 /*Changes by SIMRAN*/
2089 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
2091 CMCHKUNPK(SUnpkU16, ¶m->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
2095 for (i=1; i>=0; i--) {
2096 CMCHKUNPK(SUnpkU32, ¶m->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
2100 CMCHKUNPK(SUnpkU16, ¶m->startSymbolLc, mBuf);
2101 CMCHKUNPK(SUnpkU8, ¶m->siRepetition, mBuf);
2102 CMCHKUNPK(SUnpkU8, ¶m->sib1Repetition, mBuf);
2103 CMCHKUNPK(SUnpkU8, ¶m->siWinSizeBr, mBuf);
2104 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
2105 param->modPrd = (RgrModPeriodicity) tmpEnum;
2106 CMCHKUNPK(SUnpkU8, ¶m->siHoppingEnable, mBuf);
2115 PUBLIC S16 cmUnpkRgrEmtcRachCfg
2117 RgrEmtcRachCfg *param,
2121 PUBLIC S16 cmUnpkRgrEmtcRachCfg(param, mBuf)
2122 RgrEmtcRachCfg *param;
2128 TRC3(cmUnpkRgrEmtcRachCfg)
2129 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2130 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.lastPreamble), mBuf);
2131 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.firstPreamble), mBuf);
2132 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].emtcPreambleTransMax), mBuf);
2133 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcContResTmr), mBuf);
2134 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf);
2135 CMCHKUNPK(SUnpkU8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf);
2137 CMCHKUNPK(SUnpkU8, ¶m->emtcCeLvlSupported, mBuf);
2143 PUBLIC S16 cmUnpkRgrEmtcPdschCfg
2145 RgrEmtcPdschCfg*param,
2149 PUBLIC S16 cmUnpkRgrEmtcPdschCfg(param, mBuf)
2150 RgrEmtcPdschCfg *param;
2155 TRC3(cmUnpkRgrEmtcPdschCfg)
2156 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2157 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2162 PUBLIC S16 cmUnpkRgrEmtcPuschCfg
2164 RgrEmtcPuschCfg*param,
2168 PUBLIC S16 cmUnpkRgrEmtcPuschCfg(param, mBuf)
2169 RgrEmtcPuschCfg *param;
2173 TRC3(cmUnpkRgrEmtcPuschCfg)
2174 CMCHKUNPK(SUnpkU8, ¶m->emtcHoppingOffset, mBuf);
2175 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2176 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2183 PUBLIC S16 cmUnpkRgrEmtcPucchCfg
2185 RgrEmtcPucchCfg *param,
2189 PUBLIC S16 cmUnpkRgrEmtcPucchCfg(param, mBuf)
2190 RgrEmtcPucchCfg *param;
2197 TRC3(cmUnpkRgrEmtcPucchCfg)
2199 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf);
2200 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf);
2201 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf);
2202 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf);
2204 for (i=0; i < RGR_MAX_CE_LEVEL ; i++) {
2205 CMCHKUNPK(SUnpkU16, ¶m->emtcN1pucchAnInfoLst[i], mBuf);
2212 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg
2214 RgrEmtcPrachCEParamLst *param,
2218 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg(param, mBuf)
2219 RgrEmtcPrachCEParamLst *param;
2223 TRC3(cmUnpkRgrEmtcPrachCeParamCfg)
2224 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHoppingCfg, mBuf);
2225 CMCHKUNPK(SUnpkU16, ¶m->emtcMpdcchNumRep, mBuf);
2226 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf);
2227 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf);
2228 CMCHKUNPK(SUnpkU8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf);
2229 CMCHKUNPK(SUnpkU8, ¶m->emtcNumRepPerPreambleAtt, mBuf);
2230 CMCHKUNPK(SUnpkU8, ¶m->emtcMaxPremAttemptCE, mBuf);
2231 CMCHKUNPK(SUnpkU16, ¶m->emtcPrachStartSubFrame, mBuf);
2232 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachFreqOffset, mBuf);
2233 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachCfgIdx, mBuf);
2240 PUBLIC S16 cmUnpkRgrEmtcPrachCfg
2242 RgrEmtcPrachCfg *param,
2246 PUBLIC S16 cmUnpkRgrEmtcPrachCfg(param, mBuf)
2247 RgrEmtcPrachCfg *param;
2253 TRC3(cmUnpkRgrEmtcPrachCfg)
2254 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2255 CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2257 CMCHKUNPK(SUnpkU8, ¶m->emtcInitialCElevel, mBuf);
2258 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHopingOffset, mBuf);
2259 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf);
2265 PUBLIC S16 cmUnpkRgrEmtcCfg
2267 RgrEmtcCellCfg *param,
2271 PUBLIC S16 cmUnpkRgrEmtcCfg(param, mBuf)
2272 RgrEmtcCellCfg *param;
2277 TRC3(cmUnpkRgrEmtcCfg)
2278 CMCHKUNPK(SUnpkU8, ¶m->emtcPuschNbIdx, mBuf);
2279 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNbIdx, mBuf);
2280 CMCHKUNPK(SUnpkU8, ¶m->emtcPdschNbIdx, mBuf);
2281 CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2282 CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2283 CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2284 CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2285 CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2286 CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2287 CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2288 CMCHKUNPK(SUnpkU32,¶m->emtcT301Tmr, mBuf);
2289 CMCHKUNPK(SUnpkU32, ¶m->emtcT300Tmr, mBuf);
2290 CMCHKUNPK(SUnpkU16, ¶m->pci, mBuf);
2299 /* EMTC related unpack changes end*/
2305 /***********************************************************
2307 * Func : cmUnpkRgrBwCfg
2310 * Desc : Bandwidth configuration per cell
2319 **********************************************************/
2321 PUBLIC S16 cmUnpkRgrBwCfg
2327 PUBLIC S16 cmUnpkRgrBwCfg(param, mBuf)
2333 TRC3(cmUnpkRgrBwCfg)
2335 CMCHKUNPK(SUnpkU8, ¶m->dlTotalBw, mBuf);
2336 CMCHKUNPK(SUnpkU8, ¶m->ulTotalBw, mBuf);
2342 /***********************************************************
2344 * Func : cmPkRgrPhichCfg
2347 * Desc : PHICH configuration per cell
2356 **********************************************************/
2358 PUBLIC S16 cmPkRgrPhichCfg
2364 PUBLIC S16 cmPkRgrPhichCfg(param, mBuf)
2370 TRC3(cmPkRgrPhichCfg)
2372 CMCHKPK(SPkU8, param->isDurExtend, mBuf);
2373 CMCHKPK(SPkU32, param->ngEnum, mBuf);
2379 /***********************************************************
2381 * Func : cmUnpkRgrPhichCfg
2384 * Desc : PHICH configuration per cell
2393 **********************************************************/
2395 PUBLIC S16 cmUnpkRgrPhichCfg
2401 PUBLIC S16 cmUnpkRgrPhichCfg(param, mBuf)
2408 TRC3(cmUnpkRgrPhichCfg)
2410 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2411 param->ngEnum = (RgrPhichNg) tmpEnum;
2412 CMCHKUNPK(SUnpkU8, ¶m->isDurExtend, mBuf);
2418 /***********************************************************
2420 * Func : cmPkRgrPucchCfg
2423 * Desc : PUCCH configuration per cell
2432 **********************************************************/
2434 PUBLIC S16 cmPkRgrPucchCfg
2440 PUBLIC S16 cmPkRgrPucchCfg(param, mBuf)
2446 TRC3(cmPkRgrPucchCfg)
2448 CMCHKPK(SPkU8, param->maxPucchRb, mBuf);
2449 CMCHKPK(SPkU8, param->cyclicShift, mBuf);
2450 CMCHKPK(SPkU8, param->deltaShift, mBuf);
2451 CMCHKPK(SPkU16, param->n1PucchAn, mBuf);
2452 CMCHKPK(SPkU8, param->resourceSize, mBuf);
2459 /***********************************************************
2461 * Func : cmUnpkRgrPucchCfg
2464 * Desc : PUCCH configuration per cell
2473 **********************************************************/
2475 PUBLIC S16 cmUnpkRgrPucchCfg
2481 PUBLIC S16 cmUnpkRgrPucchCfg(param, mBuf)
2487 TRC3(cmUnpkRgrPucchCfg)
2489 CMCHKUNPK(SUnpkU8, ¶m->resourceSize, mBuf);
2490 CMCHKUNPK(SUnpkU16, ¶m->n1PucchAn, mBuf);
2491 CMCHKUNPK(SUnpkU8, ¶m->deltaShift, mBuf);
2492 CMCHKUNPK(SUnpkU8, ¶m->cyclicShift, mBuf);
2493 CMCHKUNPK(SUnpkU8, ¶m->maxPucchRb, mBuf);
2500 /***********************************************************
2502 * Func : cmPkRgrSrsCfg
2505 * Desc : SRS configuration per cell
2514 **********************************************************/
2516 PUBLIC S16 cmPkRgrSrsCfg
2522 PUBLIC S16 cmPkRgrSrsCfg(param, mBuf)
2530 CMCHKPK(SPkU8, param->srsSubFrameCfg, mBuf);
2531 CMCHKPK(SPkU32, param->srsBwEnum, mBuf);
2532 CMCHKPK(SPkU32, param->srsCfgPrdEnum, mBuf);
2533 CMCHKPK(SPkU8, param->isSrsCfgSetup, mBuf);
2539 /***********************************************************
2541 * Func : cmUnpkRgrSrsCfg
2544 * Desc : SRS configuration per cell
2553 **********************************************************/
2555 PUBLIC S16 cmUnpkRgrSrsCfg
2561 PUBLIC S16 cmUnpkRgrSrsCfg(param, mBuf)
2568 TRC3(cmUnpkRgrSrsCfg)
2570 CMCHKUNPK(SUnpkU8, ¶m->isSrsCfgSetup, mBuf);
2571 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2572 param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum;
2573 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2574 param->srsBwEnum = (RgrSrsBwCfg) tmpEnum;
2575 CMCHKUNPK(SUnpkU8, ¶m->srsSubFrameCfg, mBuf);
2581 /***********************************************************
2583 * Func : cmPkRgrRachCfg
2586 * Desc : RACH configuration per cell
2595 **********************************************************/
2597 PUBLIC S16 cmPkRgrRachCfg
2603 PUBLIC S16 cmPkRgrRachCfg(param, mBuf)
2610 TRC3(cmPkRgrRachCfg)
2612 CMCHKPK(SPkU8, param->prachResource, mBuf);
2613 CMCHKPK(SPkU16, param->msgSizeGrpA, mBuf);
2614 CMCHKPK(SPkU8, param->sizeRaPreambleGrpA, mBuf);
2615 CMCHKPK(SPkU8, param->numRaPreamble, mBuf);
2616 CMCHKPK(SPkU8, param->maxMsg3Tx, mBuf);
2617 for (i=param->raOccasion.size-1; i >= 0; i--) {
2618 CMCHKPK(SPkU8, param->raOccasion.subFrameNum[i], mBuf);
2620 CMCHKPK(SPkU32, param->raOccasion.sfnEnum, mBuf);
2621 CMCHKPK(SPkU8, param->raOccasion.size, mBuf);
2622 CMCHKPK(SPkU8, param->raWinSize, mBuf);
2623 CMCHKPK(SPkU8, param->preambleFormat, mBuf);
2625 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2626 * timer configuration */
2627 CMCHKPK(SPkU8, param->contResTmr, mBuf);
2634 /***********************************************************
2636 * Func : cmUnpkRgrRachCfg
2639 * Desc : RACH configuration per cell
2648 **********************************************************/
2650 PUBLIC S16 cmUnpkRgrRachCfg
2656 PUBLIC S16 cmUnpkRgrRachCfg(param, mBuf)
2664 TRC3(cmUnpkRgrRachCfg)
2666 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2667 * timer configuration */
2668 CMCHKUNPK(SUnpkU8, ¶m->contResTmr, mBuf);
2670 CMCHKUNPK(SUnpkU8, ¶m->preambleFormat, mBuf);
2671 CMCHKUNPK(SUnpkU8, ¶m->raWinSize, mBuf);
2672 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.size, mBuf);
2673 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2674 param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum;
2675 for (i=0; i<param->raOccasion.size; i++) {
2676 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.subFrameNum[i], mBuf);
2678 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3Tx, mBuf);
2679 CMCHKUNPK(SUnpkU8, ¶m->numRaPreamble, mBuf);
2680 CMCHKUNPK(SUnpkU8, ¶m->sizeRaPreambleGrpA, mBuf);
2681 CMCHKUNPK(SUnpkU16, ¶m->msgSizeGrpA, mBuf);
2682 CMCHKUNPK(SUnpkU8, ¶m->prachResource, mBuf);
2688 /***********************************************************
2690 * Func : cmPkRgrSiCfg
2693 * Desc : SI Configuration per cell
2702 **********************************************************/
2704 PUBLIC S16 cmPkRgrSiCfg
2710 PUBLIC S16 cmPkRgrSiCfg(param, mBuf)
2715 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2718 #endif/*RGR_SI_SCH*/
2723 if(param->numSi > sizeof(param->siPeriodicity)/
2724 sizeof(param->siPeriodicity[0]))
2725 param->numSi = sizeof(param->siPeriodicity)/
2726 sizeof(param->siPeriodicity[0]);
2728 for (idx=param->numSi-1; idx >= 0; idx--) {
2729 /* Enum to be packed/unpacked as U32 instead of S32 */
2730 CMCHKPK(SPkU32, param->siPeriodicity[idx], mBuf);
2732 CMCHKPK(SPkU8, param->numSi, mBuf);
2733 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2734 CMCHKPK(SPkU32, (U32)param->modPrd, mBuf);
2735 #endif/*RGR_SI_SCH*/
2736 CMCHKPK(SPkU8, param->retxCnt, mBuf);
2737 CMCHKPK(SPkU8, param->siWinSize, mBuf);
2743 /***********************************************************
2745 * Func : cmUnpkRgrSiCfg
2748 * Desc : SI Configuration per cell
2757 **********************************************************/
2759 PUBLIC S16 cmUnpkRgrSiCfg
2765 PUBLIC S16 cmUnpkRgrSiCfg(param, mBuf)
2771 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2774 #endif/*RGR_SI_SCH*/
2776 TRC3(cmUnpkRgrSiCfg)
2778 CMCHKUNPK(SUnpkU8, ¶m->siWinSize, mBuf);
2779 CMCHKUNPK(SUnpkU8, ¶m->retxCnt, mBuf);
2781 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2782 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2783 param->modPrd = (RgrModPeriodicity) tmpEnum;
2784 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2786 if(param->numSi > sizeof(param->siPeriodicity)/
2787 sizeof(param->siPeriodicity[0]))
2788 param->numSi = sizeof(param->siPeriodicity)/
2789 sizeof(param->siPeriodicity[0]);
2791 /* Enum to be packed/unpacked as U32 instead of S32 */
2792 for (idx=0; idx < param->numSi; idx++) {
2793 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2794 param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum;
2796 #endif/*RGR_SI_SCH*/
2803 /***********************************************************
2805 * Func : cmPkRgrTpcRntiCfg
2808 * Desc : TPC RNTI Range
2817 **********************************************************/
2819 PUBLIC S16 cmPkRgrTpcRntiCfg
2821 RgrTpcRntiCfg *param,
2825 PUBLIC S16 cmPkRgrTpcRntiCfg(param, mBuf)
2826 RgrTpcRntiCfg *param;
2831 TRC3(cmPkRgrTpcRntiCfg)
2833 CMCHKPK(SPkU16, param->size, mBuf);
2834 CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf);
2840 /***********************************************************
2842 * Func : cmUnpkRgrTpcRntiCfg
2845 * Desc : TPC RNTI Range
2854 **********************************************************/
2856 PUBLIC S16 cmUnpkRgrTpcRntiCfg
2858 RgrTpcRntiCfg *param,
2862 PUBLIC S16 cmUnpkRgrTpcRntiCfg(param, mBuf)
2863 RgrTpcRntiCfg *param;
2868 TRC3(cmUnpkRgrTpcRntiCfg)
2870 CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf);
2871 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
2877 /***********************************************************
2879 * Func : cmPkRgrUlPwrCfg
2882 * Desc : Cell specific power configuration
2891 **********************************************************/
2893 PUBLIC S16 cmPkRgrUlPwrCfg
2899 PUBLIC S16 cmPkRgrUlPwrCfg(param, mBuf)
2905 TRC3(cmPkRgrUlPwrCfg)
2907 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2908 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2909 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2910 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2911 CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf);
2912 CMCHKPK(SPkS8, param->p0NominalPucch, mBuf);
2913 CMCHKPK(SPkU32, param->alpha, mBuf);
2914 CMCHKPK(SPkS8, param->p0NominalPusch, mBuf);
2920 /***********************************************************
2922 * Func : cmUnpkRgrUlPwrCfg
2925 * Desc : Cell specific power configuration
2934 **********************************************************/
2936 PUBLIC S16 cmUnpkRgrUlPwrCfg
2942 PUBLIC S16 cmUnpkRgrUlPwrCfg(param, mBuf)
2949 TRC3(cmUnpkRgrUlPwrCfg)
2951 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf);
2952 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2953 param->alpha = (RgrPwrAlpha) tmpEnum;
2954 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf);
2955 CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf);
2956 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2957 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2958 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2959 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2965 /***********************************************************
2967 * Func : cmPkRgrPuschCfg
2970 * Desc : brief cell specific hopping configuration
2979 **********************************************************/
2981 PUBLIC S16 cmPkRgrPuschCfg
2987 PUBLIC S16 cmPkRgrPuschCfg(param, mBuf)
2993 TRC3(cmPkRgrPuschCfg)
2995 CMCHKPK(SPkU8, param->hopOffst, mBuf);
2996 CMCHKPK(SPkU8, param->isIntraHop, mBuf);
2997 CMCHKPK(SPkU8, param->numSubBands, mBuf);
3003 /***********************************************************
3005 * Func : cmUnpkRgrPuschCfg
3008 * Desc : brief cell specific hopping configuration
3017 **********************************************************/
3019 PUBLIC S16 cmUnpkRgrPuschCfg
3025 PUBLIC S16 cmUnpkRgrPuschCfg(param, mBuf)
3031 TRC3(cmUnpkRgrPuschCfg)
3033 CMCHKUNPK(SUnpkU8, ¶m->numSubBands, mBuf);
3034 CMCHKUNPK(SUnpkU8, ¶m->isIntraHop, mBuf);
3035 CMCHKUNPK(SUnpkU8, ¶m->hopOffst, mBuf);
3041 /***********************************************************
3043 * Func : cmPkRgrCodeBookRstCfg
3046 * Desc : Number of bits in code book for different transmission modes
3055 **********************************************************/
3057 PUBLIC S16 cmPkRgrCodeBookRstCfg
3059 RgrCodeBookRstCfg *param,
3063 PUBLIC S16 cmPkRgrCodeBookRstCfg(param, mBuf)
3064 RgrCodeBookRstCfg *param;
3070 TRC3(cmPkRgrCodeBookRstCfg)
3072 for (i=1-1; i >= 0; i--) {
3073 CMCHKPK(SPkU32, param->pmiBitMap[i], mBuf);
3075 CMCHKPK(SPkU8, param->pres, mBuf);
3081 /***********************************************************
3083 * Func : cmUnpkRgrCodeBookRstCfg
3086 * Desc : Number of bits in code book for different transmission modes
3095 **********************************************************/
3097 PUBLIC S16 cmUnpkRgrCodeBookRstCfg
3099 RgrCodeBookRstCfg *param,
3103 PUBLIC S16 cmUnpkRgrCodeBookRstCfg(param, mBuf)
3104 RgrCodeBookRstCfg *param;
3110 TRC3(cmUnpkRgrCodeBookRstCfg)
3112 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3113 for (i=0; i<1; i++) {
3114 CMCHKUNPK(SUnpkU32, ¶m->pmiBitMap[i], mBuf);
3121 /***********************************************************
3123 * Func : cmPkRgrPreambleSetCfg
3126 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3135 **********************************************************/
3137 PUBLIC S16 cmPkRgrPreambleSetCfg
3139 RgrPreambleSetCfg *param,
3143 PUBLIC S16 cmPkRgrPreambleSetCfg(param, mBuf)
3144 RgrPreambleSetCfg *param;
3149 TRC3(cmPkRgrPreambleSetCfg)
3151 CMCHKPK(SPkU8, param->size, mBuf);
3152 CMCHKPK(SPkU8, param->start, mBuf);
3153 CMCHKPK(SPkU8, param->pres, mBuf);
3159 /***********************************************************
3161 * Func : cmUnpkRgrPreambleSetCfg
3164 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3173 **********************************************************/
3175 PUBLIC S16 cmUnpkRgrPreambleSetCfg
3177 RgrPreambleSetCfg *param,
3181 PUBLIC S16 cmUnpkRgrPreambleSetCfg(param, mBuf)
3182 RgrPreambleSetCfg *param;
3187 TRC3(cmUnpkRgrPreambleSetCfg)
3189 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3190 CMCHKUNPK(SUnpkU8, ¶m->start, mBuf);
3191 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
3197 /***********************************************************
3199 * Func : cmPkRgrCmnLchCfg
3202 * Desc : Logical channel configuration info for common channels
3211 **********************************************************/
3213 PUBLIC S16 cmPkRgrCmnLchCfg
3215 RgrCmnLchCfg *param,
3219 PUBLIC S16 cmPkRgrCmnLchCfg(param, mBuf)
3220 RgrCmnLchCfg *param;
3225 TRC3(cmPkRgrCmnLchCfg)
3227 CMCHKPK(SPkU8, param->ulTrchType, mBuf);
3228 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
3229 CMCHKPK(SPkU8, param->dir, mBuf);
3230 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
3231 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
3237 /***********************************************************
3239 * Func : cmUnpkRgrCmnLchCfg
3242 * Desc : Logical channel configuration info for common channels
3251 **********************************************************/
3253 PUBLIC S16 cmUnpkRgrCmnLchCfg
3255 RgrCmnLchCfg *param,
3259 PUBLIC S16 cmUnpkRgrCmnLchCfg(param, mBuf)
3260 RgrCmnLchCfg *param;
3265 TRC3(cmUnpkRgrCmnLchCfg)
3267 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
3268 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
3269 CMCHKUNPK(SUnpkU8, ¶m->dir, mBuf);
3270 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
3271 CMCHKUNPK(SUnpkU8, ¶m->ulTrchType, mBuf);
3277 /***********************************************************
3279 * Func : cmPkRgrDlfsCfg
3282 * Desc : RGR configuration for DLFS scheduler
3291 **********************************************************/
3293 PUBLIC S16 cmPkRgrDlfsCfg
3299 PUBLIC S16 cmPkRgrDlfsCfg(param, mBuf)
3305 TRC3(cmPkRgrDlfsCfg)
3307 CMCHKPK(SPkU8, param->thresholdCqi, mBuf);
3308 CMCHKPK(SPkU8, param->isDlFreqSel, mBuf);
3314 /***********************************************************
3316 * Func : cmUnpkRgrDlfsCfg
3319 * Desc : RGR configuration for DLFS scheduler
3328 **********************************************************/
3330 PUBLIC S16 cmUnpkRgrDlfsCfg
3336 PUBLIC S16 cmUnpkRgrDlfsCfg(param, mBuf)
3342 TRC3(cmUnpkRgrDlfsCfg)
3344 CMCHKUNPK(SUnpkU8, ¶m->isDlFreqSel, mBuf);
3345 CMCHKUNPK(SUnpkU8, ¶m->thresholdCqi, mBuf);
3355 /***********************************************************
3357 * Func : cmPkRgrTddPrachInfo
3360 * Desc : PRACH resource information for TDD
3369 **********************************************************/
3371 PUBLIC S16 cmPkRgrTddPrachInfo
3373 RgrTddPrachInfo *param,
3377 PUBLIC S16 cmPkRgrTddPrachInfo(param, mBuf)
3378 RgrTddPrachInfo *param;
3383 TRC3(cmPkRgrTddPrachInfo)
3385 CMCHKPK(SPkU8, param->ulStartSfIdx, mBuf);
3386 CMCHKPK(SPkU8, param->halfFrm, mBuf);
3387 CMCHKPK(SPkU32, param->sfn, mBuf);
3388 CMCHKPK(SPkU8, param->freqIdx, mBuf);
3394 /***********************************************************
3396 * Func : cmUnpkRgrTddPrachInfo
3399 * Desc : PRACH resource information for TDD
3408 **********************************************************/
3410 PUBLIC S16 cmUnpkRgrTddPrachInfo
3412 RgrTddPrachInfo *param,
3416 PUBLIC S16 cmUnpkRgrTddPrachInfo(param, mBuf)
3417 RgrTddPrachInfo *param;
3423 TRC3(cmUnpkRgrTddPrachInfo)
3425 CMCHKUNPK(SUnpkU8, ¶m->freqIdx, mBuf);
3426 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
3427 param->sfn = tmpEnum;
3428 CMCHKUNPK(SUnpkU8, ¶m->halfFrm, mBuf);
3429 CMCHKUNPK(SUnpkU8, ¶m->ulStartSfIdx, mBuf);
3435 /***********************************************************
3437 * Func : cmPkRgrTddPrachRscInfo
3440 * Desc : Set of PRACH Information for TDD
3449 **********************************************************/
3451 PUBLIC S16 cmPkRgrTddPrachRscInfo
3453 RgrTddPrachRscInfo *param,
3457 PUBLIC S16 cmPkRgrTddPrachRscInfo(param, mBuf)
3458 RgrTddPrachRscInfo *param;
3464 TRC3(cmPkRgrTddPrachRscInfo)
3466 for (i=param->numRsc-1; i >= 0; i--) {
3467 CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3469 CMCHKPK(SPkU8, param->numRsc, mBuf);
3475 /***********************************************************
3477 * Func : cmUnpkRgrTddPrachRscInfo
3480 * Desc : Set of PRACH Information for TDD
3489 **********************************************************/
3491 PUBLIC S16 cmUnpkRgrTddPrachRscInfo
3493 RgrTddPrachRscInfo *param,
3497 PUBLIC S16 cmUnpkRgrTddPrachRscInfo(param, mBuf)
3498 RgrTddPrachRscInfo *param;
3504 TRC3(cmUnpkRgrTddPrachRscInfo)
3506 CMCHKUNPK(SUnpkU8, ¶m->numRsc, mBuf);
3507 for (i=0; i<param->numRsc; i++) {
3508 CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3519 /***********************************************************
3521 * Func : cmPkRgrEnbPfs
3524 * Desc : PFS Configuration
3533 **********************************************************/
3535 PUBLIC S16 cmPkRgrEnbPfs
3541 PUBLIC S16 cmPkRgrEnbPfs(param, mBuf)
3548 for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--)
3550 CMCHKPK(SPkU32, param->qciWgt[idx], mBuf);
3552 CMCHKPK(SPkU8, param->fairCoeffi, mBuf);
3553 CMCHKPK(SPkU8, param->tptCoeffi, mBuf);
3560 /***********************************************************
3562 * Func : cmUnpkRgrEnbPfs
3565 * Desc : PFS Configuration
3574 **********************************************************/
3576 PUBLIC S16 cmUnpkRgrEnbPfs
3582 PUBLIC S16 cmUnpkRgrEnbPfs(param, mBuf)
3588 TRC3(cmUnpkRgrEnbPfs)
3590 CMCHKUNPK(SUnpkU8, ¶m->tptCoeffi, mBuf);
3591 CMCHKUNPK(SUnpkU8, ¶m->fairCoeffi, mBuf);
3592 for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++)
3594 CMCHKUNPK(SUnpkU32, ¶m->qciWgt[idx], mBuf);
3599 /*rgr_c_001.main_7 - Added support for SPS*/
3601 /***********************************************************
3603 * Func : cmPkRgrSpsCellCfg
3606 * Desc : DL SPS configuration parameters per UE
3607 TODO: Check if this is to be added to re-configuration as well
3616 **********************************************************/
3618 PUBLIC S16 cmPkRgrSpsCellCfg
3620 RgrSpsCellCfg *param,
3624 PUBLIC S16 cmPkRgrSpsCellCfg(param, mBuf)
3625 RgrSpsCellCfg *param;
3630 TRC3(cmPkRgrSpsCellCfg)
3631 CMCHKPK(SPkU16, param->maxSpsUePerUlSf, mBuf);
3632 CMCHKPK(SPkU16, param->maxSpsUePerDlSf, mBuf);
3633 CMCHKPK(SPkU8, param->maxSpsDlBw, mBuf);
3640 /***********************************************************
3642 * Func : cmUnpkRgrSpsDlCellCfg
3645 * Desc : DL SPS configuration parameters per UE
3646 TODO: Check if this is to be added to re-configuration as well
3655 **********************************************************/
3657 PUBLIC S16 cmUnpkRgrSpsDlCellCfg
3659 RgrSpsCellCfg *param,
3663 PUBLIC S16 cmUnpkRgrSpsDlCellCfg(param, mBuf)
3664 RgrSpsCellCfg *param;
3669 TRC3(cmUnpkRgrSpsDlCellCfg)
3671 CMCHKUNPK(SUnpkU8, ¶m->maxSpsDlBw, mBuf);
3672 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerDlSf, mBuf);
3673 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerUlSf, mBuf);
3679 PUBLIC S16 cmPkRgr5gtfCellCfg
3681 Rgr5gtfCellCfg *param,
3686 for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx)
3689 CMCHKPK(SPkU32, param->dynConfig[(U8)idx], mBuf);
3691 printf("\npk dyn:%u\n",param->dynConfig[(U8)idx]);
3694 CMCHKPK(SPkU8, param->uePerGrp, mBuf);
3695 CMCHKPK(SPkU8, param->ueGrpPerTti, mBuf);
3696 CMCHKPK(SPkU8, param->numUes, mBuf);
3697 CMCHKPK(SPkU8, param->numOfCC, mBuf);
3698 CMCHKPK(SPkU8, param->bwPerCC, mBuf);
3699 CMCHKPK(SPkU8, param->cfi, mBuf);
3701 printf("\npk uePerGrp%:%u\n",param->uePerGrp);
3702 printf("\npk ueGrpPerTti:%u\n",param->ueGrpPerTti);
3703 printf("\npk num of UEs:%u\n",param->numUes);
3704 printf("\npk Num of CC:%u\n",param->numOfCC);
3705 printf("\npk bw per cc:%u\n",param->bwPerCC);
3710 PUBLIC S16 cmUnPkRgr5gtfCellCfg
3712 Rgr5gtfCellCfg *param,
3718 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
3719 CMCHKUNPK(SUnpkU8, ¶m->bwPerCC, mBuf);
3720 CMCHKUNPK(SUnpkU8, ¶m->numOfCC, mBuf);
3721 CMCHKUNPK(SUnpkU8, ¶m->numUes, mBuf);
3722 CMCHKUNPK(SUnpkU8, ¶m->ueGrpPerTti, mBuf);
3723 CMCHKUNPK(SUnpkU8, ¶m->uePerGrp, mBuf);
3725 printf("\nunpk uePerGrp:%u\n",param->uePerGrp);
3726 printf("\nunpk ueGrpPerTti:%u\n",param->ueGrpPerTti);
3727 printf("\nunpk num of ues:%u\n",param->numUes);
3728 printf("\nunpk num of cc:%u\n",param->numOfCC);
3729 printf("\nunpk bw per cc:%u\n",param->bwPerCC);
3731 for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx)
3734 CMCHKUNPK(SUnpkU32, ¶m->dynConfig[(U8)idx], mBuf);
3736 printf("\nunpk dyn:%u\n",param->dynConfig[(U8)idx]);
3744 /*LAA : functions to pack and unpack LAA params*/
3745 /***********************************************************
3747 * Func : cmPkRgrLteUCellCfg
3750 * Desc : LAA configuration for the Cell
3759 **********************************************************/
3761 PRIVATE S16 cmPkRgrLteUCellCfg
3767 PRIVATE S16 cmPkRgrLteUCellCfg(param, mBuf)
3773 TRC3(cmPkRgrlteUCellCfg)
3774 CMCHKPK(SPkU8, param->isLaaCell, mBuf);
3779 /***********************************************************
3781 * Func : cmUnpkRgrLteUCellCfg
3784 * Desc : LAA configuration for the cell
3793 **********************************************************/
3795 PRIVATE S16 cmUnpkRgrLteUCellCfg
3801 PRIVATE S16 cmUnpkRgrLteUCellCfg(param, mBuf)
3807 TRC3(cmUnpkRgrLteUCellCfg)
3809 CMCHKUNPK(SUnpkU8, ¶m->isLaaCell, mBuf);
3814 /* LTE_ADV_FLAG_REMOVED_START */
3815 /***********************************************************
3817 * Func : cmPkRgrLteAdvancedUeConfig
3820 * Desc : PAcks LteAdvancedUeConfig
3829 **********************************************************/
3831 PUBLIC S16 cmPkRgrLteAdvancedUeConfig
3833 RgrLteAdvancedUeConfig *param,
3837 PUBLIC S16 cmPkRgrLteAdvancedUeConfig(param, mBuf)
3838 RgrLteAdvancedUeConfig *param;
3843 TRC3(cmPkRgrLteAdvancedUeConfig)
3844 CMCHKPK(SPkU8, param->isUeCellEdge, mBuf);
3845 CMCHKPK(SPkU8, param->isAbsUe, mBuf);
3846 CMCHKPK(SPkU32, param->pres, mBuf);
3850 /***********************************************************
3852 * Func : cmUnpkRgrLteAdvancedUeConfig
3855 * Desc : unpacks LteAdvancedUeConfig
3864 **********************************************************/
3866 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig
3868 RgrLteAdvancedUeConfig *param,
3872 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig(param, mBuf)
3873 RgrLteAdvancedUeConfig *param;
3878 TRC3(cmUnpkRgrLteAdvancedUeConfig)
3879 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
3880 CMCHKUNPK(SUnpkU8, ¶m->isAbsUe, mBuf);
3881 CMCHKUNPK(SUnpkU8, ¶m->isUeCellEdge, mBuf);
3885 /***********************************************************
3887 * Func : cmPkRgrAbsConfig
3890 * Desc : Packs RgrAbsConfig
3899 **********************************************************/
3901 PUBLIC S16 cmPkRgrAbsConfig
3903 RgrAbsConfig *param,
3907 PUBLIC S16 cmPkRgrAbsConfig(param, mBuf)
3908 RgrAbsConfig *param;
3914 TRC3(cmPkRgrAbsConfig)
3915 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3916 for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--)
3918 CMCHKPK(SPkU8, param->absPattern[(U8)indx], mBuf);
3921 CMCHKPK(SPkU32, param->absPatternType, mBuf);
3922 CMCHKPK(SPkU32, param->absLoadPeriodicity, mBuf);
3927 /***********************************************************
3929 * Func : cmPkRgrSfrConfig
3932 * Desc : Packs RgrSfrConfig
3941 **********************************************************/
3943 PUBLIC S16 cmPkRgrSfrConfig
3945 RgrSfrConfig *param,
3949 PUBLIC S16 cmPkRgrSfrConfig(param, mBuf)
3950 RgrSfrConfig *param;
3954 TRC3(cmPkRgrSfrConfig)
3956 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3958 CMCHKPK(SPkU32, param->pwrThreshold.pHigh, mBuf);
3959 CMCHKPK(SPkU32, param->pwrThreshold.pLow, mBuf);
3961 CMCHKPK(SPkU8, param->cellEdgeRbRange.endRb, mBuf);
3962 CMCHKPK(SPkU8, param->cellEdgeRbRange.startRb, mBuf);
3969 /***********************************************************
3971 * Func : cmPkRgrDsfrConfig
3974 * Desc : Packs RgrDsfrConfig
3979 * Notes: AIRSPAN_LTE_ADV_DSFR
3983 **********************************************************/
3985 PUBLIC S16 cmPkRgrDsfrConfig
3987 RgrDsfrConfig *param,
3991 PUBLIC S16 cmPkRgrDsfrConfig(param, mBuf)
3992 RgrDsfrConfig *param;
3996 TRC3(cmPkRgrDsfrConfig)
3998 CMCHKPK(SPkU32, (U32)param->status, mBuf);
4005 /***********************************************************
4007 * Func : cmUnpkRgrDsfrConfig
4010 * Desc : UnPacks RgrDsfrConfig
4015 * Notes: AIRSPAN_LTE_ADV_DSFR
4019 **********************************************************/
4021 PUBLIC S16 cmUnpkRgrDsfrConfig
4023 RgrDsfrConfig *param,
4027 PUBLIC S16 cmUnpkRgrDsfrConfig(param, mBuf)
4028 RgrDsfrConfig *param;
4032 TRC3(cmUnpkRgrDsfrConfig)
4034 CMCHKUNPK(SUnpkU32, (U32 *)¶m->status, mBuf);
4040 /***********************************************************
4042 * Func : cmPkRgrCellLteAdvancedFeatureCfg
4045 * Desc : Cell LteAdvancedFeatureCfg
4054 **********************************************************/
4056 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg
4058 RgrLteAdvancedCellConfig *param,
4062 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4063 RgrLteAdvancedCellConfig *param;
4067 TRC3(cmPkRgrCellLteAdvancedFeatureCfg)
4069 CMCHKPK(SPkU32, param->pres, mBuf);
4070 CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4071 CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4072 CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf);
4079 /***********************************************************
4081 * Func : cmUnpkRgrAbsConfig
4084 * Desc : Unpacks AbsConfig
4093 **********************************************************/
4095 PUBLIC S16 cmUnpkRgrAbsConfig
4097 RgrAbsConfig *param,
4101 PUBLIC S16 cmUnpkRgrAbsConfig(param, mBuf)
4102 RgrAbsConfig *param;
4108 TRC3(cmUnpkRgrAbsConfig)
4110 CMCHKUNPK(SUnpkU32, ¶m->absLoadPeriodicity, mBuf);
4111 CMCHKUNPK(SUnpkU32, ¶m->absPatternType, mBuf);
4112 for (indx = 0; indx <RGR_ABS_PATTERN_LEN; indx++)
4114 CMCHKUNPK(SUnpkU8, ¶m->absPattern[(U8)indx], mBuf);
4116 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4122 /***********************************************************
4124 * Func : cmUnpkRgrSfrConfig
4127 * Desc : Unpacks SfrConfig
4136 **********************************************************/
4138 PUBLIC S16 cmUnpkRgrSfrConfig
4140 RgrSfrConfig *param,
4144 PUBLIC S16 cmUnpkRgrSfrConfig(param, mBuf)
4145 RgrSfrConfig *param;
4150 TRC3(cmUnpkRgrSfrConfig)
4152 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.startRb, mBuf);
4153 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.endRb, mBuf);
4155 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pLow, mBuf);
4156 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pHigh, mBuf);
4158 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4163 /***********************************************************
4165 * Func : cmUnpkRgrCellLteAdvancedFeatureCfg
4168 * Desc : unpacks LteAdvancedFeatureCfg per cell
4177 **********************************************************/
4179 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg
4181 RgrLteAdvancedCellConfig *param,
4185 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4186 RgrLteAdvancedCellConfig *param;
4191 TRC3(cmUnpkRgrCellLteAdvancedFeatureCfg)
4192 CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf);
4193 CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4194 CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4195 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
4200 /* LTE_ADV_FLAG_REMOVED_END */
4202 /***********************************************************
4204 * Func : cmPkRgrSchedEnbCfg
4206 * Desc : SCH ENB Configurations
4214 **********************************************************/
4216 PUBLIC S16 cmPkRgrSchedEnbCfg
4218 RgrSchedEnbCfg *param,
4222 PUBLIC S16 cmPkRgrSchedEnbCfg(param, mBuf)
4223 RgrSchedEnbCfg *param;
4229 TRC3(cmPkRgrSchedEnbCfg)
4232 CMCHKPK(SPkU8, param->isDynTddEnbld, mBuf);
4234 CMCHKPK(SPkU32, param->accsMode, mBuf);
4235 switch(param->ulSchdType)
4237 case RGR_SCH_TYPE_PFS:
4238 CMCHKPK(cmPkRgrEnbPfs, ¶m->ulSchInfo.ulPfs, mBuf);
4243 CMCHKPK(SPkU8, param->ulSchdType, mBuf);
4244 switch(param->dlSchdType)
4246 case RGR_SCH_TYPE_PFS:
4247 CMCHKPK(cmPkRgrEnbPfs, ¶m->dlSchInfo.dlPfs, mBuf);
4252 CMCHKPK(SPkU8, param->dlSchdType, mBuf);
4253 CMCHKPK(SPkU8, param->numTxAntPorts, mBuf);
4255 } /* cmPkRgrSchedEnbCfg */
4257 /***********************************************************
4259 * Func : cmUnpkRgrSchedEnbCfg
4262 * Desc : SCH Enodeb Configuration to SCH
4271 **********************************************************/
4273 PUBLIC S16 cmUnpkRgrSchedEnbCfg
4275 RgrSchedEnbCfg *param,
4279 PUBLIC S16 cmUnpkRgrSchedEnbCfg(param, mBuf)
4280 RgrSchedEnbCfg *param;
4287 TRC3(cmUnpkRgrSchedEnbCfg)
4289 CMCHKUNPK(SUnpkU8, ¶m->numTxAntPorts, mBuf);
4290 CMCHKUNPK(SUnpkU8, ¶m->dlSchdType, mBuf);
4291 switch(param->dlSchdType)
4293 case RGR_SCH_TYPE_PFS:
4294 CMCHKUNPK(cmUnpkRgrEnbPfs, ¶m->dlSchInfo.dlPfs, mBuf);
4299 CMCHKUNPK(SUnpkU8, ¶m->ulSchdType, mBuf);
4300 switch(param->ulSchdType)
4302 case RGR_SCH_TYPE_PFS:
4303 CMCHKUNPK(cmUnpkRgrEnbPfs, ¶m->ulSchInfo.ulPfs, mBuf);
4308 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4309 param->accsMode = (RgrCellAccsMode) tmpEnum;
4311 CMCHKUNPK(SUnpkU8, ¶m->isDynTddEnbld, mBuf);
4314 } /* cmUnpkRgrSchedEnbCfg */
4317 /***********************************************************
4319 * Func : cmPkRgrCellCfg
4322 * Desc : Cell Configuration at RRM
4331 **********************************************************/
4333 PUBLIC S16 cmPkRgrCellCfg
4339 PUBLIC S16 cmPkRgrCellCfg(param, mBuf)
4346 TRC3(cmPkRgrCellCfg)
4349 /* EMTC related changes start*/
4352 /* EMTC related changes ends*/
4356 CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4359 CMCHKPK(SPkU8, param->isPucchFormat3Sptd, mBuf);
4361 /*LAA: Pack LAA params*/
4362 CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4363 CMCHKPK(SPkU32, param->msg4pAVal, mBuf);
4364 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
4365 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
4366 CMCHKPK(SPkU16, param->phichTxPwrOffset, mBuf);
4367 CMCHKPK(SPkU16, param->rarTxPwrOffset, mBuf);
4368 CMCHKPK(SPkU16, param->pcchTxPwrOffset, mBuf);
4369 CMCHKPK(SPkU16, param->bcchTxPwrOffset, mBuf);
4371 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
4372 /*rgr_c_001.main_7 - Added support for SPS*/
4373 CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf);
4375 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4376 CMCHKPK(SPkU8, param->rrmTtiIndPrd, mBuf);
4378 CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4379 CMCHKPK(SPkU8, param->spclSfCfgIdx, mBuf);
4380 CMCHKPK(SPkU8, param->ulDlCfgIdx, mBuf);
4383 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4384 for (i=param->numCmnLcs-1; i >= 0; i--) {
4385 CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4387 CMCHKPK(SPkU8, param->numCmnLcs, mBuf);
4388 CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4389 CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf);
4390 CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4391 CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf);
4392 CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf);
4393 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf);
4394 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4395 CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf);
4396 /* LTE_ADV_FLAG_REMOVED_START */
4397 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4398 /* LTE_ADV_FLAG_REMOVED_END */
4399 CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf);
4400 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4401 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4402 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4403 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4404 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4405 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4406 CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf);
4407 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4408 CMCHKPK(SPkU8, param->dlfsSchdType, mBuf);
4410 CMCHKPK(SPkS8, param->pMax, mBuf);
4411 CMCHKPK(SPkU8, param->cellModSchm, mBuf);
4412 CMCHKPK(SPkU8, param->isCpDlExtend, mBuf);
4413 CMCHKPK(SPkU8, param->isCpUlExtend, mBuf);
4414 CMCHKPK(SPkU8, param->maxUlUeNewTxPerTti, mBuf);
4415 CMCHKPK(SPkU8, param->maxDlUeNewTxPerTti, mBuf);
4416 CMCHKPK(SPkU8, param->maxDlRetxBw, mBuf);
4417 CMCHKPK(SPkU8, param->maxDlBwPerUe, mBuf);
4418 CMCHKPK(SPkU8, param->maxUlBwPerUe, mBuf);
4419 CMCHKPK(SPkU8, param->maxCcchPerDlSf, mBuf);
4420 CMCHKPK(SPkU8, param->maxUePerDlSf, mBuf);
4421 CMCHKPK(SPkU8, param->maxUePerUlSf, mBuf);
4423 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4425 CMCHKPK(SPkU8, param->maxMsg3PerUlSf, mBuf);
4427 CMCHKPK(SPkU8, param->macInst, mBuf);
4428 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
4431 /* EMTC related changes start*/
4432 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
4433 CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4434 /* EMTC related changes ends*/
4442 /***********************************************************
4444 * Func : cmUnpkRgrCellCfg
4447 * Desc : Cell Configuration at RRM
4456 **********************************************************/
4458 PUBLIC S16 cmUnpkRgrCellCfg
4464 PUBLIC S16 cmUnpkRgrCellCfg(param, mBuf)
4472 TRC3(cmUnpkRgrCellCfg)
4474 /* EMTC related changes start*/
4475 CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4476 CMCHKUNPK(SUnpkU8, ¶m->emtcEnable, mBuf);
4477 /* EMTC related changes ends*/
4480 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
4481 CMCHKUNPK(SUnpkU8, ¶m->macInst, mBuf);
4483 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4485 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3PerUlSf, mBuf);
4487 CMCHKUNPK(SUnpkU8, ¶m->maxUePerUlSf, mBuf);
4488 CMCHKUNPK(SUnpkU8, ¶m->maxUePerDlSf, mBuf);
4489 CMCHKUNPK(SUnpkU8, ¶m->maxCcchPerDlSf, mBuf);
4490 CMCHKUNPK(SUnpkU8, ¶m->maxUlBwPerUe, mBuf);
4491 CMCHKUNPK(SUnpkU8, ¶m->maxDlBwPerUe, mBuf);
4492 CMCHKUNPK(SUnpkU8, ¶m->maxDlRetxBw, mBuf);
4493 CMCHKUNPK(SUnpkU8, ¶m->maxDlUeNewTxPerTti, mBuf);
4494 CMCHKUNPK(SUnpkU8, ¶m->maxUlUeNewTxPerTti, mBuf);
4495 CMCHKUNPK(SUnpkU8, ¶m->isCpUlExtend, mBuf);
4496 CMCHKUNPK(SUnpkU8, ¶m->isCpDlExtend, mBuf);
4497 CMCHKUNPK(SUnpkU8, ¶m->cellModSchm, mBuf);
4498 CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf);
4499 CMCHKUNPK(SUnpkU8, ¶m->dlfsSchdType, mBuf);
4500 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4501 CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf);
4502 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4503 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4504 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4505 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4506 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4507 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4508 CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf);
4509 /* LTE_ADV_FLAG_REMOVED_START */
4510 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4511 /* LTE_ADV_FLAG_REMOVED_END */
4512 CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf);
4513 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4514 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf);
4515 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf);
4516 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf);
4517 CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4518 CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf);
4519 CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4520 CMCHKUNPK(SUnpkU8, ¶m->numCmnLcs, mBuf);
4521 for (i=0; i<param->numCmnLcs; i++) {
4522 CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4524 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4527 CMCHKUNPK(SUnpkU8, ¶m->ulDlCfgIdx, mBuf);
4528 CMCHKUNPK(SUnpkU8, ¶m->spclSfCfgIdx, mBuf);
4529 CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4532 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4533 CMCHKUNPK(SUnpkU8, ¶m->rrmTtiIndPrd, mBuf);
4534 /*rgr_c_001.main_7 - Added support for SPS*/
4535 CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf);
4537 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
4538 CMCHKPK(SUnpkU16, ¶m->bcchTxPwrOffset, mBuf);
4539 CMCHKPK(SUnpkU16, ¶m->pcchTxPwrOffset, mBuf);
4540 CMCHKPK(SUnpkU16, ¶m->rarTxPwrOffset, mBuf);
4541 CMCHKPK(SUnpkU16, ¶m->phichTxPwrOffset, mBuf);
4542 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
4543 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
4544 CMCHKPK(SUnpkU32, (U32*)¶m->msg4pAVal, mBuf);
4545 /*LAA: Unpack LAA Cell params*/
4546 CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4548 CMCHKUNPK(SUnpkU8, ¶m->isPucchFormat3Sptd, mBuf);
4551 CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4558 /***********************************************************
4560 * Func : cmPkRgrUeAprdDlCqiCfg
4563 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4572 **********************************************************/
4574 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg
4576 RgrUeAprdDlCqiCfg *param,
4580 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg(param, mBuf)
4581 RgrUeAprdDlCqiCfg *param;
4586 TRC3(cmPkRgrUeAprdDlCqiCfg)
4587 /*Pack Aperiodic Trigger List only for Pcell */
4589 CMCHKPK(SPkU8, param->triggerSet2, mBuf);
4590 CMCHKPK(SPkU8, param->triggerSet1, mBuf);
4593 CMCHKPK(SPkU32, param->aprdModeEnum, mBuf);
4594 CMCHKPK(SPkU8, param->pres, mBuf);
4600 /***********************************************************
4602 * Func : cmUnpkRgrUeAprdDlCqiCfg
4605 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4614 **********************************************************/
4616 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg
4618 RgrUeAprdDlCqiCfg *param,
4622 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg(param, mBuf)
4623 RgrUeAprdDlCqiCfg *param;
4629 TRC3(cmUnpkRgrUeAprdDlCqiCfg)
4631 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4632 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4633 param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum;
4636 CMCHKUNPK(SUnpkU8, ¶m->triggerSet1, mBuf);
4637 CMCHKUNPK(SUnpkU8, ¶m->triggerSet2, mBuf);
4644 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4648 /***********************************************************
4650 * Func : cmPkRgrUePrdDlCqiCfg
4653 * Desc : Downlink Periodic CQI reporting related configuration per UE
4662 **********************************************************/
4664 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4666 RgrUePrdDlCqiCfg *param,
4670 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4671 RgrUePrdDlCqiCfg *param;
4676 TRC3(cmPkRgrUePrdDlCqiCfg)
4678 CMCHKPK(SPkU16, param->cqiPmiCfgIdx, mBuf);
4679 CMCHKPK(SPkU8, param->k, mBuf);
4680 CMCHKPK(SPkS8, param->cqiOffst, mBuf);
4681 CMCHKPK(SPkU8, param->subframeOffst, mBuf);
4682 CMCHKPK(SPkU32, param->prdicityEnum, mBuf);
4683 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4684 CMCHKPK(SPkU8, param->pres, mBuf);
4690 /***********************************************************
4692 * Func : cmUnpkRgrUePrdDlCqiCfg
4695 * Desc : Downlink Periodic CQI reporting related configuration per UE
4704 **********************************************************/
4706 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4708 RgrUePrdDlCqiCfg *param,
4712 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4713 RgrUePrdDlCqiCfg *param;
4719 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4721 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4722 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4723 param->prdModeEnum = tmpEnum;
4724 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4725 param->prdicityEnum = tmpEnum;
4726 CMCHKUNPK(SUnpkU8, ¶m->subframeOffst, mBuf);
4727 CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf);
4728 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4729 CMCHKUNPK(SUnpkU16, ¶m->cqiPmiCfgIdx, mBuf);
4736 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4738 /***********************************************************
4740 * Func : cmPkRgrUeDlPCqiSetup
4743 * Desc : Periodic CQI Setup configuration parameters information
4752 **********************************************************/
4754 PUBLIC S16 cmPkRgrUeDlPCqiSetup
4756 RgrUeDlPCqiSetup *param,
4760 PUBLIC S16 cmPkRgrUeDlPCqiSetup(param, mBuf)
4761 RgrUeDlPCqiSetup *param;
4766 TRC3(cmPkRgrUeDlPCqiSetup)
4768 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4769 CMCHKPK(SPkU8, param->sANCQI, mBuf);
4770 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4771 CMCHKPK(SPkU16, param->riCfgIdx, mBuf);
4772 CMCHKPK(SPkU8, param->riEna, mBuf);
4773 CMCHKPK(SPkU8, param->k, mBuf);
4774 CMCHKPK(SPkU8, param->cqiRepType, mBuf);
4775 CMCHKPK(SPkU16, param->cqiPCfgIdx, mBuf);
4776 CMCHKPK(SPkU16, param->cqiPResIdx, mBuf);
4782 /***********************************************************
4784 * Func : cmUnpkRgrUeDlPCqiSetup
4787 * Desc : Periodic CQI Setup configuration parameters information
4796 **********************************************************/
4798 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup
4800 RgrUeDlPCqiSetup *param,
4804 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup(param, mBuf)
4805 RgrUeDlPCqiSetup *param;
4811 TRC3(cmUnpkRgrUeDlPCqiSetup)
4813 CMCHKUNPK(SUnpkU16, ¶m->cqiPResIdx, mBuf);
4814 CMCHKUNPK(SUnpkU16, ¶m->cqiPCfgIdx, mBuf);
4815 CMCHKUNPK(SUnpkU8, ¶m->cqiRepType, mBuf);
4816 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4817 CMCHKUNPK(SUnpkU8, ¶m->riEna, mBuf);
4818 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4819 CMCHKUNPK(SUnpkU16, ¶m->riCfgIdx, mBuf);
4820 CMCHKUNPK(SUnpkU8, ¶m->sANCQI, mBuf);
4821 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4822 param->prdModeEnum = (RgrPrdCqiMode) tmpEnum;
4828 /***********************************************************
4830 * Func : cmPkRgrUePrdDlCqiCfg
4833 * Desc : Periodic CQI/PMI/RI configuration parameters information
4842 **********************************************************/
4844 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4846 RgrUePrdDlCqiCfg *param,
4850 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4851 RgrUePrdDlCqiCfg *param;
4856 TRC3(cmPkRgrUePrdDlCqiCfg)
4858 CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4859 CMCHKPK(SPkU8, param->type, mBuf);
4865 /***********************************************************
4867 * Func : cmUnpkRgrUePrdDlCqiCfg
4870 * Desc : Periodic CQI/PMI/RI configuration parameters information
4879 **********************************************************/
4881 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4883 RgrUePrdDlCqiCfg *param,
4887 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4888 RgrUePrdDlCqiCfg *param;
4893 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4895 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4896 CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4902 /***********************************************************
4904 * Func : cmPkRgrUeUlSrsSetupCfg
4907 * Desc : SRS configuration setup parameters information.
4908 Reference 36.313 SoundingRS-UL-Config
4917 **********************************************************/
4919 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg
4921 RgrUeUlSrsSetupCfg *param,
4925 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg(param, mBuf)
4926 RgrUeUlSrsSetupCfg *param;
4931 TRC3(cmPkRgrUeUlSrsSetupCfg)
4933 CMCHKPK(SPkU8, param->fDomPosi, mBuf);
4934 CMCHKPK(SPkU8, param->txComb, mBuf);
4935 CMCHKPK(SPkU8, param->sANSrs, mBuf);
4936 CMCHKPK(SPkU8, param->duration, mBuf);
4937 CMCHKPK(SPkU32, param->cycShift, mBuf);
4938 CMCHKPK(SPkU32, param->srsHopBw, mBuf);
4939 CMCHKPK(SPkU32, param->srsBw, mBuf);
4940 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4941 CMCHKPK(SPkU16, param->srsCfgIdx, mBuf);
4947 /***********************************************************
4949 * Func : cmUnpkRgrUeUlSrsSetupCfg
4952 * Desc : SRS configuration setup parameters information.
4953 Reference 36.313 SoundingRS-UL-Config
4962 **********************************************************/
4964 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg
4966 RgrUeUlSrsSetupCfg *param,
4970 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg(param, mBuf)
4971 RgrUeUlSrsSetupCfg *param;
4977 TRC3(cmUnpkRgrUeUlSrsSetupCfg)
4979 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4980 CMCHKUNPK(SUnpkU16, ¶m->srsCfgIdx, mBuf);
4981 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4982 param->srsBw = (RgrUlSrsBwInfo) tmpEnum;
4983 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4984 param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum;
4985 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4986 param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum;
4987 CMCHKUNPK(SUnpkU8, ¶m->duration, mBuf);
4988 CMCHKUNPK(SUnpkU8, ¶m->sANSrs, mBuf);
4989 CMCHKUNPK(SUnpkU8, ¶m->txComb, mBuf);
4990 CMCHKUNPK(SUnpkU8, ¶m->fDomPosi, mBuf);
4996 /***********************************************************
4998 * Func : cmPkRgrUeSrSetupCfg
5001 * Desc : SR Setup configuration parameters information
5010 **********************************************************/
5012 PUBLIC S16 cmPkRgrUeSrSetupCfg
5014 RgrUeSrSetupCfg *param,
5018 PUBLIC S16 cmPkRgrUeSrSetupCfg(param, mBuf)
5019 RgrUeSrSetupCfg *param;
5024 TRC3(cmPkRgrUeSrSetupCfg)
5026 /* ccpu00131601:DEL - dTMax Packing removed since this param will not
5027 * be required by Scheduler*/
5028 CMCHKPK(SPkU8, param->srCfgIdx, mBuf);
5029 CMCHKPK(SPkU16, param->srResIdx, mBuf);
5035 /***********************************************************
5037 * Func : cmUnpkRgrUeSrSetupCfg
5040 * Desc : SR Setup configuration parameters information
5049 **********************************************************/
5051 PUBLIC S16 cmUnpkRgrUeSrSetupCfg
5053 RgrUeSrSetupCfg *param,
5057 PUBLIC S16 cmUnpkRgrUeSrSetupCfg(param, mBuf)
5058 RgrUeSrSetupCfg *param;
5062 TRC3(cmUnpkRgrUeSrSetupCfg)
5064 CMCHKUNPK(SUnpkU16, ¶m->srResIdx, mBuf);
5065 CMCHKUNPK(SUnpkU8, ¶m->srCfgIdx, mBuf);
5066 /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not
5067 * be required by Scheduler*/
5073 /***********************************************************
5075 * Func : cmPkRgrUeSrCfg
5078 * Desc : SR configuration parameters information
5087 **********************************************************/
5089 PUBLIC S16 cmPkRgrUeSrCfg
5095 PUBLIC S16 cmPkRgrUeSrCfg(param, mBuf)
5101 TRC3(cmPkRgrUeSrCfg)
5103 CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
5104 CMCHKPK(SPkU8, param->type, mBuf);
5110 /***********************************************************
5112 * Func : cmUnpkRgrUeSrCfg
5115 * Desc : SR configuration parameters information
5124 **********************************************************/
5126 PUBLIC S16 cmUnpkRgrUeSrCfg
5132 PUBLIC S16 cmUnpkRgrUeSrCfg(param, mBuf)
5138 TRC3(cmUnpkRgrUeSrCfg)
5140 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5141 CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
5147 /***********************************************************
5149 * Func : cmPkRgrUeUlSrsCfg
5152 * Desc : SRS configuration parameters information.
5153 Reference 36.313 SoundingRS-UL-Config
5162 **********************************************************/
5164 PUBLIC S16 cmPkRgrUeUlSrsCfg
5166 RgrUeUlSrsCfg *param,
5170 PUBLIC S16 cmPkRgrUeUlSrsCfg(param, mBuf)
5171 RgrUeUlSrsCfg *param;
5176 TRC3(cmPkRgrUeUlSrsCfg)
5178 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5179 CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5180 CMCHKPK(SPkU8, param->type, mBuf);
5186 /***********************************************************
5188 * Func : cmUnpkRgrUeUlSrsCfg
5191 * Desc : SRS configuration parameters information.
5192 Reference 36.313 SoundingRS-UL-Config
5201 **********************************************************/
5203 PUBLIC S16 cmUnpkRgrUeUlSrsCfg
5205 RgrUeUlSrsCfg *param,
5209 PUBLIC S16 cmUnpkRgrUeUlSrsCfg(param, mBuf)
5210 RgrUeUlSrsCfg *param;
5215 TRC3(cmUnpkRgrUeUlSrsCfg)
5217 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5218 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5219 CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5224 #endif /*TFU_UPGRADE */
5227 /***********************************************************
5229 * Func : cmPkRgrUeDlCqiCfg
5232 * Desc : Downlink CQI reporting related configuration per UE
5241 **********************************************************/
5243 PUBLIC S16 cmPkRgrUeDlCqiCfg
5245 RgrUeDlCqiCfg *param,
5249 PUBLIC S16 cmPkRgrUeDlCqiCfg(param, mBuf)
5250 RgrUeDlCqiCfg *param;
5255 TRC3(cmPkRgrUeDlCqiCfg)
5258 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5260 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5263 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5265 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5267 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5273 /***********************************************************
5275 * Func : cmUnpkRgrUeDlCqiCfg
5278 * Desc : Downlink CQI reporting related configuration per UE
5287 **********************************************************/
5289 PUBLIC S16 cmUnpkRgrUeDlCqiCfg
5291 RgrUeDlCqiCfg *param,
5295 PUBLIC S16 cmUnpkRgrUeDlCqiCfg(param, mBuf)
5296 RgrUeDlCqiCfg *param;
5301 TRC3(cmUnpkRgrUeDlCqiCfg)
5303 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5304 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5310 /***********************************************************
5312 * Func : cmPkRgrUeMeasGapCfg
5315 * Desc : Measurement gap configuration for UE
5324 **********************************************************/
5326 PUBLIC S16 cmPkRgrUeMeasGapCfg
5328 RgrUeMeasGapCfg *param,
5332 PUBLIC S16 cmPkRgrUeMeasGapCfg(param, mBuf)
5333 RgrUeMeasGapCfg *param;
5338 TRC3(cmPkRgrUeMeasGapCfg)
5340 CMCHKPK(SPkU8, param->gapOffst, mBuf);
5341 CMCHKPK(SPkU8, param->gapPrd, mBuf);
5342 CMCHKPK(SPkU8, param->isMesGapEnabled, mBuf);
5348 /***********************************************************
5350 * Func : cmUnpkRgrUeMeasGapCfg
5353 * Desc : Measurement gap configuration for UE
5362 **********************************************************/
5364 PUBLIC S16 cmUnpkRgrUeMeasGapCfg
5366 RgrUeMeasGapCfg *param,
5370 PUBLIC S16 cmUnpkRgrUeMeasGapCfg(param, mBuf)
5371 RgrUeMeasGapCfg *param;
5376 TRC3(cmUnpkRgrUeMeasGapCfg)
5378 CMCHKUNPK(SUnpkU8, ¶m->isMesGapEnabled, mBuf);
5379 CMCHKUNPK(SUnpkU8, ¶m->gapPrd, mBuf);
5380 CMCHKUNPK(SUnpkU8, ¶m->gapOffst, mBuf);
5384 /*rgr_c_001.main_9 ADD DRX functionality under flag*/
5386 /***********************************************************
5388 * Func : cmPkRgrDrxLongCycleOffst
5391 * Desc : DRX Long Cycle Offset
5400 **********************************************************/
5402 PUBLIC S16 cmPkRgrDrxLongCycleOffst
5404 RgrDrxLongCycleOffst *param,
5408 PUBLIC S16 cmPkRgrDrxLongCycleOffst(param, mBuf)
5409 RgrDrxLongCycleOffst *param;
5414 TRC3(cmPkRgrDrxLongCycleOffst)
5416 CMCHKPK(SPkU16, param->drxStartOffst, mBuf);
5417 CMCHKPK(SPkU16, param->longDrxCycle, mBuf);
5423 /***********************************************************
5425 * Func : cmUnpkRgrDrxLongCycleOffst
5428 * Desc : DRX Long Cycle Offset
5437 **********************************************************/
5439 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst
5441 RgrDrxLongCycleOffst *param,
5445 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst(param, mBuf)
5446 RgrDrxLongCycleOffst *param;
5451 TRC3(cmUnpkRgrDrxLongCycleOffst)
5453 CMCHKUNPK(SUnpkU16, ¶m->longDrxCycle, mBuf);
5454 CMCHKUNPK(SUnpkU16, ¶m->drxStartOffst, mBuf);
5460 /***********************************************************
5462 * Func : cmPkRgrDrxShortDrx
5465 * Desc : DRX Short Cycle Offset
5474 **********************************************************/
5476 PUBLIC S16 cmPkRgrDrxShortDrx
5478 RgrDrxShortDrx *param,
5482 PUBLIC S16 cmPkRgrDrxShortDrx(param, mBuf)
5483 RgrDrxShortDrx *param;
5488 TRC3(cmPkRgrDrxShortDrx)
5490 CMCHKPK(SPkU8, param->drxShortCycleTmr, mBuf);
5491 CMCHKPK(SPkU16, param->shortDrxCycle, mBuf);
5492 CMCHKPK(SPkU8, param->pres, mBuf);
5498 /***********************************************************
5500 * Func : cmUnpkRgrDrxShortDrx
5503 * Desc : DRX Short Cycle Offset
5512 **********************************************************/
5514 PUBLIC S16 cmUnpkRgrDrxShortDrx
5516 RgrDrxShortDrx *param,
5520 PUBLIC S16 cmUnpkRgrDrxShortDrx(param, mBuf)
5521 RgrDrxShortDrx *param;
5526 TRC3(cmUnpkRgrDrxShortDrx)
5528 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5529 CMCHKUNPK(SUnpkU16, ¶m->shortDrxCycle, mBuf);
5530 CMCHKUNPK(SUnpkU8, ¶m->drxShortCycleTmr, mBuf);
5534 /***********************************************************
5536 * Func : cmPkRgrUeDrxCfg
5539 * Desc : DRX configuration for UE
5548 **********************************************************/
5550 PUBLIC S16 cmPkRgrUeDrxCfg
5556 PUBLIC S16 cmPkRgrUeDrxCfg(param, mBuf)
5562 TRC3(cmPkRgrUeDrxCfg)
5564 CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5565 CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5566 CMCHKPK(SPkU16, param->drxRetxTmr, mBuf);
5568 CMCHKPK(SPkU8, param->drxRetxTmrR13Pres, mBuf);
5569 CMCHKPK(SPkU8, param->drxOnDurTmrR13Pres, mBuf);
5570 CMCHKPK(SPkU16, param->emtcDrxUlRetxTmr, mBuf);
5571 CMCHKPK(SPkU8, param->isEmtcUe, mBuf);
5573 CMCHKPK(SPkU16, param->drxInactvTmr, mBuf);
5574 CMCHKPK(SPkU16, param->drxOnDurTmr, mBuf);
5575 /*rgr_c_001.main_9 ADD added changes for R9*/
5577 CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf);
5584 /***********************************************************
5586 * Func : cmUnpkRgrUeDrxCfg
5589 * Desc : DRX configuration for UE
5598 **********************************************************/
5600 PUBLIC S16 cmUnpkRgrUeDrxCfg
5606 PUBLIC S16 cmUnpkRgrUeDrxCfg(param, mBuf)
5612 TRC3(cmUnpkRgrUeDrxCfg)
5614 /*rgr_c_001.main_9 ADD added changes for R9*/
5616 CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf);
5618 CMCHKUNPK(SUnpkU16, ¶m->drxOnDurTmr, mBuf);
5619 CMCHKUNPK(SUnpkU16, ¶m->drxInactvTmr, mBuf);
5621 CMCHKUNPK(SUnpkU8, ¶m->isEmtcUe, mBuf);
5622 CMCHKUNPK(SUnpkU16,¶m->emtcDrxUlRetxTmr, mBuf);
5623 CMCHKUNPK(SUnpkU8, ¶m->drxOnDurTmrR13Pres, mBuf);
5624 CMCHKUNPK(SUnpkU8, ¶m->drxRetxTmrR13Pres, mBuf);
5626 CMCHKUNPK(SUnpkU16, ¶m->drxRetxTmr, mBuf);
5627 CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5628 CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5632 /*rgr_c_001.main_9 ADD added DRX changes under DRX*/
5634 /***********************************************************
5636 * Func : cmPkRgrUeCapCfg
5639 * Desc : RgrUeCapCfg
5648 **********************************************************/
5650 PUBLIC S16 cmPkRgrUeCapCfg
5656 PUBLIC S16 cmPkRgrUeCapCfg(param, mBuf)
5662 TRC3(cmPkRgrUeCapCfg)
5664 CMCHKPK(SPkU8, param->txAntSel, mBuf);
5665 CMCHKPK(SPkU8, param->simCqiAckNack, mBuf);
5666 CMCHKPK(SPkU8, param->resAloocType1, mBuf);
5667 CMCHKPK(SPkU8, param->intraSfFeqHop, mBuf);
5668 CMCHKPK(SPkU8, param->pwrClass, mBuf);
5674 /***********************************************************
5676 * Func : cmUnpkRgrUeCapCfg
5679 * Desc : RgrUeCapCfg
5688 **********************************************************/
5690 PUBLIC S16 cmUnpkRgrUeCapCfg
5696 PUBLIC S16 cmUnpkRgrUeCapCfg(param, mBuf)
5702 TRC3(cmUnpkRgrUeCapCfg)
5704 CMCHKUNPK(SUnpkU8, ¶m->pwrClass, mBuf);
5705 CMCHKUNPK(SUnpkU8, ¶m->intraSfFeqHop, mBuf);
5706 CMCHKUNPK(SUnpkU8, ¶m->resAloocType1, mBuf);
5707 CMCHKUNPK(SUnpkU8, ¶m->simCqiAckNack, mBuf);
5708 CMCHKUNPK(SUnpkU8, ¶m->txAntSel, mBuf);
5714 /***********************************************************
5716 * Func : cmPkRgrUeAckNackRepCfg
5719 * Desc : rgrUeAckNackRepCfg
5728 **********************************************************/
5730 PUBLIC S16 cmPkRgrUeAckNackRepCfg
5732 RgrUeAckNackRepCfg *param,
5736 PUBLIC S16 cmPkRgrUeAckNackRepCfg(param, mBuf)
5737 RgrUeAckNackRepCfg *param;
5742 TRC3(cmPkRgrUeAckNackRepCfg)
5744 CMCHKPK(SPkU32, param->ackNackRepFactor, mBuf);
5745 CMCHKPK(SPkU16, param->pucchAckNackRep, mBuf);
5746 CMCHKPK(SPkU8, param->isAckNackEnabled, mBuf);
5752 /***********************************************************
5754 * Func : cmUnpkRgrUeAckNackRepCfg
5757 * Desc : rgrUeAckNackRepCfg
5766 **********************************************************/
5768 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg
5770 RgrUeAckNackRepCfg *param,
5774 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg(param, mBuf)
5775 RgrUeAckNackRepCfg *param;
5781 TRC3(cmUnpkRgrUeAckNackRepCfg)
5783 CMCHKUNPK(SUnpkU8, ¶m->isAckNackEnabled, mBuf);
5784 CMCHKUNPK(SUnpkU16, ¶m->pucchAckNackRep, mBuf);
5785 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5786 param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum;
5792 /***********************************************************
5794 * Func : cmPkRgrUeTxModeCfg
5797 * Desc : Transmission mode configuration per UE
5806 **********************************************************/
5808 PUBLIC S16 cmPkRgrUeTxModeCfg
5810 RgrUeTxModeCfg *param,
5814 PUBLIC S16 cmPkRgrUeTxModeCfg(param, mBuf)
5815 RgrUeTxModeCfg *param;
5820 TRC3(cmPkRgrUeTxModeCfg)
5822 CMCHKPK(SPkU32, param->txModeEnum, mBuf);
5823 CMCHKPK(SPkU32, param->tmTrnstnState, mBuf);
5824 CMCHKPK(SPkU8, param->pres, mBuf);
5831 /***********************************************************
5833 * Func : cmUnpkRgrUeTxModeCfg
5836 * Desc : Transmission mode configuration per UE
5845 **********************************************************/
5847 PUBLIC S16 cmUnpkRgrUeTxModeCfg
5849 RgrUeTxModeCfg *param,
5853 PUBLIC S16 cmUnpkRgrUeTxModeCfg(param, mBuf)
5854 RgrUeTxModeCfg *param;
5860 TRC3(cmUnpkRgrUeTxModeCfg)
5862 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5863 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5864 param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum;
5866 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5867 param->txModeEnum = (RgrTxMode) tmpEnum;
5873 /***********************************************************
5875 * Func : cmPkRgrUeUlHqCfg
5878 * Desc : Uplink HARQ configuration per UE
5887 **********************************************************/
5889 PUBLIC S16 cmPkRgrUeUlHqCfg
5891 RgrUeUlHqCfg *param,
5895 PUBLIC S16 cmPkRgrUeUlHqCfg(param, mBuf)
5896 RgrUeUlHqCfg *param;
5901 TRC3(cmPkRgrUeUlHqCfg)
5903 CMCHKPK(SPkU8, param->deltaHqOffst, mBuf);
5904 CMCHKPK(SPkU8, param->maxUlHqTx, mBuf);
5910 /***********************************************************
5912 * Func : cmUnpkRgrUeUlHqCfg
5915 * Desc : Uplink HARQ configuration per UE
5924 **********************************************************/
5926 PUBLIC S16 cmUnpkRgrUeUlHqCfg
5928 RgrUeUlHqCfg *param,
5932 PUBLIC S16 cmUnpkRgrUeUlHqCfg(param, mBuf)
5933 RgrUeUlHqCfg *param;
5938 TRC3(cmUnpkRgrUeUlHqCfg)
5940 CMCHKUNPK(SUnpkU8, ¶m->maxUlHqTx, mBuf);
5941 CMCHKUNPK(SUnpkU8, ¶m->deltaHqOffst, mBuf);
5947 /***********************************************************
5949 * Func : cmPkRgrUeGrpPwrCfg
5952 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5961 **********************************************************/
5963 PUBLIC S16 cmPkRgrUeGrpPwrCfg
5965 RgrUeGrpPwrCfg *param,
5969 PUBLIC S16 cmPkRgrUeGrpPwrCfg(param, mBuf)
5970 RgrUeGrpPwrCfg *param;
5975 TRC3(cmPkRgrUeGrpPwrCfg)
5977 CMCHKPK(SPkU8, param->idx, mBuf);
5978 CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf);
5979 CMCHKPK(SPkU8, param->pres, mBuf);
5985 /***********************************************************
5987 * Func : cmUnpkRgrUeGrpPwrCfg
5990 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5999 **********************************************************/
6001 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg
6003 RgrUeGrpPwrCfg *param,
6007 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg(param, mBuf)
6008 RgrUeGrpPwrCfg *param;
6013 TRC3(cmUnpkRgrUeGrpPwrCfg)
6015 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6016 CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf);
6017 CMCHKUNPK(SUnpkU8, ¶m->idx, mBuf);
6021 /*rgr_c_001.main_7 - Added support for SPS*/
6024 /***********************************************************
6026 * Func : cmPkRgrUeSpsDlCfg
6029 * Desc : DL SPS configuration parameters per UE
6038 **********************************************************/
6040 PUBLIC S16 cmPkRgrUeSpsDlCfg
6042 RgrUeSpsDlCfg *param,
6046 PUBLIC S16 cmPkRgrUeSpsDlCfg(param, mBuf)
6047 RgrUeSpsDlCfg *param;
6053 TRC3(cmPkRgrUeSpsDlCfg)
6054 CMCHKPK(SPkU16, param->explicitRelCnt, mBuf);
6055 CMCHKPK(SPkU32, param->dlSpsPrdctyEnum, mBuf);
6056 for (i=param->numPucchVal-1; i >= 0; i--) {
6057 CMCHKPK(SPkU32, param->n1PucchVal[i], mBuf);
6059 CMCHKPK(SPkU8, param->numPucchVal, mBuf);
6060 CMCHKPK(SPkU8, param->numSpsHqProc, mBuf);
6061 CMCHKPK(SPkU8, param->isDlSpsEnabled, mBuf);
6067 /***********************************************************
6069 * Func : cmUnpkRgrUeSpsDlCfg
6072 * Desc : DL SPS configuration parameters per UE
6081 **********************************************************/
6083 PUBLIC S16 cmUnpkRgrUeSpsDlCfg
6085 RgrUeSpsDlCfg *param,
6089 PUBLIC S16 cmUnpkRgrUeSpsDlCfg(param, mBuf)
6090 RgrUeSpsDlCfg *param;
6097 TRC3(cmUnpkRgrUeSpsDlCfg)
6099 CMCHKUNPK(SUnpkU8, ¶m->isDlSpsEnabled, mBuf);
6100 CMCHKUNPK(SUnpkU8, ¶m->numSpsHqProc, mBuf);
6101 CMCHKUNPK(SUnpkU8, ¶m->numPucchVal, mBuf);
6102 for (i=0; i<param->numPucchVal; i++) {
6103 CMCHKUNPK(SUnpkU32, ¶m->n1PucchVal[i], mBuf);
6105 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6106 param->dlSpsPrdctyEnum = tmpEnum;
6107 CMCHKUNPK(SUnpkU16, ¶m->explicitRelCnt, mBuf);
6113 /***********************************************************
6115 * Func : cmPkRgrUeSpsUlCfg
6118 * Desc : UL SPS configuration parameters per UE
6127 **********************************************************/
6129 PUBLIC S16 cmPkRgrUeSpsUlCfg
6131 RgrUeSpsUlCfg *param,
6135 PUBLIC S16 cmPkRgrUeSpsUlCfg(param, mBuf)
6136 RgrUeSpsUlCfg *param;
6142 TRC3(cmPkRgrUeSpsUlCfg)
6144 CMCHKPK(SPkU8, param->isLcSRMaskEnab, mBuf);
6145 for (i=param->lcCnt-1; i >= 0; i--) {
6146 /* SPS Changes starts */
6147 CMCHKPK(SPkU8, param->spsLcInfo[i].isSpsEnabled, mBuf);
6148 CMCHKPK(SPkU8, param->spsLcInfo[i].lcId, mBuf);
6149 /* SPS Changes ends */
6151 CMCHKPK(SPkU8, param->lcCnt, mBuf);
6152 CMCHKPK(SPkU32, param->ulSpsPrdctyEnum, mBuf);
6153 CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf);
6154 CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf);
6155 CMCHKPK(SPkU8, param->pwrCfgPres, mBuf);
6158 CMCHKPK(SPkU8, param->twoIntervalCfg, mBuf);
6161 CMCHKPK(SPkU32, param->implicitRelCnt, mBuf);
6162 CMCHKPK(SPkU8, param->isUlSpsEnabled, mBuf);
6168 /***********************************************************
6170 * Func : cmUnpkRgrUeSpsUlCfg
6173 * Desc : UL SPS configuration parameters per UE
6182 **********************************************************/
6184 PUBLIC S16 cmUnpkRgrUeSpsUlCfg
6186 RgrUeSpsUlCfg *param,
6190 PUBLIC S16 cmUnpkRgrUeSpsUlCfg(param, mBuf)
6191 RgrUeSpsUlCfg *param;
6198 TRC3(cmUnpkRgrUeSpsUlCfg)
6200 CMCHKUNPK(SUnpkU8, ¶m->isUlSpsEnabled, mBuf);
6201 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6202 param->implicitRelCnt = tmpEnum;
6205 CMCHKUNPK(SUnpkU8, ¶m->twoIntervalCfg, mBuf);
6208 CMCHKUNPK(SUnpkU8, ¶m->pwrCfgPres, mBuf);
6209 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf);
6210 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf);
6211 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6212 param->ulSpsPrdctyEnum = tmpEnum;
6213 CMCHKUNPK(SUnpkU8, ¶m->lcCnt, mBuf);
6214 for (i=0; i<param->lcCnt; i++) {
6215 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].lcId, mBuf);
6216 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf);
6218 CMCHKUNPK(SUnpkU8, ¶m->isLcSRMaskEnab, mBuf);
6224 /***********************************************************
6226 * Func : cmPkRgrUeSpsCfg
6229 * Desc : SPS configuration parameters per UE
6238 **********************************************************/
6240 PUBLIC S16 cmPkRgrUeSpsCfg
6246 PUBLIC S16 cmPkRgrUeSpsCfg(param, mBuf)
6252 TRC3(cmPkRgrUeSpsCfg)
6254 CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6255 CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6256 CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf);
6262 /***********************************************************
6264 * Func : cmUnpkRgrUeSpsCfg
6267 * Desc : SPS configuration parameters per UE
6276 **********************************************************/
6278 PUBLIC S16 cmUnpkRgrUeSpsCfg
6284 PUBLIC S16 cmUnpkRgrUeSpsCfg(param, mBuf)
6290 TRC3(cmUnpkRgrUeSpsCfg)
6292 CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf);
6293 CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6294 CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6299 /***********************************************************
6301 * Func : cmPkRgrUeUlPwrCfg
6304 * Desc : Uplink power configuration per UE
6313 **********************************************************/
6315 PUBLIC S16 cmPkRgrUeUlPwrCfg
6317 RgrUeUlPwrCfg *param,
6321 PUBLIC S16 cmPkRgrUeUlPwrCfg(param, mBuf)
6322 RgrUeUlPwrCfg *param;
6327 TRC3(cmPkRgrUeUlPwrCfg)
6329 CMCHKPK(SPkU8, param->trgCqi, mBuf);
6330 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
6331 CMCHKPK(SPkS8, param->p0UePucch, mBuf);
6332 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
6333 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
6334 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
6335 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6336 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6342 /***********************************************************
6344 * Func : cmUnpkRgrUeUlPwrCfg
6347 * Desc : Uplink power configuration per UE
6356 **********************************************************/
6358 PUBLIC S16 cmUnpkRgrUeUlPwrCfg
6360 RgrUeUlPwrCfg *param,
6364 PUBLIC S16 cmUnpkRgrUeUlPwrCfg(param, mBuf)
6365 RgrUeUlPwrCfg *param;
6370 TRC3(cmUnpkRgrUeUlPwrCfg)
6372 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6373 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6374 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
6375 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
6376 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
6377 CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf);
6378 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
6379 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
6385 /***********************************************************
6387 * Func : cmPkRgrUeQosCfg
6390 * Desc : Downlink/Uplink QoS configuration per UE
6399 **********************************************************/
6401 PUBLIC S16 cmPkRgrUeQosCfg
6407 PUBLIC S16 cmPkRgrUeQosCfg(param, mBuf)
6413 TRC3(cmPkRgrUeQosCfg)
6415 CMCHKPK(SPkU32, param->ueBr, mBuf);
6416 CMCHKPK(SPkU32, param->dlAmbr, mBuf);
6417 CMCHKPK(SPkU8, param->ambrPres, mBuf);
6423 /***********************************************************
6425 * Func : cmUnpkRgrUeQosCfg
6428 * Desc : Downlink/Uplink QoS configuration per UE
6437 **********************************************************/
6439 PUBLIC S16 cmUnpkRgrUeQosCfg
6445 PUBLIC S16 cmUnpkRgrUeQosCfg(param, mBuf)
6451 TRC3(cmUnpkRgrUeQosCfg)
6453 CMCHKUNPK(SUnpkU8, ¶m->ambrPres, mBuf);
6454 CMCHKUNPK(SUnpkU32, ¶m->dlAmbr, mBuf);
6455 CMCHKUNPK(SUnpkU32, ¶m->ueBr, mBuf);
6459 /***********************************************************
6461 * Func : cmPkRgrUePuschDedCfg
6464 * Desc : PUSCH Config Dedication for UE
6473 **********************************************************/
6475 PUBLIC S16 cmPkRgrUePuschDedCfg
6477 RgrUePuschDedCfg *param,
6481 PUBLIC S16 cmPkRgrUePuschDedCfg(param, mBuf)
6482 RgrUePuschDedCfg *param;
6487 TRC3(cmPkRgrUePuschDedCfg)
6489 CMCHKPK(SPkU8, param->bCQIIdx, mBuf);
6490 CMCHKPK(SPkU8, param->bRIIdx, mBuf);
6491 CMCHKPK(SPkU8, param->bACKIdx, mBuf);
6492 CMCHKPK(SPkU8, param->pres, mBuf);
6497 /***********************************************************
6499 * Func : cmUnpkRgrUePuschDedCfg
6502 * Desc : PUSCH Config Dedication for UE
6512 **********************************************************/
6514 PUBLIC S16 cmUnpkRgrUePuschDedCfg
6516 RgrUePuschDedCfg *param,
6520 PUBLIC S16 cmUnpkRgrUePuschDedCfg(param, mBuf)
6521 RgrUePuschDedCfg *param;
6526 TRC3(cmUnpkRgrUePuschDedCfg)
6528 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6529 CMCHKUNPK(SUnpkU8, ¶m->bACKIdx, mBuf);
6530 CMCHKUNPK(SUnpkU8, ¶m->bRIIdx, mBuf);
6531 CMCHKUNPK(SUnpkU8, ¶m->bCQIIdx, mBuf);
6535 /***********************************************************
6537 * Func : cmPkRgrUeTxAntSelCfg
6540 * Desc : UE Transmit Antenna selection related configuration
6549 **********************************************************/
6551 PUBLIC S16 cmPkRgrUeTxAntSelCfg
6553 RgrUeTxAntSelCfg *param,
6557 PUBLIC S16 cmPkRgrUeTxAntSelCfg(param, mBuf)
6558 RgrUeTxAntSelCfg *param;
6563 TRC3(cmPkRgrUeTxAntSelCfg)
6565 CMCHKPK(SPkU32, param->selType, mBuf);
6566 CMCHKPK(SPkU8, param->pres, mBuf);
6572 /***********************************************************
6574 * Func : cmUnpkRgrUeTxAntSelCfg
6577 * Desc : UE Transmit Antenna selection related configuration
6586 **********************************************************/
6588 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg
6590 RgrUeTxAntSelCfg *param,
6594 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg(param, mBuf)
6595 RgrUeTxAntSelCfg *param;
6601 TRC3(cmUnpkRgrUeTxAntSelCfg)
6603 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6604 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6605 param->selType = (RgrUeTxAntSelType) tmpEnum;
6610 /***********************************************************
6612 * Func : cmPkRgrUeTaTmrCfg
6615 * Desc : Time Alignment timer configuration per UE
6624 **********************************************************/
6626 PUBLIC S16 cmPkRgrUeTaTmrCfg
6628 RgrUeTaTmrCfg *param,
6632 PUBLIC S16 cmPkRgrUeTaTmrCfg(param, mBuf)
6633 RgrUeTaTmrCfg *param;
6638 TRC3(cmPkRgrUeTaTmrCfg)
6640 CMCHKPK(SPkU16, param->taTmr, mBuf);
6641 CMCHKPK(SPkU8, param->pres, mBuf);
6647 /***********************************************************
6649 * Func : cmUnpkRgrUeTaTmrCfg
6652 * Desc : Time Alignment timer configuration per UE
6661 **********************************************************/
6663 PUBLIC S16 cmUnpkRgrUeTaTmrCfg
6665 RgrUeTaTmrCfg *param,
6669 PUBLIC S16 cmUnpkRgrUeTaTmrCfg(param, mBuf)
6670 RgrUeTaTmrCfg *param;
6675 TRC3(cmUnpkRgrUeTaTmrCfg)
6677 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6678 CMCHKUNPK(SUnpkU16, ¶m->taTmr, mBuf);
6685 PUBLIC S16 cmUnpkRgrEmtcUeCfg
6687 RgrUeEmtcCfg *param,
6691 PUBLIC S16 cmUnpkRgrEmtcUeCfg(param, mBuf)
6692 RgrUeEmtcCfg *param;
6698 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6699 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6700 RgrEpdcchAddModLst *epdcchAddModLst;
6702 CMCHKUNPK(SUnpkU8,¶m->pdschReptLevModeA,mBuf);
6703 /*UnPacking PUCCH Rep */
6704 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf);
6705 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf);
6706 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->isPucchRepPres),mBuf);
6710 for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++)
6712 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6713 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf);
6714 CMCHKUNPK(SUnpkU16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf);
6715 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf);
6716 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf);
6717 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf);
6718 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.pres),mBuf);
6719 CMCHKUNPK(cmUnpkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6720 CMCHKUNPK(cmUnpkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6721 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->pucchResStartoffset),mBuf);
6722 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->dmrsScrambSeq),mBuf);
6723 for(idx = 0; idx < 5; idx++)
6725 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf);
6728 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf);
6729 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->transmissionType),mBuf);
6730 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->setConfigId),mBuf);
6733 CMCHKUNPK(cmUnpkTknU32,&(emtcEpdcchCfg->startSymbolr11),mBuf);
6734 for(indx = 0; indx < 5; indx++)
6736 CMCHKUNPK(SUnpkU8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf);
6738 CMCHKUNPK(SUnpkU8, &(emtcEpdcchCfg->sfPtn.pres), mBuf);
6739 CMCHKUNPK(SUnpkU8, &(param->pres), mBuf);
6740 CMCHKUNPK(SUnpkU8, &(param->isHdFddEnbld), mBuf);
6742 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6743 printf("\n EMTC RGR UE unpack\n");
6744 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6746 for(indx = 0; indx < 5; indx++)
6748 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6750 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6751 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6753 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6755 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6756 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6757 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);
6758 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6759 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6760 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6761 for(idx = 0; idx < 5 ; idx++)
6763 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6765 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6766 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6767 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6768 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6769 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6770 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6771 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6772 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6773 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6774 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6775 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6776 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6786 PUBLIC S16 cmPkRgrEmtcUeCfg
6788 RgrUeEmtcCfg *param,
6794 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6795 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6796 RgrEpdcchAddModLst *epdcchAddModLst;
6798 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6799 CMCHKPK(SPkU8, param->pres, mBuf);
6800 CMCHKPK(SPkU8, emtcEpdcchCfg->sfPtn.pres, mBuf);
6801 for(indx = 4; indx >=0; indx--)
6803 CMCHKPK(SPkU8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf);
6805 CMCHKPK(cmPkTknU32,&emtcEpdcchCfg->startSymbolr11,mBuf);
6806 for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--)
6808 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6810 CMCHKPK(SPkU8,epdcchAddModLst->setConfigId,mBuf);
6811 CMCHKPK(SPkU8,epdcchAddModLst->transmissionType,mBuf);
6812 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf);
6813 for(idx = 4; idx >= 0; idx--)
6815 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf);
6817 CMCHKPK(SPkU32,epdcchAddModLst->dmrsScrambSeq,mBuf);
6818 CMCHKPK(SPkU32,epdcchAddModLst->pucchResStartoffset,mBuf);
6819 CMCHKPK(cmPkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6820 CMCHKPK(cmPkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6821 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.pres,mBuf);
6822 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf);
6823 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf);
6824 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf);
6825 CMCHKPK(SPkU16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf);
6826 CMCHKPK(SPkU32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf);
6829 /*Packing PUCCH Rep */
6830 CMCHKPK(SPkU8,emtcPucchRepCfg->isPucchRepPres, mBuf);
6831 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf);
6832 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf);
6833 CMCHKPK(SPkU8,param->pdschReptLevModeA,mBuf);
6835 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6836 printf("\n EMTC RGR UE pack\n");
6837 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6839 for(indx = 0; indx < 5; indx++)
6841 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6843 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6844 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6846 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6848 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6849 /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6850 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/
6851 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6852 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6853 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6854 for(idx = 0; idx < 5 ; idx++)
6856 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6858 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6859 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6860 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6861 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6862 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6863 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6864 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6865 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6866 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6867 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6868 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6869 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6881 PUBLIC S16 cmUnpkRgr5gtfUeCfg
6883 RgrUe5gtfCfg *param,
6887 CMCHKUNPK(SUnpkU8, ¶m->grpId, mBuf);
6888 CMCHKUNPK(SUnpkU8, ¶m->BeamId, mBuf);
6889 CMCHKUNPK(SUnpkU8, ¶m->numCC, mBuf);
6890 CMCHKUNPK(SUnpkU8, ¶m->mcs, mBuf);
6891 CMCHKUNPK(SUnpkU8, ¶m->maxPrb, mBuf);
6893 printf("\nunpk %u,%u,%u,%u,%u\n",param->grpId,param->BeamId,param->numCC,param->mcs,param->maxPrb);
6898 PUBLIC S16 cmPkRgr5gtfUeCfg
6900 RgrUe5gtfCfg *param,
6904 CMCHKPK(SPkU8, param->maxPrb, mBuf);
6905 CMCHKPK(SPkU8, param->mcs, mBuf);
6906 CMCHKPK(SPkU8, param->numCC, mBuf);
6907 CMCHKPK(SPkU8, param->BeamId, mBuf);
6908 CMCHKPK(SPkU8, param->grpId, mBuf);
6910 printf("\npk %u,%u,%u,%u,%u\n",param->grpId,param->BeamId,param->numCC,param->mcs,param->maxPrb);
6917 /***********************************************************
6919 * Func : cmPkRgrUeCfg
6922 * Desc : UE configuration
6931 **********************************************************/
6933 PUBLIC S16 cmPkRgrUeCfg
6939 PUBLIC S16 cmPkRgrUeCfg(param, mBuf)
6947 CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6950 CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6952 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
6954 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
6955 /* LTE_ADV_FLAG_REMOVED_START */
6956 CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6957 /* LTE_ADV_FLAG_REMOVED_END */
6959 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
6960 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6962 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6963 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6965 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6967 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6969 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6970 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6972 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6974 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6978 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
6979 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6984 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6987 CMCHKPK(SPkU32, param->ackNackModeEnum, mBuf);
6990 CMCHKPK(cmPkTknU8, ¶m->dedPreambleId, mBuf);
6991 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6992 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6993 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6994 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6995 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
6996 /*rgr_c_001.main_9 ADD added changes for DRX*/
6998 /* Anshika - Pack only if DRX is enabled */
6999 if(TRUE == param->ueDrxCfg.isDrxEnabled)
7001 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
7003 CMCHKPK(SPkU8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if
7005 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
7007 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
7009 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
7011 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
7012 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
7013 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
7014 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
7015 CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
7016 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7017 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7018 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7024 /***********************************************************
7026 * Func : cmUnpkRgrUeCfg
7029 * Desc : UE configuration
7038 **********************************************************/
7040 PUBLIC S16 cmUnpkRgrUeCfg
7046 PUBLIC S16 cmUnpkRgrUeCfg(param, mBuf)
7053 TRC3(cmUnpkRgrUeCfg)
7055 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7056 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7057 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
7058 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
7059 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
7060 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
7061 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
7062 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
7064 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
7066 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
7068 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
7069 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
7070 /*rgr_c_001.main_9 ADD added changes for DRX*/
7072 /* Anshika - Unpack only if DRX is enabled */
7073 CMCHKUNPK(SUnpkU8, ¶m->ueDrxCfg.isDrxEnabled, mBuf);
7074 if(TRUE == param->ueDrxCfg.isDrxEnabled)
7076 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
7078 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
7079 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
7080 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
7081 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
7082 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
7083 CMCHKUNPK(cmUnpkTknU8, ¶m->dedPreambleId, mBuf);
7086 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
7087 param->ackNackModeEnum = tmpEnum;
7090 /*rgr_c_001.main_7 - Added support for SPS*/
7091 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
7093 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
7095 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
7096 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
7098 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
7100 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
7102 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
7103 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
7104 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
7105 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
7107 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
7110 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
7112 /* LTE_ADV_FLAG_REMOVED_START */
7113 CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
7114 /* LTE_ADV_FLAG_REMOVED_END */
7115 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
7116 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
7119 CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
7123 CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
7131 /***********************************************************
7133 * Func : cmPkRgrLchQosCfg
7136 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
7145 **********************************************************/
7147 PUBLIC S16 cmPkRgrLchQosCfg
7149 RgrLchQosCfg *param,
7153 PUBLIC S16 cmPkRgrLchQosCfg(param, mBuf)
7154 RgrLchQosCfg *param;
7159 TRC3(cmPkRgrLchQosCfg)
7161 CMCHKPK(SPkU32, param->mbr, mBuf);
7162 CMCHKPK(SPkU32, param->gbr, mBuf);
7163 CMCHKPK(SPkU8, param->qci, mBuf);
7169 /***********************************************************
7171 * Func : cmUnpkRgrLchQosCfg
7174 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
7183 **********************************************************/
7185 PUBLIC S16 cmUnpkRgrLchQosCfg
7187 RgrLchQosCfg *param,
7191 PUBLIC S16 cmUnpkRgrLchQosCfg(param, mBuf)
7192 RgrLchQosCfg *param;
7197 TRC3(cmUnpkRgrLchQosCfg)
7199 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7200 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7201 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7204 /*rgr_c_001.main_7 - Added support for SPS*/
7207 /***********************************************************
7209 * Func : cmPkRgrLchSpsCfg
7212 * Desc : SPS related configuration for logical channels
7221 **********************************************************/
7223 PUBLIC S16 cmPkRgrLchSpsCfg
7225 RgrLchSpsCfg *param,
7229 PUBLIC S16 cmPkRgrLchSpsCfg(param, mBuf)
7230 RgrLchSpsCfg *param;
7235 TRC3(cmPkRgrLchSpsCfg)
7238 CMCHKPK(SPkU8, param->isSpsEnabled, mBuf);
7244 /***********************************************************
7246 * Func : cmUnpkRgrLchSpsCfg
7249 * Desc : SPS related configuration for logical channels
7258 **********************************************************/
7260 PUBLIC S16 cmUnpkRgrLchSpsCfg
7262 RgrLchSpsCfg *param,
7266 PUBLIC S16 cmUnpkRgrLchSpsCfg(param, mBuf)
7267 RgrLchSpsCfg *param;
7272 TRC3(cmUnpkRgrLchSpsCfg)
7274 CMCHKUNPK(SUnpkU8, ¶m->isSpsEnabled, mBuf);
7280 /***********************************************************
7282 * Func : cmPkRgrDlLchCfg
7285 * Desc : Logical channel configuration info for downlink logical channels
7294 **********************************************************/
7296 PUBLIC S16 cmPkRgrDlLchCfg
7302 PUBLIC S16 cmPkRgrDlLchCfg(param, mBuf)
7308 TRC3(cmPkRgrDlLchCfg)
7309 /*rgr_c_001.main_7 - Added support for SPS*/
7311 CMCHKPK(SPkU8, param->rlcReorderTmr, mBuf);
7312 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7313 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf);
7314 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
7320 /***********************************************************
7322 * Func : cmUnpkRgrDlLchCfg
7325 * Desc : Logical channel configuration info for downlink logical channels
7334 **********************************************************/
7336 PUBLIC S16 cmUnpkRgrDlLchCfg
7342 PUBLIC S16 cmUnpkRgrDlLchCfg(param, mBuf)
7348 TRC3(cmUnpkRgrDlLchCfg)
7350 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
7351 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf);
7352 /*rgr_c_001.main_7 - Added support for SPs*/
7353 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7354 CMCHKUNPK(SUnpkU8, ¶m->rlcReorderTmr, mBuf);
7360 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7364 /***********************************************************
7366 * Func : cmPkRgrUlLchCfg
7369 * Desc : Logical channel configuration information for uplink logical channels
7378 **********************************************************/
7380 PUBLIC S16 cmPkRgrUlLchCfg
7386 PUBLIC S16 cmPkRgrUlLchCfg(param, mBuf)
7392 TRC3(cmPkRgrUlLchCfg)
7394 CMCHKPK(SPkU8, param->qci, mBuf);
7395 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7401 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7402 /***********************************************************
7404 * Func : cmUnpkRgrUlLchCfg
7407 * Desc : Logical channel configuration information for uplink logical channels
7416 **********************************************************/
7418 PUBLIC S16 cmUnpkRgrUlLchCfg
7424 PUBLIC S16 cmUnpkRgrUlLchCfg(param, mBuf)
7430 TRC3(cmUnpkRgrUlLchCfg)
7432 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7433 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7440 /***********************************************************
7442 * Func : cmPkRgrUlLcgCfg
7445 * Desc : Logical channel configuration info for uplink logical channels
7454 **********************************************************/
7456 PUBLIC S16 cmPkRgrUlLcgCfg
7462 PUBLIC S16 cmPkRgrUlLcgCfg(param, mBuf)
7468 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7472 TRC3(cmPkRgrUlLcgCfg)
7473 CMCHKPK(SPkU32, param->mbr, mBuf);
7474 CMCHKPK(SPkU32, param->gbr, mBuf);
7476 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7478 for (i = param->numLch - 1; i >= 0; i--)
7480 CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7482 CMCHKPK(SPkU8, param->numLch, mBuf);
7484 CMCHKPK(SPkU8, param->lcgId, mBuf);
7490 /***********************************************************
7492 * Func : cmUnpkRgrUlLcgCfg
7495 * Desc : Logical channel configuration info for uplink logical channels
7504 **********************************************************/
7506 PUBLIC S16 cmUnpkRgrUlLcgCfg
7512 PUBLIC S16 cmUnpkRgrUlLcgCfg(param, mBuf)
7518 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7522 TRC3(cmUnpkRgrUlLcgCfg)
7524 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7525 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7527 CMCHKUNPK(SUnpkU8, ¶m->numLch, mBuf);
7528 for (i = 0; i< param->numLch; i++)
7530 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7534 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7535 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7540 PUBLIC S16 cmPkRgrUlLchQciCfg
7542 RgrUlLchQciCfg *param,
7546 PUBLIC S16 cmPkRgrUlLchQciCfg (param, mBuf)
7547 RgrUlLchQciCfg *param;
7551 CMCHKPK(SPkU8, param->lcId, mBuf);
7552 CMCHKPK(SPkU8, param->qci, mBuf);
7553 CMCHKPK(SPkU8, param->lcgId, mBuf);
7557 PUBLIC S16 cmUnpkRgrUlLchQciCfg
7559 RgrUlLchQciCfg *param,
7563 PUBLIC S16 cmUnpkRgrUlLchQciCfg (param, mBuf)
7564 RgrUlLchQciCfg *param;
7568 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7569 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7570 CMCHKUNPK(SUnpkU8, ¶m->lcId, mBuf);
7575 /***********************************************************
7577 * Func : cmPkRgrLchCfg
7580 * Desc : Logical channel configuration info for dedicated channels
7589 **********************************************************/
7591 PUBLIC S16 cmPkRgrLchCfg
7597 PUBLIC S16 cmPkRgrLchCfg(param, mBuf)
7604 CMCHKPK(SPkU8, param->lcgId, mBuf);
7605 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7606 CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7607 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
7608 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7609 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7610 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7616 /***********************************************************
7618 * Func : cmUnpkRgrLchCfg
7621 * Desc : Logical channel configuration info for dedicated channels
7630 **********************************************************/
7632 PUBLIC S16 cmUnpkRgrLchCfg
7638 PUBLIC S16 cmUnpkRgrLchCfg(param, mBuf)
7644 TRC3(cmUnpkRgrLchCfg)
7646 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7647 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7648 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7649 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
7650 CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7651 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7652 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7658 PUBLIC S16 cmPkRgrLcgCfg
7664 PUBLIC S16 cmPkRgrLcgCfg(param, mBuf)
7672 CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7673 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7674 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7680 PUBLIC S16 cmUnpkRgrLcgCfg
7686 PUBLIC S16 cmUnpkRgrLcgCfg(param, mBuf)
7692 TRC3(cmUnpkRgrLcgCfg)
7694 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7695 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7696 CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7702 /***********************************************************
7707 * Desc : Basic Configuration structure at RRM
7716 **********************************************************/
7718 PUBLIC S16 cmPkRgrCfg
7724 PUBLIC S16 cmPkRgrCfg(param, mBuf)
7732 switch(param->cfgType) {
7734 CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7737 CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7740 CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7743 CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7746 CMCHKPK(cmPkRgrSchedEnbCfg, ¶m->u.schedEnbCfg, mBuf);
7751 CMCHKPK(SPkU8, param->cfgType, mBuf);
7757 /***********************************************************
7759 * Func : cmUnpkRgrCfg
7762 * Desc : Basic Configuration structure at RRM
7771 **********************************************************/
7773 PUBLIC S16 cmUnpkRgrCfg
7779 PUBLIC S16 cmUnpkRgrCfg(param, mBuf)
7787 CMCHKUNPK(SUnpkU8, ¶m->cfgType, mBuf);
7788 switch(param->cfgType) {
7790 CMCHKUNPK(cmUnpkRgrSchedEnbCfg, ¶m->u.schedEnbCfg, mBuf);
7793 CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7796 CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7799 CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7802 CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7812 /***********************************************************
7814 * Func : cmPkRgrActvTime
7817 * Desc : Activation time information
7826 **********************************************************/
7828 PUBLIC S16 cmPkRgrActvTime
7834 PUBLIC S16 cmPkRgrActvTime(param, mBuf)
7840 TRC3(cmPkRgrActvTime)
7842 CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf);
7843 CMCHKPK(SPkU8, param->pres, mBuf);
7849 /***********************************************************
7851 * Func : cmUnpkRgrActvTime
7854 * Desc : Activation time information
7863 **********************************************************/
7865 PUBLIC S16 cmUnpkRgrActvTime
7871 PUBLIC S16 cmUnpkRgrActvTime(param, mBuf)
7877 TRC3(cmUnpkRgrActvTime)
7879 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
7880 CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf);
7886 /***********************************************************
7888 * Func : cmPkRgrCellRecfg
7891 * Desc : Cell reconfiguration structure at RRM
7900 **********************************************************/
7902 PUBLIC S16 cmPkRgrCellRecfg
7904 RgrCellRecfg *param,
7908 PUBLIC S16 cmPkRgrCellRecfg(param, mBuf)
7909 RgrCellRecfg *param;
7914 TRC3(cmPkRgrCellRecfg)
7915 CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7916 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7917 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
7918 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
7919 /* LTE_ADV_FLAG_REMOVED_START */
7920 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7921 /* LTE_ADV_FLAG_REMOVED_END */
7922 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
7923 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
7925 CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf);
7926 #endif /* RGR_SI_SCH */
7927 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7928 CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf);
7929 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7930 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7931 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7932 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7933 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7934 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7935 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7936 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7937 CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf);
7938 CMCHKPK(SPkU32, param->recfgTypes, mBuf);
7939 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7945 /***********************************************************
7947 * Func : cmUnpkRgrCellRecfg
7950 * Desc : Cell reconfiguration structure at RRM
7959 **********************************************************/
7961 PUBLIC S16 cmUnpkRgrCellRecfg
7963 RgrCellRecfg *param,
7967 PUBLIC S16 cmUnpkRgrCellRecfg(param, mBuf)
7968 RgrCellRecfg *param;
7973 TRC3(cmUnpkRgrCellRecfg)
7975 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7976 CMCHKUNPK(SUnpkU32, ¶m->recfgTypes, mBuf);
7977 CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf);
7978 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7979 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7980 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7981 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7982 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7983 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7984 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7985 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7986 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf);
7987 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7988 /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */
7990 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf);
7991 #endif /* RGR_SI_SCH */
7992 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
7993 /* LTE_ADV_FLAG_REMOVED_START */
7994 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7995 /* LTE_ADV_FLAG_REMOVED_END */
7996 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
7997 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
7998 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7999 CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
8006 /***********************************************************
8008 * Func : cmPkRgrUeRecfg
8011 * Desc : UE reconfiguration info
8020 **********************************************************/
8022 PUBLIC S16 cmPkRgrUeRecfg
8028 PUBLIC S16 cmPkRgrUeRecfg(param, mBuf)
8034 TRC3(cmPkRgrUeRecfg)
8036 /* Note: As we add more members to emtcUeRecfg,
8037 create a new function for pkUnpk */
8038 CMCHKPK(SPkU8, param->emtcUeRecfg.isHdFddEnbld, mBuf);
8040 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
8042 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
8044 CMCHKPK(SPkU8, param->simulAckNackCQIFormat3, mBuf);
8045 CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
8046 CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
8048 /* LTE_ADV_FLAG_REMOVED_START */
8049 CMCHKPK(SPkU8, param->ueLteAdvCfg.isUeCellEdge, mBuf);
8050 CMCHKPK(SPkU8, param->ueLteAdvCfg.isAbsUe, mBuf);
8051 CMCHKPK(SPkU32, param->ueLteAdvCfg.pres, mBuf);
8052 /* LTE_ADV_FLAG_REMOVED_END */
8053 /*ccpu00130497: Removed the duplicate packing*/
8055 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
8057 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
8058 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
8060 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
8063 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
8064 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
8066 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
8068 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
8072 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
8073 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
8074 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
8077 /*rgr_c_001.main_7 - Added support for SPS*/
8078 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
8079 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
8081 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
8082 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
8084 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8085 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
8086 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
8087 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
8088 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
8089 /*rgr_c_001.main_9 ADD added changes for DRX*/
8091 /* Anshika - Pack only if DRX is enabled */
8092 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
8094 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
8096 CMCHKPK(SPkU8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if
8098 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
8100 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
8102 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
8104 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
8105 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
8106 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
8109 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
8112 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
8113 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
8114 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
8115 /* LTE_ADV_FLAG_REMOVED_START */
8116 /* KW fix for LTE_ADV */
8117 CMCHKPK(SPkU32, param->ueRecfgTypes, mBuf);
8118 /* LTE_ADV_FLAG_REMOVED_END */
8119 CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf);
8120 CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf);
8121 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8127 /***********************************************************
8129 * Func : cmUnpkRgrUeRecfg
8132 * Desc : UE reconfiguration info
8141 **********************************************************/
8143 PUBLIC S16 cmUnpkRgrUeRecfg
8149 PUBLIC S16 cmUnpkRgrUeRecfg(param, mBuf)
8156 TRC3(cmUnpkRgrUeRecfg)
8158 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8159 CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf);
8160 CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf);
8161 /* LTE_ADV_FLAG_REMOVED_START */
8162 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
8163 /* KW fix for LTE_ADV */
8164 CMCHKUNPK(SUnpkU32, ¶m->ueRecfgTypes, mBuf);
8165 /* LTE_ADV_FLAG_REMOVED_END */
8166 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
8168 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
8171 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
8174 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
8175 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
8176 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
8178 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
8180 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
8182 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
8183 /*rgr_c_001.main_9 ADD added changes for DRX*/
8185 /* Anshika - Unpack only if DRX is enabled */
8186 CMCHKUNPK(SUnpkU8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf);
8187 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
8189 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
8191 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
8192 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
8193 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
8194 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
8195 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8196 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
8197 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
8198 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
8199 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
8200 /*rgr_c_001.main_7 - Added support for SPS*/
8201 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
8203 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
8205 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
8206 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
8207 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
8210 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
8212 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
8215 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
8217 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
8218 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
8220 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
8223 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
8226 /* LTE_ADV_FLAG_REMOVED_START */
8227 CMCHKUNPK(SUnpkU32, ¶m->ueLteAdvCfg.pres, mBuf);
8228 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isAbsUe, mBuf);
8229 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf);
8230 /* LTE_ADV_FLAG_REMOVED_END */
8232 CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
8233 CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
8234 CMCHKUNPK(SUnpkU8, ¶m->simulAckNackCQIFormat3, mBuf);
8236 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
8238 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
8240 CMCHKPK(SUnpkU8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf);
8248 /***********************************************************
8250 * Func : cmPkRgrLchRecfg
8253 * Desc : Logical channel reconfiguration info for dedicated channels only
8262 **********************************************************/
8264 PUBLIC S16 cmPkRgrLchRecfg
8270 PUBLIC S16 cmPkRgrLchRecfg(param, mBuf)
8276 TRC3(cmPkRgrLchRecfg)
8277 /*rgr_c_001.main_7 - Added support for SPS*/
8278 CMCHKPK(SPkU8, param->lcgId, mBuf);
8280 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8281 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8283 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8284 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
8285 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8286 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8292 /***********************************************************
8294 * Func : cmUnpkRgrLchRecfg
8297 * Desc : Logical channel reconfiguration info for dedicated channels only
8306 **********************************************************/
8308 PUBLIC S16 cmUnpkRgrLchRecfg
8314 PUBLIC S16 cmUnpkRgrLchRecfg(param, mBuf)
8320 TRC3(cmUnpkRgrLchRecfg)
8322 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8323 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8324 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
8325 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8326 /*rgr_c_001.main_7 - Added support for SPs*/
8327 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8329 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8330 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
8336 PUBLIC S16 cmPkRgrLcgRecfg
8342 PUBLIC S16 cmPkRgrLcgRecfg(param, mBuf)
8350 TRC3(cmPkRgrLcgRecfg)
8352 CMCHKPK(SPkU32, param->ulRecfg.mbr, mBuf);
8353 CMCHKPK(SPkU32, param->ulRecfg.gbr, mBuf);
8355 for (i = param->ulRecfg.numLch - 1; i >= 0; i--)
8357 CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8359 CMCHKPK(SPkU8, param->ulRecfg.numLch, mBuf);
8361 CMCHKPK(SPkU8, param->ulRecfg.lcgId, mBuf);
8362 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8363 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8369 PUBLIC S16 cmUnpkRgrLcgRecfg
8375 PUBLIC S16 cmUnpkRgrLcgRecfg(param, mBuf)
8383 TRC3(cmUnpkRgrLcgRecfg)
8385 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8386 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8387 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.lcgId, mBuf);
8390 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.numLch, mBuf);
8391 for (i = 0; i < param->ulRecfg.numLch; i++)
8393 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8396 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.gbr, mBuf);
8397 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.mbr, mBuf);
8404 /***********************************************************
8406 * Func : cmPkRgrRecfg
8409 * Desc : Basic reconfiguration structure at RRM
8418 **********************************************************/
8420 PUBLIC S16 cmPkRgrRecfg
8426 PUBLIC S16 cmPkRgrRecfg(param, mBuf)
8434 switch(param->recfgType) {
8436 CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8439 CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8442 CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8445 CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8450 CMCHKPK(SPkU8, param->recfgType, mBuf);
8456 /***********************************************************
8458 * Func : cmUnpkRgrRecfg
8461 * Desc : Basic reconfiguration structure at RRM
8470 **********************************************************/
8472 PUBLIC S16 cmUnpkRgrRecfg
8478 PUBLIC S16 cmUnpkRgrRecfg(param, mBuf)
8484 TRC3(cmUnpkRgrRecfg)
8486 CMCHKUNPK(SUnpkU8, ¶m->recfgType, mBuf);
8487 switch(param->recfgType) {
8489 CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8492 CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8495 CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8498 CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8507 /***********************************************************
8509 * Func : cmPkRgrUeDlSecCellRelInfo
8512 * Desc : DL Secondary Cell information of the UE
8521 **********************************************************/
8523 PUBLIC S16 cmPkRgrUeDlSecCellRelInfo
8525 RgrUeDlSecCellRelInfo *param,
8529 PRIVATE S16 cmPkRgrUeDlSecCellRelInfo(param, mBuf)
8530 RgrUeDlSecCellRelInfo *param;
8534 CMCHKPK(SPkU16, param->sCellId, mBuf);
8535 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8539 /***********************************************************
8541 * Func : cmPkRgrUeSecCellRelInfo
8544 * Desc : Secondary Cell Delete information of the UE
8553 **********************************************************/
8555 PUBLIC S16 cmPkRgrUeSecCellRelInfo
8557 RgrUeSecCellRelInfo *param,
8561 PUBLIC S16 cmPkRgrUeSecCellRelInfo(param, mBuf)
8562 RgrUeSecCellRelInfo *param;
8567 for(idx = param->numSCells - 1; idx >= 0; idx--)
8569 CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(U8)idx],mBuf);
8571 CMCHKPK(SPkU8, param->numSCells, mBuf);
8578 /***********************************************************
8583 * Desc : Basic Delete info for MAC
8592 **********************************************************/
8594 PUBLIC S16 cmPkRgrDel
8600 PUBLIC S16 cmPkRgrDel(param, mBuf)
8608 switch(param->delType) {
8610 CMCHKPK(SPkU8, param->u.lcgDel.lcgId, mBuf);
8611 CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf);
8612 CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf);
8615 CMCHKPK(SPkU8, param->u.lchDel.lcgId, mBuf);
8616 CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf);
8617 CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf);
8618 CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf);
8621 CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf);
8622 CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf);
8625 CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf);
8628 case RGR_SCELL_UE_CFG:
8629 CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8630 CMCHKPK(SPkU32, param->u.ueScellRel.ueDelTypes, mBuf);
8631 CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf);
8632 CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf);
8638 CMCHKPK(SPkU8, param->delType, mBuf);
8645 /***********************************************************
8647 * Func : cmUnpkRgrUeDlSecCellRelInfo
8650 * Desc : DL Secondary Cell information of the UE
8659 **********************************************************/
8661 PUBLIC S16 cmUnpkRgrUeDlSecCellRelInfo
8663 RgrUeDlSecCellRelInfo *param,
8667 PRIVATE S16 cmUnpkRgrUeDlSecCellRelInfo(param, mBuf)
8668 RgrUeDlSecCellRelInfo *param;
8672 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8673 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
8678 /***********************************************************
8680 * Func : cmUnpkRgrUeSecCellRelInfo
8683 * Desc : Secondary Cell information of the UE
8692 **********************************************************/
8694 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo
8696 RgrUeSecCellRelInfo *param,
8700 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo(param, mBuf)
8701 RgrUeSecCellRelInfo *param;
8707 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
8709 for(idx = 0; idx < param->numSCells;idx++)
8711 CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf);
8717 /***********************************************************
8719 * Func : cmUnpkRgrDel
8722 * Desc : Basic Delete info for MAC
8731 **********************************************************/
8733 PUBLIC S16 cmUnpkRgrDel
8739 PUBLIC S16 cmUnpkRgrDel(param, mBuf)
8747 CMCHKUNPK(SUnpkU8, ¶m->delType, mBuf);
8748 switch(param->delType) {
8750 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf);
8753 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf);
8754 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf);
8757 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf);
8758 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf);
8759 CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf);
8760 CMCHKUNPK(SUnpkU8, ¶m->u.lchDel.lcgId, mBuf);
8763 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf);
8764 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf);
8765 CMCHKUNPK(SUnpkU8, ¶m->u.lcgDel.lcgId, mBuf);
8768 case RGR_SCELL_UE_CFG:
8769 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf);
8770 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf);
8771 CMCHKUNPK(SUnpkU32, ¶m->u.ueScellRel.ueDelTypes, mBuf);
8772 CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8780 /***********************************************************
8782 * Func : cmPkRgrSonPrbCfg
8785 * Desc : SON PRB Configuration info for MAC
8794 **********************************************************/
8796 PUBLIC S16 cmPkRgrSonPrbCfg
8802 PUBLIC S16 cmPkRgrSonPrbCfg(param, mBuf)
8809 for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --)
8811 CMCHKPK(SPkU32, param->paLevelPerPrb[count], mBuf);
8813 for(count = param->numCellCentreUEs - 1; count >= 0; count --)
8815 CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf);
8817 for(count = param->numCellEdgeUEs - 1; count >= 0; count --)
8819 CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf);
8821 CMCHKPK(SPkU8, param->numCellCentreUEs, mBuf);
8822 CMCHKPK(SPkU8, param->numCellEdgeUEs, mBuf);
8823 CMCHKPK(SPkU8, param->isSonIcicEnable, mBuf);
8827 /***********************************************************
8829 * Func : cmUnpkRgrSon
8832 * Desc : SON configuration info for MAC
8841 **********************************************************/
8843 PUBLIC S16 cmUnpkRgrSonPrbCfg
8849 PUBLIC S16 cmUnpkRgrSonPrbCfg(param, mBuf)
8855 TRC3(cmUnpkRgrSonPrbCfg)
8856 CMCHKUNPK(SUnpkU8, ¶m->isSonIcicEnable, mBuf);
8857 CMCHKUNPK(SUnpkU8, ¶m->numCellEdgeUEs, mBuf);
8858 CMCHKUNPK(SUnpkU8, ¶m->numCellCentreUEs, mBuf);
8859 for (count = 0; count < param->numCellEdgeUEs; count++)
8861 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf);
8863 for (count = 0; count < param->numCellCentreUEs; count++)
8865 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf);
8867 for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++)
8869 CMCHKUNPK(SUnpkU32,(U32 *) ¶m->paLevelPerPrb[count], mBuf);
8873 /***********************************************************
8875 * Func : cmPkRgrSonCfg
8878 * Desc : SON Configuration info for MAC
8887 **********************************************************/
8889 PUBLIC S16 cmPkRgrSonCfg
8895 PUBLIC S16 cmPkRgrSonCfg(param, mBuf)
8902 switch(param->cfgType)
8904 case RGR_SON_PRB_CFG :
8905 CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8910 CMCHKPK(SPkU32, param->cfgType, mBuf);
8914 /***********************************************************
8916 * Func : cmUnpkRgrSon
8919 * Desc : SON configuration info for MAC
8928 **********************************************************/
8930 PUBLIC S16 cmUnpkRgrSonCfg
8936 PUBLIC S16 cmUnpkRgrSonCfg(param, mBuf)
8942 TRC3(cmUnpkRgrSonCfg)
8943 CMCHKUNPK(SUnpkU32, (U32 *)¶m->cfgType, mBuf);
8944 switch(param->cfgType)
8946 case RGR_SON_PRB_CFG :
8948 CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8958 /***********************************************************
8963 * Desc : UE RESET info for MAC
8972 **********************************************************/
8974 PUBLIC S16 cmPkRgrRst
8980 PUBLIC S16 cmPkRgrRst(param, mBuf)
8988 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8989 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8995 /***********************************************************
8997 * Func : cmUnpkRgrRst
9000 * Desc : UE RESET info for MAC
9009 **********************************************************/
9011 PUBLIC S16 cmUnpkRgrRst
9017 PUBLIC S16 cmUnpkRgrRst(param, mBuf)
9025 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9026 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
9030 /***********************************************************
9032 * Func : cmUnPkRgrSCellActDeactInfo
9035 * Desc : SCell Activation information of the UE
9044 **********************************************************/
9046 PRIVATE S16 cmUnPkRgrSCellActDeactInfo
9048 RgrSCellActDeactInfo *param,
9052 PRIVATE S16 cmUnPkRgrSCellActInfo(param, mBuf)
9053 RgrSCellActDeactInfo *param;
9057 TRC3(cmUnPkRgrSCellActDeactInfo)
9059 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
9063 /***********************************************************
9065 * Func : cmUnPkRgrSCellActDeactEvnt
9068 * Desc : SCell Activation Configuration structure to SCH
9077 **********************************************************/
9079 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt
9081 RgrSCellActDeactEvnt *param,
9085 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt(param, mBuf)
9086 RgrSCellActDeactEvnt *param;
9090 TRC3(cmUnPkRgrSCellActDeactEvnt)
9094 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
9095 CMCHKUNPK(SUnpkU8, ¶m->numOfSCells, mBuf);
9097 for(idx = 0; idx < param->numOfSCells;idx++)
9099 CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf);
9106 /***********************************************************
9108 * Func : cmPkRgrSCellActInfo
9111 * Desc : SCell Activation information of the UE
9120 **********************************************************/
9122 PRIVATE S16 cmPkRgrSCellActDeactInfo
9124 RgrSCellActDeactInfo *param,
9128 PRIVATE S16 cmPkRgrSCellActDeactInfo(param, mBuf)
9129 RgrSCellActDeactInfo *param;
9133 TRC3(cmPkRgrSCellActDeactInfo)
9135 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
9140 /***********************************************************
9142 * Func : cmPkRgrSCellActDeactEvnt
9145 * Desc : Basic Configuration structure at SCH
9154 **********************************************************/
9156 PUBLIC S16 cmPkRgrSCellActDeactEvnt
9158 RgrSCellActDeactEvnt *param,
9162 PUBLIC S16 cmPkRgrSCellActDeactEvnt(param, mBuf)
9163 RgrSCellActDeactEvnt *param;
9168 TRC3(cmPkRgrSCellActDeactEvnt)
9171 for(idx = param->numOfSCells - 1; idx >= 0; idx--)
9173 CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(U8)idx], mBuf);
9176 CMCHKPK(SPkU8, param->numOfSCells, mBuf);
9177 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
9183 #endif /* LTE_ADV */
9185 /***********************************************************
9187 * Func : cmPkRgrCfgReqInfo
9190 * Desc : Basic RGR configuration/reconfiguration info at RRM
9199 **********************************************************/
9201 PUBLIC S16 cmPkRgrCfgReqInfo
9203 RgrCfgReqInfo *param,
9207 PUBLIC S16 cmPkRgrCfgReqInfo(param, mBuf)
9208 RgrCfgReqInfo *param;
9213 TRC3(cmPkRgrCfgReqInfo)
9215 switch(param->action) {
9217 CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9220 CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf);
9223 CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf);
9226 CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9229 CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf);
9233 case RGR_SCELL_DEACT:
9234 case RGR_SCELL_READY:
9235 CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9241 CMCHKPK(SPkU8, param->action, mBuf);
9247 /***********************************************************
9249 * Func : cmUnpkRgrCfgReqInfo
9252 * Desc : Basic RGR configuration/reconfiguration info at RRM
9261 **********************************************************/
9263 PUBLIC S16 cmUnpkRgrCfgReqInfo
9265 RgrCfgReqInfo *param,
9269 PUBLIC S16 cmUnpkRgrCfgReqInfo(param, mBuf)
9270 RgrCfgReqInfo *param;
9275 TRC3(cmUnpkRgrCfgReqInfo)
9277 CMCHKUNPK(SUnpkU8, ¶m->action, mBuf);
9278 switch(param->action) {
9280 CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf);
9283 CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9286 CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf);
9289 CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf);
9292 CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9296 case RGR_SCELL_DEACT:
9297 case RGR_SCELL_READY:
9298 CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9300 #endif /* LTE_ADV */
9307 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
9309 /***********************************************************
9311 * Func : cmPkRgrUeBsrTmrCfg
9314 * Desc : BSR timer configuration per UE
9323 **********************************************************/
9325 PUBLIC S16 cmPkRgrUeBsrTmrCfg
9327 RgrUeBsrTmrCfg *param,
9331 PUBLIC S16 cmPkRgrUeBsrTmrCfg(param, mBuf)
9332 RgrUeBsrTmrCfg *param;
9337 TRC3(cmPkRgrUeBsrTmrCfg)
9339 CMCHKPK(SPkU16, param->prdBsrTmr, mBuf);
9340 CMCHKPK(SPkU16, param->retxBsrTmr, mBuf);
9341 CMCHKPK(SPkU8, param->isPrdBsrTmrPres, mBuf);
9345 /***********************************************************
9347 * Func : cmUnpkRgrUeBsrTmrCfg
9350 * Desc : BSR timer configuration per UE
9359 **********************************************************/
9361 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg
9363 RgrUeBsrTmrCfg *param,
9367 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg(param, mBuf)
9368 RgrUeBsrTmrCfg *param;
9373 TRC3(cmUnpkRgrUeBsrTmrCfg)
9375 CMCHKUNPK(SUnpkU8, ¶m->isPrdBsrTmrPres, mBuf);
9376 CMCHKUNPK(SUnpkU16, ¶m->retxBsrTmr, mBuf);
9377 CMCHKUNPK(SUnpkU16, ¶m->prdBsrTmr, mBuf);
9381 /* rgr_c_001.main_4-ADD-Added for SI Enhancement. */
9383 /***********************************************************
9385 * Func : cmPkRgrSiCfgReq
9388 * Desc : SI Configuration Request from RRM to MAC for
9398 **********************************************************/
9400 PUBLIC S16 cmPkRgrSiCfgReq
9404 RgrCfgTransId transId,
9405 RgrSiCfgReqInfo * cfgReqInfo
9408 PUBLIC S16 cmPkRgrSiCfgReq(pst, spId, transId, cfgReqInfo)
9411 RgrCfgTransId transId;
9412 RgrSiCfgReqInfo * cfgReqInfo;
9415 Buffer *mBuf = NULLP;
9417 TRC3(cmPkRgrSiCfgReq)
9419 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9421 #if (ERRCLASS & ERRCLS_ADD_RES)
9422 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9423 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9424 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
9426 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9427 sizeof(RgrSiCfgReqInfo));
9430 if (cmPkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9431 #if (ERRCLASS & ERRCLS_ADD_RES)
9432 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9433 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9434 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
9436 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9437 sizeof(RgrSiCfgReqInfo));
9441 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
9442 #if (ERRCLASS & ERRCLS_ADD_RES)
9443 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9444 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9445 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
9447 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9448 sizeof(RgrSiCfgReqInfo));
9452 if (SPkS16(spId, mBuf) != ROK) {
9453 #if (ERRCLASS & ERRCLS_ADD_RES)
9454 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9455 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9456 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
9458 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9459 sizeof(RgrSiCfgReqInfo));
9463 if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9464 sizeof(RgrSiCfgReqInfo)) != ROK) {
9465 #if (ERRCLASS & ERRCLS_ADD_RES)
9466 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9467 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9468 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
9474 pst->event = (Event) EVTRGRSICFGREQ;
9475 RETVALUE(SPstTsk(pst,mBuf));
9478 /***********************************************************
9480 * Func : cmUnpkRgrSiCfgReq
9483 * Desc : SI Configuration Request from RRM to MAC for
9493 **********************************************************/
9495 PUBLIC S16 cmUnpkRgrSiCfgReq
9502 PUBLIC S16 cmUnpkRgrSiCfgReq(func, pst, mBuf)
9509 RgrCfgTransId transId;
9510 RgrSiCfgReqInfo *cfgReqInfo;
9512 TRC3(cmUnpkRgrSiCfgReq)
9514 if (SUnpkS16(&spId, mBuf) != ROK) {
9516 #if (ERRCLASS & ERRCLS_ADD_RES)
9517 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9518 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9519 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
9523 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
9525 #if (ERRCLASS & ERRCLS_ADD_RES)
9526 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9527 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9528 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
9532 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,
9533 sizeof(RgrSiCfgReqInfo))) != ROK) {
9534 #if (ERRCLASS & ERRCLS_ADD_RES)
9535 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9536 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9537 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
9542 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrSiCfgReqInfo));
9543 if (pst->selector == RGR_SEL_LC)
9544 if (cmUnpkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9545 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9546 sizeof(RgrSiCfgReqInfo));
9548 #if (ERRCLASS & ERRCLS_ADD_RES)
9549 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9550 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9551 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
9557 RETVALUE((*func)(pst, spId, transId, cfgReqInfo));
9560 /***********************************************************
9562 * Func : cmPkRgrSiCfgReqInfo
9565 * Desc : Basic SI configuration/reconfiguration info at RRM
9574 **********************************************************/
9576 PUBLIC S16 cmPkRgrSiCfgReqInfo
9578 RgrSiCfgReqInfo *param,
9582 PUBLIC S16 cmPkRgrSiCfgReqInfo(param, mBuf)
9583 RgrSiCfgReqInfo *param;
9587 /* ccpu00111328: S16 is renamed as MsgLen */
9590 TRC3(cmPkRgrSiCfgReqInfo)
9592 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9593 CMCHKPK(SPkS32, param->cfgType, mBuf);
9594 CMCHKPK(SPkU8, param->siId, mBuf);
9596 if(NULLP != param->pdu)
9598 if (SFndLenMsg(param->pdu, &msgLen) != ROK)
9600 if (SCatMsg(mBuf, param->pdu, M1M2) != ROK)
9602 SPutMsg(param->pdu);
9603 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9608 CMCHKPK(cmPkMsgLen, 0, mBuf);
9614 /***********************************************************
9616 * Func : cmUnpkRgrSiCfgReqInfo
9619 * Desc : Basic SI configuration/reconfiguration info at RRM
9628 **********************************************************/
9630 PUBLIC S16 cmUnpkRgrSiCfgReqInfo
9632 RgrSiCfgReqInfo *param,
9636 PUBLIC S16 cmUnpkRgrSiCfgReqInfo(param, mBuf)
9637 RgrSiCfgReqInfo *param;
9641 MsgLen msgLen, totalMsgLen;
9642 /*Merge from Mohit Changes*/
9645 TRC3(cmUnpkRgrSiCfgReqInfo)
9647 SFndLenMsg(mBuf, &msgLen);
9650 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9654 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9656 if (SSegMsg(mBuf, totalMsgLen-msgLen, ¶m->pdu) != ROK)
9665 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9666 /*CMCHKUNPK(SUnpkS32, (S32 *)¶m->cfgType, mBuf);*/
9667 /*Merge from Mohit Changes*/
9668 CMCHKUNPK(SUnpkS32,(S32 *)&cfgType, mBuf);
9669 param->cfgType = (RgrSiCfgType) cfgType;
9670 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9677 /***********************************************************
9679 * Func : cmPkRgrWarningSiCfgReq
9682 * Desc : SI Configuration Request from RRM to MAC for
9683 * configuring warning SI
9692 **********************************************************/
9694 PUBLIC S16 cmPkRgrWarningSiCfgReq
9698 RgrCfgTransId transId,
9699 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo
9702 PUBLIC S16 cmPkRgrWarningSiCfgReq(pst, spId, transId, warningSiCfgReqInfo)
9705 RgrCfgTransId transId;
9706 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo;
9709 Buffer *mBuf = NULLP;
9711 TRC3(cmPkRgrWarningSiCfgReq)
9713 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9715 #if (ERRCLASS & ERRCLS_ADD_RES)
9716 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9717 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9718 (ErrVal)ERGR061, (ErrVal)0, "Packing failed");
9720 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9721 sizeof(RgrWarningSiCfgReqInfo));
9725 if (cmPkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9727 #if (ERRCLASS & ERRCLS_ADD_RES)
9728 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9729 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9730 (ErrVal)ERGR062, (ErrVal)0, "Packing failed");
9732 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9733 sizeof(RgrWarningSiCfgReqInfo));
9738 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9740 #if (ERRCLASS & ERRCLS_ADD_RES)
9741 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9742 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9743 (ErrVal)ERGR063, (ErrVal)0, "Packing failed");
9745 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9746 sizeof(RgrWarningSiCfgReqInfo));
9751 if (SPkS16(spId, mBuf) != ROK)
9753 #if (ERRCLASS & ERRCLS_ADD_RES)
9754 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9755 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9756 (ErrVal)ERGR064, (ErrVal)0, "Packing failed");
9758 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9759 sizeof(RgrWarningSiCfgReqInfo));
9764 /* if the application wants to retain this structure, the below
9765 * code should be removed */
9766 if (SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9767 sizeof(RgrWarningSiCfgReqInfo)) != ROK)
9769 #if (ERRCLASS & ERRCLS_ADD_RES)
9770 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9771 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9772 (ErrVal)ERGR065, (ErrVal)0, "Packing failed");
9778 pst->event = (Event) EVTRGRWARNINGSICFGREQ;
9779 RETVALUE(SPstTsk(pst,mBuf));
9780 }/*cmPkRgrWarningSiCfgReq*/
9783 /***********************************************************
9785 * Func : cmUnpkRgrWarningSiCfgReq
9788 * Desc : SI Configuration Request from RRM to MAC for
9789 * configuring warning SI
9798 **********************************************************/
9800 PUBLIC S16 cmUnpkRgrWarningSiCfgReq
9802 RgrWarningSiCfgReq func,
9807 PUBLIC S16 cmUnpkRgrWarningSiCfgReq(func, pst, mBuf)
9808 RgrWarningSiCfgReq func;
9814 RgrCfgTransId transId;
9815 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo;
9817 TRC3(cmUnpkRgrWarningSiCfgReq)
9819 if (SUnpkS16(&spId, mBuf) != ROK)
9822 #if (ERRCLASS & ERRCLS_ADD_RES)
9823 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9824 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9825 (ErrVal)ERGR066, (ErrVal)0, "Packing failed");
9830 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9833 #if (ERRCLASS & ERRCLS_ADD_RES)
9834 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9835 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9836 (ErrVal)ERGR067, (ErrVal)0, "Packing failed");
9841 if ((SGetSBuf(pst->region, pst->pool, (Data **)&warningSiCfgReqInfo,
9842 sizeof(RgrWarningSiCfgReqInfo))) != ROK)
9844 #if (ERRCLASS & ERRCLS_ADD_RES)
9845 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9846 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9847 (ErrVal)ERGR068, (ErrVal)0, "Packing failed");
9854 if (pst->selector == RGR_SEL_LC)
9856 if (cmUnpkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9858 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9859 sizeof(RgrWarningSiCfgReqInfo));
9861 #if (ERRCLASS & ERRCLS_ADD_RES)
9862 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9863 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9864 (ErrVal)ERGR069, (ErrVal)0, "Packing failed");
9871 RETVALUE((*func)(pst, spId, transId, warningSiCfgReqInfo));
9872 } /* cmUnpkRgrWarningSiCfgReq */
9875 /***********************************************************
9877 * Func : cmPkRgrWarningSiCfgReqInfo
9880 * Desc : Basic warning SI configuration/reconfiguration
9890 **********************************************************/
9892 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo
9895 RgrWarningSiCfgReqInfo *param,
9899 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9901 RgrWarningSiCfgReqInfo *param;
9907 CmLList *node, *prevNode;
9908 RgrSegmentInfo *pdu;
9910 TRC3(cmPkRgrWarningSiCfgReqInfo)
9912 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
9914 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9915 CMCHKPK(SPkU8, param->siId, mBuf);
9917 count = param->siPduLst.count;
9918 node = param->siPduLst.last;
9921 pdu = (RgrSegmentInfo *)node->node;
9922 prevNode= node->prev;
9925 if (SFndLenMsg(pdu->pdu, &msgLen) != ROK)
9927 if (SCatMsg(mBuf, pdu->pdu, M1M2) != ROK)
9929 /* The PDU is not Released. This has to be done by
9930 * the caller of the packing function */
9931 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9934 cmLListDelFrm(¶m->siPduLst, node);
9935 SPutSBuf(pst->region, pst->pool, (Data *)node, sizeof(RgrSegmentInfo));
9938 CMCHKPK(SPkU32, count, mBuf);
9943 /***********************************************************
9945 * Func : cmUnpkRgrWarningSiCfgReqInfo
9948 * Desc : Unpack warning SI configuration info at SCH
9957 **********************************************************/
9959 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo
9962 RgrWarningSiCfgReqInfo *param,
9966 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9968 RgrWarningSiCfgReqInfo *param;
9972 MsgLen msgLen, totalMsgLen;
9977 TRC3(cmUnpkRgrWarningSiCfgReqInfo)
9979 cmLListInit(¶m->siPduLst);
9980 CMCHKUNPK(SUnpkU32, &count, mBuf);
9981 for (loopCnt=0; loopCnt<count; loopCnt++)
9983 if(SFndLenMsg(mBuf, &msgLen) != ROK)
9990 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9991 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9995 if (SSegMsg(mBuf, totalMsgLen-msgLen, &pdu) != ROK)
10004 if ((SGetSBuf(pst->region, pst->pool, (Data **)&node,
10005 sizeof(CmLList))) != ROK)
10007 node->node = (PTR)pdu;
10008 cmLListAdd2Tail(¶m->siPduLst, node);
10011 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
10012 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10013 CMCHKPK(SUnpkU8, ¶m->emtcEnable, mBuf);
10019 /***********************************************************
10021 * Func : cmPkRgrWarningSiStopReq
10023 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
10030 **********************************************************/
10032 PUBLIC S16 cmPkRgrWarningSiStopReq
10036 RgrCfgTransId transId,
10040 PUBLIC S16 cmPkRgrWarningSiStopReq(pst,spId, transId, siId)
10043 RgrCfgTransId transId;
10047 Buffer *mBuf = NULLP;
10049 TRC3(cmPkRgrWarningSiStopReq)
10051 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10053 #if (ERRCLASS & ERRCLS_ADD_RES)
10054 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10055 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10056 (ErrVal)ERGR070, (ErrVal)0, "Packing failed");
10061 CMCHKPK(SPkU8, siId, mBuf);
10064 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
10066 #if (ERRCLASS & ERRCLS_ADD_RES)
10067 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10068 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10069 (ErrVal)ERGR082, (ErrVal)0, "Packing failed");
10076 if (SPkS16(spId, mBuf) != ROK)
10078 #if (ERRCLASS & ERRCLS_ADD_RES)
10079 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10080 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10081 (ErrVal)ERGR071, (ErrVal)0, "Packing failed");
10087 pst->event = (Event) EVTRGRWARNINGSISTOPREQ;
10088 RETVALUE(SPstTsk(pst,mBuf));
10089 }/*cmPkRgrWarningSiStopReq */
10092 /***********************************************************
10094 * Func : cmUnpkRgrWarningSiStopReq
10096 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
10103 **********************************************************/
10105 PUBLIC S16 cmUnpkRgrWarningSiStopReq
10107 RgrWarningSiStopReq func,
10112 PUBLIC S16 cmUnpkRgrWarningSiStopReq(param, mBuf)
10113 RgrWarningSiStopReq func;
10120 RgrCfgTransId transId;
10122 TRC3(cmUnpkRgrWarningSiStopReq)
10124 if (SUnpkS16(&spId, mBuf) != ROK)
10127 #if (ERRCLASS & ERRCLS_ADD_RES)
10128 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10129 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10130 (ErrVal)ERGR072, (ErrVal)0, "Packing failed");
10135 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
10138 #if (ERRCLASS & ERRCLS_ADD_RES)
10139 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10140 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10141 (ErrVal)ERGR083, (ErrVal)0, "Packing failed");
10146 CMCHKUNPK(SUnpkU8, &siId, mBuf);
10150 RETVALUE((*func)(pst, spId, transId, siId));
10151 } /*cmUnpkRgrWarningSiStopReq */
10154 /***********************************************************
10156 * Func : cmPkRgrWarningSiCfgCfm
10159 * Desc : Warning SI Configuration Confirm from MAC to RRM
10168 **********************************************************/
10170 PUBLIC S16 cmPkRgrWarningSiCfgCfm
10174 RgrCfgTransId transId,
10179 PUBLIC S16 cmPkRgrWarningSiCfgCfm(pst, suId, transId, siId, status)
10182 RgrCfgTransId transId;
10187 Buffer *mBuf = NULLP;
10189 TRC3(cmPkRgrWarningSiCfgCfm)
10191 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10193 #if (ERRCLASS & ERRCLS_ADD_RES)
10194 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10195 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10196 (ErrVal)ERGR073, (ErrVal)0, "Packing failed");
10201 if (SPkU8(status, mBuf) != ROK)
10203 #if (ERRCLASS & ERRCLS_ADD_RES)
10204 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10205 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10206 (ErrVal)ERGR074, (ErrVal)0, "Packing failed");
10212 if (SPkU8(siId, mBuf) != ROK)
10214 #if (ERRCLASS & ERRCLS_ADD_RES)
10215 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10216 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10217 (ErrVal)ERGR075, (ErrVal)0, "Packing failed");
10223 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
10225 #if (ERRCLASS & ERRCLS_ADD_RES)
10226 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10227 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10228 (ErrVal)ERGR076, (ErrVal)0, "Packing failed");
10234 if (SPkS16(suId, mBuf) != ROK)
10236 #if (ERRCLASS & ERRCLS_ADD_RES)
10237 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10238 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10239 (ErrVal)ERGR077, (ErrVal)0, "Packing failed");
10245 pst->event = (Event) EVTRGRWARNINGSICFGCFM;
10246 RETVALUE(SPstTsk(pst,mBuf));
10247 } /* cmPkRgrWarningSiCfgCfm */
10250 /***********************************************************
10252 * Func : cmUnpkRgrwarningSiCfgCfm
10255 * Desc : Warning SI Configuration Confirm from MAC to RRM
10264 **********************************************************/
10266 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm
10268 RgrWarningSiCfgCfm func,
10273 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm(func, pst, mBuf)
10274 RgrWarningSiCfgCfm func;
10281 RgrCfgTransId transId;
10284 TRC3(cmUnpkRgrWarningSiCfgCfm)
10286 if (SUnpkS16(&suId, mBuf) != ROK)
10289 #if (ERRCLASS & ERRCLS_ADD_RES)
10290 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10291 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10292 (ErrVal)ERGR078, (ErrVal)0, "Packing failed");
10297 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
10300 #if (ERRCLASS & ERRCLS_ADD_RES)
10301 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10302 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10303 (ErrVal)ERGR079, (ErrVal)0, "Packing failed");
10308 if (SUnpkU8(&siId, mBuf) != ROK)
10311 #if (ERRCLASS & ERRCLS_ADD_RES)
10312 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10313 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10314 (ErrVal)ERGR080, (ErrVal)0, "Packing failed");
10319 if (SUnpkU8(&status, mBuf) != ROK)
10322 #if (ERRCLASS & ERRCLS_ADD_RES)
10323 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10324 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10325 (ErrVal)ERGR081, (ErrVal)0, "Packing failed");
10330 RETVALUE((*func)(pst, suId, transId, siId, status));
10331 }/* cmUnpkRgrwarningSiCfgCfm */
10332 #endif/*RGR_SI_SCH*/
10334 /* LTE_ADV_FLAG_REMOVED_START */
10335 /***********************************************************
10337 * Func : cmPkRgrLoadInfReq
10340 * Desc : LOAD INF Configuration Request from RRM to MAC for
10341 * configuring RNTP, ABS etc
10350 **********************************************************/
10352 PUBLIC S16 cmPkRgrLoadInfReq
10356 RgrCfgTransId transId,
10357 RgrLoadInfReqInfo * loadInfReq
10360 PUBLIC S16 cmPkRgrLoadInfReq(pst, spId, transId, loadInfReq)
10363 RgrCfgTransId transId;
10364 RgrLoadInfReqInfo * loadInfReq;
10367 Buffer *mBuf = NULLP;
10369 TRC3(cmPkRgrLoadInfReq)
10371 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10373 #if (ERRCLASS & ERRCLS_ADD_RES)
10374 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10375 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10376 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
10378 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10379 sizeof(RgrLoadInfReqInfo));
10382 if (cmPkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10383 #if (ERRCLASS & ERRCLS_ADD_RES)
10384 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10385 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10386 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
10388 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10389 sizeof(RgrLoadInfReqInfo));
10393 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
10394 #if (ERRCLASS & ERRCLS_ADD_RES)
10395 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10396 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10397 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
10399 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10400 sizeof(RgrLoadInfReqInfo));
10404 if (SPkS16(spId, mBuf) != ROK) {
10405 #if (ERRCLASS & ERRCLS_ADD_RES)
10406 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10407 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10408 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
10410 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10411 sizeof(RgrLoadInfReqInfo));
10415 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10416 sizeof(RgrLoadInfReqInfo)) != ROK) {
10417 #if (ERRCLASS & ERRCLS_ADD_RES)
10418 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10419 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10420 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
10426 pst->event = (Event) EVTRGRLOADINFREQ;
10427 RETVALUE(SPstTsk(pst,mBuf));
10430 /***********************************************************
10432 * Func : cmUnpkRgrLoadInfReq
10435 * Desc : LOAD INF Configuration Request from RRM to MAC for
10436 * configuring RNTP, ABS etc
10445 **********************************************************/
10447 PUBLIC S16 cmUnpkRgrLoadInfReq
10449 RgrLoadInfReq func,
10454 PUBLIC S16 cmUnpkRgrLoadInfReq(func, pst, mBuf)
10455 RgrLoadInfReq func;
10461 RgrCfgTransId transId;
10462 RgrLoadInfReqInfo *loadInfReq;
10464 TRC3(cmUnpkRgrLoadInfReq)
10466 if (SUnpkS16(&spId, mBuf) != ROK) {
10468 #if (ERRCLASS & ERRCLS_ADD_RES)
10469 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10470 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10471 (ErrVal)ERGR050, (ErrVal)0, "Packing failed");
10476 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
10478 #if (ERRCLASS & ERRCLS_ADD_RES)
10479 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10480 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10481 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
10486 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfReq,
10487 sizeof(RgrLoadInfReqInfo))) != ROK) {
10488 #if (ERRCLASS & ERRCLS_ADD_RES)
10489 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10490 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10491 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
10497 cmMemset((U8 *)loadInfReq, 0, sizeof(RgrLoadInfReqInfo));
10499 if (pst->selector == RGR_SEL_LC)
10500 if (cmUnpkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10501 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10502 sizeof(RgrLoadInfReqInfo));
10504 #if (ERRCLASS & ERRCLS_ADD_RES)
10505 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10506 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10507 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
10513 RETVALUE((*func)(pst, spId, transId, loadInfReq));
10516 /***********************************************************
10518 * Func : cmPkRgrLoadInfReqInfo
10521 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10530 **********************************************************/
10532 PUBLIC S16 cmPkRgrLoadInfReqInfo
10534 RgrLoadInfReqInfo *param,
10538 PUBLIC S16 cmPkRgrLoadInfReqInfo(param, mBuf)
10539 RgrLoadInfReqInfo *param;
10543 TRC3(cmPkRgrLoadInfReqInfo)
10545 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10546 CMCHKPK(SPkU8, param->rgrCcPHighStartRb, mBuf);
10547 CMCHKPK(SPkU8, param->rgrCcPHighEndRb, mBuf);
10552 /***********************************************************
10554 * Func : cmUnpkRgrLoadInfReqInfo
10557 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10566 **********************************************************/
10568 PUBLIC S16 cmUnpkRgrLoadInfReqInfo
10570 RgrLoadInfReqInfo *param,
10574 PUBLIC S16 cmUnpkRgrLoadInfReqInfo(param, mBuf)
10575 RgrLoadInfReqInfo *param;
10579 TRC3(cmUnpkRgrLoadInfReqInfo)
10581 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighEndRb, mBuf);
10582 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighStartRb, mBuf);
10583 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10587 /* LTE_ADV_FLAG_REMOVED_END */
10589 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
10590 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
10591 #ifdef RGR_CQI_REPT
10593 /***********************************************************
10595 * Func : cmPkRgrUeCqiReptCfg
10598 * Desc : Transaction ID between MAC and RRM
10607 **********************************************************/
10609 PUBLIC S16 cmPkRgrUeCqiReptCfg
10611 RgrUeCqiReptCfg *param,
10615 PUBLIC S16 cmPkRgrUeCqiReptCfg(param, mBuf)
10616 RgrUeCqiReptCfg *param;
10620 TRC3(cmPkRgrUeCqiReptCfg)
10622 CMCHKPK(SPkU8, param->numColltdCqiRept, mBuf);
10628 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10629 /***********************************************************
10631 * Func : cmUnpkRgrUeCqiReptCfg
10634 * Desc : Transaction ID between MAC and RRM
10643 **********************************************************/
10645 PUBLIC S16 cmUnpkRgrUeCqiReptCfg
10647 RgrUeCqiReptCfg *param,
10651 PUBLIC S16 cmUnpkRgrUeCqiReptCfg(param, mBuf)
10652 RgrUeCqiReptCfg *param;
10656 TRC3(cmUnpkRgrUeCqiReptCfg)
10658 CMCHKUNPK(SUnpkU8, ¶m->numColltdCqiRept, mBuf);
10664 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10665 /***********************************************************
10667 * Func : cmPkRgrStaInd
10670 * Desc : Packing Sta Indication sent to RRM
10679 **********************************************************/
10681 PUBLIC S16 cmPkRgrStaInd
10685 RgrStaIndInfo* staInd
10688 PUBLIC S16 cmPkRgrStaInd(pst, suId, staInd)
10691 RgrStaIndInfo* staInd;
10694 Buffer *mBuf = NULLP;
10695 TRC3(cmPkRgrStaInd)
10697 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10699 #if (ERRCLASS & ERRCLS_ADD_RES)
10700 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10701 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10702 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
10704 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10705 sizeof(RgrStaIndInfo));
10709 if (cmPkRgrStaIndInfo(staInd, mBuf) != ROK)
10711 #if (ERRCLASS & ERRCLS_ADD_RES)
10712 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10713 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10714 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
10716 SPutSBuf(pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo));
10721 if (SPkS16(suId, mBuf) != ROK)
10723 #if (ERRCLASS & ERRCLS_ADD_RES)
10724 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10725 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10726 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
10728 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10729 sizeof(RgrStaIndInfo));
10734 if (SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10735 sizeof(RgrStaIndInfo)) != ROK)
10737 #if (ERRCLASS & ERRCLS_ADD_RES)
10738 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10739 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10740 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
10746 pst->event = (Event) EVTRGRSTAIND;
10747 RETVALUE(SPstTsk(pst,mBuf));
10750 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10751 /***********************************************************
10753 * Func : cmUnpkRgrStaInd
10756 * Desc : Unpacking Sta Indication sent to RRM
10764 **********************************************************/
10766 PUBLIC S16 cmUnpkRgrStaInd
10773 PUBLIC S16 cmUnpkRgrStaInd(func, pst, mBuf)
10780 RgrStaIndInfo *staInd;
10782 TRC3(cmUnpkRgrStaInd)
10784 if (SUnpkS16(&suId, mBuf) != ROK)
10787 #if (ERRCLASS & ERRCLS_ADD_RES)
10788 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10789 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10790 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
10795 if ((SGetSBuf(pst->region, pst->pool, (Data **)&staInd,
10796 sizeof(RgrStaIndInfo))) != ROK)
10798 #if (ERRCLASS & ERRCLS_ADD_RES)
10799 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10800 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10801 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
10807 if (cmUnpkRgrStaIndInfo(staInd, mBuf) != ROK)
10809 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10810 sizeof(RgrStaIndInfo));
10812 #if (ERRCLASS & ERRCLS_ADD_RES)
10813 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10814 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10815 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
10821 RETVALUE((*func)(pst, suId, staInd));
10824 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10825 /***********************************************************
10827 * Func : cmPkRgrStaIndInfo
10830 * Desc : Packing of StaIndInfo structure
10838 **********************************************************/
10840 PUBLIC S16 cmPkRgrStaIndInfo
10842 RgrStaIndInfo *param,
10846 PUBLIC S16 cmPkRgrStaIndInfo(param, mBuf)
10847 RgrStaIndInfo *param;
10852 TRC3(cmPkRgrStaIndInfo)
10854 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10855 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
10856 CMCHKPK(cmPkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10860 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10861 /***********************************************************
10863 * Func : cmUnpkRgrStaIndInfo
10866 * Desc : Unpacking of StaIndInfo structure
10874 **********************************************************/
10876 PUBLIC S16 cmUnpkRgrStaIndInfo
10878 RgrStaIndInfo *param,
10882 PUBLIC S16 cmUnpkRgrStaIndInfo(param, mBuf)
10883 RgrStaIndInfo *param;
10888 TRC3(cmUnpkRgrStaIndInfo)
10890 CMCHKUNPK(cmUnpkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10891 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
10892 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10896 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10897 /***********************************************************
10899 * Func : cmPkRgrUeCqiInfo
10902 * Desc : Packing of StaIndInfo structure
10910 **********************************************************/
10912 PUBLIC S16 cmPkRgrUeCqiInfo
10914 RgrUeCqiInfo *param,
10918 PUBLIC S16 cmPkRgrUeCqiInfo(param, mBuf)
10919 RgrUeCqiInfo *param;
10925 TRC3(cmPkRgrUeCqiInfo)
10927 for (idx = param->numCqiRept - 1; idx >= 0; idx--)
10929 CMCHKPK(cmPkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10931 CMCHKPK(SPkU8, param->numCqiRept, mBuf);
10934 } /* cmPkRgrUeCqiInfo */
10936 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10937 /***********************************************************
10939 * Func : cmUnpkRgrUeCqiInfo
10942 * Desc : Packing of StaIndInfo structure
10950 **********************************************************/
10952 PUBLIC S16 cmUnpkRgrUeCqiInfo
10954 RgrUeCqiInfo *param,
10958 PUBLIC S16 cmUnpkRgrUeCqiInfo(param, mBuf)
10959 RgrUeCqiInfo *param;
10965 TRC3(cmUnpkRgrUeCqiInfo)
10967 CMCHKUNPK(SUnpkU8, ¶m->numCqiRept, mBuf);
10968 for (idx = 0; idx < param->numCqiRept; idx++)
10970 CMCHKUNPK(cmUnpkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10974 } /* cmUnpkRgrUeCqiInfo */
10976 /***********************************************************
10978 * Func : cmPkRgrSubBandCqiInfo
10981 * Desc : Packing ofcmPkRgrSubBandCqiInfo structure
10989 **********************************************************/
10991 PUBLIC S16 cmPkRgrSubBandCqiInfo
10993 RgrSubBandCqiInfo *param,
10997 PUBLIC S16 cmPkRgrSubBandCqiInfo(param, mBuf)
10998 RgrSubBandCqiInfo *param;
11003 TRC3(cmPkRgrSubBandCqiInfo)
11005 CMCHKPK(SPkU8, param->cqi[0], mBuf);
11006 CMCHKPK(SPkU8, param->cqi[1], mBuf);
11007 CMCHKPK(SPkU8, param->subBandIdx, mBuf);
11010 } /* cmPkRgrSubBandCqiInfo */
11012 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11013 /***********************************************************
11015 * Func : cmPkRgrUeCqiRept
11018 * Desc : Packing of StaIndInfo structure
11026 **********************************************************/
11028 PUBLIC S16 cmPkRgrUeCqiRept
11030 RgrUeCqiRept *param,
11034 PUBLIC S16 cmPkRgrUeCqiRept(param, mBuf)
11035 RgrUeCqiRept *param;
11042 TRC3(cmPkRgrUeCqiRept)
11044 CMCHKPK(SPkU8, param->cqi[0], mBuf);
11045 CMCHKPK(SPkU8, param->cqi[1], mBuf);
11046 CMCHKPK(SPkU8, param->cqiMode, mBuf);
11047 for (idx = param->numSubBand - 1; idx >= 0; idx--)
11050 CMCHKPK(cmPkRgrSubBandCqiInfo, ¶m->sbCqiInfo[count], mBuf);
11052 CMCHKPK(SPkU8, param->numSubBand, mBuf);
11054 } /* cmPkRgrUeCqiRept */
11056 /***********************************************************
11058 * Func :cmUnpkRgrSubBandCqiInfo
11061 * Desc : Packing of cmUnpkRgrSubBandCqiInfo structure
11069 **********************************************************/
11071 PUBLIC S16 cmUnpkRgrSubBandCqiInfo
11073 RgrSubBandCqiInfo *param,
11077 PUBLIC S16 cmUnpkRgrSubBandCqiInfo(param, mBuf)
11078 RgrSubBandCqiInfo *param;
11083 TRC3(cmUnpkRgrSubBandCqiInfo)
11085 CMCHKUNPK(SUnpkU8, ¶m->subBandIdx, mBuf);
11086 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
11087 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
11090 } /* cmUnpkRgrSubBandCqiInfo*/
11092 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11093 /***********************************************************
11095 * Func : cmUnpkRgrUeCqiRept
11098 * Desc : Packing of StaIndInfo structure
11106 **********************************************************/
11108 PUBLIC S16 cmUnpkRgrUeCqiRept
11110 RgrUeCqiRept *param,
11114 PUBLIC S16 cmUnpkRgrUeCqiRept(param, mBuf)
11115 RgrUeCqiRept *param;
11121 TRC3(cmUnpkRgrUeCqiRept)
11122 CMCHKUNPK(SUnpkU8, ¶m->numSubBand, mBuf);
11123 for (idx = 0; idx < param->numSubBand; idx++)
11125 CMCHKUNPK(cmUnpkRgrSubBandCqiInfo, ¶m->sbCqiInfo[idx], mBuf);
11127 CMCHKUNPK(SUnpkU8, ¶m->cqiMode, mBuf);
11128 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
11129 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
11132 } /* cmUnpkRgrUeCqiRept */
11133 #endif /* End of ifdef RGR_CQI_REPT */
11135 /* LTE_ADV_FLAG_REMOVED_START */
11136 /***********************************************************
11138 * Func : cmPkRgrLoadInfInd
11141 * Desc : Packing LOAD INFORMATION Indication sent to RRM
11150 **********************************************************/
11152 PUBLIC S16 cmPkRgrLoadInfInd
11156 RgrLoadInfIndInfo* loadInfInd
11159 PUBLIC S16 cmPkRgrLoadInfInd(pst, suId, loadInfInd)
11162 RgrLoadInfIndInfo* loadInfInd;
11165 Buffer *mBuf = NULLP;
11166 TRC3(cmPkRgrLoadInfInd)
11168 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
11170 #if (ERRCLASS & ERRCLS_ADD_RES)
11171 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11172 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11173 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11175 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11176 sizeof(RgrLoadInfIndInfo));
11180 if (cmPkRgrLoadInfIndInfo(loadInfInd, mBuf) != ROK)
11182 #if (ERRCLASS & ERRCLS_ADD_RES)
11183 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11184 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11185 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11187 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11188 sizeof(RgrLoadInfIndInfo));
11194 if (SPkS16(suId, mBuf) != ROK)
11196 #if (ERRCLASS & ERRCLS_ADD_RES)
11197 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11198 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11199 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11201 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11202 sizeof(RgrLoadInfIndInfo));
11207 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11208 sizeof(RgrLoadInfIndInfo)) != ROK)
11210 #if (ERRCLASS & ERRCLS_ADD_RES)
11211 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11212 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11213 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11219 pst->event = (Event) EVTRGRLOADINFIND;
11220 RETVALUE(SPstTsk(pst,mBuf));
11223 /***********************************************************
11225 * Func : cmUnpkRgrLoadInfInd
11228 * Desc : Unpacking LOAD INFORMATION Indication sent to RRM
11236 **********************************************************/
11238 PUBLIC S16 cmUnpkRgrLoadInfInd
11240 RgrLoadInfInd func,
11245 PUBLIC S16 cmUnpkRgrLoadInfInd(func, pst, mBuf)
11246 RgrLoadInfInd func;
11252 RgrLoadInfIndInfo *loadInfInd = NULLP; /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11254 TRC3(cmUnpkRgrLoadInfInd)
11256 if (SUnpkS16(&suId, mBuf) != ROK)
11259 #if (ERRCLASS & ERRCLS_ADD_RES)
11260 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11261 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11262 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11267 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfInd,
11268 sizeof(RgrLoadInfIndInfo))) != ROK)
11270 #if (ERRCLASS & ERRCLS_ADD_RES)
11271 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11272 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11273 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11279 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11280 if (cmUnpkRgrLoadInfIndInfo(loadInfInd, pst, mBuf) != ROK)
11282 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11283 sizeof(RgrLoadInfIndInfo));
11285 #if (ERRCLASS & ERRCLS_ADD_RES)
11286 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11287 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11288 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11294 RETVALUE((*func)(pst, suId, loadInfInd));
11298 /***********************************************************
11300 * Func : cmPkRgrLoadInfIndInfo
11303 * Desc : Packing of LoadInfIndInfo structure
11311 **********************************************************/
11313 PUBLIC S16 cmPkRgrLoadInfIndInfo
11315 RgrLoadInfIndInfo *param,
11319 PUBLIC S16 cmPkRgrLoadInfIndInfo(param, mBuf)
11320 RgrLoadInfIndInfo *param;
11325 TRC3(cmPkRgrLoadInfIndInfo)
11327 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11328 CMCHKPK(SPkU16, param->bw, mBuf);
11329 if(RGR_ABS == param->type)
11331 for(idx = 0; idx < RGR_ABS_PATTERN_LEN; idx++)
11333 CMCHKPK(SPkU32, param->u.absLoadInfo[idx], mBuf);
11338 CMCHKPK(cmPkTknStrOSXL, ¶m->u.rntpInfo, mBuf);
11341 CMCHKPK(SPkU32, param->type, mBuf);
11346 /***********************************************************
11348 * Func : cmUnpkRgrLoadInfIndInfo
11351 * Desc : Unpacking of LoadInfIndInfo structure
11359 **********************************************************/
11361 PUBLIC S16 cmUnpkRgrLoadInfIndInfo
11363 RgrLoadInfIndInfo *param,
11368 PUBLIC S16 cmUnpkRgrLoadInfIndInfo(param, pst, mBuf)
11369 RgrLoadInfIndInfo *param;
11379 /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11380 TknStrOSXL *tknStr;
11383 TRC3(cmUnpkRgrLoadInfIndInfo)
11385 CMCHKUNPK(SUnpkU32, ¶m->type, mBuf);
11386 if(RGR_ABS == param->type)
11388 for(idx = RGR_ABS_PATTERN_LEN -1 ; idx >= 0; idx--)
11390 CMCHKUNPK(SUnpkU32, ¶m->u.absLoadInfo[(U8)idx], mBuf);
11399 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** Start */
11400 tknStr = ¶m->u.rntpInfo;
11402 CMCHKUNPK(SUnpkU8, &tknStr->pres, mBuf);
11407 CMCHKUNPK(SUnpkU16, &tknStr->len, mBuf);
11409 if ((SGetSBuf(pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) {
11410 #if (ERRCLASS & ERRCLS_ADD_RES)
11411 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11412 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11413 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
11420 for (ndx = 1; ndx <= tknStr->len; ndx++)
11422 CMCHKUNPK(SUnpkU8, &tknStr->val[tknStr->len - ndx], mBuf);
11426 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** End */
11428 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11429 CMCHKUNPK(SUnpkU16, ¶m->bw, mBuf);
11431 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
11435 /* LTE_ADV_FLAG_REMOVED_END */
11438 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11439 /***********************************************************
11441 * Func : cmPkRgrUepACfg
11444 * Desc : Transaction ID between MAC and RRM
11453 **********************************************************/
11455 PUBLIC S16 cmPkRgrUepACfg
11461 PUBLIC S16 cmPkRgrUepACfg(param, mBuf)
11466 TRC3(cmPkRgrUepACfg)
11470 CMCHKPK(SPkU32, param->pA, mBuf);
11472 CMCHKPK(SPkU8, param->pAPrsnt, mBuf);
11478 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11479 /***********************************************************
11481 * Func : cmUnpkRgrUepACfg
11484 * Desc : Transaction ID between MAC and RRM
11493 **********************************************************/
11495 PUBLIC S16 cmUnpkRgrUepACfg
11501 PUBLIC S16 cmUnpkRgrUepACfg(param, mBuf)
11507 TRC3(cmUnpkRgrUepACfg)
11509 CMCHKUNPK(SUnpkU8, (U8 *)¶m->pAPrsnt, mBuf);
11510 if (param->pAPrsnt)
11512 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
11513 param->pA = (RgrUeDlPwrCntrlPaCfg) tmpEnum;
11519 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11520 /***********************************************************
11522 * Func : cmPkRgrUePdschDedCfg
11525 * Desc : Transaction ID between MAC and RRM
11534 **********************************************************/
11536 PUBLIC S16 cmPkRgrUePdschDedCfg
11538 RgrUePdschDedCfg *param,
11542 PUBLIC S16 cmPkRgrUePdschDedCfg(param, mBuf)
11543 RgrUePdschDedCfg *param;
11547 TRC3(cmPkRgrUePdschDedCfg)
11549 CMCHKPK(cmPkRgrUepACfg, ¶m->uepACfg, mBuf);
11555 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11556 /***********************************************************
11558 * Func : cmUnpkRgrUePdschDedCfg
11561 * Desc : Transaction ID between MAC and RRM
11570 **********************************************************/
11572 PUBLIC S16 cmUnpkRgrUePdschDedCfg
11574 RgrUePdschDedCfg *param,
11578 PUBLIC S16 cmUnpkRgrUePdschDedCfg(param, mBuf)
11579 RgrUePdschDedCfg *param;
11583 TRC3(cmUnpkRgrUePdschDedCfg)
11585 CMCHKUNPK(cmUnpkRgrUepACfg, ¶m->uepACfg, mBuf);
11594 /***********************************************************
11596 * Func : cmPkRgrUeUlPwrDedSCellCfg
11599 * Desc : DL Secondary Cell UL PC Info
11608 **********************************************************/
11610 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg
11612 RgrUeUlPwrDedSCellCfg *param,
11616 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg(param, mBuf)
11617 RgrUeUlPwrDedSCellCfg *param;
11621 TRC3(cmPkRgrUeUlPwrDedSCellCfg)
11622 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
11623 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
11624 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
11625 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
11630 /***********************************************************
11632 * Func : cmUnpkRgrUeUlPwrDedSCellCfg
11635 * Desc : Uplink power configuration per UE
11644 **********************************************************/
11646 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg
11648 RgrUeUlPwrDedSCellCfg *param,
11652 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg(param, mBuf)
11653 RgrUeUlPwrDedSCellCfg *param;
11658 TRC3(cmUnpkRgrUeUlPwrDedSCellCfg)
11660 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
11661 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
11662 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
11663 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
11670 /***********************************************************
11672 * Func : cmPkRgrUeSecCellCfg
11675 * Desc : DL Secondary Cell information of the UE
11684 **********************************************************/
11686 PRIVATE S16 cmPkRgrUeSecCellCfg
11688 RgrUeSecCellCfg *param,
11692 PRIVATE S16 cmPkRgrUeSecCellCfg(param, mBuf)
11693 RgrUeSecCellCfg *param;
11697 CMCHKPK(cmPkRgrUeUlPwrDedSCellCfg,¶m->ueSCellUlDedPwrCfg, mBuf);
11698 CMCHKPK(SPkU8, param->isUlCaEnabled, mBuf);
11699 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11701 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11702 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11704 CMCHKPK(cmPkRgrUeDlCqiCfg,¶m->ueSCellDlCqiCfg, mBuf);
11705 CMCHKPK(cmPkTknU32, ¶m->sCellDeActTmr, mBuf);
11706 CMCHKPK(SPkU16, param->sCellId, mBuf);
11707 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
11714 /***********************************************************
11716 * Func : cmPkRgrUeSecCellInfo
11719 * Desc : Secondary Cell information of the UE
11728 **********************************************************/
11730 PUBLIC S16 cmPkRgrUeSecCellInfo
11732 RgrUeSecCellInfo *param,
11736 PUBLIC S16 cmPkRgrUeSecCellInfo(param, mBuf)
11737 RgrUeSecCellInfo *param;
11742 for(idx = param->numSCells - 1; idx >= 0; idx--)
11744 CMCHKPK(cmPkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[(U8)idx],mBuf);
11747 CMCHKPK(SPkU8, param->numSCells, mBuf);
11749 CMCHKPK(SPkU8, param->useExtBSRSizes, mBuf);
11755 /***********************************************************
11757 * Func : cmUnpkRgrUeSecCellCfg
11760 * Desc : DL Secondary Cell information of the UE
11769 **********************************************************/
11771 PRIVATE S16 cmUnpkRgrUeSecCellCfg
11773 RgrUeSecCellCfg *param,
11777 PRIVATE S16 cmUnpkRgrUeSecCellCfg(param, mBuf)
11778 RgrUeSecCellCfg *param;
11782 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
11783 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
11784 CMCHKUNPK(cmUnpkTknU32, ¶m->sCellDeActTmr, mBuf);
11785 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueSCellDlCqiCfg, mBuf);
11787 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11789 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11790 CMCHKUNPK(SUnpkU8, ¶m->isUlCaEnabled, mBuf);
11791 CMCHKUNPK(cmUnpkRgrUeUlPwrDedSCellCfg, ¶m->ueSCellUlDedPwrCfg, mBuf);
11799 /***********************************************************
11801 * Func : cmUnpkRgrUeSecCellInfo
11804 * Desc : Secondary Cell information of the UE
11813 **********************************************************/
11815 PUBLIC S16 cmUnpkRgrUeSecCellInfo
11817 RgrUeSecCellInfo *param,
11821 PUBLIC S16 cmUnpkRgrUeSecCellInfo(param, mBuf)
11822 RgrUeSecCellInfo *param;
11828 CMCHKUNPK(SUnpkU8, ¶m->useExtBSRSizes, mBuf);
11829 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
11831 for(idx = 0; idx < param->numSCells;idx++)
11833 CMCHKUNPK(cmUnpkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[idx],mBuf);
11839 /***********************************************************
11841 * Func : cmPkRgrUeSCellAckPucchCfg
11844 * Desc : PUCCH Configuration information of the UE
11853 **********************************************************/
11855 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg
11857 RgrUeSCellAckPucchCfg *param,
11861 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg(param, mBuf)
11862 RgrUeSCellAckPucchCfg *param;
11867 TRC3(cmPkRgrUeSCellAckPucchCfg);
11869 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11871 for(idx = param->u.format1Bcs.sCellAckN1ResTb2Count - 1; idx >=0 ;idx--)
11873 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb2[(U8)idx], mBuf);
11876 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11878 for(idx = param->u.format1Bcs.sCellAckN1ResTb1Count - 1; idx >=0 ;idx--)
11880 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb1[(U8)idx], mBuf);
11883 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11887 for(idx = param->u.format3.sCellAckN3ResAntP1Count - 1; idx >=0 ;idx--)
11889 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP1[(U8)idx], mBuf);
11892 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP1Count, mBuf);
11894 for(idx = param->u.format3.sCellAckN3ResAntP0Count- 1; idx >=0 ;idx--)
11896 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP0[(U8)idx], mBuf);
11899 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP0Count, mBuf);
11901 CMCHKPK(SPkU32, param->pucchFormatType, mBuf);
11906 /***********************************************************
11908 * Func : cmUnpkRgrUeSCellAckPucchCfg
11911 * Desc : PUCCH Configuration information of the UE
11920 **********************************************************/
11922 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg
11924 RgrUeSCellAckPucchCfg *param,
11928 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg(param, mBuf)
11929 RgrUeSCellAckPucchCfg *param;
11935 TRC3(cmUnpkRgrUeSCellAckPucchCfg);
11937 CMCHKUNPK(SUnpkU32, (U32*)¶m->pucchFormatType, mBuf);
11938 //if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS)
11939 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11941 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11943 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb1Count; idx++)
11945 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb1[idx], mBuf);
11948 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11950 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb2Count; idx++)
11952 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb2[idx], mBuf);
11957 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP0Count, mBuf);
11959 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP0Count; idx++)
11961 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP0[idx], mBuf);
11964 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP1Count, mBuf);
11966 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP1Count; idx++)
11968 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP1[idx], mBuf);
11981 /***********************************************************
11983 * Func : cmPkRgrUeStaInd
11986 * Desc : Packing Ue Sta Indication sent to RRM
11995 **********************************************************/
11997 PUBLIC S16 cmPkRgrUeStaInd
12001 RgrUeStaIndInfo* ueStaInd
12004 PUBLIC S16 cmPkRgrUeStaInd(pst, suId, ueStaInd)
12007 RgrUeStaIndInfo* ueStaInd;
12010 Buffer *mBuf = NULLP;
12011 TRC3(cmPkRgrUeStaInd)
12012 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
12014 #if (ERRCLASS & ERRCLS_ADD_RES)
12015 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12016 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12017 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
12019 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12020 sizeof(RgrUeStaIndInfo));
12024 if (cmPkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
12026 #if (ERRCLASS & ERRCLS_ADD_RES)
12027 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12028 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12029 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
12031 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12032 sizeof(RgrUeStaIndInfo));
12037 if (SPkS16(suId, mBuf) != ROK)
12039 #if (ERRCLASS & ERRCLS_ADD_RES)
12040 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12041 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12042 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
12044 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12045 sizeof(RgrUeStaIndInfo));
12050 if (SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12051 sizeof(RgrUeStaIndInfo)) != ROK)
12053 #if (ERRCLASS & ERRCLS_ADD_RES)
12054 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12055 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12056 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
12062 pst->event = (Event) EVTRGRUESTAIND;
12063 RETVALUE(SPstTsk(pst,mBuf));
12066 /*rgr_c_001.main_9 ADD added changes for CQI management*/
12067 /***********************************************************
12069 * Func : cmUnpkRgrUeStaInd
12072 * Desc : Unpacking Sta Indication sent to RRM
12080 **********************************************************/
12082 PUBLIC S16 cmUnpkRgrUeStaInd
12089 PUBLIC S16 cmUnpkRgrUeStaInd(func, pst, mBuf)
12096 RgrUeStaIndInfo *ueStaInd;
12098 TRC3(cmUnpkRgrUeStaInd)
12100 if (SUnpkS16(&suId, mBuf) != ROK)
12103 #if (ERRCLASS & ERRCLS_ADD_RES)
12104 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12105 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12106 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
12111 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ueStaInd,
12112 sizeof(RgrUeStaIndInfo))) != ROK)
12114 #if (ERRCLASS & ERRCLS_ADD_RES)
12115 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12116 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12117 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
12123 if (cmUnpkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
12125 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12126 sizeof(RgrUeStaIndInfo));
12128 #if (ERRCLASS & ERRCLS_ADD_RES)
12129 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12130 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12131 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
12137 RETVALUE((*func)(pst, suId, ueStaInd));
12140 /***********************************************************
12142 * Func : cmPkRgrUeStaIndInfo
12145 * Desc : Packing of UeStaIndInfo structure
12153 **********************************************************/
12155 PUBLIC S16 cmPkRgrUeStaIndInfo
12157 RgrUeStaIndInfo *param,
12161 PUBLIC S16 cmPkRgrUeStaIndInfo(param, mBuf)
12162 RgrUeStaIndInfo *param;
12167 TRC3(cmPkRgrUeStaIndInfo)
12169 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
12170 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
12171 CMCHKPK(SPkU8, param->status, mBuf);
12175 /***********************************************************
12177 * Func : cmUnpkRgrUeStaIndInfo
12180 * Desc : Unpacking of UeStaIndInfo structure
12188 **********************************************************/
12190 PUBLIC S16 cmUnpkRgrUeStaIndInfo
12192 RgrUeStaIndInfo *param,
12196 PUBLIC S16 cmUnpkRgrUeStaIndInfo(param, mBuf)
12197 RgrUeStaIndInfo *param;
12202 TRC3(cmUnpkRgrUeStaIndInfo)
12204 CMCHKUNPK(SUnpkU8, ¶m->status, mBuf);
12205 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
12206 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
12212 /***********************************************************
12214 * Func : cmPkRgrCellCsgParamCfg
12217 * Desc : CSG Parameter configuration
12226 **********************************************************/
12228 PUBLIC S16 cmPkRgrCellCsgParamCfg
12230 RgrCellCsgParamCfg *param,
12234 PUBLIC S16 cmPkRgrCellCsgParamCfg(param, mBuf)
12235 RgrCellCsgParamCfg *param;
12240 TRC3(cmPkRgrCellCsgParamCfg)
12242 CMCHKPK(SPkU8, param->minUlResNonCsg, mBuf);
12243 CMCHKPK(SPkU8, param->minDlResNonCsg, mBuf);
12248 /***********************************************************
12250 * Func : cmUnpkRgrCellCsgParamCfg
12253 * Desc : Unpacking of RgrCellCsgParamCfg structure
12261 **********************************************************/
12263 PUBLIC S16 cmUnpkRgrCellCsgParamCfg
12265 RgrCellCsgParamCfg *param,
12269 PUBLIC S16 cmUnpkRgrCellCsgParamCfg(param, mBuf)
12270 RgrCellCsgParamCfg *param;
12275 TRC3(cmUnpkRgrCellCsgParamCfg)
12277 CMCHKUNPK(SUnpkU8, ¶m->minDlResNonCsg, mBuf);
12278 CMCHKUNPK(SUnpkU8, ¶m->minUlResNonCsg, mBuf);
12283 /***********************************************************
12285 * Func : cmPkRgrCellCntrlCmdCfg
12288 * Desc : Packing of RgrCellCntrlCmdCfg structure
12296 **********************************************************/
12298 PUBLIC S16 cmPkRgrCellCntrlCmdCfg
12300 RgrCellCntrlCmdCfg *param,
12304 PUBLIC S16 cmPkRgrCellCntrlCmdCfg(param, mBuf)
12305 RgrCellCntrlCmdCfg *param;
12309 TRC3(cmPkRgrCellCntrlCmdCfg)
12311 switch(param->cmdType)
12313 case RGR_CNTRL_CMD_RACH_OVRLD:
12314 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffVal, mBuf);
12315 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12317 case RGR_CNTRL_CMD_CPU_OVRLD:
12318 CMCHKUNPK(SPkU8, param->cmdDesc.cpuOvrLd.instruction, mBuf);
12323 CMCHKUNPK(SPkU32, param->cmdType, mBuf);
12327 /***********************************************************
12329 * Func : cmUnpkRgrCellCntrlCmdCfg
12332 * Desc : Unpacking of RgrCellCntrlCmdCfg structure
12340 **********************************************************/
12342 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg
12344 RgrCellCntrlCmdCfg *param,
12348 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg(param, mBuf)
12349 RgrCellCntrlCmdCfg *param;
12355 TRC3(cmUnpkRgrCellCntrlCmdCfg)
12357 CMCHKUNPK(SUnpkU32, &tmpEnum, mBuf);
12358 param->cmdType = (RgrCellCntrlCmdType) tmpEnum;
12359 switch(param->cmdType)
12361 case RGR_CNTRL_CMD_RACH_OVRLD:
12362 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12363 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffVal, mBuf);
12365 case RGR_CNTRL_CMD_CPU_OVRLD:
12366 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.cpuOvrLd.instruction, mBuf);
12374 #endif /* End of if defined(LCRGR) */
12376 /**********************************************************************
12378 **********************************************************************/