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 DU_APP to MAC for
435 * configuring Cell/Ue/Lc
444 **********************************************************/
446 PUBLIC S16 cmPkRgrCfgReq
449 RgrCfgTransId transId,
450 RgrCfgReqInfo * cfgReqInfo
453 PUBLIC S16 cmPkRgrCfgReq(pst, transId, cfgReqInfo)
455 RgrCfgTransId transId;
456 RgrCfgReqInfo * cfgReqInfo;
459 Buffer *mBuf = NULLP;
462 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
463 #if (ERRCLASS & ERRCLS_ADD_RES)
464 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
465 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
466 (ErrVal)ERGR016, (ErrVal)0, "Packing failed");
468 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
471 if (cmPkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
472 #if (ERRCLASS & ERRCLS_ADD_RES)
473 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
474 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
475 (ErrVal)ERGR017, (ErrVal)0, "Packing failed");
477 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
481 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
482 #if (ERRCLASS & ERRCLS_ADD_RES)
483 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
484 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
485 (ErrVal)ERGR018, (ErrVal)0, "Packing failed");
487 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
492 if (SPkS16(spId, mBuf) != ROK) {
493 #if (ERRCLASS & ERRCLS_ADD_RES)
494 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
495 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
496 (ErrVal)ERGR019, (ErrVal)0, "Packing failed");
498 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) EVTMACSCHCFGREQ;
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)
548 RgrCfgTransId transId;
549 RgrCfgReqInfo *cfgReqInfo;
551 TRC3(cmUnpkRgrCfgReq)
553 if (SUnpkS16(&spId, mBuf) != ROK) {
555 #if (ERRCLASS & ERRCLS_ADD_RES)
556 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
557 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
558 (ErrVal)ERGR021, (ErrVal)0, "Packing failed");
564 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
566 #if (ERRCLASS & ERRCLS_ADD_RES)
567 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
568 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
569 (ErrVal)ERGR022, (ErrVal)0, "Packing failed");
573 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,sizeof(RgrCfgReqInfo))) != ROK) {
574 #if (ERRCLASS & ERRCLS_ADD_RES)
575 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
576 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
577 (ErrVal)ERGR023, (ErrVal)0, "Packing failed");
582 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrCfgReqInfo));
583 if (pst->selector == RGR_SEL_LC)
584 if (cmUnpkRgrCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
585 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(RgrCfgReqInfo));
587 #if (ERRCLASS & ERRCLS_ADD_RES)
588 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
589 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
590 (ErrVal)ERGR024, (ErrVal)0, "Packing failed");
595 RETVALUE((*func)(pst, transId, cfgReqInfo));
598 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
600 /***********************************************************
602 * Func : cmPkRgrTtiIndInfo
605 * Desc : Packs the TTI indication information.
614 **********************************************************/
616 PUBLIC S16 cmPkRgrTtiIndInfo
618 RgrTtiIndInfo *param,
622 PUBLIC S16 cmPkRgrTtiIndInfo(param, mBuf)
623 RgrTtiIndInfo *param;
628 CMCHKPK(SPkU16, param->sfn, mBuf);
629 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
633 /***********************************************************
635 * Func : cmUnpkRgrTtiIndInfo
638 * Desc : Unpacking for RgrTtiIndInfo
646 **********************************************************/
648 PUBLIC S16 cmUnpkRgrTtiIndInfo
650 RgrTtiIndInfo *param,
654 PUBLIC S16 cmUnpkRgrTtiIndInfo(param, mBuf)
655 RgrTtiIndInfo *param;
659 TRC3(cmUnpkRgrTtiIndInfo)
661 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
662 CMCHKUNPK(SUnpkU16, ¶m->sfn, mBuf);
667 /***********************************************************
669 * Func : cmPkRgrTtiInd
672 * Desc : TTI indication from MAC to RRM
681 **********************************************************/
683 PUBLIC S16 cmPkRgrTtiInd
687 RgrTtiIndInfo *ttiInd
690 PUBLIC S16 cmPkRgrTtiInd(pst, suId, ttiInd)
693 RgrTtiIndInfo *ttiInd;
696 Buffer *mBuf = NULLP;
699 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
700 #if (ERRCLASS & ERRCLS_ADD_RES)
701 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
702 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
703 (ErrVal)ERGR025, (ErrVal)0, "Packing failed");
707 if (cmPkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
708 #if (ERRCLASS & ERRCLS_ADD_RES)
709 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
710 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
711 (ErrVal)ERGR026, (ErrVal)0, "Packing failed");
713 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
717 if (SPkS16(suId, mBuf) != ROK) {
718 #if (ERRCLASS & ERRCLS_ADD_RES)
719 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
720 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
721 (ErrVal)ERGR027, (ErrVal)0, "Packing failed");
723 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
727 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd, sizeof(RgrTtiIndInfo));
728 pst->event = (Event) EVTRGRTTIIND;
729 RETVALUE(SPstTsk(pst,mBuf));
733 /***********************************************************
735 * Func : cmUnpkRgrTtiInd
738 * Desc : TTI indication from MAC to RRM
747 **********************************************************/
749 PUBLIC S16 cmUnpkRgrTtiInd
756 PUBLIC S16 cmUnpkRgrTtiInd(func, pst, mBuf)
763 RgrTtiIndInfo *ttiInd;
765 TRC3(cmUnpkRgrTtiInd)
767 if (SUnpkS16(&suId, mBuf) != ROK) {
769 #if (ERRCLASS & ERRCLS_ADD_RES)
770 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
771 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
772 (ErrVal)ERGR028, (ErrVal)0, "Packing failed");
776 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ttiInd, sizeof(RgrTtiIndInfo))) != ROK)
778 #if (ERRCLASS & ERRCLS_ADD_RES)
779 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
780 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
781 (ErrVal)ERGR029, (ErrVal)0, "UnPacking failed");
787 if (cmUnpkRgrTtiIndInfo(ttiInd, mBuf) != ROK) {
788 /*ccpu00114888- Memory Leak issue- Start*/
789 SPutSBuf(pst->region, pst->pool, (Data *)ttiInd,
790 sizeof(RgrTtiIndInfo));
791 /*ccpu00114888- Memory Leak issue- End*/
793 #if (ERRCLASS & ERRCLS_ADD_RES)
794 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
795 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
796 (ErrVal)ERGR030, (ErrVal)0, "Packing failed");
801 RETVALUE((*func)(pst, suId, ttiInd));
805 /***********************************************************
807 * Func : cmPkRgrCfgCfm
810 * Desc : Configuration Confirm from MAC to RRM
819 **********************************************************/
821 PUBLIC S16 cmPkRgrCfgCfm
824 RgrCfgTransId transId,
828 PUBLIC S16 cmPkRgrCfgCfm(pst, transId, status)
830 RgrCfgTransId transId;
834 Buffer *mBuf = NULLP;
837 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
838 #if (ERRCLASS & ERRCLS_ADD_RES)
839 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
840 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
841 (ErrVal)ERGR031, (ErrVal)0, "Packing failed");
845 if (SPkU8(status, mBuf) != ROK) {
846 #if (ERRCLASS & ERRCLS_ADD_RES)
847 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
848 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
849 (ErrVal)ERGR032, (ErrVal)0, "Packing failed");
854 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
855 #if (ERRCLASS & ERRCLS_ADD_RES)
856 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
857 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
858 (ErrVal)ERGR033, (ErrVal)0, "Packing failed");
863 pst->event = (Event) EVTMACSCHCFGCFM;
864 RETVALUE(SPstTsk(pst,mBuf));
868 /***********************************************************
870 * Func : cmUnpkRgrCfgCfm
873 * Desc : Configuration Confirm from MAC to RRM
882 **********************************************************/
884 PUBLIC S16 cmUnpkRgrCfgCfm
891 PUBLIC S16 cmUnpkRgrCfgCfm(func, pst, mBuf)
897 RgrCfgTransId transId;
900 TRC3(cmUnpkRgrCfgCfm)
902 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
904 #if (ERRCLASS & ERRCLS_ADD_RES)
905 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
906 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
907 (ErrVal)ERGR036, (ErrVal)0, "Packing failed");
911 if (SUnpkU8(&status, mBuf) != ROK) {
913 #if (ERRCLASS & ERRCLS_ADD_RES)
914 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
915 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
916 (ErrVal)ERGR037, (ErrVal)0, "Packing failed");
921 RETVALUE((*func)(pst, transId, status));
924 /* rgr_c_001.main_4: ADD-Added for SI Enhancement. */
926 /***********************************************************
928 * Func : cmPkRgrSiCfgCfm
931 * Desc : SI Configuration Confirm from MAC to RRM
940 **********************************************************/
942 PUBLIC S16 cmPkRgrSiCfgCfm
946 RgrCfgTransId transId,
950 PUBLIC S16 cmPkRgrSiCfgCfm(pst, suId, transId, status)
953 RgrCfgTransId transId;
957 Buffer *mBuf = NULLP;
959 TRC3(cmPkRgrSiCfgCfm)
961 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
962 #if (ERRCLASS & ERRCLS_ADD_RES)
963 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
964 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
965 (ErrVal)ERGR038, (ErrVal)0, "Packing failed");
969 if (SPkU8(status, mBuf) != ROK) {
970 #if (ERRCLASS & ERRCLS_ADD_RES)
971 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
972 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
973 (ErrVal)ERGR039, (ErrVal)0, "Packing failed");
978 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
979 #if (ERRCLASS & ERRCLS_ADD_RES)
980 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
981 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
982 (ErrVal)ERGR040, (ErrVal)0, "Packing failed");
987 if (SPkS16(suId, mBuf) != ROK) {
988 #if (ERRCLASS & ERRCLS_ADD_RES)
989 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
990 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
991 (ErrVal)ERGR041, (ErrVal)0, "Packing failed");
997 pst->event = (Event) EVTRGRSICFGCFM;
998 RETVALUE(SPstTsk(pst,mBuf));
1002 /***********************************************************
1004 * Func : cmUnpkRgrSiCfgCfm
1007 * Desc : Configuration Confirm from MAC to RRM
1016 **********************************************************/
1018 PUBLIC S16 cmUnpkRgrSiCfgCfm
1025 PUBLIC S16 cmUnpkRgrSiCfgCfm(func, pst, mBuf)
1032 RgrCfgTransId transId;
1035 TRC3(cmUnpkRgrSiCfgCfm)
1037 if (SUnpkS16(&suId, mBuf) != ROK) {
1039 #if (ERRCLASS & ERRCLS_ADD_RES)
1040 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1041 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1042 (ErrVal)ERGR042, (ErrVal)0, "Packing failed");
1046 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
1048 #if (ERRCLASS & ERRCLS_ADD_RES)
1049 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1050 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1051 (ErrVal)ERGR043, (ErrVal)0, "Packing failed");
1055 if (SUnpkU8(&status, mBuf) != ROK) {
1057 #if (ERRCLASS & ERRCLS_ADD_RES)
1058 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1059 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1060 (ErrVal)ERGR044, (ErrVal)0, "Packing failed");
1065 RETVALUE((*func)(pst, suId, transId, status));
1067 #endif/*RGR_SI_SCH*/
1070 /***********************************************************
1072 * Func : cmPkRgrCfgTransId
1075 * Desc : Transaction ID between MAC and RRM
1084 **********************************************************/
1086 PUBLIC S16 cmPkRgrCfgTransId
1088 RgrCfgTransId *param,
1092 PUBLIC S16 cmPkRgrCfgTransId(param, mBuf)
1093 RgrCfgTransId *param;
1099 TRC3(cmPkRgrCfgTransId)
1101 for (i=RGR_CFG_TRANSID_SIZE-1; i >= 0; i--) {
1102 CMCHKPK(SPkU8, param->trans[i], mBuf);
1109 /***********************************************************
1111 * Func : cmUnpkRgrCfgTransId
1114 * Desc : Transaction ID between MAC and RRM
1123 **********************************************************/
1125 PUBLIC S16 cmUnpkRgrCfgTransId
1127 RgrCfgTransId *param,
1131 PUBLIC S16 cmUnpkRgrCfgTransId(param, mBuf)
1132 RgrCfgTransId *param;
1138 TRC3(cmUnpkRgrCfgTransId)
1140 for (i=0; i<RGR_CFG_TRANSID_SIZE; i++) {
1141 CMCHKUNPK(SUnpkU8, ¶m->trans[i], mBuf);
1148 /***********************************************************
1150 * Func : cmPkRgrDlHqCfg
1153 * Desc : Downlink HARQ configuration per Cell
1162 **********************************************************/
1164 PUBLIC S16 cmPkRgrDlHqCfg
1170 PUBLIC S16 cmPkRgrDlHqCfg(param, mBuf)
1176 TRC3(cmPkRgrDlHqCfg)
1178 CMCHKPK(SPkU8, param->maxMsg4HqTx, mBuf);
1179 CMCHKPK(SPkU8, param->maxDlHqTx, mBuf);
1185 /***********************************************************
1187 * Func : cmUnpkRgrDlHqCfg
1190 * Desc : Downlink HARQ configuration per Cell
1199 **********************************************************/
1201 PUBLIC S16 cmUnpkRgrDlHqCfg
1207 PUBLIC S16 cmUnpkRgrDlHqCfg(param, mBuf)
1213 TRC3(cmUnpkRgrDlHqCfg)
1215 CMCHKUNPK(SUnpkU8, ¶m->maxDlHqTx, mBuf);
1216 CMCHKUNPK(SUnpkU8, ¶m->maxMsg4HqTx, mBuf);
1222 /***********************************************************
1224 * Func : cmPkRgrRntiCfg
1227 * Desc : Range of RNTIs managed by MAC
1236 **********************************************************/
1238 PUBLIC S16 cmPkRgrRntiCfg
1244 PUBLIC S16 cmPkRgrRntiCfg(param, mBuf)
1250 TRC3(cmPkRgrRntiCfg)
1252 CMCHKPK(SPkU16, param->size, mBuf);
1253 CMCHKPK(cmPkLteRnti, param->startRnti, mBuf);
1259 /***********************************************************
1261 * Func : cmUnpkRgrRntiCfg
1264 * Desc : Range of RNTIs managed by MAC
1273 **********************************************************/
1275 PUBLIC S16 cmUnpkRgrRntiCfg
1281 PUBLIC S16 cmUnpkRgrRntiCfg(param, mBuf)
1287 TRC3(cmUnpkRgrRntiCfg)
1289 CMCHKUNPK(cmUnpkLteRnti, ¶m->startRnti, mBuf);
1290 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1295 /***********************************************************
1297 * Func : cmPkRgrEmtcRntiCfg
1300 * Desc : Range of Emtc RNTIs managed by MAC
1309 **********************************************************/
1311 PUBLIC S16 cmPkRgrEmtcRntiCfg
1313 RgrEmtcRntiCfg *param,
1317 PUBLIC S16 cmPkRgrEmtcRntiCfg(param, mBuf)
1318 RgrEmtcRntiCfg *param;
1323 TRC3(cmPkRgrEmtcRntiCfg)
1325 CMCHKPK(SPkU16, param->size, mBuf);
1326 CMCHKPK(cmPkLteRnti, param->rntiCeModeBRange, mBuf);
1327 CMCHKPK(cmPkLteRnti, param->rntiCeModeBStart, mBuf);
1328 CMCHKPK(cmPkLteRnti, param->rntiCeModeARange, mBuf);
1329 CMCHKPK(cmPkLteRnti, param->rntiCeModeAStart, mBuf);
1335 /***********************************************************
1337 * Func : cmUnpkRgrEmtcRntiCfg
1340 * Desc : Range of Emtc RNTIs managed by MAC
1349 **********************************************************/
1351 PUBLIC S16 cmUnpkRgrEmtcRntiCfg
1353 RgrEmtcRntiCfg *param,
1357 PUBLIC S16 cmUnpkRgrEmtcRntiCfg(param, mBuf)
1358 RgrEmtcRntiCfg *param;
1363 TRC3(cmUnpkRgrEmtcRntiCfg)
1365 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeAStart, mBuf);
1366 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeARange, mBuf);
1367 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBStart, mBuf);
1368 CMCHKUNPK(cmUnpkLteRnti, ¶m->rntiCeModeBRange, mBuf);
1369 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
1376 /***********************************************************
1378 * Func : cmPkRgrDlCmnCodeRateCfg
1381 * Desc : Downlink common channel code rate configuration per cell
1390 **********************************************************/
1392 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg
1394 RgrDlCmnCodeRateCfg *param,
1398 PUBLIC S16 cmPkRgrDlCmnCodeRateCfg(param, mBuf)
1399 RgrDlCmnCodeRateCfg *param;
1404 TRC3(cmPkRgrDlCmnCodeRateCfg)
1406 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1407 CMCHKPK(SPkU16, param->pdcchCodeRate, mBuf);
1408 CMCHKPK(SPkU16, param->bcchPchRaCodeRate, mBuf);
1414 /***********************************************************
1416 * Func : cmUnpkRgrDlCmnCodeRateCfg
1419 * Desc : Downlink common channel code rate configuration per cell
1428 **********************************************************/
1430 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg
1432 RgrDlCmnCodeRateCfg *param,
1436 PUBLIC S16 cmUnpkRgrDlCmnCodeRateCfg(param, mBuf)
1437 RgrDlCmnCodeRateCfg *param;
1442 TRC3(cmUnpkRgrDlCmnCodeRateCfg)
1444 CMCHKUNPK(SUnpkU16, ¶m->bcchPchRaCodeRate, mBuf);
1445 CMCHKUNPK(SUnpkU16, ¶m->pdcchCodeRate, mBuf);
1446 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1452 /***********************************************************
1454 * Func : cmPkRgrCfiCfg
1457 * Desc : Control Format Indicator (CFI) configuration per cell
1466 **********************************************************/
1468 PUBLIC S16 cmPkRgrCfiCfg
1474 PUBLIC S16 cmPkRgrCfiCfg(param, mBuf)
1482 CMCHKPK(SPkU8, param->cfi, mBuf);
1488 /***********************************************************
1490 * Func : cmUnpkRgrCfiCfg
1493 * Desc : Control Format Indicator (CFI) configuration per cell
1502 **********************************************************/
1504 PUBLIC S16 cmUnpkRgrCfiCfg
1510 PUBLIC S16 cmUnpkRgrCfiCfg(param, mBuf)
1516 TRC3(cmUnpkRgrCfiCfg)
1518 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
1524 /***********************************************************
1526 * Func : cmPkRgrPuschSubBandCfg
1529 * Desc : PUSCH sub-band configuration per cell
1538 **********************************************************/
1540 PUBLIC S16 cmPkRgrPuschSubBandCfg
1542 RgrPuschSubBandCfg *param,
1546 PUBLIC S16 cmPkRgrPuschSubBandCfg(param, mBuf)
1547 RgrPuschSubBandCfg *param;
1553 TRC3(cmPkRgrPuschSubBandCfg)
1555 for (i=param->numSubbands-1; i >= 0; i--) {
1556 CMCHKPK(SPkU8, param->dmrs[i], mBuf);
1558 CMCHKPK(SPkU8, param->size, mBuf);
1559 CMCHKPK(SPkU8, param->numSubbands, mBuf);
1560 CMCHKPK(SPkU8, param->subbandStart, mBuf);
1566 /***********************************************************
1568 * Func : cmUnpkRgrPuschSubBandCfg
1571 * Desc : PUSCH sub-band configuration per cell
1580 **********************************************************/
1582 PUBLIC S16 cmUnpkRgrPuschSubBandCfg
1584 RgrPuschSubBandCfg *param,
1588 PUBLIC S16 cmUnpkRgrPuschSubBandCfg(param, mBuf)
1589 RgrPuschSubBandCfg *param;
1595 TRC3(cmUnpkRgrPuschSubBandCfg)
1597 CMCHKUNPK(SUnpkU8, ¶m->subbandStart, mBuf);
1598 CMCHKUNPK(SUnpkU8, ¶m->numSubbands, mBuf);
1599 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
1600 for (i=0; i<param->numSubbands; i++) {
1601 CMCHKUNPK(SUnpkU8, ¶m->dmrs[i], mBuf);
1608 /***********************************************************
1610 * Func : cmPkRgrUlCmnCodeRateCfg
1613 * Desc : Uplink common channel code rate configuration per cell
1622 **********************************************************/
1624 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg
1626 RgrUlCmnCodeRateCfg *param,
1630 PUBLIC S16 cmPkRgrUlCmnCodeRateCfg(param, mBuf)
1631 RgrUlCmnCodeRateCfg *param;
1636 TRC3(cmPkRgrUlCmnCodeRateCfg)
1638 CMCHKPK(SPkU8, param->ccchCqi, mBuf);
1644 /***********************************************************
1646 * Func : cmUnpkRgrUlCmnCodeRateCfg
1649 * Desc : Uplink common channel code rate configuration per cell
1658 **********************************************************/
1660 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg
1662 RgrUlCmnCodeRateCfg *param,
1666 PUBLIC S16 cmUnpkRgrUlCmnCodeRateCfg(param, mBuf)
1667 RgrUlCmnCodeRateCfg *param;
1672 TRC3(cmUnpkRgrUlCmnCodeRateCfg)
1674 CMCHKUNPK(SUnpkU8, ¶m->ccchCqi, mBuf);
1680 /***********************************************************
1682 * Func : cmPkRgrUlTrgCqiCfg
1685 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1694 **********************************************************/
1696 PUBLIC S16 cmPkRgrUlTrgCqiCfg
1698 RgrUlTrgCqiCfg *param,
1702 PUBLIC S16 cmPkRgrUlTrgCqiCfg(param, mBuf)
1703 RgrUlTrgCqiCfg *param;
1708 TRC3(cmPkRgrUlTrgCqiCfg)
1710 CMCHKPK(SPkU8, param->trgCqi, mBuf);
1716 /***********************************************************
1718 * Func : cmUnpkRgrUlTrgCqiCfg
1721 * Desc : Target Uplink CQI to achieve through group power control configured per cell
1730 **********************************************************/
1732 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg
1734 RgrUlTrgCqiCfg *param,
1738 PUBLIC S16 cmUnpkRgrUlTrgCqiCfg(param, mBuf)
1739 RgrUlTrgCqiCfg *param;
1744 TRC3(cmUnpkRgrUlTrgCqiCfg)
1746 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
1752 /***********************************************************
1754 * Func : cmPkRgrBwCfg
1757 * Desc : Bandwidth configuration per cell
1766 **********************************************************/
1768 PUBLIC S16 cmPkRgrBwCfg
1774 PUBLIC S16 cmPkRgrBwCfg(param, mBuf)
1782 CMCHKPK(SPkU8, param->ulTotalBw, mBuf);
1783 CMCHKPK(SPkU8, param->dlTotalBw, mBuf);
1789 /* EMTC related pack changes start*/
1792 PUBLIC S16 cmPkRgrEmtcSiCfg
1794 RgrEmtcSiCfg *param,
1798 PUBLIC S16 cmPkRgrEmtcSiCfg(param, mBuf)
1799 RgrEmtcSiCfg *param;
1805 TRC3(cmPkRgrEmtcSiCfg)
1807 CMCHKPK(SPkU8, param->siHoppingEnable, mBuf);
1808 CMCHKPK(SPkU32, param->modPrd, mBuf);
1809 CMCHKPK(SPkU8, param->siWinSizeBr, mBuf);
1810 CMCHKPK(SPkU8, param->sib1Repetition, mBuf);
1811 CMCHKPK(SPkU8, param->siRepetition, mBuf);
1813 CMCHKPK(SPkU16, param->startSymbolLc, mBuf);
1814 //CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1815 /*Changes by SIMRAN*/
1816 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
1818 CMCHKPK(SPkU16, param->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
1822 //CMCHKPK(SPkU64,param->fddDLOrTddSfBitmapLC.u.ptn40, mBuf);
1823 for (i=0; i<2; i++) {
1824 CMCHKPK(SPkU32, param->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
1828 CMCHKPK(SPkU8, param->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
1829 //CMCHKPK(SPkU16, param->fddDlOrTddSfBitmapBR, mBuf);
1831 for (i= (param->numSi-1); i >= 0; i--) {
1832 CMCHKPK(SPkU8, param->schdInfo[i].emtcSiNarrowBand, mBuf);
1833 CMCHKPK(SPkU16, param->schdInfo[i].emtcSiTbs, mBuf);
1836 for (i= (param->numSi-1); i >= 0; i--) {
1837 CMCHKPK(SPkU32, param->siPeriodicity[i], mBuf);
1840 CMCHKPK(SPkU8, param->numSi, mBuf);
1849 PUBLIC S16 cmPkRgrEmtcRachCfg
1851 RgrEmtcRachCfg *param,
1855 PUBLIC S16 cmPkRgrEmtcRachCfg(param, mBuf)
1856 RgrEmtcRachCfg *param;
1862 TRC3(cmPkRgrEmtcRachCfg)
1864 CMCHKPK(SPkU8, param->emtcCeLvlSupported, mBuf);
1866 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1867 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcRarHopping, mBuf);
1868 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcWinSize, mBuf);
1869 CMCHKPK(SPkU16, param->ceLevelInfo[i].raEmtcContResTmr, mBuf);
1870 CMCHKPK(SPkU16, param->ceLevelInfo[i].emtcPreambleTransMax, mBuf);
1871 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.firstPreamble, mBuf);
1872 CMCHKPK(SPkU8, param->ceLevelInfo[i].emtcPreambleMap.lastPreamble, mBuf);
1880 PUBLIC S16 cmPkRgrEmtcPdschCfg
1882 RgrEmtcPdschCfg*param,
1886 PUBLIC S16 cmPkRgrEmtcPdschCfg(param, mBuf)
1887 RgrEmtcPdschCfg *param;
1892 TRC3(cmPkRgrEmtcPdschCfg)
1893 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1894 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1900 PUBLIC S16 cmPkRgrEmtcPuschCfg
1902 RgrEmtcPuschCfg*param,
1906 PUBLIC S16 cmPkRgrEmtcPuschCfg(param, mBuf)
1907 RgrEmtcPuschCfg *param;
1911 TRC3(cmPkRgrEmtcPuschCfg)
1912 CMCHKPK(SPkU16, param->emtcMaxRepCeModeA, mBuf);
1913 CMCHKPK(SPkU16, param->emtcMaxRepCeModeB, mBuf);
1914 CMCHKPK(SPkU8, param->emtcHoppingOffset, mBuf);
1921 PUBLIC S16 cmPkRgrEmtcPucchCfg
1923 RgrEmtcPucchCfg *param,
1927 PUBLIC S16 cmPkRgrEmtcPucchCfg(param, mBuf)
1928 RgrEmtcPucchCfg *param;
1935 TRC3(cmPkRgrEmtcPucchCfg)
1936 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1937 CMCHKPK(SPkU16, param->emtcN1pucchAnInfoLst[i], mBuf);
1940 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl0, mBuf);
1941 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl1, mBuf);
1942 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl2, mBuf);
1943 CMCHKPK(SPkU8, param->emtcPucchNumRepCEMsg4Lvl3, mBuf);
1950 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg
1952 RgrEmtcPrachCEParamLst *param,
1956 PUBLIC S16 cmPkRgrEmtcPrachCeParamCfg(param, mBuf)
1957 RgrEmtcPrachCEParamLst *param;
1961 TRC3(cmPkRgrEmtcPrachCeParamCfg)
1962 CMCHKPK(SPkU8, param->emtcPrachCfgIdx, mBuf);
1963 CMCHKPK(SPkU8, param->emtcPrachFreqOffset, mBuf);
1964 CMCHKPK(SPkU16, param->emtcPrachStartSubFrame, mBuf);
1965 CMCHKPK(SPkU8, param->emtcMaxPremAttemptCE, mBuf);
1966 CMCHKPK(SPkU8, param->emtcNumRepPerPreambleAtt, mBuf);
1967 CMCHKPK(SPkU8, param->emtcNumMpdcchNBtoMonitor, mBuf);
1968 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[0], mBuf);
1969 CMCHKPK(SPkU8, param->emtcMpdcchNBtoMonitor[1], mBuf);
1970 CMCHKPK(SPkU16, param->emtcMpdcchNumRep, mBuf);
1971 CMCHKPK(SPkU8, param->emtcPrachHoppingCfg, mBuf);
1978 PUBLIC S16 cmPkRgrEmtcPrachCfg
1980 RgrEmtcPrachCfg *param,
1984 PUBLIC S16 cmPkRgrEmtcPrachCfg(param, mBuf)
1985 RgrEmtcPrachCfg *param;
1991 TRC3(cmPkRgrEmtcPrachCfg)
1992 CMCHKPK(SPkU8, param->emtcMpdcchStartSFCssRaFdd, mBuf);
1993 CMCHKPK(SPkU8, param->emtcPrachHopingOffset, mBuf);
1994 CMCHKPK(SPkU8, param->emtcInitialCElevel, mBuf);
1995 for (i=RGR_MAX_CE_LEVEL-1; i >= 0; i--) {
1996 CMCHKPK(cmPkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2006 PUBLIC S16 cmPkRgrEmtcCfg
2008 RgrEmtcCellCfg *param,
2012 PUBLIC S16 cmPkRgrEmtcCfg(param, mBuf)
2013 RgrEmtcCellCfg *param;
2017 TRC3(cmPkRgrEmtcCfg)
2018 CMCHKPK(SPkU16, param->pci, mBuf);
2019 CMCHKPK(SPkU32, param->emtcT300Tmr, mBuf);
2020 CMCHKPK(SPkU32, param->emtcT301Tmr, mBuf);
2021 CMCHKPK(cmPkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2022 CMCHKPK(cmPkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2023 CMCHKPK(cmPkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2024 CMCHKPK(cmPkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2025 CMCHKPK(cmPkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2026 CMCHKPK(cmPkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2027 CMCHKPK(cmPkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2028 CMCHKPK(SPkU8, param->emtcPdschNbIdx, mBuf);
2029 CMCHKPK(SPkU8, param->emtcMpdcchNbIdx, mBuf);
2030 CMCHKPK(SPkU8, param->emtcPuschNbIdx, mBuf);
2035 /* EMTC related pack changes end*/
2037 /* EMTC related unpack changes start*/
2040 PUBLIC S16 cmUnpkRgrEmtcSiCfg
2042 RgrEmtcSiCfg *param,
2046 PUBLIC S16 cmUnpkRgrEmtcSiCfg(param, mBuf)
2047 RgrEmtcSiCfg *param;
2054 TRC3(cmUnpkRgrEmtcSiCfg)
2055 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2057 for (i=0; i < param->numSi ; i++) {
2058 CMCHKUNPK(SUnpkU32,(U32*)&tmpEnum,mBuf);
2059 param->siPeriodicity[i] = (RgrSiPeriodicity) tmpEnum;
2062 for (i=0; i < param->numSi ; i++) {
2063 CMCHKUNPK(SUnpkU16, ¶m->schdInfo[i].emtcSiTbs, mBuf);
2064 CMCHKUNPK(SUnpkU8, ¶m->schdInfo[i].emtcSiNarrowBand, mBuf);
2066 //CMCHKUNPK(SUnpkU16, ¶m->fddDlOrTddSfBitmapBR, mBuf);
2067 CMCHKUNPK(SUnpkU8, ¶m->fddDLOrTddSfBitmapLC.sfnPtnChoice, mBuf);
2068 /*Changes by SIMRAN*/
2069 if(!(param->fddDLOrTddSfBitmapLC.sfnPtnChoice))
2071 CMCHKUNPK(SUnpkU16, ¶m->fddDLOrTddSfBitmapLC.u.ptn10, mBuf);
2075 for (i=1; i>=0; i--) {
2076 CMCHKUNPK(SUnpkU32, ¶m->fddDLOrTddSfBitmapLC.u.ptn40[i], mBuf);
2080 CMCHKUNPK(SUnpkU16, ¶m->startSymbolLc, mBuf);
2081 CMCHKUNPK(SUnpkU8, ¶m->siRepetition, mBuf);
2082 CMCHKUNPK(SUnpkU8, ¶m->sib1Repetition, mBuf);
2083 CMCHKUNPK(SUnpkU8, ¶m->siWinSizeBr, mBuf);
2084 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
2085 param->modPrd = (RgrModPeriodicity) tmpEnum;
2086 CMCHKUNPK(SUnpkU8, ¶m->siHoppingEnable, mBuf);
2095 PUBLIC S16 cmUnpkRgrEmtcRachCfg
2097 RgrEmtcRachCfg *param,
2101 PUBLIC S16 cmUnpkRgrEmtcRachCfg(param, mBuf)
2102 RgrEmtcRachCfg *param;
2108 TRC3(cmUnpkRgrEmtcRachCfg)
2109 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2110 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.lastPreamble), mBuf);
2111 CMCHKUNPK(SUnpkU8, &(param->ceLevelInfo[i].emtcPreambleMap.firstPreamble), mBuf);
2112 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].emtcPreambleTransMax), mBuf);
2113 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcContResTmr), mBuf);
2114 CMCHKUNPK(SUnpkU16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf);
2115 CMCHKUNPK(SUnpkU8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf);
2117 CMCHKUNPK(SUnpkU8, ¶m->emtcCeLvlSupported, mBuf);
2123 PUBLIC S16 cmUnpkRgrEmtcPdschCfg
2125 RgrEmtcPdschCfg*param,
2129 PUBLIC S16 cmUnpkRgrEmtcPdschCfg(param, mBuf)
2130 RgrEmtcPdschCfg *param;
2135 TRC3(cmUnpkRgrEmtcPdschCfg)
2136 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2137 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2142 PUBLIC S16 cmUnpkRgrEmtcPuschCfg
2144 RgrEmtcPuschCfg*param,
2148 PUBLIC S16 cmUnpkRgrEmtcPuschCfg(param, mBuf)
2149 RgrEmtcPuschCfg *param;
2153 TRC3(cmUnpkRgrEmtcPuschCfg)
2154 CMCHKUNPK(SUnpkU8, ¶m->emtcHoppingOffset, mBuf);
2155 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeB, mBuf);
2156 CMCHKUNPK(SUnpkU16, ¶m->emtcMaxRepCeModeA, mBuf);
2163 PUBLIC S16 cmUnpkRgrEmtcPucchCfg
2165 RgrEmtcPucchCfg *param,
2169 PUBLIC S16 cmUnpkRgrEmtcPucchCfg(param, mBuf)
2170 RgrEmtcPucchCfg *param;
2177 TRC3(cmUnpkRgrEmtcPucchCfg)
2179 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf);
2180 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf);
2181 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf);
2182 CMCHKUNPK(SUnpkU8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf);
2184 for (i=0; i < RGR_MAX_CE_LEVEL ; i++) {
2185 CMCHKUNPK(SUnpkU16, ¶m->emtcN1pucchAnInfoLst[i], mBuf);
2192 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg
2194 RgrEmtcPrachCEParamLst *param,
2198 PUBLIC S16 cmUnpkRgrEmtcPrachCeParamCfg(param, mBuf)
2199 RgrEmtcPrachCEParamLst *param;
2203 TRC3(cmUnpkRgrEmtcPrachCeParamCfg)
2204 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHoppingCfg, mBuf);
2205 CMCHKUNPK(SUnpkU16, ¶m->emtcMpdcchNumRep, mBuf);
2206 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf);
2207 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf);
2208 CMCHKUNPK(SUnpkU8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf);
2209 CMCHKUNPK(SUnpkU8, ¶m->emtcNumRepPerPreambleAtt, mBuf);
2210 CMCHKUNPK(SUnpkU8, ¶m->emtcMaxPremAttemptCE, mBuf);
2211 CMCHKUNPK(SUnpkU16, ¶m->emtcPrachStartSubFrame, mBuf);
2212 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachFreqOffset, mBuf);
2213 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachCfgIdx, mBuf);
2220 PUBLIC S16 cmUnpkRgrEmtcPrachCfg
2222 RgrEmtcPrachCfg *param,
2226 PUBLIC S16 cmUnpkRgrEmtcPrachCfg(param, mBuf)
2227 RgrEmtcPrachCfg *param;
2233 TRC3(cmUnpkRgrEmtcPrachCfg)
2234 for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
2235 CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
2237 CMCHKUNPK(SUnpkU8, ¶m->emtcInitialCElevel, mBuf);
2238 CMCHKUNPK(SUnpkU8, ¶m->emtcPrachHopingOffset, mBuf);
2239 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf);
2245 PUBLIC S16 cmUnpkRgrEmtcCfg
2247 RgrEmtcCellCfg *param,
2251 PUBLIC S16 cmUnpkRgrEmtcCfg(param, mBuf)
2252 RgrEmtcCellCfg *param;
2257 TRC3(cmUnpkRgrEmtcCfg)
2258 CMCHKUNPK(SUnpkU8, ¶m->emtcPuschNbIdx, mBuf);
2259 CMCHKUNPK(SUnpkU8, ¶m->emtcMpdcchNbIdx, mBuf);
2260 CMCHKUNPK(SUnpkU8, ¶m->emtcPdschNbIdx, mBuf);
2261 CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
2262 CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
2263 CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
2264 CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
2265 CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
2266 CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
2267 CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
2268 CMCHKUNPK(SUnpkU32,¶m->emtcT301Tmr, mBuf);
2269 CMCHKUNPK(SUnpkU32, ¶m->emtcT300Tmr, mBuf);
2270 CMCHKUNPK(SUnpkU16, ¶m->pci, mBuf);
2279 /* EMTC related unpack changes end*/
2285 /***********************************************************
2287 * Func : cmUnpkRgrBwCfg
2290 * Desc : Bandwidth configuration per cell
2299 **********************************************************/
2301 PUBLIC S16 cmUnpkRgrBwCfg
2307 PUBLIC S16 cmUnpkRgrBwCfg(param, mBuf)
2313 TRC3(cmUnpkRgrBwCfg)
2315 CMCHKUNPK(SUnpkU8, ¶m->dlTotalBw, mBuf);
2316 CMCHKUNPK(SUnpkU8, ¶m->ulTotalBw, mBuf);
2322 /***********************************************************
2324 * Func : cmPkRgrPhichCfg
2327 * Desc : PHICH configuration per cell
2336 **********************************************************/
2338 PUBLIC S16 cmPkRgrPhichCfg
2344 PUBLIC S16 cmPkRgrPhichCfg(param, mBuf)
2350 TRC3(cmPkRgrPhichCfg)
2352 CMCHKPK(SPkU8, param->isDurExtend, mBuf);
2353 CMCHKPK(SPkU32, param->ngEnum, mBuf);
2359 /***********************************************************
2361 * Func : cmUnpkRgrPhichCfg
2364 * Desc : PHICH configuration per cell
2373 **********************************************************/
2375 PUBLIC S16 cmUnpkRgrPhichCfg
2381 PUBLIC S16 cmUnpkRgrPhichCfg(param, mBuf)
2388 TRC3(cmUnpkRgrPhichCfg)
2390 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2391 param->ngEnum = (RgrPhichNg) tmpEnum;
2392 CMCHKUNPK(SUnpkU8, ¶m->isDurExtend, mBuf);
2398 /***********************************************************
2400 * Func : cmPkRgrPucchCfg
2403 * Desc : PUCCH configuration per cell
2412 **********************************************************/
2414 PUBLIC S16 cmPkRgrPucchCfg
2420 PUBLIC S16 cmPkRgrPucchCfg(param, mBuf)
2426 TRC3(cmPkRgrPucchCfg)
2428 CMCHKPK(SPkU8, param->maxPucchRb, mBuf);
2429 CMCHKPK(SPkU8, param->cyclicShift, mBuf);
2430 CMCHKPK(SPkU8, param->deltaShift, mBuf);
2431 CMCHKPK(SPkU16, param->n1PucchAn, mBuf);
2432 CMCHKPK(SPkU8, param->resourceSize, mBuf);
2439 /***********************************************************
2441 * Func : cmUnpkRgrPucchCfg
2444 * Desc : PUCCH configuration per cell
2453 **********************************************************/
2455 PUBLIC S16 cmUnpkRgrPucchCfg
2461 PUBLIC S16 cmUnpkRgrPucchCfg(param, mBuf)
2467 TRC3(cmUnpkRgrPucchCfg)
2469 CMCHKUNPK(SUnpkU8, ¶m->resourceSize, mBuf);
2470 CMCHKUNPK(SUnpkU16, ¶m->n1PucchAn, mBuf);
2471 CMCHKUNPK(SUnpkU8, ¶m->deltaShift, mBuf);
2472 CMCHKUNPK(SUnpkU8, ¶m->cyclicShift, mBuf);
2473 CMCHKUNPK(SUnpkU8, ¶m->maxPucchRb, mBuf);
2480 /***********************************************************
2482 * Func : cmPkRgrSrsCfg
2485 * Desc : SRS configuration per cell
2494 **********************************************************/
2496 PUBLIC S16 cmPkRgrSrsCfg
2502 PUBLIC S16 cmPkRgrSrsCfg(param, mBuf)
2510 CMCHKPK(SPkU8, param->srsSubFrameCfg, mBuf);
2511 CMCHKPK(SPkU32, param->srsBwEnum, mBuf);
2512 CMCHKPK(SPkU32, param->srsCfgPrdEnum, mBuf);
2513 CMCHKPK(SPkU8, param->isSrsCfgSetup, mBuf);
2519 /***********************************************************
2521 * Func : cmUnpkRgrSrsCfg
2524 * Desc : SRS configuration per cell
2533 **********************************************************/
2535 PUBLIC S16 cmUnpkRgrSrsCfg
2541 PUBLIC S16 cmUnpkRgrSrsCfg(param, mBuf)
2548 TRC3(cmUnpkRgrSrsCfg)
2550 CMCHKUNPK(SUnpkU8, ¶m->isSrsCfgSetup, mBuf);
2551 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2552 param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum;
2553 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2554 param->srsBwEnum = (RgrSrsBwCfg) tmpEnum;
2555 CMCHKUNPK(SUnpkU8, ¶m->srsSubFrameCfg, mBuf);
2561 /***********************************************************
2563 * Func : cmPkRgrRachCfg
2566 * Desc : RACH configuration per cell
2575 **********************************************************/
2577 PUBLIC S16 cmPkRgrRachCfg
2583 PUBLIC S16 cmPkRgrRachCfg(param, mBuf)
2590 TRC3(cmPkRgrRachCfg)
2592 CMCHKPK(SPkU8, param->prachResource, mBuf);
2593 CMCHKPK(SPkU16, param->msgSizeGrpA, mBuf);
2594 CMCHKPK(SPkU8, param->sizeRaPreambleGrpA, mBuf);
2595 CMCHKPK(SPkU8, param->numRaPreamble, mBuf);
2596 CMCHKPK(SPkU8, param->maxMsg3Tx, mBuf);
2597 for (i=param->raOccasion.size-1; i >= 0; i--) {
2598 CMCHKPK(SPkU8, param->raOccasion.subFrameNum[i], mBuf);
2600 CMCHKPK(SPkU32, param->raOccasion.sfnEnum, mBuf);
2601 CMCHKPK(SPkU8, param->raOccasion.size, mBuf);
2602 CMCHKPK(SPkU8, param->raWinSize, mBuf);
2603 CMCHKPK(SPkU8, param->preambleFormat, mBuf);
2605 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2606 * timer configuration */
2607 CMCHKPK(SPkU8, param->contResTmr, mBuf);
2614 /***********************************************************
2616 * Func : cmUnpkRgrRachCfg
2619 * Desc : RACH configuration per cell
2628 **********************************************************/
2630 PUBLIC S16 cmUnpkRgrRachCfg
2636 PUBLIC S16 cmUnpkRgrRachCfg(param, mBuf)
2644 TRC3(cmUnpkRgrRachCfg)
2646 /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
2647 * timer configuration */
2648 CMCHKUNPK(SUnpkU8, ¶m->contResTmr, mBuf);
2650 CMCHKUNPK(SUnpkU8, ¶m->preambleFormat, mBuf);
2651 CMCHKUNPK(SUnpkU8, ¶m->raWinSize, mBuf);
2652 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.size, mBuf);
2653 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2654 param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum;
2655 for (i=0; i<param->raOccasion.size; i++) {
2656 CMCHKUNPK(SUnpkU8, ¶m->raOccasion.subFrameNum[i], mBuf);
2658 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3Tx, mBuf);
2659 CMCHKUNPK(SUnpkU8, ¶m->numRaPreamble, mBuf);
2660 CMCHKUNPK(SUnpkU8, ¶m->sizeRaPreambleGrpA, mBuf);
2661 CMCHKUNPK(SUnpkU16, ¶m->msgSizeGrpA, mBuf);
2662 CMCHKUNPK(SUnpkU8, ¶m->prachResource, mBuf);
2668 /***********************************************************
2670 * Func : cmPkRgrSiCfg
2673 * Desc : SI Configuration per cell
2682 **********************************************************/
2684 PUBLIC S16 cmPkRgrSiCfg
2690 PUBLIC S16 cmPkRgrSiCfg(param, mBuf)
2695 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2698 #endif/*RGR_SI_SCH*/
2703 if(param->numSi > sizeof(param->siPeriodicity)/
2704 sizeof(param->siPeriodicity[0]))
2705 param->numSi = sizeof(param->siPeriodicity)/
2706 sizeof(param->siPeriodicity[0]);
2708 for (idx=param->numSi-1; idx >= 0; idx--) {
2709 /* Enum to be packed/unpacked as U32 instead of S32 */
2710 CMCHKPK(SPkU32, param->siPeriodicity[idx], mBuf);
2712 CMCHKPK(SPkU8, param->numSi, mBuf);
2713 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2714 CMCHKPK(SPkU32, (U32)param->modPrd, mBuf);
2715 #endif/*RGR_SI_SCH*/
2716 CMCHKPK(SPkU8, param->retxCnt, mBuf);
2717 CMCHKPK(SPkU8, param->siWinSize, mBuf);
2723 /***********************************************************
2725 * Func : cmUnpkRgrSiCfg
2728 * Desc : SI Configuration per cell
2737 **********************************************************/
2739 PUBLIC S16 cmUnpkRgrSiCfg
2745 PUBLIC S16 cmUnpkRgrSiCfg(param, mBuf)
2751 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
2754 #endif/*RGR_SI_SCH*/
2756 TRC3(cmUnpkRgrSiCfg)
2758 CMCHKUNPK(SUnpkU8, ¶m->siWinSize, mBuf);
2759 CMCHKUNPK(SUnpkU8, ¶m->retxCnt, mBuf);
2761 /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
2762 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2763 param->modPrd = (RgrModPeriodicity) tmpEnum;
2764 CMCHKUNPK(SUnpkU8, ¶m->numSi, mBuf);
2766 if(param->numSi > sizeof(param->siPeriodicity)/
2767 sizeof(param->siPeriodicity[0]))
2768 param->numSi = sizeof(param->siPeriodicity)/
2769 sizeof(param->siPeriodicity[0]);
2771 /* Enum to be packed/unpacked as U32 instead of S32 */
2772 for (idx=0; idx < param->numSi; idx++) {
2773 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2774 param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum;
2776 #endif/*RGR_SI_SCH*/
2783 /***********************************************************
2785 * Func : cmPkRgrTpcRntiCfg
2788 * Desc : TPC RNTI Range
2797 **********************************************************/
2799 PUBLIC S16 cmPkRgrTpcRntiCfg
2801 RgrTpcRntiCfg *param,
2805 PUBLIC S16 cmPkRgrTpcRntiCfg(param, mBuf)
2806 RgrTpcRntiCfg *param;
2811 TRC3(cmPkRgrTpcRntiCfg)
2813 CMCHKPK(SPkU16, param->size, mBuf);
2814 CMCHKPK(cmPkLteRnti, param->startTpcRnti, mBuf);
2820 /***********************************************************
2822 * Func : cmUnpkRgrTpcRntiCfg
2825 * Desc : TPC RNTI Range
2834 **********************************************************/
2836 PUBLIC S16 cmUnpkRgrTpcRntiCfg
2838 RgrTpcRntiCfg *param,
2842 PUBLIC S16 cmUnpkRgrTpcRntiCfg(param, mBuf)
2843 RgrTpcRntiCfg *param;
2848 TRC3(cmUnpkRgrTpcRntiCfg)
2850 CMCHKUNPK(cmUnpkLteRnti, ¶m->startTpcRnti, mBuf);
2851 CMCHKUNPK(SUnpkU16, ¶m->size, mBuf);
2857 /***********************************************************
2859 * Func : cmPkRgrUlPwrCfg
2862 * Desc : Cell specific power configuration
2871 **********************************************************/
2873 PUBLIC S16 cmPkRgrUlPwrCfg
2879 PUBLIC S16 cmPkRgrUlPwrCfg(param, mBuf)
2885 TRC3(cmPkRgrUlPwrCfg)
2887 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2888 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2889 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2890 CMCHKPK(cmPkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2891 CMCHKPK(SPkS8, param->deltaPreambleMsg3, mBuf);
2892 CMCHKPK(SPkS8, param->p0NominalPucch, mBuf);
2893 CMCHKPK(SPkU32, param->alpha, mBuf);
2894 CMCHKPK(SPkS8, param->p0NominalPusch, mBuf);
2900 /***********************************************************
2902 * Func : cmUnpkRgrUlPwrCfg
2905 * Desc : Cell specific power configuration
2914 **********************************************************/
2916 PUBLIC S16 cmUnpkRgrUlPwrCfg
2922 PUBLIC S16 cmUnpkRgrUlPwrCfg(param, mBuf)
2929 TRC3(cmUnpkRgrUlPwrCfg)
2931 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPusch, mBuf);
2932 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
2933 param->alpha = (RgrPwrAlpha) tmpEnum;
2934 CMCHKUNPK(SUnpkS8, ¶m->p0NominalPucch, mBuf);
2935 CMCHKUNPK(SUnpkS8, ¶m->deltaPreambleMsg3, mBuf);
2936 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3, mBuf);
2937 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->pucchPwrFmt3a, mBuf);
2938 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3, mBuf);
2939 CMCHKUNPK(cmUnpkRgrTpcRntiCfg, ¶m->puschPwrFmt3a, mBuf);
2945 /***********************************************************
2947 * Func : cmPkRgrPuschCfg
2950 * Desc : brief cell specific hopping configuration
2959 **********************************************************/
2961 PUBLIC S16 cmPkRgrPuschCfg
2967 PUBLIC S16 cmPkRgrPuschCfg(param, mBuf)
2973 TRC3(cmPkRgrPuschCfg)
2975 CMCHKPK(SPkU8, param->hopOffst, mBuf);
2976 CMCHKPK(SPkU8, param->isIntraHop, mBuf);
2977 CMCHKPK(SPkU8, param->numSubBands, mBuf);
2983 /***********************************************************
2985 * Func : cmUnpkRgrPuschCfg
2988 * Desc : brief cell specific hopping configuration
2997 **********************************************************/
2999 PUBLIC S16 cmUnpkRgrPuschCfg
3005 PUBLIC S16 cmUnpkRgrPuschCfg(param, mBuf)
3011 TRC3(cmUnpkRgrPuschCfg)
3013 CMCHKUNPK(SUnpkU8, ¶m->numSubBands, mBuf);
3014 CMCHKUNPK(SUnpkU8, ¶m->isIntraHop, mBuf);
3015 CMCHKUNPK(SUnpkU8, ¶m->hopOffst, mBuf);
3021 /***********************************************************
3023 * Func : cmPkRgrCodeBookRstCfg
3026 * Desc : Number of bits in code book for different transmission modes
3035 **********************************************************/
3037 PUBLIC S16 cmPkRgrCodeBookRstCfg
3039 RgrCodeBookRstCfg *param,
3043 PUBLIC S16 cmPkRgrCodeBookRstCfg(param, mBuf)
3044 RgrCodeBookRstCfg *param;
3050 TRC3(cmPkRgrCodeBookRstCfg)
3052 for (i=1-1; i >= 0; i--) {
3053 CMCHKPK(SPkU32, param->pmiBitMap[i], mBuf);
3055 CMCHKPK(SPkU8, param->pres, mBuf);
3061 /***********************************************************
3063 * Func : cmUnpkRgrCodeBookRstCfg
3066 * Desc : Number of bits in code book for different transmission modes
3075 **********************************************************/
3077 PUBLIC S16 cmUnpkRgrCodeBookRstCfg
3079 RgrCodeBookRstCfg *param,
3083 PUBLIC S16 cmUnpkRgrCodeBookRstCfg(param, mBuf)
3084 RgrCodeBookRstCfg *param;
3090 TRC3(cmUnpkRgrCodeBookRstCfg)
3092 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3093 for (i=0; i<1; i++) {
3094 CMCHKUNPK(SUnpkU32, ¶m->pmiBitMap[i], mBuf);
3101 /***********************************************************
3103 * Func : cmPkRgrPreambleSetCfg
3106 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3115 **********************************************************/
3117 PUBLIC S16 cmPkRgrPreambleSetCfg
3119 RgrPreambleSetCfg *param,
3123 PUBLIC S16 cmPkRgrPreambleSetCfg(param, mBuf)
3124 RgrPreambleSetCfg *param;
3129 TRC3(cmPkRgrPreambleSetCfg)
3131 CMCHKPK(SPkU8, param->size, mBuf);
3132 CMCHKPK(SPkU8, param->start, mBuf);
3133 CMCHKPK(SPkU8, param->pres, mBuf);
3139 /***********************************************************
3141 * Func : cmUnpkRgrPreambleSetCfg
3144 * Desc : Range of PDCCH Order Preamble Set managed by MAC
3153 **********************************************************/
3155 PUBLIC S16 cmUnpkRgrPreambleSetCfg
3157 RgrPreambleSetCfg *param,
3161 PUBLIC S16 cmUnpkRgrPreambleSetCfg(param, mBuf)
3162 RgrPreambleSetCfg *param;
3167 TRC3(cmUnpkRgrPreambleSetCfg)
3169 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
3170 CMCHKUNPK(SUnpkU8, ¶m->start, mBuf);
3171 CMCHKUNPK(SUnpkU8, ¶m->size, mBuf);
3177 /***********************************************************
3179 * Func : cmPkRgrCmnLchCfg
3182 * Desc : Logical channel configuration info for common channels
3191 **********************************************************/
3193 PUBLIC S16 cmPkRgrCmnLchCfg
3195 RgrCmnLchCfg *param,
3199 PUBLIC S16 cmPkRgrCmnLchCfg(param, mBuf)
3200 RgrCmnLchCfg *param;
3205 TRC3(cmPkRgrCmnLchCfg)
3207 CMCHKPK(SPkU8, param->ulTrchType, mBuf);
3208 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
3209 CMCHKPK(SPkU8, param->dir, mBuf);
3210 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
3211 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
3217 /***********************************************************
3219 * Func : cmUnpkRgrCmnLchCfg
3222 * Desc : Logical channel configuration info for common channels
3231 **********************************************************/
3233 PUBLIC S16 cmUnpkRgrCmnLchCfg
3235 RgrCmnLchCfg *param,
3239 PUBLIC S16 cmUnpkRgrCmnLchCfg(param, mBuf)
3240 RgrCmnLchCfg *param;
3245 TRC3(cmUnpkRgrCmnLchCfg)
3247 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
3248 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
3249 CMCHKUNPK(SUnpkU8, ¶m->dir, mBuf);
3250 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
3251 CMCHKUNPK(SUnpkU8, ¶m->ulTrchType, mBuf);
3257 /***********************************************************
3259 * Func : cmPkRgrDlfsCfg
3262 * Desc : RGR configuration for DLFS scheduler
3271 **********************************************************/
3273 PUBLIC S16 cmPkRgrDlfsCfg
3279 PUBLIC S16 cmPkRgrDlfsCfg(param, mBuf)
3285 TRC3(cmPkRgrDlfsCfg)
3287 CMCHKPK(SPkU8, param->thresholdCqi, mBuf);
3288 CMCHKPK(SPkU8, param->isDlFreqSel, mBuf);
3294 /***********************************************************
3296 * Func : cmUnpkRgrDlfsCfg
3299 * Desc : RGR configuration for DLFS scheduler
3308 **********************************************************/
3310 PUBLIC S16 cmUnpkRgrDlfsCfg
3316 PUBLIC S16 cmUnpkRgrDlfsCfg(param, mBuf)
3322 TRC3(cmUnpkRgrDlfsCfg)
3324 CMCHKUNPK(SUnpkU8, ¶m->isDlFreqSel, mBuf);
3325 CMCHKUNPK(SUnpkU8, ¶m->thresholdCqi, mBuf);
3335 /***********************************************************
3337 * Func : cmPkRgrTddPrachInfo
3340 * Desc : PRACH resource information for TDD
3349 **********************************************************/
3351 PUBLIC S16 cmPkRgrTddPrachInfo
3353 RgrTddPrachInfo *param,
3357 PUBLIC S16 cmPkRgrTddPrachInfo(param, mBuf)
3358 RgrTddPrachInfo *param;
3363 TRC3(cmPkRgrTddPrachInfo)
3365 CMCHKPK(SPkU8, param->ulStartSfIdx, mBuf);
3366 CMCHKPK(SPkU8, param->halfFrm, mBuf);
3367 CMCHKPK(SPkU32, param->sfn, mBuf);
3368 CMCHKPK(SPkU8, param->freqIdx, mBuf);
3374 /***********************************************************
3376 * Func : cmUnpkRgrTddPrachInfo
3379 * Desc : PRACH resource information for TDD
3388 **********************************************************/
3390 PUBLIC S16 cmUnpkRgrTddPrachInfo
3392 RgrTddPrachInfo *param,
3396 PUBLIC S16 cmUnpkRgrTddPrachInfo(param, mBuf)
3397 RgrTddPrachInfo *param;
3403 TRC3(cmUnpkRgrTddPrachInfo)
3405 CMCHKUNPK(SUnpkU8, ¶m->freqIdx, mBuf);
3406 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
3407 param->sfn = tmpEnum;
3408 CMCHKUNPK(SUnpkU8, ¶m->halfFrm, mBuf);
3409 CMCHKUNPK(SUnpkU8, ¶m->ulStartSfIdx, mBuf);
3415 /***********************************************************
3417 * Func : cmPkRgrTddPrachRscInfo
3420 * Desc : Set of PRACH Information for TDD
3429 **********************************************************/
3431 PUBLIC S16 cmPkRgrTddPrachRscInfo
3433 RgrTddPrachRscInfo *param,
3437 PUBLIC S16 cmPkRgrTddPrachRscInfo(param, mBuf)
3438 RgrTddPrachRscInfo *param;
3444 TRC3(cmPkRgrTddPrachRscInfo)
3446 for (i=param->numRsc-1; i >= 0; i--) {
3447 CMCHKPK(cmPkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3449 CMCHKPK(SPkU8, param->numRsc, mBuf);
3455 /***********************************************************
3457 * Func : cmUnpkRgrTddPrachRscInfo
3460 * Desc : Set of PRACH Information for TDD
3469 **********************************************************/
3471 PUBLIC S16 cmUnpkRgrTddPrachRscInfo
3473 RgrTddPrachRscInfo *param,
3477 PUBLIC S16 cmUnpkRgrTddPrachRscInfo(param, mBuf)
3478 RgrTddPrachRscInfo *param;
3484 TRC3(cmUnpkRgrTddPrachRscInfo)
3486 CMCHKUNPK(SUnpkU8, ¶m->numRsc, mBuf);
3487 for (i=0; i<param->numRsc; i++) {
3488 CMCHKUNPK(cmUnpkRgrTddPrachInfo, ¶m->prachInfo[i], mBuf);
3499 /***********************************************************
3501 * Func : cmPkRgrEnbPfs
3504 * Desc : PFS Configuration
3513 **********************************************************/
3515 PUBLIC S16 cmPkRgrEnbPfs
3521 PUBLIC S16 cmPkRgrEnbPfs(param, mBuf)
3528 for(idx = RGR_MAX_NUM_QCI-1; idx >= 0; idx--)
3530 CMCHKPK(SPkU32, param->qciWgt[idx], mBuf);
3532 CMCHKPK(SPkU8, param->fairCoeffi, mBuf);
3533 CMCHKPK(SPkU8, param->tptCoeffi, mBuf);
3540 /***********************************************************
3542 * Func : cmUnpkRgrEnbPfs
3545 * Desc : PFS Configuration
3554 **********************************************************/
3556 PUBLIC S16 cmUnpkRgrEnbPfs
3562 PUBLIC S16 cmUnpkRgrEnbPfs(param, mBuf)
3568 TRC3(cmUnpkRgrEnbPfs)
3570 CMCHKUNPK(SUnpkU8, ¶m->tptCoeffi, mBuf);
3571 CMCHKUNPK(SUnpkU8, ¶m->fairCoeffi, mBuf);
3572 for(idx = 0; idx < RGR_MAX_NUM_QCI; idx++)
3574 CMCHKUNPK(SUnpkU32, ¶m->qciWgt[idx], mBuf);
3579 /*rgr_c_001.main_7 - Added support for SPS*/
3581 /***********************************************************
3583 * Func : cmPkRgrSpsCellCfg
3586 * Desc : DL SPS configuration parameters per UE
3587 TODO: Check if this is to be added to re-configuration as well
3596 **********************************************************/
3598 PUBLIC S16 cmPkRgrSpsCellCfg
3600 RgrSpsCellCfg *param,
3604 PUBLIC S16 cmPkRgrSpsCellCfg(param, mBuf)
3605 RgrSpsCellCfg *param;
3610 TRC3(cmPkRgrSpsCellCfg)
3611 CMCHKPK(SPkU16, param->maxSpsUePerUlSf, mBuf);
3612 CMCHKPK(SPkU16, param->maxSpsUePerDlSf, mBuf);
3613 CMCHKPK(SPkU8, param->maxSpsDlBw, mBuf);
3620 /***********************************************************
3622 * Func : cmUnpkRgrSpsDlCellCfg
3625 * Desc : DL SPS configuration parameters per UE
3626 TODO: Check if this is to be added to re-configuration as well
3635 **********************************************************/
3637 PUBLIC S16 cmUnpkRgrSpsDlCellCfg
3639 RgrSpsCellCfg *param,
3643 PUBLIC S16 cmUnpkRgrSpsDlCellCfg(param, mBuf)
3644 RgrSpsCellCfg *param;
3649 TRC3(cmUnpkRgrSpsDlCellCfg)
3651 CMCHKUNPK(SUnpkU8, ¶m->maxSpsDlBw, mBuf);
3652 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerDlSf, mBuf);
3653 CMCHKUNPK(SUnpkU16, ¶m->maxSpsUePerUlSf, mBuf);
3659 PUBLIC S16 cmPkRgr5gtfCellCfg
3661 Rgr5gtfCellCfg *param,
3666 for (idx = MAX_5GTF_SUBFRAME_INFO - 1; idx >= 0 ;--idx)
3669 CMCHKPK(SPkU32, param->dynConfig[(U8)idx], mBuf);
3671 CMCHKPK(SPkU8, param->uePerGrp, mBuf);
3672 CMCHKPK(SPkU8, param->ueGrpPerTti, mBuf);
3673 CMCHKPK(SPkU8, param->numUes, mBuf);
3674 CMCHKPK(SPkU8, param->numOfCC, mBuf);
3675 CMCHKPK(SPkU8, param->bwPerCC, mBuf);
3676 CMCHKPK(SPkU8, param->cfi, mBuf);
3680 PUBLIC S16 cmUnPkRgr5gtfCellCfg
3682 Rgr5gtfCellCfg *param,
3688 CMCHKUNPK(SUnpkU8, ¶m->cfi, mBuf);
3689 CMCHKUNPK(SUnpkU8, ¶m->bwPerCC, mBuf);
3690 CMCHKUNPK(SUnpkU8, ¶m->numOfCC, mBuf);
3691 CMCHKUNPK(SUnpkU8, ¶m->numUes, mBuf);
3692 CMCHKUNPK(SUnpkU8, ¶m->ueGrpPerTti, mBuf);
3693 CMCHKUNPK(SUnpkU8, ¶m->uePerGrp, mBuf);
3694 for (idx = 0; idx < MAX_5GTF_SUBFRAME_INFO ; ++idx)
3697 CMCHKUNPK(SUnpkU32, ¶m->dynConfig[(U8)idx], mBuf);
3704 /*LAA : functions to pack and unpack LAA params*/
3705 /***********************************************************
3707 * Func : cmPkRgrLteUCellCfg
3710 * Desc : LAA configuration for the Cell
3719 **********************************************************/
3721 PRIVATE S16 cmPkRgrLteUCellCfg
3727 PRIVATE S16 cmPkRgrLteUCellCfg(param, mBuf)
3733 TRC3(cmPkRgrlteUCellCfg)
3734 CMCHKPK(SPkU8, param->isLaaCell, mBuf);
3739 /***********************************************************
3741 * Func : cmUnpkRgrLteUCellCfg
3744 * Desc : LAA configuration for the cell
3753 **********************************************************/
3755 PRIVATE S16 cmUnpkRgrLteUCellCfg
3761 PRIVATE S16 cmUnpkRgrLteUCellCfg(param, mBuf)
3767 TRC3(cmUnpkRgrLteUCellCfg)
3769 CMCHKUNPK(SUnpkU8, ¶m->isLaaCell, mBuf);
3774 /* LTE_ADV_FLAG_REMOVED_START */
3775 /***********************************************************
3777 * Func : cmPkRgrLteAdvancedUeConfig
3780 * Desc : PAcks LteAdvancedUeConfig
3789 **********************************************************/
3791 PUBLIC S16 cmPkRgrLteAdvancedUeConfig
3793 RgrLteAdvancedUeConfig *param,
3797 PUBLIC S16 cmPkRgrLteAdvancedUeConfig(param, mBuf)
3798 RgrLteAdvancedUeConfig *param;
3803 TRC3(cmPkRgrLteAdvancedUeConfig)
3804 CMCHKPK(SPkU8, param->isUeCellEdge, mBuf);
3805 CMCHKPK(SPkU8, param->isAbsUe, mBuf);
3806 CMCHKPK(SPkU32, param->pres, mBuf);
3810 /***********************************************************
3812 * Func : cmUnpkRgrLteAdvancedUeConfig
3815 * Desc : unpacks LteAdvancedUeConfig
3824 **********************************************************/
3826 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig
3828 RgrLteAdvancedUeConfig *param,
3832 PUBLIC S16 cmUnpkRgrLteAdvancedUeConfig(param, mBuf)
3833 RgrLteAdvancedUeConfig *param;
3838 TRC3(cmUnpkRgrLteAdvancedUeConfig)
3839 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
3840 CMCHKUNPK(SUnpkU8, ¶m->isAbsUe, mBuf);
3841 CMCHKUNPK(SUnpkU8, ¶m->isUeCellEdge, mBuf);
3845 /***********************************************************
3847 * Func : cmPkRgrAbsConfig
3850 * Desc : Packs RgrAbsConfig
3859 **********************************************************/
3861 PUBLIC S16 cmPkRgrAbsConfig
3863 RgrAbsConfig *param,
3867 PUBLIC S16 cmPkRgrAbsConfig(param, mBuf)
3868 RgrAbsConfig *param;
3874 TRC3(cmPkRgrAbsConfig)
3875 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3876 for (indx = RGR_ABS_PATTERN_LEN-1; indx >= 0; indx--)
3878 CMCHKPK(SPkU8, param->absPattern[(U8)indx], mBuf);
3881 CMCHKPK(SPkU32, param->absPatternType, mBuf);
3882 CMCHKPK(SPkU32, param->absLoadPeriodicity, mBuf);
3887 /***********************************************************
3889 * Func : cmPkRgrSfrConfig
3892 * Desc : Packs RgrSfrConfig
3901 **********************************************************/
3903 PUBLIC S16 cmPkRgrSfrConfig
3905 RgrSfrConfig *param,
3909 PUBLIC S16 cmPkRgrSfrConfig(param, mBuf)
3910 RgrSfrConfig *param;
3914 TRC3(cmPkRgrSfrConfig)
3916 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3918 CMCHKPK(SPkU32, param->pwrThreshold.pHigh, mBuf);
3919 CMCHKPK(SPkU32, param->pwrThreshold.pLow, mBuf);
3921 CMCHKPK(SPkU8, param->cellEdgeRbRange.endRb, mBuf);
3922 CMCHKPK(SPkU8, param->cellEdgeRbRange.startRb, mBuf);
3929 /***********************************************************
3931 * Func : cmPkRgrDsfrConfig
3934 * Desc : Packs RgrDsfrConfig
3939 * Notes: AIRSPAN_LTE_ADV_DSFR
3943 **********************************************************/
3945 PUBLIC S16 cmPkRgrDsfrConfig
3947 RgrDsfrConfig *param,
3951 PUBLIC S16 cmPkRgrDsfrConfig(param, mBuf)
3952 RgrDsfrConfig *param;
3956 TRC3(cmPkRgrDsfrConfig)
3958 CMCHKPK(SPkU32, (U32)param->status, mBuf);
3965 /***********************************************************
3967 * Func : cmUnpkRgrDsfrConfig
3970 * Desc : UnPacks RgrDsfrConfig
3975 * Notes: AIRSPAN_LTE_ADV_DSFR
3979 **********************************************************/
3981 PUBLIC S16 cmUnpkRgrDsfrConfig
3983 RgrDsfrConfig *param,
3987 PUBLIC S16 cmUnpkRgrDsfrConfig(param, mBuf)
3988 RgrDsfrConfig *param;
3992 TRC3(cmUnpkRgrDsfrConfig)
3994 CMCHKUNPK(SUnpkU32, (U32 *)¶m->status, mBuf);
4000 /***********************************************************
4002 * Func : cmPkRgrCellLteAdvancedFeatureCfg
4005 * Desc : Cell LteAdvancedFeatureCfg
4014 **********************************************************/
4016 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg
4018 RgrLteAdvancedCellConfig *param,
4022 PUBLIC S16 cmPkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4023 RgrLteAdvancedCellConfig *param;
4027 TRC3(cmPkRgrCellLteAdvancedFeatureCfg)
4029 CMCHKPK(SPkU32, param->pres, mBuf);
4030 CMCHKPK(cmPkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4031 CMCHKPK(cmPkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4032 CMCHKPK(cmPkRgrAbsConfig, ¶m->absCfg, mBuf);
4039 /***********************************************************
4041 * Func : cmUnpkRgrAbsConfig
4044 * Desc : Unpacks AbsConfig
4053 **********************************************************/
4055 PUBLIC S16 cmUnpkRgrAbsConfig
4057 RgrAbsConfig *param,
4061 PUBLIC S16 cmUnpkRgrAbsConfig(param, mBuf)
4062 RgrAbsConfig *param;
4068 TRC3(cmUnpkRgrAbsConfig)
4070 CMCHKUNPK(SUnpkU32, ¶m->absLoadPeriodicity, mBuf);
4071 CMCHKUNPK(SUnpkU32, ¶m->absPatternType, mBuf);
4072 for (indx = 0; indx <RGR_ABS_PATTERN_LEN; indx++)
4074 CMCHKUNPK(SUnpkU8, ¶m->absPattern[(U8)indx], mBuf);
4076 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4082 /***********************************************************
4084 * Func : cmUnpkRgrSfrConfig
4087 * Desc : Unpacks SfrConfig
4096 **********************************************************/
4098 PUBLIC S16 cmUnpkRgrSfrConfig
4100 RgrSfrConfig *param,
4104 PUBLIC S16 cmUnpkRgrSfrConfig(param, mBuf)
4105 RgrSfrConfig *param;
4110 TRC3(cmUnpkRgrSfrConfig)
4112 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.startRb, mBuf);
4113 CMCHKUNPK(SUnpkU8, ¶m->cellEdgeRbRange.endRb, mBuf);
4115 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pLow, mBuf);
4116 CMCHKUNPK(SUnpkU32, (U32*)¶m->pwrThreshold.pHigh, mBuf);
4118 CMCHKUNPK(SUnpkU32, (U32*)¶m->status, mBuf);
4123 /***********************************************************
4125 * Func : cmUnpkRgrCellLteAdvancedFeatureCfg
4128 * Desc : unpacks LteAdvancedFeatureCfg per cell
4137 **********************************************************/
4139 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg
4141 RgrLteAdvancedCellConfig *param,
4145 PUBLIC S16 cmUnpkRgrCellLteAdvancedFeatureCfg(param, mBuf)
4146 RgrLteAdvancedCellConfig *param;
4151 TRC3(cmUnpkRgrCellLteAdvancedFeatureCfg)
4152 CMCHKUNPK(cmUnpkRgrAbsConfig, ¶m->absCfg, mBuf);
4153 CMCHKUNPK(cmUnpkRgrSfrConfig, ¶m->sfrCfg, mBuf);
4154 CMCHKUNPK(cmUnpkRgrDsfrConfig, ¶m->dsfrCfg, mBuf); /*AIRSPAN_LTE_ADV_DSFR*/
4155 CMCHKUNPK(SUnpkU32, ¶m->pres, mBuf);
4160 /* LTE_ADV_FLAG_REMOVED_END */
4162 /***********************************************************
4164 * Func : cmPkMacSchedGnbCfg
4166 * Desc : SCH GNB Configurations
4174 **********************************************************/
4176 PUBLIC S16 cmPkMacSchedGnbCfg
4178 MacSchedGnbCfg *param,
4182 PUBLIC S16 cmPkMacSchedGnbCfg(param, mBuf)
4183 RgrSchedEnbCfg *param;
4187 TRC3(cmPkMacSchedGnbCfg)
4189 CMCHKPK(SPkU8, param->maxDlUePerTti, mBuf);
4190 CMCHKPK(SPkU8, param->maxUlUePerTti, mBuf);
4191 CMCHKPK(SPkU8, param->numCells, mBuf);
4192 CMCHKPK(SPkU8, param->dlSchdType, mBuf);
4193 CMCHKPK(SPkU8, param->ulSchdType, mBuf);
4194 CMCHKPK(SPkU8, param->numTxAntPorts, mBuf);
4196 } /* cmPkRgrSchedEnbCfg */
4198 /***********************************************************
4200 * Func : cmUnpkMacSchedGnbCfg
4203 * Desc : SCH Gnodeb Configuration to SCH
4212 **********************************************************/
4214 PUBLIC S16 cmUnpkMacSchedGnbCfg
4216 MacSchedGnbCfg *param,
4220 PUBLIC S16 cmUnpkMacSchedGnbCfg(param, mBuf)
4221 MacSchedGnbCfg *param;
4226 TRC3(cmUnpkMacSchedGnbCfg)
4228 CMCHKUNPK(SUnpkU8, ¶m->numTxAntPorts, mBuf);
4229 CMCHKUNPK(SUnpkU8, ¶m->ulSchdType, mBuf);
4230 CMCHKUNPK(SUnpkU8, ¶m->dlSchdType, mBuf);
4231 CMCHKUNPK(SUnpkU8, ¶m->numCells, mBuf);
4232 CMCHKUNPK(SUnpkU8, ¶m->maxUlUePerTti, mBuf);
4233 CMCHKUNPK(SUnpkU8, ¶m->maxDlUePerTti, mBuf);
4235 } /* cmUnpkMacSchedGnbCfg */
4238 /***********************************************************
4240 * Func : cmPkRgrCellCfg
4243 * Desc : Cell Configuration at RRM
4252 **********************************************************/
4254 PUBLIC S16 cmPkRgrCellCfg
4260 PUBLIC S16 cmPkRgrCellCfg(param, mBuf)
4267 TRC3(cmPkRgrCellCfg)
4270 /* EMTC related changes start*/
4273 /* EMTC related changes ends*/
4277 CMCHKPK(cmPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4280 CMCHKPK(SPkU8, param->isPucchFormat3Sptd, mBuf);
4282 /*LAA: Pack LAA params*/
4283 CMCHKPK(cmPkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4284 CMCHKPK(SPkU32, param->msg4pAVal, mBuf);
4285 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
4286 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
4287 CMCHKPK(SPkU16, param->phichTxPwrOffset, mBuf);
4288 CMCHKPK(SPkU16, param->rarTxPwrOffset, mBuf);
4289 CMCHKPK(SPkU16, param->pcchTxPwrOffset, mBuf);
4290 CMCHKPK(SPkU16, param->bcchTxPwrOffset, mBuf);
4292 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
4293 /*rgr_c_001.main_7 - Added support for SPS*/
4294 CMCHKPK(cmPkRgrSpsCellCfg, ¶m->spsCfg, mBuf);
4296 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4297 CMCHKPK(SPkU8, param->rrmTtiIndPrd, mBuf);
4299 CMCHKPK(cmPkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4300 CMCHKPK(SPkU8, param->spclSfCfgIdx, mBuf);
4301 CMCHKPK(SPkU8, param->ulDlCfgIdx, mBuf);
4304 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4305 for (i=param->numCmnLcs-1; i >= 0; i--) {
4306 CMCHKPK(cmPkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4308 CMCHKPK(SPkU8, param->numCmnLcs, mBuf);
4309 CMCHKPK(cmPkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4310 CMCHKPK(cmPkRgrPuschCfg, ¶m->puschCfg, mBuf);
4311 CMCHKPK(cmPkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4312 CMCHKPK(cmPkRgrSiCfg, ¶m->siCfg, mBuf);
4313 CMCHKPK(cmPkRgrRachCfg, ¶m->rachCfg, mBuf);
4314 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsCfg, mBuf);
4315 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4316 CMCHKPK(cmPkRgrPhichCfg, ¶m->phichCfg, mBuf);
4317 /* LTE_ADV_FLAG_REMOVED_START */
4318 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4319 /* LTE_ADV_FLAG_REMOVED_END */
4320 CMCHKPK(cmPkRgrBwCfg, ¶m->bwCfg, mBuf);
4321 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4322 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4323 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4324 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4325 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4326 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4327 CMCHKPK(cmPkRgrRntiCfg, ¶m->macRnti, mBuf);
4328 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4329 CMCHKPK(SPkU8, param->dlfsSchdType, mBuf);
4331 CMCHKPK(SPkS8, param->pMax, mBuf);
4332 CMCHKPK(SPkU8, param->cellModSchm, mBuf);
4333 CMCHKPK(SPkU8, param->isCpDlExtend, mBuf);
4334 CMCHKPK(SPkU8, param->isCpUlExtend, mBuf);
4335 CMCHKPK(SPkU8, param->maxUlUeNewTxPerTti, mBuf);
4336 CMCHKPK(SPkU8, param->maxDlUeNewTxPerTti, mBuf);
4337 CMCHKPK(SPkU8, param->maxDlRetxBw, mBuf);
4338 CMCHKPK(SPkU8, param->maxDlBwPerUe, mBuf);
4339 CMCHKPK(SPkU8, param->maxUlBwPerUe, mBuf);
4340 CMCHKPK(SPkU8, param->maxCcchPerDlSf, mBuf);
4341 CMCHKPK(SPkU8, param->maxUePerDlSf, mBuf);
4342 CMCHKPK(SPkU8, param->maxUePerUlSf, mBuf);
4344 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4346 CMCHKPK(SPkU8, param->maxMsg3PerUlSf, mBuf);
4348 CMCHKPK(SPkU8, param->macInst, mBuf);
4349 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
4352 /* EMTC related changes start*/
4353 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
4354 CMCHKPK(cmPkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4355 /* EMTC related changes ends*/
4363 /***********************************************************
4365 * Func : cmUnpkRgrCellCfg
4368 * Desc : Cell Configuration at RRM
4377 **********************************************************/
4379 PUBLIC S16 cmUnpkRgrCellCfg
4385 PUBLIC S16 cmUnpkRgrCellCfg(param, mBuf)
4393 TRC3(cmUnpkRgrCellCfg)
4395 /* EMTC related changes start*/
4396 CMCHKUNPK(cmUnpkRgrEmtcCfg, ¶m->emtcCellCfg, mBuf);
4397 CMCHKUNPK(SUnpkU8, ¶m->emtcEnable, mBuf);
4398 /* EMTC related changes ends*/
4401 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
4402 CMCHKUNPK(SUnpkU8, ¶m->macInst, mBuf);
4404 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
4406 CMCHKUNPK(SUnpkU8, ¶m->maxMsg3PerUlSf, mBuf);
4408 CMCHKUNPK(SUnpkU8, ¶m->maxUePerUlSf, mBuf);
4409 CMCHKUNPK(SUnpkU8, ¶m->maxUePerDlSf, mBuf);
4410 CMCHKUNPK(SUnpkU8, ¶m->maxCcchPerDlSf, mBuf);
4411 CMCHKUNPK(SUnpkU8, ¶m->maxUlBwPerUe, mBuf);
4412 CMCHKUNPK(SUnpkU8, ¶m->maxDlBwPerUe, mBuf);
4413 CMCHKUNPK(SUnpkU8, ¶m->maxDlRetxBw, mBuf);
4414 CMCHKUNPK(SUnpkU8, ¶m->maxDlUeNewTxPerTti, mBuf);
4415 CMCHKUNPK(SUnpkU8, ¶m->maxUlUeNewTxPerTti, mBuf);
4416 CMCHKUNPK(SUnpkU8, ¶m->isCpUlExtend, mBuf);
4417 CMCHKUNPK(SUnpkU8, ¶m->isCpDlExtend, mBuf);
4418 CMCHKUNPK(SUnpkU8, ¶m->cellModSchm, mBuf);
4419 CMCHKUNPK(SUnpkS8, ¶m->pMax, mBuf);
4420 CMCHKUNPK(SUnpkU8, ¶m->dlfsSchdType, mBuf);
4421 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqCfg, mBuf);
4422 CMCHKUNPK(cmUnpkRgrRntiCfg, ¶m->macRnti, mBuf);
4423 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiCfg, mBuf);
4424 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
4425 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
4426 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
4427 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
4428 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsCfg, mBuf);
4429 CMCHKUNPK(cmUnpkRgrBwCfg, ¶m->bwCfg, mBuf);
4430 /* LTE_ADV_FLAG_REMOVED_START */
4431 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
4432 /* LTE_ADV_FLAG_REMOVED_END */
4433 CMCHKUNPK(cmUnpkRgrPhichCfg, ¶m->phichCfg, mBuf);
4434 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchCfg, mBuf);
4435 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsCfg, mBuf);
4436 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachCfg, mBuf);
4437 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siCfg, mBuf);
4438 CMCHKUNPK(cmUnpkRgrUlPwrCfg, ¶m->pwrCfg, mBuf);
4439 CMCHKUNPK(cmUnpkRgrPuschCfg, ¶m->puschCfg, mBuf);
4440 CMCHKUNPK(cmUnpkRgrPreambleSetCfg, ¶m->macPreambleSet, mBuf);
4441 CMCHKUNPK(SUnpkU8, ¶m->numCmnLcs, mBuf);
4442 for (i=0; i<param->numCmnLcs; i++) {
4443 CMCHKUNPK(cmUnpkRgrCmnLchCfg, ¶m->cmnLcCfg[i], mBuf);
4445 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
4448 CMCHKUNPK(SUnpkU8, ¶m->ulDlCfgIdx, mBuf);
4449 CMCHKUNPK(SUnpkU8, ¶m->spclSfCfgIdx, mBuf);
4450 CMCHKUNPK(cmUnpkRgrTddPrachRscInfo, ¶m->prachRscInfo, mBuf);
4453 /* rgr_c_001.main_3: Added TTI indication from MAC to RGR user */
4454 CMCHKUNPK(SUnpkU8, ¶m->rrmTtiIndPrd, mBuf);
4455 /*rgr_c_001.main_7 - Added support for SPS*/
4456 CMCHKUNPK(cmUnpkRgrSpsDlCellCfg, ¶m->spsCfg, mBuf);
4458 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
4459 CMCHKPK(SUnpkU16, ¶m->bcchTxPwrOffset, mBuf);
4460 CMCHKPK(SUnpkU16, ¶m->pcchTxPwrOffset, mBuf);
4461 CMCHKPK(SUnpkU16, ¶m->rarTxPwrOffset, mBuf);
4462 CMCHKPK(SUnpkU16, ¶m->phichTxPwrOffset, mBuf);
4463 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
4464 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
4465 CMCHKPK(SUnpkU32, (U32*)¶m->msg4pAVal, mBuf);
4466 /*LAA: Unpack LAA Cell params*/
4467 CMCHKUNPK(cmUnpkRgrLteUCellCfg, ¶m->lteUCfg, mBuf);
4469 CMCHKUNPK(SUnpkU8, ¶m->isPucchFormat3Sptd, mBuf);
4472 CMCHKUNPK(cmUnPkRgr5gtfCellCfg, ¶m->Cell5gtfCfg, mBuf);
4479 /***********************************************************
4481 * Func : cmPkRgrUeAprdDlCqiCfg
4484 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4493 **********************************************************/
4495 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg
4497 RgrUeAprdDlCqiCfg *param,
4501 PUBLIC S16 cmPkRgrUeAprdDlCqiCfg(param, mBuf)
4502 RgrUeAprdDlCqiCfg *param;
4507 TRC3(cmPkRgrUeAprdDlCqiCfg)
4508 /*Pack Aperiodic Trigger List only for Pcell */
4510 CMCHKPK(SPkU8, param->triggerSet2, mBuf);
4511 CMCHKPK(SPkU8, param->triggerSet1, mBuf);
4514 CMCHKPK(SPkU32, param->aprdModeEnum, mBuf);
4515 CMCHKPK(SPkU8, param->pres, mBuf);
4521 /***********************************************************
4523 * Func : cmUnpkRgrUeAprdDlCqiCfg
4526 * Desc : Downlink Aperiodic CQI reporting related configuration per UE
4535 **********************************************************/
4537 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg
4539 RgrUeAprdDlCqiCfg *param,
4543 PUBLIC S16 cmUnpkRgrUeAprdDlCqiCfg(param, mBuf)
4544 RgrUeAprdDlCqiCfg *param;
4550 TRC3(cmUnpkRgrUeAprdDlCqiCfg)
4552 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4553 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4554 param->aprdModeEnum = (RgrAprdCqiMode) tmpEnum;
4557 CMCHKUNPK(SUnpkU8, ¶m->triggerSet1, mBuf);
4558 CMCHKUNPK(SUnpkU8, ¶m->triggerSet2, mBuf);
4565 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4569 /***********************************************************
4571 * Func : cmPkRgrUePrdDlCqiCfg
4574 * Desc : Downlink Periodic CQI reporting related configuration per UE
4583 **********************************************************/
4585 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4587 RgrUePrdDlCqiCfg *param,
4591 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4592 RgrUePrdDlCqiCfg *param;
4597 TRC3(cmPkRgrUePrdDlCqiCfg)
4599 CMCHKPK(SPkU16, param->cqiPmiCfgIdx, mBuf);
4600 CMCHKPK(SPkU8, param->k, mBuf);
4601 CMCHKPK(SPkS8, param->cqiOffst, mBuf);
4602 CMCHKPK(SPkU8, param->subframeOffst, mBuf);
4603 CMCHKPK(SPkU32, param->prdicityEnum, mBuf);
4604 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4605 CMCHKPK(SPkU8, param->pres, mBuf);
4611 /***********************************************************
4613 * Func : cmUnpkRgrUePrdDlCqiCfg
4616 * Desc : Downlink Periodic CQI reporting related configuration per UE
4625 **********************************************************/
4627 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4629 RgrUePrdDlCqiCfg *param,
4633 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4634 RgrUePrdDlCqiCfg *param;
4640 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4642 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
4643 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4644 param->prdModeEnum = tmpEnum;
4645 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4646 param->prdicityEnum = tmpEnum;
4647 CMCHKUNPK(SUnpkU8, ¶m->subframeOffst, mBuf);
4648 CMCHKUNPK(SUnpkS8, ¶m->cqiOffst, mBuf);
4649 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4650 CMCHKUNPK(SUnpkU16, ¶m->cqiPmiCfgIdx, mBuf);
4657 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
4659 /***********************************************************
4661 * Func : cmPkRgrUeDlPCqiSetup
4664 * Desc : Periodic CQI Setup configuration parameters information
4673 **********************************************************/
4675 PUBLIC S16 cmPkRgrUeDlPCqiSetup
4677 RgrUeDlPCqiSetup *param,
4681 PUBLIC S16 cmPkRgrUeDlPCqiSetup(param, mBuf)
4682 RgrUeDlPCqiSetup *param;
4687 TRC3(cmPkRgrUeDlPCqiSetup)
4689 CMCHKPK(SPkU32, param->prdModeEnum, mBuf);
4690 CMCHKPK(SPkU8, param->sANCQI, mBuf);
4691 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4692 CMCHKPK(SPkU16, param->riCfgIdx, mBuf);
4693 CMCHKPK(SPkU8, param->riEna, mBuf);
4694 CMCHKPK(SPkU8, param->k, mBuf);
4695 CMCHKPK(SPkU8, param->cqiRepType, mBuf);
4696 CMCHKPK(SPkU16, param->cqiPCfgIdx, mBuf);
4697 CMCHKPK(SPkU16, param->cqiPResIdx, mBuf);
4703 /***********************************************************
4705 * Func : cmUnpkRgrUeDlPCqiSetup
4708 * Desc : Periodic CQI Setup configuration parameters information
4717 **********************************************************/
4719 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup
4721 RgrUeDlPCqiSetup *param,
4725 PUBLIC S16 cmUnpkRgrUeDlPCqiSetup(param, mBuf)
4726 RgrUeDlPCqiSetup *param;
4732 TRC3(cmUnpkRgrUeDlPCqiSetup)
4734 CMCHKUNPK(SUnpkU16, ¶m->cqiPResIdx, mBuf);
4735 CMCHKUNPK(SUnpkU16, ¶m->cqiPCfgIdx, mBuf);
4736 CMCHKUNPK(SUnpkU8, ¶m->cqiRepType, mBuf);
4737 CMCHKUNPK(SUnpkU8, ¶m->k, mBuf);
4738 CMCHKUNPK(SUnpkU8, ¶m->riEna, mBuf);
4739 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4740 CMCHKUNPK(SUnpkU16, ¶m->riCfgIdx, mBuf);
4741 CMCHKUNPK(SUnpkU8, ¶m->sANCQI, mBuf);
4742 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4743 param->prdModeEnum = (RgrPrdCqiMode) tmpEnum;
4749 /***********************************************************
4751 * Func : cmPkRgrUePrdDlCqiCfg
4754 * Desc : Periodic CQI/PMI/RI configuration parameters information
4763 **********************************************************/
4765 PUBLIC S16 cmPkRgrUePrdDlCqiCfg
4767 RgrUePrdDlCqiCfg *param,
4771 PUBLIC S16 cmPkRgrUePrdDlCqiCfg(param, mBuf)
4772 RgrUePrdDlCqiCfg *param;
4777 TRC3(cmPkRgrUePrdDlCqiCfg)
4779 CMCHKPK(cmPkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4780 CMCHKPK(SPkU8, param->type, mBuf);
4786 /***********************************************************
4788 * Func : cmUnpkRgrUePrdDlCqiCfg
4791 * Desc : Periodic CQI/PMI/RI configuration parameters information
4800 **********************************************************/
4802 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg
4804 RgrUePrdDlCqiCfg *param,
4808 PUBLIC S16 cmUnpkRgrUePrdDlCqiCfg(param, mBuf)
4809 RgrUePrdDlCqiCfg *param;
4814 TRC3(cmUnpkRgrUePrdDlCqiCfg)
4816 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
4817 CMCHKUNPK(cmUnpkRgrUeDlPCqiSetup, ¶m->cqiSetup, mBuf);
4823 /***********************************************************
4825 * Func : cmPkRgrUeUlSrsSetupCfg
4828 * Desc : SRS configuration setup parameters information.
4829 Reference 36.313 SoundingRS-UL-Config
4838 **********************************************************/
4840 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg
4842 RgrUeUlSrsSetupCfg *param,
4846 PUBLIC S16 cmPkRgrUeUlSrsSetupCfg(param, mBuf)
4847 RgrUeUlSrsSetupCfg *param;
4852 TRC3(cmPkRgrUeUlSrsSetupCfg)
4854 CMCHKPK(SPkU8, param->fDomPosi, mBuf);
4855 CMCHKPK(SPkU8, param->txComb, mBuf);
4856 CMCHKPK(SPkU8, param->sANSrs, mBuf);
4857 CMCHKPK(SPkU8, param->duration, mBuf);
4858 CMCHKPK(SPkU32, param->cycShift, mBuf);
4859 CMCHKPK(SPkU32, param->srsHopBw, mBuf);
4860 CMCHKPK(SPkU32, param->srsBw, mBuf);
4861 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4862 CMCHKPK(SPkU16, param->srsCfgIdx, mBuf);
4868 /***********************************************************
4870 * Func : cmUnpkRgrUeUlSrsSetupCfg
4873 * Desc : SRS configuration setup parameters information.
4874 Reference 36.313 SoundingRS-UL-Config
4883 **********************************************************/
4885 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg
4887 RgrUeUlSrsSetupCfg *param,
4891 PUBLIC S16 cmUnpkRgrUeUlSrsSetupCfg(param, mBuf)
4892 RgrUeUlSrsSetupCfg *param;
4898 TRC3(cmUnpkRgrUeUlSrsSetupCfg)
4900 /*rgr_c_001.main_9 DEL removed unwanted comments*/
4901 CMCHKUNPK(SUnpkU16, ¶m->srsCfgIdx, mBuf);
4902 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4903 param->srsBw = (RgrUlSrsBwInfo) tmpEnum;
4904 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4905 param->srsHopBw = (RgrUlSrsHoBwInfo) tmpEnum;
4906 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
4907 param->cycShift = (RgrUlSrsCycShiftInfo) tmpEnum;
4908 CMCHKUNPK(SUnpkU8, ¶m->duration, mBuf);
4909 CMCHKUNPK(SUnpkU8, ¶m->sANSrs, mBuf);
4910 CMCHKUNPK(SUnpkU8, ¶m->txComb, mBuf);
4911 CMCHKUNPK(SUnpkU8, ¶m->fDomPosi, mBuf);
4917 /***********************************************************
4919 * Func : cmPkRgrUeSrSetupCfg
4922 * Desc : SR Setup configuration parameters information
4931 **********************************************************/
4933 PUBLIC S16 cmPkRgrUeSrSetupCfg
4935 RgrUeSrSetupCfg *param,
4939 PUBLIC S16 cmPkRgrUeSrSetupCfg(param, mBuf)
4940 RgrUeSrSetupCfg *param;
4945 TRC3(cmPkRgrUeSrSetupCfg)
4947 /* ccpu00131601:DEL - dTMax Packing removed since this param will not
4948 * be required by Scheduler*/
4949 CMCHKPK(SPkU8, param->srCfgIdx, mBuf);
4950 CMCHKPK(SPkU16, param->srResIdx, mBuf);
4956 /***********************************************************
4958 * Func : cmUnpkRgrUeSrSetupCfg
4961 * Desc : SR Setup configuration parameters information
4970 **********************************************************/
4972 PUBLIC S16 cmUnpkRgrUeSrSetupCfg
4974 RgrUeSrSetupCfg *param,
4978 PUBLIC S16 cmUnpkRgrUeSrSetupCfg(param, mBuf)
4979 RgrUeSrSetupCfg *param;
4983 TRC3(cmUnpkRgrUeSrSetupCfg)
4985 CMCHKUNPK(SUnpkU16, ¶m->srResIdx, mBuf);
4986 CMCHKUNPK(SUnpkU8, ¶m->srCfgIdx, mBuf);
4987 /* ccpu00131601:DEL - dTMax UnPacking removed since this param will not
4988 * be required by Scheduler*/
4994 /***********************************************************
4996 * Func : cmPkRgrUeSrCfg
4999 * Desc : SR configuration parameters information
5008 **********************************************************/
5010 PUBLIC S16 cmPkRgrUeSrCfg
5016 PUBLIC S16 cmPkRgrUeSrCfg(param, mBuf)
5022 TRC3(cmPkRgrUeSrCfg)
5024 CMCHKPK(cmPkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
5025 CMCHKPK(SPkU8, param->type, mBuf);
5031 /***********************************************************
5033 * Func : cmUnpkRgrUeSrCfg
5036 * Desc : SR configuration parameters information
5045 **********************************************************/
5047 PUBLIC S16 cmUnpkRgrUeSrCfg
5053 PUBLIC S16 cmUnpkRgrUeSrCfg(param, mBuf)
5059 TRC3(cmUnpkRgrUeSrCfg)
5061 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5062 CMCHKUNPK(cmUnpkRgrUeSrSetupCfg, ¶m->srSetup, mBuf);
5068 /***********************************************************
5070 * Func : cmPkRgrUeUlSrsCfg
5073 * Desc : SRS configuration parameters information.
5074 Reference 36.313 SoundingRS-UL-Config
5083 **********************************************************/
5085 PUBLIC S16 cmPkRgrUeUlSrsCfg
5087 RgrUeUlSrsCfg *param,
5091 PUBLIC S16 cmPkRgrUeUlSrsCfg(param, mBuf)
5092 RgrUeUlSrsCfg *param;
5097 TRC3(cmPkRgrUeUlSrsCfg)
5099 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5100 CMCHKPK(cmPkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5101 CMCHKPK(SPkU8, param->type, mBuf);
5107 /***********************************************************
5109 * Func : cmUnpkRgrUeUlSrsCfg
5112 * Desc : SRS configuration parameters information.
5113 Reference 36.313 SoundingRS-UL-Config
5122 **********************************************************/
5124 PUBLIC S16 cmUnpkRgrUeUlSrsCfg
5126 RgrUeUlSrsCfg *param,
5130 PUBLIC S16 cmUnpkRgrUeUlSrsCfg(param, mBuf)
5131 RgrUeUlSrsCfg *param;
5136 TRC3(cmUnpkRgrUeUlSrsCfg)
5138 CMCHKUNPK(SUnpkU8, ¶m->type, mBuf);
5139 /*rgr_c_001.main_9 DEL removed unwanted comments*/
5140 CMCHKUNPK(cmUnpkRgrUeUlSrsSetupCfg, ¶m->srsSetup, mBuf);
5145 #endif /*TFU_UPGRADE */
5148 /***********************************************************
5150 * Func : cmPkRgrUeDlCqiCfg
5153 * Desc : Downlink CQI reporting related configuration per UE
5162 **********************************************************/
5164 PUBLIC S16 cmPkRgrUeDlCqiCfg
5166 RgrUeDlCqiCfg *param,
5170 PUBLIC S16 cmPkRgrUeDlCqiCfg(param, mBuf)
5171 RgrUeDlCqiCfg *param;
5176 TRC3(cmPkRgrUeDlCqiCfg)
5179 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5181 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5184 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
5186 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5188 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5194 /***********************************************************
5196 * Func : cmUnpkRgrUeDlCqiCfg
5199 * Desc : Downlink CQI reporting related configuration per UE
5208 **********************************************************/
5210 PUBLIC S16 cmUnpkRgrUeDlCqiCfg
5212 RgrUeDlCqiCfg *param,
5216 PUBLIC S16 cmUnpkRgrUeDlCqiCfg(param, mBuf)
5217 RgrUeDlCqiCfg *param;
5222 TRC3(cmUnpkRgrUeDlCqiCfg)
5224 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdCqiCfg, mBuf);
5225 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdCqiCfg, mBuf);
5231 /***********************************************************
5233 * Func : cmPkRgrUeMeasGapCfg
5236 * Desc : Measurement gap configuration for UE
5245 **********************************************************/
5247 PUBLIC S16 cmPkRgrUeMeasGapCfg
5249 RgrUeMeasGapCfg *param,
5253 PUBLIC S16 cmPkRgrUeMeasGapCfg(param, mBuf)
5254 RgrUeMeasGapCfg *param;
5259 TRC3(cmPkRgrUeMeasGapCfg)
5261 CMCHKPK(SPkU8, param->gapOffst, mBuf);
5262 CMCHKPK(SPkU8, param->gapPrd, mBuf);
5263 CMCHKPK(SPkU8, param->isMesGapEnabled, mBuf);
5269 /***********************************************************
5271 * Func : cmUnpkRgrUeMeasGapCfg
5274 * Desc : Measurement gap configuration for UE
5283 **********************************************************/
5285 PUBLIC S16 cmUnpkRgrUeMeasGapCfg
5287 RgrUeMeasGapCfg *param,
5291 PUBLIC S16 cmUnpkRgrUeMeasGapCfg(param, mBuf)
5292 RgrUeMeasGapCfg *param;
5297 TRC3(cmUnpkRgrUeMeasGapCfg)
5299 CMCHKUNPK(SUnpkU8, ¶m->isMesGapEnabled, mBuf);
5300 CMCHKUNPK(SUnpkU8, ¶m->gapPrd, mBuf);
5301 CMCHKUNPK(SUnpkU8, ¶m->gapOffst, mBuf);
5305 /*rgr_c_001.main_9 ADD DRX functionality under flag*/
5307 /***********************************************************
5309 * Func : cmPkRgrDrxLongCycleOffst
5312 * Desc : DRX Long Cycle Offset
5321 **********************************************************/
5323 PUBLIC S16 cmPkRgrDrxLongCycleOffst
5325 RgrDrxLongCycleOffst *param,
5329 PUBLIC S16 cmPkRgrDrxLongCycleOffst(param, mBuf)
5330 RgrDrxLongCycleOffst *param;
5335 TRC3(cmPkRgrDrxLongCycleOffst)
5337 CMCHKPK(SPkU16, param->drxStartOffst, mBuf);
5338 CMCHKPK(SPkU16, param->longDrxCycle, mBuf);
5344 /***********************************************************
5346 * Func : cmUnpkRgrDrxLongCycleOffst
5349 * Desc : DRX Long Cycle Offset
5358 **********************************************************/
5360 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst
5362 RgrDrxLongCycleOffst *param,
5366 PUBLIC S16 cmUnpkRgrDrxLongCycleOffst(param, mBuf)
5367 RgrDrxLongCycleOffst *param;
5372 TRC3(cmUnpkRgrDrxLongCycleOffst)
5374 CMCHKUNPK(SUnpkU16, ¶m->longDrxCycle, mBuf);
5375 CMCHKUNPK(SUnpkU16, ¶m->drxStartOffst, mBuf);
5381 /***********************************************************
5383 * Func : cmPkRgrDrxShortDrx
5386 * Desc : DRX Short Cycle Offset
5395 **********************************************************/
5397 PUBLIC S16 cmPkRgrDrxShortDrx
5399 RgrDrxShortDrx *param,
5403 PUBLIC S16 cmPkRgrDrxShortDrx(param, mBuf)
5404 RgrDrxShortDrx *param;
5409 TRC3(cmPkRgrDrxShortDrx)
5411 CMCHKPK(SPkU8, param->drxShortCycleTmr, mBuf);
5412 CMCHKPK(SPkU16, param->shortDrxCycle, mBuf);
5413 CMCHKPK(SPkU8, param->pres, mBuf);
5419 /***********************************************************
5421 * Func : cmUnpkRgrDrxShortDrx
5424 * Desc : DRX Short Cycle Offset
5433 **********************************************************/
5435 PUBLIC S16 cmUnpkRgrDrxShortDrx
5437 RgrDrxShortDrx *param,
5441 PUBLIC S16 cmUnpkRgrDrxShortDrx(param, mBuf)
5442 RgrDrxShortDrx *param;
5447 TRC3(cmUnpkRgrDrxShortDrx)
5449 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5450 CMCHKUNPK(SUnpkU16, ¶m->shortDrxCycle, mBuf);
5451 CMCHKUNPK(SUnpkU8, ¶m->drxShortCycleTmr, mBuf);
5455 /***********************************************************
5457 * Func : cmPkRgrUeDrxCfg
5460 * Desc : DRX configuration for UE
5469 **********************************************************/
5471 PUBLIC S16 cmPkRgrUeDrxCfg
5477 PUBLIC S16 cmPkRgrUeDrxCfg(param, mBuf)
5483 TRC3(cmPkRgrUeDrxCfg)
5485 CMCHKPK(cmPkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5486 CMCHKPK(cmPkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5487 CMCHKPK(SPkU16, param->drxRetxTmr, mBuf);
5489 CMCHKPK(SPkU8, param->drxRetxTmrR13Pres, mBuf);
5490 CMCHKPK(SPkU8, param->drxOnDurTmrR13Pres, mBuf);
5491 CMCHKPK(SPkU16, param->emtcDrxUlRetxTmr, mBuf);
5492 CMCHKPK(SPkU8, param->isEmtcUe, mBuf);
5494 CMCHKPK(SPkU16, param->drxInactvTmr, mBuf);
5495 CMCHKPK(SPkU16, param->drxOnDurTmr, mBuf);
5496 /*rgr_c_001.main_9 ADD added changes for R9*/
5498 CMCHKPK(cmPkTknS32, ¶m->cqiMask, mBuf);
5505 /***********************************************************
5507 * Func : cmUnpkRgrUeDrxCfg
5510 * Desc : DRX configuration for UE
5519 **********************************************************/
5521 PUBLIC S16 cmUnpkRgrUeDrxCfg
5527 PUBLIC S16 cmUnpkRgrUeDrxCfg(param, mBuf)
5533 TRC3(cmUnpkRgrUeDrxCfg)
5535 /*rgr_c_001.main_9 ADD added changes for R9*/
5537 CMCHKUNPK(cmUnpkTknS32, ¶m->cqiMask, mBuf);
5539 CMCHKUNPK(SUnpkU16, ¶m->drxOnDurTmr, mBuf);
5540 CMCHKUNPK(SUnpkU16, ¶m->drxInactvTmr, mBuf);
5542 CMCHKUNPK(SUnpkU8, ¶m->isEmtcUe, mBuf);
5543 CMCHKUNPK(SUnpkU16,¶m->emtcDrxUlRetxTmr, mBuf);
5544 CMCHKUNPK(SUnpkU8, ¶m->drxOnDurTmrR13Pres, mBuf);
5545 CMCHKUNPK(SUnpkU8, ¶m->drxRetxTmrR13Pres, mBuf);
5547 CMCHKUNPK(SUnpkU16, ¶m->drxRetxTmr, mBuf);
5548 CMCHKUNPK(cmUnpkRgrDrxLongCycleOffst, ¶m->drxLongCycleOffst, mBuf);
5549 CMCHKUNPK(cmUnpkRgrDrxShortDrx, ¶m->drxShortDrx, mBuf);
5553 /*rgr_c_001.main_9 ADD added DRX changes under DRX*/
5555 /***********************************************************
5557 * Func : cmPkRgrUeCapCfg
5560 * Desc : RgrUeCapCfg
5569 **********************************************************/
5571 PUBLIC S16 cmPkRgrUeCapCfg
5577 PUBLIC S16 cmPkRgrUeCapCfg(param, mBuf)
5583 TRC3(cmPkRgrUeCapCfg)
5585 CMCHKPK(SPkU8, param->txAntSel, mBuf);
5586 CMCHKPK(SPkU8, param->simCqiAckNack, mBuf);
5587 CMCHKPK(SPkU8, param->resAloocType1, mBuf);
5588 CMCHKPK(SPkU8, param->intraSfFeqHop, mBuf);
5589 CMCHKPK(SPkU8, param->pwrClass, mBuf);
5595 /***********************************************************
5597 * Func : cmUnpkRgrUeCapCfg
5600 * Desc : RgrUeCapCfg
5609 **********************************************************/
5611 PUBLIC S16 cmUnpkRgrUeCapCfg
5617 PUBLIC S16 cmUnpkRgrUeCapCfg(param, mBuf)
5623 TRC3(cmUnpkRgrUeCapCfg)
5625 CMCHKUNPK(SUnpkU8, ¶m->pwrClass, mBuf);
5626 CMCHKUNPK(SUnpkU8, ¶m->intraSfFeqHop, mBuf);
5627 CMCHKUNPK(SUnpkU8, ¶m->resAloocType1, mBuf);
5628 CMCHKUNPK(SUnpkU8, ¶m->simCqiAckNack, mBuf);
5629 CMCHKUNPK(SUnpkU8, ¶m->txAntSel, mBuf);
5635 /***********************************************************
5637 * Func : cmPkRgrUeAckNackRepCfg
5640 * Desc : rgrUeAckNackRepCfg
5649 **********************************************************/
5651 PUBLIC S16 cmPkRgrUeAckNackRepCfg
5653 RgrUeAckNackRepCfg *param,
5657 PUBLIC S16 cmPkRgrUeAckNackRepCfg(param, mBuf)
5658 RgrUeAckNackRepCfg *param;
5663 TRC3(cmPkRgrUeAckNackRepCfg)
5665 CMCHKPK(SPkU32, param->ackNackRepFactor, mBuf);
5666 CMCHKPK(SPkU16, param->pucchAckNackRep, mBuf);
5667 CMCHKPK(SPkU8, param->isAckNackEnabled, mBuf);
5673 /***********************************************************
5675 * Func : cmUnpkRgrUeAckNackRepCfg
5678 * Desc : rgrUeAckNackRepCfg
5687 **********************************************************/
5689 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg
5691 RgrUeAckNackRepCfg *param,
5695 PUBLIC S16 cmUnpkRgrUeAckNackRepCfg(param, mBuf)
5696 RgrUeAckNackRepCfg *param;
5702 TRC3(cmUnpkRgrUeAckNackRepCfg)
5704 CMCHKUNPK(SUnpkU8, ¶m->isAckNackEnabled, mBuf);
5705 CMCHKUNPK(SUnpkU16, ¶m->pucchAckNackRep, mBuf);
5706 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5707 param->ackNackRepFactor = (RgrAckNackRepFactor) tmpEnum;
5713 /***********************************************************
5715 * Func : cmPkRgrUeTxModeCfg
5718 * Desc : Transmission mode configuration per UE
5727 **********************************************************/
5729 PUBLIC S16 cmPkRgrUeTxModeCfg
5731 RgrUeTxModeCfg *param,
5735 PUBLIC S16 cmPkRgrUeTxModeCfg(param, mBuf)
5736 RgrUeTxModeCfg *param;
5741 TRC3(cmPkRgrUeTxModeCfg)
5743 CMCHKPK(SPkU32, param->txModeEnum, mBuf);
5744 CMCHKPK(SPkU32, param->tmTrnstnState, mBuf);
5745 CMCHKPK(SPkU8, param->pres, mBuf);
5752 /***********************************************************
5754 * Func : cmUnpkRgrUeTxModeCfg
5757 * Desc : Transmission mode configuration per UE
5766 **********************************************************/
5768 PUBLIC S16 cmUnpkRgrUeTxModeCfg
5770 RgrUeTxModeCfg *param,
5774 PUBLIC S16 cmUnpkRgrUeTxModeCfg(param, mBuf)
5775 RgrUeTxModeCfg *param;
5781 TRC3(cmUnpkRgrUeTxModeCfg)
5783 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5784 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5785 param->tmTrnstnState = (RgrTxModeTrnstn) tmpEnum;
5787 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
5788 param->txModeEnum = (RgrTxMode) tmpEnum;
5794 /***********************************************************
5796 * Func : cmPkRgrUeUlHqCfg
5799 * Desc : Uplink HARQ configuration per UE
5808 **********************************************************/
5810 PUBLIC S16 cmPkRgrUeUlHqCfg
5812 RgrUeUlHqCfg *param,
5816 PUBLIC S16 cmPkRgrUeUlHqCfg(param, mBuf)
5817 RgrUeUlHqCfg *param;
5822 TRC3(cmPkRgrUeUlHqCfg)
5824 CMCHKPK(SPkU8, param->deltaHqOffst, mBuf);
5825 CMCHKPK(SPkU8, param->maxUlHqTx, mBuf);
5831 /***********************************************************
5833 * Func : cmUnpkRgrUeUlHqCfg
5836 * Desc : Uplink HARQ configuration per UE
5845 **********************************************************/
5847 PUBLIC S16 cmUnpkRgrUeUlHqCfg
5849 RgrUeUlHqCfg *param,
5853 PUBLIC S16 cmUnpkRgrUeUlHqCfg(param, mBuf)
5854 RgrUeUlHqCfg *param;
5859 TRC3(cmUnpkRgrUeUlHqCfg)
5861 CMCHKUNPK(SUnpkU8, ¶m->maxUlHqTx, mBuf);
5862 CMCHKUNPK(SUnpkU8, ¶m->deltaHqOffst, mBuf);
5868 /***********************************************************
5870 * Func : cmPkRgrUeGrpPwrCfg
5873 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5882 **********************************************************/
5884 PUBLIC S16 cmPkRgrUeGrpPwrCfg
5886 RgrUeGrpPwrCfg *param,
5890 PUBLIC S16 cmPkRgrUeGrpPwrCfg(param, mBuf)
5891 RgrUeGrpPwrCfg *param;
5896 TRC3(cmPkRgrUeGrpPwrCfg)
5898 CMCHKPK(SPkU8, param->idx, mBuf);
5899 CMCHKPK(cmPkLteRnti, param->tpcRnti, mBuf);
5900 CMCHKPK(SPkU8, param->pres, mBuf);
5906 /***********************************************************
5908 * Func : cmUnpkRgrUeGrpPwrCfg
5911 * Desc : Group power configuration per UE for PUCCH and PUSCH group power control
5920 **********************************************************/
5922 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg
5924 RgrUeGrpPwrCfg *param,
5928 PUBLIC S16 cmUnpkRgrUeGrpPwrCfg(param, mBuf)
5929 RgrUeGrpPwrCfg *param;
5934 TRC3(cmUnpkRgrUeGrpPwrCfg)
5936 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
5937 CMCHKUNPK(cmUnpkLteRnti, ¶m->tpcRnti, mBuf);
5938 CMCHKUNPK(SUnpkU8, ¶m->idx, mBuf);
5942 /*rgr_c_001.main_7 - Added support for SPS*/
5945 /***********************************************************
5947 * Func : cmPkRgrUeSpsDlCfg
5950 * Desc : DL SPS configuration parameters per UE
5959 **********************************************************/
5961 PUBLIC S16 cmPkRgrUeSpsDlCfg
5963 RgrUeSpsDlCfg *param,
5967 PUBLIC S16 cmPkRgrUeSpsDlCfg(param, mBuf)
5968 RgrUeSpsDlCfg *param;
5974 TRC3(cmPkRgrUeSpsDlCfg)
5975 CMCHKPK(SPkU16, param->explicitRelCnt, mBuf);
5976 CMCHKPK(SPkU32, param->dlSpsPrdctyEnum, mBuf);
5977 for (i=param->numPucchVal-1; i >= 0; i--) {
5978 CMCHKPK(SPkU32, param->n1PucchVal[i], mBuf);
5980 CMCHKPK(SPkU8, param->numPucchVal, mBuf);
5981 CMCHKPK(SPkU8, param->numSpsHqProc, mBuf);
5982 CMCHKPK(SPkU8, param->isDlSpsEnabled, mBuf);
5988 /***********************************************************
5990 * Func : cmUnpkRgrUeSpsDlCfg
5993 * Desc : DL SPS configuration parameters per UE
6002 **********************************************************/
6004 PUBLIC S16 cmUnpkRgrUeSpsDlCfg
6006 RgrUeSpsDlCfg *param,
6010 PUBLIC S16 cmUnpkRgrUeSpsDlCfg(param, mBuf)
6011 RgrUeSpsDlCfg *param;
6018 TRC3(cmUnpkRgrUeSpsDlCfg)
6020 CMCHKUNPK(SUnpkU8, ¶m->isDlSpsEnabled, mBuf);
6021 CMCHKUNPK(SUnpkU8, ¶m->numSpsHqProc, mBuf);
6022 CMCHKUNPK(SUnpkU8, ¶m->numPucchVal, mBuf);
6023 for (i=0; i<param->numPucchVal; i++) {
6024 CMCHKUNPK(SUnpkU32, ¶m->n1PucchVal[i], mBuf);
6026 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6027 param->dlSpsPrdctyEnum = tmpEnum;
6028 CMCHKUNPK(SUnpkU16, ¶m->explicitRelCnt, mBuf);
6034 /***********************************************************
6036 * Func : cmPkRgrUeSpsUlCfg
6039 * Desc : UL SPS configuration parameters per UE
6048 **********************************************************/
6050 PUBLIC S16 cmPkRgrUeSpsUlCfg
6052 RgrUeSpsUlCfg *param,
6056 PUBLIC S16 cmPkRgrUeSpsUlCfg(param, mBuf)
6057 RgrUeSpsUlCfg *param;
6063 TRC3(cmPkRgrUeSpsUlCfg)
6065 CMCHKPK(SPkU8, param->isLcSRMaskEnab, mBuf);
6066 for (i=param->lcCnt-1; i >= 0; i--) {
6067 /* SPS Changes starts */
6068 CMCHKPK(SPkU8, param->spsLcInfo[i].isSpsEnabled, mBuf);
6069 CMCHKPK(SPkU8, param->spsLcInfo[i].lcId, mBuf);
6070 /* SPS Changes ends */
6072 CMCHKPK(SPkU8, param->lcCnt, mBuf);
6073 CMCHKPK(SPkU32, param->ulSpsPrdctyEnum, mBuf);
6074 CMCHKPK(SPkS8, param->pwrCfg.p0UePuschVal, mBuf);
6075 CMCHKPK(SPkS8, param->pwrCfg.p0NominalPuschVal, mBuf);
6076 CMCHKPK(SPkU8, param->pwrCfgPres, mBuf);
6079 CMCHKPK(SPkU8, param->twoIntervalCfg, mBuf);
6082 CMCHKPK(SPkU32, param->implicitRelCnt, mBuf);
6083 CMCHKPK(SPkU8, param->isUlSpsEnabled, mBuf);
6089 /***********************************************************
6091 * Func : cmUnpkRgrUeSpsUlCfg
6094 * Desc : UL SPS configuration parameters per UE
6103 **********************************************************/
6105 PUBLIC S16 cmUnpkRgrUeSpsUlCfg
6107 RgrUeSpsUlCfg *param,
6111 PUBLIC S16 cmUnpkRgrUeSpsUlCfg(param, mBuf)
6112 RgrUeSpsUlCfg *param;
6119 TRC3(cmUnpkRgrUeSpsUlCfg)
6121 CMCHKUNPK(SUnpkU8, ¶m->isUlSpsEnabled, mBuf);
6122 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6123 param->implicitRelCnt = tmpEnum;
6126 CMCHKUNPK(SUnpkU8, ¶m->twoIntervalCfg, mBuf);
6129 CMCHKUNPK(SUnpkU8, ¶m->pwrCfgPres, mBuf);
6130 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0NominalPuschVal, mBuf);
6131 CMCHKUNPK(SUnpkS8, ¶m->pwrCfg.p0UePuschVal, mBuf);
6132 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6133 param->ulSpsPrdctyEnum = tmpEnum;
6134 CMCHKUNPK(SUnpkU8, ¶m->lcCnt, mBuf);
6135 for (i=0; i<param->lcCnt; i++) {
6136 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].lcId, mBuf);
6137 CMCHKUNPK(SUnpkU8, ¶m->spsLcInfo[i].isSpsEnabled, mBuf);
6139 CMCHKUNPK(SUnpkU8, ¶m->isLcSRMaskEnab, mBuf);
6145 /***********************************************************
6147 * Func : cmPkRgrUeSpsCfg
6150 * Desc : SPS configuration parameters per UE
6159 **********************************************************/
6161 PUBLIC S16 cmPkRgrUeSpsCfg
6167 PUBLIC S16 cmPkRgrUeSpsCfg(param, mBuf)
6173 TRC3(cmPkRgrUeSpsCfg)
6175 CMCHKPK(cmPkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6176 CMCHKPK(cmPkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6177 CMCHKPK(cmPkLteRnti, param->spsRnti, mBuf);
6183 /***********************************************************
6185 * Func : cmUnpkRgrUeSpsCfg
6188 * Desc : SPS configuration parameters per UE
6197 **********************************************************/
6199 PUBLIC S16 cmUnpkRgrUeSpsCfg
6205 PUBLIC S16 cmUnpkRgrUeSpsCfg(param, mBuf)
6211 TRC3(cmUnpkRgrUeSpsCfg)
6213 CMCHKUNPK(cmUnpkLteRnti, ¶m->spsRnti, mBuf);
6214 CMCHKUNPK(cmUnpkRgrUeSpsDlCfg, ¶m->dlSpsCfg, mBuf);
6215 CMCHKUNPK(cmUnpkRgrUeSpsUlCfg, ¶m->ulSpsCfg, mBuf);
6220 /***********************************************************
6222 * Func : cmPkRgrUeUlPwrCfg
6225 * Desc : Uplink power configuration per UE
6234 **********************************************************/
6236 PUBLIC S16 cmPkRgrUeUlPwrCfg
6238 RgrUeUlPwrCfg *param,
6242 PUBLIC S16 cmPkRgrUeUlPwrCfg(param, mBuf)
6243 RgrUeUlPwrCfg *param;
6248 TRC3(cmPkRgrUeUlPwrCfg)
6250 CMCHKPK(SPkU8, param->trgCqi, mBuf);
6251 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
6252 CMCHKPK(SPkS8, param->p0UePucch, mBuf);
6253 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
6254 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
6255 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
6256 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6257 CMCHKPK(cmPkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6263 /***********************************************************
6265 * Func : cmUnpkRgrUeUlPwrCfg
6268 * Desc : Uplink power configuration per UE
6277 **********************************************************/
6279 PUBLIC S16 cmUnpkRgrUeUlPwrCfg
6281 RgrUeUlPwrCfg *param,
6285 PUBLIC S16 cmUnpkRgrUeUlPwrCfg(param, mBuf)
6286 RgrUeUlPwrCfg *param;
6291 TRC3(cmUnpkRgrUeUlPwrCfg)
6293 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePuschPwr, mBuf);
6294 CMCHKUNPK(cmUnpkRgrUeGrpPwrCfg, ¶m->uePucchPwr, mBuf);
6295 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
6296 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
6297 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
6298 CMCHKUNPK(SUnpkS8, ¶m->p0UePucch, mBuf);
6299 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
6300 CMCHKUNPK(SUnpkU8, ¶m->trgCqi, mBuf);
6306 /***********************************************************
6308 * Func : cmPkRgrUeQosCfg
6311 * Desc : Downlink/Uplink QoS configuration per UE
6320 **********************************************************/
6322 PUBLIC S16 cmPkRgrUeQosCfg
6328 PUBLIC S16 cmPkRgrUeQosCfg(param, mBuf)
6334 TRC3(cmPkRgrUeQosCfg)
6336 CMCHKPK(SPkU32, param->ueBr, mBuf);
6337 CMCHKPK(SPkU32, param->dlAmbr, mBuf);
6338 CMCHKPK(SPkU8, param->ambrPres, mBuf);
6344 /***********************************************************
6346 * Func : cmUnpkRgrUeQosCfg
6349 * Desc : Downlink/Uplink QoS configuration per UE
6358 **********************************************************/
6360 PUBLIC S16 cmUnpkRgrUeQosCfg
6366 PUBLIC S16 cmUnpkRgrUeQosCfg(param, mBuf)
6372 TRC3(cmUnpkRgrUeQosCfg)
6374 CMCHKUNPK(SUnpkU8, ¶m->ambrPres, mBuf);
6375 CMCHKUNPK(SUnpkU32, ¶m->dlAmbr, mBuf);
6376 CMCHKUNPK(SUnpkU32, ¶m->ueBr, mBuf);
6380 /***********************************************************
6382 * Func : cmPkRgrUePuschDedCfg
6385 * Desc : PUSCH Config Dedication for UE
6394 **********************************************************/
6396 PUBLIC S16 cmPkRgrUePuschDedCfg
6398 RgrUePuschDedCfg *param,
6402 PUBLIC S16 cmPkRgrUePuschDedCfg(param, mBuf)
6403 RgrUePuschDedCfg *param;
6408 TRC3(cmPkRgrUePuschDedCfg)
6410 CMCHKPK(SPkU8, param->bCQIIdx, mBuf);
6411 CMCHKPK(SPkU8, param->bRIIdx, mBuf);
6412 CMCHKPK(SPkU8, param->bACKIdx, mBuf);
6413 CMCHKPK(SPkU8, param->pres, mBuf);
6418 /***********************************************************
6420 * Func : cmUnpkRgrUePuschDedCfg
6423 * Desc : PUSCH Config Dedication for UE
6433 **********************************************************/
6435 PUBLIC S16 cmUnpkRgrUePuschDedCfg
6437 RgrUePuschDedCfg *param,
6441 PUBLIC S16 cmUnpkRgrUePuschDedCfg(param, mBuf)
6442 RgrUePuschDedCfg *param;
6447 TRC3(cmUnpkRgrUePuschDedCfg)
6449 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6450 CMCHKUNPK(SUnpkU8, ¶m->bACKIdx, mBuf);
6451 CMCHKUNPK(SUnpkU8, ¶m->bRIIdx, mBuf);
6452 CMCHKUNPK(SUnpkU8, ¶m->bCQIIdx, mBuf);
6456 /***********************************************************
6458 * Func : cmPkRgrUeTxAntSelCfg
6461 * Desc : UE Transmit Antenna selection related configuration
6470 **********************************************************/
6472 PUBLIC S16 cmPkRgrUeTxAntSelCfg
6474 RgrUeTxAntSelCfg *param,
6478 PUBLIC S16 cmPkRgrUeTxAntSelCfg(param, mBuf)
6479 RgrUeTxAntSelCfg *param;
6484 TRC3(cmPkRgrUeTxAntSelCfg)
6486 CMCHKPK(SPkU32, param->selType, mBuf);
6487 CMCHKPK(SPkU8, param->pres, mBuf);
6493 /***********************************************************
6495 * Func : cmUnpkRgrUeTxAntSelCfg
6498 * Desc : UE Transmit Antenna selection related configuration
6507 **********************************************************/
6509 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg
6511 RgrUeTxAntSelCfg *param,
6515 PUBLIC S16 cmUnpkRgrUeTxAntSelCfg(param, mBuf)
6516 RgrUeTxAntSelCfg *param;
6522 TRC3(cmUnpkRgrUeTxAntSelCfg)
6524 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6525 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6526 param->selType = (RgrUeTxAntSelType) tmpEnum;
6531 /***********************************************************
6533 * Func : cmPkRgrUeTaTmrCfg
6536 * Desc : Time Alignment timer configuration per UE
6545 **********************************************************/
6547 PUBLIC S16 cmPkRgrUeTaTmrCfg
6549 RgrUeTaTmrCfg *param,
6553 PUBLIC S16 cmPkRgrUeTaTmrCfg(param, mBuf)
6554 RgrUeTaTmrCfg *param;
6559 TRC3(cmPkRgrUeTaTmrCfg)
6561 CMCHKPK(SPkU16, param->taTmr, mBuf);
6562 CMCHKPK(SPkU8, param->pres, mBuf);
6568 /***********************************************************
6570 * Func : cmUnpkRgrUeTaTmrCfg
6573 * Desc : Time Alignment timer configuration per UE
6582 **********************************************************/
6584 PUBLIC S16 cmUnpkRgrUeTaTmrCfg
6586 RgrUeTaTmrCfg *param,
6590 PUBLIC S16 cmUnpkRgrUeTaTmrCfg(param, mBuf)
6591 RgrUeTaTmrCfg *param;
6596 TRC3(cmUnpkRgrUeTaTmrCfg)
6598 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
6599 CMCHKUNPK(SUnpkU16, ¶m->taTmr, mBuf);
6606 PUBLIC S16 cmUnpkRgrEmtcUeCfg
6608 RgrUeEmtcCfg *param,
6612 PUBLIC S16 cmUnpkRgrEmtcUeCfg(param, mBuf)
6613 RgrUeEmtcCfg *param;
6619 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6620 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6621 RgrEpdcchAddModLst *epdcchAddModLst;
6623 CMCHKUNPK(SUnpkU8,¶m->pdschReptLevModeA,mBuf);
6624 /*UnPacking PUCCH Rep */
6625 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat2),mBuf);
6626 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->modeANumPucchRepFormat1),mBuf);
6627 CMCHKUNPK(SUnpkU8,&(emtcPucchRepCfg->isPucchRepPres),mBuf);
6631 for(indx = 0; indx < RGR_MAX_EPDCCH_SET; indx++)
6633 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6634 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->extaddgrp2.mpddchNB),mBuf);
6635 CMCHKUNPK(SUnpkU16,&(epdcchAddModLst->extaddgrp2.mpdcchNumRep),mBuf);
6636 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD),mBuf);
6637 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.mpddchPdschHop),mBuf);
6638 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.csiNumRep),mBuf);
6639 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->extaddgrp2.pres),mBuf);
6640 CMCHKUNPK(cmUnpkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6641 CMCHKUNPK(cmUnpkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6642 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->pucchResStartoffset),mBuf);
6643 CMCHKUNPK(SUnpkU32,&(epdcchAddModLst->dmrsScrambSeq),mBuf);
6644 for(idx = 0; idx < 5; idx++)
6646 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.rbAssignment[idx]),mBuf);
6649 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->resBlkAssignment.numPRBpairs),mBuf);
6650 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->transmissionType),mBuf);
6651 CMCHKUNPK(SUnpkU8,&(epdcchAddModLst->setConfigId),mBuf);
6654 CMCHKUNPK(cmUnpkTknU32,&(emtcEpdcchCfg->startSymbolr11),mBuf);
6655 for(indx = 0; indx < 5; indx++)
6657 CMCHKUNPK(SUnpkU8,&(emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]),mBuf);
6659 CMCHKUNPK(SUnpkU8, &(emtcEpdcchCfg->sfPtn.pres), mBuf);
6660 CMCHKUNPK(SUnpkU8, &(param->pres), mBuf);
6661 CMCHKUNPK(SUnpkU8, &(param->isHdFddEnbld), mBuf);
6663 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6664 printf("\n EMTC RGR UE unpack\n");
6665 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6667 for(indx = 0; indx < 5; indx++)
6669 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6671 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6672 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6674 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6676 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6677 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6678 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);
6679 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6680 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6681 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6682 for(idx = 0; idx < 5 ; idx++)
6684 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6686 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6687 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6688 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6689 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6690 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6691 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6692 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6693 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6694 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6695 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6696 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6697 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6707 PUBLIC S16 cmPkRgrEmtcUeCfg
6709 RgrUeEmtcCfg *param,
6715 RgrEpdcchConfigRel11 *emtcEpdcchCfg = &(param->emtcEpdcchCfg);
6716 RgrPucchRepCfgRel13 *emtcPucchRepCfg = &(param->emtcPucchRepCfg);
6717 RgrEpdcchAddModLst *epdcchAddModLst;
6719 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6720 CMCHKPK(SPkU8, param->pres, mBuf);
6721 CMCHKPK(SPkU8, emtcEpdcchCfg->sfPtn.pres, mBuf);
6722 for(indx = 4; indx >=0; indx--)
6724 CMCHKPK(SPkU8,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx],mBuf);
6726 CMCHKPK(cmPkTknU32,&emtcEpdcchCfg->startSymbolr11,mBuf);
6727 for(indx = RGR_MAX_EPDCCH_SET-1 ; indx >= 0; indx--)
6729 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6731 CMCHKPK(SPkU8,epdcchAddModLst->setConfigId,mBuf);
6732 CMCHKPK(SPkU8,epdcchAddModLst->transmissionType,mBuf);
6733 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.numPRBpairs,mBuf);
6734 for(idx = 4; idx >= 0; idx--)
6736 CMCHKPK(SPkU8,epdcchAddModLst->resBlkAssignment.rbAssignment[idx],mBuf);
6738 CMCHKPK(SPkU32,epdcchAddModLst->dmrsScrambSeq,mBuf);
6739 CMCHKPK(SPkU32,epdcchAddModLst->pucchResStartoffset,mBuf);
6740 CMCHKPK(cmPkTknU32,&(epdcchAddModLst->pdschRemapQLcfgId),mBuf);
6741 CMCHKPK(cmPkTknU8,&(epdcchAddModLst->mpdcchNumPRBpair),mBuf);
6742 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.pres,mBuf);
6743 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.csiNumRep,mBuf);
6744 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpddchPdschHop,mBuf);
6745 CMCHKPK(SPkU8,epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD,mBuf);
6746 CMCHKPK(SPkU16,epdcchAddModLst->extaddgrp2.mpdcchNumRep,mBuf);
6747 CMCHKPK(SPkU32,epdcchAddModLst->extaddgrp2.mpddchNB,mBuf);
6750 /*Packing PUCCH Rep */
6751 CMCHKPK(SPkU8,emtcPucchRepCfg->isPucchRepPres, mBuf);
6752 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat1,mBuf);
6753 CMCHKPK(SPkU8,emtcPucchRepCfg->modeANumPucchRepFormat2,mBuf);
6754 CMCHKPK(SPkU8,param->pdschReptLevModeA,mBuf);
6756 #ifdef EMTC_DEBUG_CONSOLE_PRINTS
6757 printf("\n EMTC RGR UE pack\n");
6758 printf("\nemtcEpdcchCfg->sfPtn.pres %d ",emtcEpdcchCfg->sfPtn.pres);
6760 for(indx = 0; indx < 5; indx++)
6762 printf("\nemtcEpdcchCfg->sfPtn.measSfPatFDD[%d] %d ",indx,emtcEpdcchCfg->sfPtn.measSfPatFDD[indx]);
6764 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.pres);
6765 printf("\nemtcEpdcchCfg->startSymbolr11 %d ",emtcEpdcchCfg->startSymbolr11.val);
6767 for(indx = 0 ; indx < RGR_MAX_EPDCCH_SET; indx++)
6769 epdcchAddModLst = &(emtcEpdcchCfg->epdcchAddModLst[indx]);
6770 /* printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.pres);
6771 printf("\nemtcEpdcchCfg->epdcchRelLst[indx].setCfgId %d %d ", indx,emtcEpdcchCfg->epdcchRelLst[indx].setCfgId.val);*/
6772 printf("\nepdcchAddModLst->setConfigId %d ", epdcchAddModLst->setConfigId);
6773 printf("\nepdcchAddModLst->transmissionType %d ",epdcchAddModLst->transmissionType);
6774 printf("\nepdcchAddModLst->resBlkAssignment.numPRBpairs %d ",epdcchAddModLst->resBlkAssignment.numPRBpairs);
6775 for(idx = 0; idx < 5 ; idx++)
6777 printf("\nepdcchAddModLst->resBlkAssignment.rbAssignment[idx] %d ",epdcchAddModLst->resBlkAssignment.rbAssignment[idx]);
6779 printf("\nepdcchAddModLst->dmrsScrambSeq %d ",epdcchAddModLst->dmrsScrambSeq);
6780 printf("\nepdcchAddModLst->pucchResStartoffset %d ",epdcchAddModLst->pucchResStartoffset);
6781 printf("\nepdcchAddModLst->pdschRemapQLcfgId.pres %d ",epdcchAddModLst->pdschRemapQLcfgId.pres);
6782 printf("\nepdcchAddModLst->pdschRemapQLcfgId.val %d ", epdcchAddModLst->pdschRemapQLcfgId.val);
6783 printf("\nepdcchAddModLst->mpdcchNumPRBpair.pres %d ", epdcchAddModLst->mpdcchNumPRBpair.pres);
6784 printf("\nepdcchAddModLst->mpdcchNumPRBpair.val %d ", epdcchAddModLst->mpdcchNumPRBpair.val);
6785 printf("\nepdcchAddModLst->extaddgrp2.pres %d ", epdcchAddModLst->extaddgrp2.pres);
6786 printf("\nepdcchAddModLst->extaddgrp2.csiNumRep %d ", epdcchAddModLst->extaddgrp2.csiNumRep);
6787 printf("\nepdcchAddModLst->extaddgrp2.mpddchPdschHop %d ", epdcchAddModLst->extaddgrp2.mpddchPdschHop);
6788 printf("\nepdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD %d ",epdcchAddModLst->extaddgrp2.mpdcchStartUESSFDD);
6789 printf("\nepdcchAddModLst->extaddgrp2.mpdcchNumRep %d ", epdcchAddModLst->extaddgrp2.mpdcchNumRep);
6790 printf("\nepdcchAddModLst->extaddgrp2.mpddchNB %d ", epdcchAddModLst->extaddgrp2.mpddchNB);
6802 PUBLIC S16 cmUnpkRgr5gtfUeCfg
6804 RgrUe5gtfCfg *param,
6808 CMCHKUNPK(SUnpkU8, ¶m->grpId, mBuf);
6809 CMCHKUNPK(SUnpkU8, ¶m->BeamId, mBuf);
6810 CMCHKUNPK(SUnpkU8, ¶m->numCC, mBuf);
6811 CMCHKUNPK(SUnpkU8, ¶m->mcs, mBuf);
6812 CMCHKUNPK(SUnpkU8, ¶m->maxPrb, mBuf);
6816 PUBLIC S16 cmPkRgr5gtfUeCfg
6818 RgrUe5gtfCfg *param,
6822 CMCHKPK(SPkU8, param->maxPrb, mBuf);
6823 CMCHKPK(SPkU8, param->mcs, mBuf);
6824 CMCHKPK(SPkU8, param->numCC, mBuf);
6825 CMCHKPK(SPkU8, param->BeamId, mBuf);
6826 CMCHKPK(SPkU8, param->grpId, mBuf);
6832 /***********************************************************
6834 * Func : cmPkRgrUeCfg
6837 * Desc : UE configuration
6846 **********************************************************/
6848 PUBLIC S16 cmPkRgrUeCfg
6854 PUBLIC S16 cmPkRgrUeCfg(param, mBuf)
6862 CMCHKPK(cmPkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
6865 CMCHKPK(cmPkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
6867 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
6869 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
6870 /* LTE_ADV_FLAG_REMOVED_START */
6871 CMCHKPK(cmPkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
6872 /* LTE_ADV_FLAG_REMOVED_END */
6874 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
6875 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
6877 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
6878 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
6880 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
6882 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
6884 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
6885 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
6887 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
6889 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
6893 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
6894 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
6899 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
6902 CMCHKPK(SPkU32, param->ackNackModeEnum, mBuf);
6905 CMCHKPK(cmPkTknU8, ¶m->dedPreambleId, mBuf);
6906 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6907 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6908 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6909 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6910 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
6911 /*rgr_c_001.main_9 ADD added changes for DRX*/
6913 /* Anshika - Pack only if DRX is enabled */
6914 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6916 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6918 CMCHKPK(SPkU8, param->ueDrxCfg.isDrxEnabled, mBuf); /* This has to be packed even if
6920 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
6922 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6924 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6926 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6927 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6928 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6929 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6930 CMCHKPK(cmPkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6931 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6932 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
6933 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
6939 /***********************************************************
6941 * Func : cmUnpkRgrUeCfg
6944 * Desc : UE configuration
6953 **********************************************************/
6955 PUBLIC S16 cmUnpkRgrUeCfg
6961 PUBLIC S16 cmUnpkRgrUeCfg(param, mBuf)
6968 TRC3(cmUnpkRgrUeCfg)
6970 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
6971 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
6972 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
6973 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueDlCqiCfg, mBuf);
6974 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqCfg, mBuf);
6975 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrCfg, mBuf);
6976 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosCfg, mBuf);
6977 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrCfg, mBuf);
6979 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
6981 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrCfg, mBuf);
6983 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
6984 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
6985 /*rgr_c_001.main_9 ADD added changes for DRX*/
6987 /* Anshika - Unpack only if DRX is enabled */
6988 CMCHKUNPK(SUnpkU8, ¶m->ueDrxCfg.isDrxEnabled, mBuf);
6989 if(TRUE == param->ueDrxCfg.isDrxEnabled)
6991 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxCfg, mBuf);
6993 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
6994 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackCfg, mBuf);
6995 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMesGapCfg, mBuf);
6996 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapCfg, mBuf);
6997 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstCfg, mBuf);
6998 CMCHKUNPK(cmUnpkTknU8, ¶m->dedPreambleId, mBuf);
7001 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
7002 param->ackNackModeEnum = tmpEnum;
7005 /*rgr_c_001.main_7 - Added support for SPS*/
7006 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsCfg, mBuf);
7008 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
7010 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
7011 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
7013 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
7015 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
7017 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
7018 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
7019 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
7020 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
7022 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
7025 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
7027 /* LTE_ADV_FLAG_REMOVED_START */
7028 CMCHKUNPK(cmUnpkRgrLteAdvancedUeConfig, ¶m->ueLteAdvCfg, mBuf);
7029 /* LTE_ADV_FLAG_REMOVED_END */
7030 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
7031 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
7034 CMCHKUNPK(cmUnpkRgrEmtcUeCfg, ¶m->emtcUeCfg, mBuf);
7038 CMCHKUNPK(cmUnpkRgr5gtfUeCfg, ¶m->ue5gtfCfg, mBuf);
7046 /***********************************************************
7048 * Func : cmPkRgrLchQosCfg
7051 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
7060 **********************************************************/
7062 PUBLIC S16 cmPkRgrLchQosCfg
7064 RgrLchQosCfg *param,
7068 PUBLIC S16 cmPkRgrLchQosCfg(param, mBuf)
7069 RgrLchQosCfg *param;
7074 TRC3(cmPkRgrLchQosCfg)
7076 CMCHKPK(SPkU32, param->mbr, mBuf);
7077 CMCHKPK(SPkU32, param->gbr, mBuf);
7078 CMCHKPK(SPkU8, param->qci, mBuf);
7084 /***********************************************************
7086 * Func : cmUnpkRgrLchQosCfg
7089 * Desc : QCI, GBR and MBR configuration for dedicated logical channels
7098 **********************************************************/
7100 PUBLIC S16 cmUnpkRgrLchQosCfg
7102 RgrLchQosCfg *param,
7106 PUBLIC S16 cmUnpkRgrLchQosCfg(param, mBuf)
7107 RgrLchQosCfg *param;
7112 TRC3(cmUnpkRgrLchQosCfg)
7114 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7115 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7116 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7119 /*rgr_c_001.main_7 - Added support for SPS*/
7122 /***********************************************************
7124 * Func : cmPkRgrLchSpsCfg
7127 * Desc : SPS related configuration for logical channels
7136 **********************************************************/
7138 PUBLIC S16 cmPkRgrLchSpsCfg
7140 RgrLchSpsCfg *param,
7144 PUBLIC S16 cmPkRgrLchSpsCfg(param, mBuf)
7145 RgrLchSpsCfg *param;
7150 TRC3(cmPkRgrLchSpsCfg)
7153 CMCHKPK(SPkU8, param->isSpsEnabled, mBuf);
7159 /***********************************************************
7161 * Func : cmUnpkRgrLchSpsCfg
7164 * Desc : SPS related configuration for logical channels
7173 **********************************************************/
7175 PUBLIC S16 cmUnpkRgrLchSpsCfg
7177 RgrLchSpsCfg *param,
7181 PUBLIC S16 cmUnpkRgrLchSpsCfg(param, mBuf)
7182 RgrLchSpsCfg *param;
7187 TRC3(cmUnpkRgrLchSpsCfg)
7189 CMCHKUNPK(SUnpkU8, ¶m->isSpsEnabled, mBuf);
7195 /***********************************************************
7197 * Func : cmPkRgrDlLchCfg
7200 * Desc : Logical channel configuration info for downlink logical channels
7209 **********************************************************/
7211 PUBLIC S16 cmPkRgrDlLchCfg
7217 PUBLIC S16 cmPkRgrDlLchCfg(param, mBuf)
7223 TRC3(cmPkRgrDlLchCfg)
7224 /*rgr_c_001.main_7 - Added support for SPS*/
7226 CMCHKPK(SPkU8, param->rlcReorderTmr, mBuf);
7227 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7228 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlQos, mBuf);
7229 CMCHKPK(SPkU8, param->dlTrchType, mBuf);
7235 /***********************************************************
7237 * Func : cmUnpkRgrDlLchCfg
7240 * Desc : Logical channel configuration info for downlink logical channels
7249 **********************************************************/
7251 PUBLIC S16 cmUnpkRgrDlLchCfg
7257 PUBLIC S16 cmUnpkRgrDlLchCfg(param, mBuf)
7263 TRC3(cmUnpkRgrDlLchCfg)
7265 CMCHKUNPK(SUnpkU8, ¶m->dlTrchType, mBuf);
7266 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlQos, mBuf);
7267 /*rgr_c_001.main_7 - Added support for SPs*/
7268 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlSpsCfg, mBuf);
7269 CMCHKUNPK(SUnpkU8, ¶m->rlcReorderTmr, mBuf);
7275 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7279 /***********************************************************
7281 * Func : cmPkRgrUlLchCfg
7284 * Desc : Logical channel configuration information for uplink logical channels
7293 **********************************************************/
7295 PUBLIC S16 cmPkRgrUlLchCfg
7301 PUBLIC S16 cmPkRgrUlLchCfg(param, mBuf)
7307 TRC3(cmPkRgrUlLchCfg)
7309 CMCHKPK(SPkU8, param->qci, mBuf);
7310 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7316 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7317 /***********************************************************
7319 * Func : cmUnpkRgrUlLchCfg
7322 * Desc : Logical channel configuration information for uplink logical channels
7331 **********************************************************/
7333 PUBLIC S16 cmUnpkRgrUlLchCfg
7339 PUBLIC S16 cmUnpkRgrUlLchCfg(param, mBuf)
7345 TRC3(cmUnpkRgrUlLchCfg)
7347 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7348 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7355 /***********************************************************
7357 * Func : cmPkRgrUlLcgCfg
7360 * Desc : Logical channel configuration info for uplink logical channels
7369 **********************************************************/
7371 PUBLIC S16 cmPkRgrUlLcgCfg
7377 PUBLIC S16 cmPkRgrUlLcgCfg(param, mBuf)
7383 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7387 TRC3(cmPkRgrUlLcgCfg)
7388 CMCHKPK(SPkU32, param->mbr, mBuf);
7389 CMCHKPK(SPkU32, param->gbr, mBuf);
7391 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7393 for (i = param->numLch - 1; i >= 0; i--)
7395 CMCHKPK(cmPkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7397 CMCHKPK(SPkU8, param->numLch, mBuf);
7399 CMCHKPK(SPkU8, param->lcgId, mBuf);
7405 /***********************************************************
7407 * Func : cmUnpkRgrUlLcgCfg
7410 * Desc : Logical channel configuration info for uplink logical channels
7419 **********************************************************/
7421 PUBLIC S16 cmUnpkRgrUlLcgCfg
7427 PUBLIC S16 cmUnpkRgrUlLcgCfg(param, mBuf)
7433 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7437 TRC3(cmUnpkRgrUlLcgCfg)
7439 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7440 /*rgr_c_001.main_9 ADD added changes for L2 measurements*/
7442 CMCHKUNPK(SUnpkU8, ¶m->numLch, mBuf);
7443 for (i = 0; i< param->numLch; i++)
7445 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->lchUlCfg[i], mBuf);
7449 CMCHKUNPK(SUnpkU32, ¶m->gbr, mBuf);
7450 CMCHKUNPK(SUnpkU32, ¶m->mbr, mBuf);
7455 PUBLIC S16 cmPkRgrUlLchQciCfg
7457 RgrUlLchQciCfg *param,
7461 PUBLIC S16 cmPkRgrUlLchQciCfg (param, mBuf)
7462 RgrUlLchQciCfg *param;
7466 CMCHKPK(SPkU8, param->lcId, mBuf);
7467 CMCHKPK(SPkU8, param->qci, mBuf);
7468 CMCHKPK(SPkU8, param->lcgId, mBuf);
7472 PUBLIC S16 cmUnpkRgrUlLchQciCfg
7474 RgrUlLchQciCfg *param,
7478 PUBLIC S16 cmUnpkRgrUlLchQciCfg (param, mBuf)
7479 RgrUlLchQciCfg *param;
7483 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7484 CMCHKUNPK(SUnpkU8, ¶m->qci, mBuf);
7485 CMCHKUNPK(SUnpkU8, ¶m->lcId, mBuf);
7490 /***********************************************************
7492 * Func : cmPkRgrLchCfg
7495 * Desc : Logical channel configuration info for dedicated channels
7504 **********************************************************/
7506 PUBLIC S16 cmPkRgrLchCfg
7512 PUBLIC S16 cmPkRgrLchCfg(param, mBuf)
7519 CMCHKPK(SPkU8, param->lcgId, mBuf);
7520 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7521 CMCHKPK(cmPkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7522 CMCHKPK(cmPkLteLcType, param->lcType, mBuf);
7523 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
7524 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7525 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7531 /***********************************************************
7533 * Func : cmUnpkRgrLchCfg
7536 * Desc : Logical channel configuration info for dedicated channels
7545 **********************************************************/
7547 PUBLIC S16 cmUnpkRgrLchCfg
7553 PUBLIC S16 cmUnpkRgrLchCfg(param, mBuf)
7559 TRC3(cmUnpkRgrLchCfg)
7561 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7562 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7563 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
7564 CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf);
7565 CMCHKUNPK(cmUnpkRgrDlLchCfg, ¶m->dlInfo, mBuf);
7566 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
7567 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
7573 PUBLIC S16 cmPkRgrLcgCfg
7579 PUBLIC S16 cmPkRgrLcgCfg(param, mBuf)
7587 CMCHKPK(cmPkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7588 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
7589 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7595 PUBLIC S16 cmUnpkRgrLcgCfg
7601 PUBLIC S16 cmUnpkRgrLcgCfg(param, mBuf)
7607 TRC3(cmUnpkRgrLcgCfg)
7609 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7610 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
7611 CMCHKUNPK(cmUnpkRgrUlLcgCfg, ¶m->ulInfo, mBuf);
7617 /***********************************************************
7622 * Desc : Basic Configuration structure at RRM
7631 **********************************************************/
7633 PUBLIC S16 cmPkRgrCfg
7639 PUBLIC S16 cmPkRgrCfg(param, mBuf)
7647 switch(param->cfgType) {
7649 CMCHKPK(cmPkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7652 CMCHKPK(cmPkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7655 CMCHKPK(cmPkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7658 CMCHKPK(cmPkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7661 CMCHKPK(cmPkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7666 CMCHKPK(SPkU8, param->cfgType, mBuf);
7672 /***********************************************************
7674 * Func : cmUnpkRgrCfg
7677 * Desc : Basic Configuration structure at RRM
7686 **********************************************************/
7688 PUBLIC S16 cmUnpkRgrCfg
7694 PUBLIC S16 cmUnpkRgrCfg(param, mBuf)
7702 CMCHKUNPK(SUnpkU8, ¶m->cfgType, mBuf);
7703 switch(param->cfgType) {
7705 CMCHKUNPK(cmUnpkMacSchedGnbCfg, ¶m->u.schedGnbCfg, mBuf);
7708 CMCHKUNPK(cmUnpkRgrCellCfg, ¶m->u.cellCfg, mBuf);
7711 CMCHKUNPK(cmUnpkRgrUeCfg, ¶m->u.ueCfg, mBuf);
7714 CMCHKUNPK(cmUnpkRgrLchCfg, ¶m->u.lchCfg, mBuf);
7717 CMCHKUNPK(cmUnpkRgrLcgCfg, ¶m->u.lcgCfg, mBuf);
7727 /***********************************************************
7729 * Func : cmPkRgrActvTime
7732 * Desc : Activation time information
7741 **********************************************************/
7743 PUBLIC S16 cmPkRgrActvTime
7749 PUBLIC S16 cmPkRgrActvTime(param, mBuf)
7755 TRC3(cmPkRgrActvTime)
7757 CMCHKPK(cmPkLteTimingInfo, ¶m->actvTime, mBuf);
7758 CMCHKPK(SPkU8, param->pres, mBuf);
7764 /***********************************************************
7766 * Func : cmUnpkRgrActvTime
7769 * Desc : Activation time information
7778 **********************************************************/
7780 PUBLIC S16 cmUnpkRgrActvTime
7786 PUBLIC S16 cmUnpkRgrActvTime(param, mBuf)
7792 TRC3(cmUnpkRgrActvTime)
7794 CMCHKUNPK(SUnpkU8, ¶m->pres, mBuf);
7795 CMCHKUNPK(cmUnpkLteTimingInfo, ¶m->actvTime, mBuf);
7801 /***********************************************************
7803 * Func : cmPkRgrCellRecfg
7806 * Desc : Cell reconfiguration structure at RRM
7815 **********************************************************/
7817 PUBLIC S16 cmPkRgrCellRecfg
7819 RgrCellRecfg *param,
7823 PUBLIC S16 cmPkRgrCellRecfg(param, mBuf)
7824 RgrCellRecfg *param;
7829 TRC3(cmPkRgrCellRecfg)
7830 CMCHKPK(cmPkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7831 CMCHKPK(cmPkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7832 CMCHKPK(SPkU8, param->isDynCfiEnb, mBuf);
7833 CMCHKPK(SPkU8, param->isAutoCfgModeEnb, mBuf);
7834 /* LTE_ADV_FLAG_REMOVED_START */
7835 CMCHKPK(cmPkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7836 /* LTE_ADV_FLAG_REMOVED_END */
7837 CMCHKPK(SPkU16, param->t300TmrVal, mBuf);
7838 /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
7840 CMCHKPK(cmPkRgrSiCfg, ¶m->siReCfg, mBuf);
7841 #endif /* RGR_SI_SCH */
7842 CMCHKPK(cmPkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7843 CMCHKPK(cmPkRgrRachCfg, ¶m->rachRecfg, mBuf);
7844 CMCHKPK(cmPkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7845 CMCHKPK(cmPkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7846 CMCHKPK(cmPkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7847 CMCHKPK(cmPkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7848 CMCHKPK(cmPkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7849 CMCHKPK(cmPkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7850 CMCHKPK(cmPkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7851 CMCHKPK(cmPkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7852 CMCHKPK(cmPkRgrActvTime, ¶m->recfgActvTime, mBuf);
7853 CMCHKPK(SPkU32, param->recfgTypes, mBuf);
7854 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
7860 /***********************************************************
7862 * Func : cmUnpkRgrCellRecfg
7865 * Desc : Cell reconfiguration structure at RRM
7874 **********************************************************/
7876 PUBLIC S16 cmUnpkRgrCellRecfg
7878 RgrCellRecfg *param,
7882 PUBLIC S16 cmUnpkRgrCellRecfg(param, mBuf)
7883 RgrCellRecfg *param;
7888 TRC3(cmUnpkRgrCellRecfg)
7890 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
7891 CMCHKUNPK(SUnpkU32, ¶m->recfgTypes, mBuf);
7892 CMCHKUNPK(cmUnpkRgrActvTime, ¶m->recfgActvTime, mBuf);
7893 CMCHKUNPK(cmUnpkRgrDlHqCfg, ¶m->dlHqRecfg, mBuf);
7894 CMCHKUNPK(cmUnpkRgrCfiCfg, ¶m->cfiRecfg, mBuf);
7895 CMCHKUNPK(cmUnpkRgrUlTrgCqiCfg, ¶m->trgUlCqi, mBuf);
7896 CMCHKUNPK(cmUnpkRgrDlCmnCodeRateCfg, ¶m->dlCmnCodeRate, mBuf);
7897 CMCHKUNPK(cmUnpkRgrPuschSubBandCfg, ¶m->puschSubBand, mBuf);
7898 CMCHKUNPK(cmUnpkRgrUlCmnCodeRateCfg, ¶m->ulCmnCodeRate, mBuf);
7899 CMCHKUNPK(cmUnpkRgrPucchCfg, ¶m->pucchRecfg, mBuf);
7900 CMCHKUNPK(cmUnpkRgrSrsCfg, ¶m->srsRecfg, mBuf);
7901 CMCHKUNPK(cmUnpkRgrRachCfg, ¶m->rachRecfg, mBuf);
7902 CMCHKUNPK(cmUnpkRgrDlfsCfg, ¶m->dlfsRecfg, mBuf);
7903 /* rgr_c_001.main_4-MOD-Modified for SI Enhancement. */
7905 CMCHKUNPK(cmUnpkRgrSiCfg, ¶m->siReCfg, mBuf);
7906 #endif /* RGR_SI_SCH */
7907 CMCHKUNPK(SUnpkU16, ¶m->t300TmrVal, mBuf);
7908 /* LTE_ADV_FLAG_REMOVED_START */
7909 CMCHKUNPK(cmUnpkRgrCellLteAdvancedFeatureCfg, ¶m->rgrLteAdvCfg, mBuf);
7910 /* LTE_ADV_FLAG_REMOVED_END */
7911 CMCHKUNPK(SUnpkU8, ¶m->isAutoCfgModeEnb, mBuf);
7912 CMCHKUNPK(SUnpkU8, ¶m->isDynCfiEnb, mBuf);
7913 CMCHKUNPK(cmUnpkRgrCellCsgParamCfg, ¶m->csgParamCfg, mBuf);
7914 CMCHKUNPK(cmUnpkRgrCellCntrlCmdCfg, ¶m->cntrlCmdCfg, mBuf);
7921 /***********************************************************
7923 * Func : cmPkRgrUeRecfg
7926 * Desc : UE reconfiguration info
7935 **********************************************************/
7937 PUBLIC S16 cmPkRgrUeRecfg
7943 PUBLIC S16 cmPkRgrUeRecfg(param, mBuf)
7949 TRC3(cmPkRgrUeRecfg)
7951 /* Note: As we add more members to emtcUeRecfg,
7952 create a new function for pkUnpk */
7953 CMCHKPK(SPkU8, param->emtcUeRecfg.isHdFddEnbld, mBuf);
7955 CMCHKPK(SPkU8, param->csgMmbrSta, mBuf);
7957 CMCHKPK(SPkU32, param->accessStratumRls, mBuf);
7959 CMCHKPK(SPkU8, param->simulAckNackCQIFormat3, mBuf);
7960 CMCHKPK(cmPkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
7961 CMCHKPK(cmPkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
7963 /* LTE_ADV_FLAG_REMOVED_START */
7964 CMCHKPK(SPkU8, param->ueLteAdvCfg.isUeCellEdge, mBuf);
7965 CMCHKPK(SPkU8, param->ueLteAdvCfg.isAbsUe, mBuf);
7966 CMCHKPK(SPkU32, param->ueLteAdvCfg.pres, mBuf);
7967 /* LTE_ADV_FLAG_REMOVED_END */
7968 /*ccpu00130497: Removed the duplicate packing*/
7970 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
7972 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
7973 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
7975 CMCHKPK(cmPkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
7978 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
7979 CMCHKPK(cmPkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
7981 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
7983 CMCHKPK(SPkU8, param->isHdFddEnbld, mBuf);
7987 CMCHKPK(cmPkRgrUeSrCfg, ¶m->srCfg, mBuf);
7988 CMCHKPK(cmPkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
7989 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
7992 /*rgr_c_001.main_7 - Added support for SPS*/
7993 CMCHKPK(cmPkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
7994 CMCHKPK(cmPkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
7996 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
7997 CMCHKPK(SPkU32, param->ueCatEnum, mBuf);
7999 CMCHKPK(cmPkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8000 CMCHKPK(cmPkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
8001 CMCHKPK(cmPkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
8002 CMCHKPK(cmPkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
8003 CMCHKPK(SPkU8, param->isTtiBundlEnabled, mBuf);
8004 /*rgr_c_001.main_9 ADD added changes for DRX*/
8006 /* Anshika - Pack only if DRX is enabled */
8007 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
8009 CMCHKPK(cmPkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
8011 CMCHKPK(SPkU8, param->ueDrxRecfg.isDrxEnabled, mBuf); /* This has to be packed even if
8013 CMCHKPK(cmPkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
8015 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
8017 CMCHKPK(cmPkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
8019 CMCHKPK(cmPkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
8020 CMCHKPK(cmPkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
8021 CMCHKPK(cmPkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
8024 CMCHKPK(cmPkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
8027 CMCHKPK(cmPkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
8028 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
8029 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
8030 /* LTE_ADV_FLAG_REMOVED_START */
8031 /* KW fix for LTE_ADV */
8032 CMCHKPK(SPkU32, param->ueRecfgTypes, mBuf);
8033 /* LTE_ADV_FLAG_REMOVED_END */
8034 CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf);
8035 CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf);
8036 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8042 /***********************************************************
8044 * Func : cmUnpkRgrUeRecfg
8047 * Desc : UE reconfiguration info
8056 **********************************************************/
8058 PUBLIC S16 cmUnpkRgrUeRecfg
8064 PUBLIC S16 cmUnpkRgrUeRecfg(param, mBuf)
8071 TRC3(cmUnpkRgrUeRecfg)
8073 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8074 CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf);
8075 CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf);
8076 /* LTE_ADV_FLAG_REMOVED_START */
8077 /*rgr_c_001.main_9: changing ueRecfgTypes to U32 */
8078 /* KW fix for LTE_ADV */
8079 CMCHKUNPK(SUnpkU32, ¶m->ueRecfgTypes, mBuf);
8080 /* LTE_ADV_FLAG_REMOVED_END */
8081 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
8083 CMCHKUNPK(cmUnpkRgrUeAprdDlCqiCfg, ¶m->aprdDlCqiRecfg, mBuf);
8086 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->prdDlCqiRecfg, mBuf);
8089 CMCHKUNPK(cmUnpkRgrUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf);
8090 CMCHKUNPK(cmUnpkRgrUeQosCfg, ¶m->ueQosRecfg, mBuf);
8091 CMCHKUNPK(cmUnpkRgrUeTaTmrCfg, ¶m->ueTaTmrRecfg, mBuf);
8093 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
8095 CMCHKUNPK(cmUnpkRgrUeBsrTmrCfg, ¶m->ueBsrTmrRecfg, mBuf);
8097 CMCHKUNPK(cmUnpkRgrUeUlPwrCfg, ¶m->ueUlPwrRecfg, mBuf);
8098 /*rgr_c_001.main_9 ADD added changes for DRX*/
8100 /* Anshika - Unpack only if DRX is enabled */
8101 CMCHKUNPK(SUnpkU8, ¶m->ueDrxRecfg.isDrxEnabled, mBuf);
8102 if(TRUE == param->ueDrxRecfg.isDrxEnabled)
8104 CMCHKUNPK(cmUnpkRgrUeDrxCfg, ¶m->ueDrxRecfg, mBuf);
8106 CMCHKUNPK(SUnpkU8, ¶m->isTtiBundlEnabled, mBuf);
8107 CMCHKUNPK(cmUnpkRgrUeAckNackRepCfg, ¶m->ueAckNackRecfg, mBuf);
8108 CMCHKUNPK(cmUnpkRgrUeCapCfg, ¶m->ueCapRecfg, mBuf);
8109 CMCHKUNPK(cmUnpkRgrUeMeasGapCfg, ¶m->ueMeasGapRecfg, mBuf);
8110 CMCHKUNPK(cmUnpkRgrCodeBookRstCfg, ¶m->ueCodeBookRstRecfg, mBuf);
8111 /* rgr_c_001.main_7 - Changes for UE category Reconfiguration */
8112 CMCHKUNPK(SUnpkU32, (U32 *)&tmpEnum, mBuf);
8113 param->ueCatEnum = (CmLteUeCategory) tmpEnum;
8114 CMCHKUNPK(cmUnpkRgrUeTxAntSelCfg, ¶m->ulTxAntSel, mBuf);
8115 /*rgr_c_001.main_7 - Added support for SPS*/
8116 CMCHKUNPK(cmUnpkRgrUeSpsCfg, ¶m->ueSpsRecfg, mBuf);
8118 /* rgr_c_001.main_8. Added changes of TFU_UPGRADE */
8120 CMCHKUNPK(cmUnpkRgrUePrdDlCqiCfg, ¶m->cqiCfg, mBuf);
8121 CMCHKUNPK(cmUnpkRgrUeUlSrsCfg, ¶m->srsCfg, mBuf);
8122 CMCHKUNPK(cmUnpkRgrUeSrCfg, ¶m->srCfg, mBuf);
8125 /*rgr_c_001.main_9 ADD added changes for HDFDD*/
8127 CMCHKUNPK(SUnpkU8, ¶m->isHdFddEnbld, mBuf);
8130 CMCHKUNPK(cmUnpkRgrUePuschDedCfg, ¶m->puschDedCfg, mBuf);
8132 /* rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
8133 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
8135 CMCHKUNPK(cmUnpkRgrUeCqiReptCfg, ¶m->ueCqiReptCfg, mBuf);
8138 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
8141 /* LTE_ADV_FLAG_REMOVED_START */
8142 CMCHKUNPK(SUnpkU32, ¶m->ueLteAdvCfg.pres, mBuf);
8143 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isAbsUe, mBuf);
8144 CMCHKUNPK(SUnpkU8, ¶m->ueLteAdvCfg.isUeCellEdge, mBuf);
8145 /* LTE_ADV_FLAG_REMOVED_END */
8147 CMCHKUNPK(cmUnpkRgrUeSecCellInfo, ¶m->ueSCellCfgInfo,mBuf);
8148 CMCHKUNPK(cmUnpkRgrUeSCellAckPucchCfg, ¶m->sCellAckN1ResCfg,mBuf);
8149 CMCHKUNPK(SUnpkU8, ¶m->simulAckNackCQIFormat3, mBuf);
8151 CMCHKUNPK(SUnpkU32, (U32 *)¶m->accessStratumRls, mBuf);
8153 CMCHKUNPK(SUnpkU8, ¶m->csgMmbrSta, mBuf);
8155 CMCHKPK(SUnpkU8, ¶m->emtcUeRecfg.isHdFddEnbld, mBuf);
8163 /***********************************************************
8165 * Func : cmPkRgrLchRecfg
8168 * Desc : Logical channel reconfiguration info for dedicated channels only
8177 **********************************************************/
8179 PUBLIC S16 cmPkRgrLchRecfg
8185 PUBLIC S16 cmPkRgrLchRecfg(param, mBuf)
8191 TRC3(cmPkRgrLchRecfg)
8192 /*rgr_c_001.main_7 - Added support for SPS*/
8193 CMCHKPK(SPkU8, param->lcgId, mBuf);
8195 CMCHKPK(cmPkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8196 CMCHKPK(cmPkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8198 CMCHKPK(cmPkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8199 CMCHKPK(cmPkLteLcId, param->lcId, mBuf);
8200 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8201 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8207 /***********************************************************
8209 * Func : cmUnpkRgrLchRecfg
8212 * Desc : Logical channel reconfiguration info for dedicated channels only
8221 **********************************************************/
8223 PUBLIC S16 cmUnpkRgrLchRecfg
8229 PUBLIC S16 cmUnpkRgrLchRecfg(param, mBuf)
8235 TRC3(cmUnpkRgrLchRecfg)
8237 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8238 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8239 CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf);
8240 CMCHKUNPK(cmUnpkRgrLchQosCfg, ¶m->dlRecfg.dlQos, mBuf);
8241 /*rgr_c_001.main_7 - Added support for SPs*/
8242 CMCHKUNPK(cmUnpkRgrLchSpsCfg, ¶m->dlRecfg.dlSpsRecfg, mBuf);
8244 CMCHKUNPK(cmUnpkRgrUlLchQciCfg, ¶m->ulLchQciInfo, mBuf);
8245 CMCHKUNPK(SUnpkU8, ¶m->lcgId, mBuf);
8251 PUBLIC S16 cmPkRgrLcgRecfg
8257 PUBLIC S16 cmPkRgrLcgRecfg(param, mBuf)
8265 TRC3(cmPkRgrLcgRecfg)
8267 CMCHKPK(SPkU32, param->ulRecfg.mbr, mBuf);
8268 CMCHKPK(SPkU32, param->ulRecfg.gbr, mBuf);
8270 for (i = param->ulRecfg.numLch - 1; i >= 0; i--)
8272 CMCHKPK(cmPkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8274 CMCHKPK(SPkU8, param->ulRecfg.numLch, mBuf);
8276 CMCHKPK(SPkU8, param->ulRecfg.lcgId, mBuf);
8277 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8278 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8284 PUBLIC S16 cmUnpkRgrLcgRecfg
8290 PUBLIC S16 cmUnpkRgrLcgRecfg(param, mBuf)
8298 TRC3(cmUnpkRgrLcgRecfg)
8300 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8301 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8302 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.lcgId, mBuf);
8305 CMCHKUNPK(SUnpkU8, ¶m->ulRecfg.numLch, mBuf);
8306 for (i = 0; i < param->ulRecfg.numLch; i++)
8308 CMCHKUNPK(cmUnpkRgrUlLchCfg, ¶m->ulRecfg.lchUlCfg[i], mBuf);
8311 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.gbr, mBuf);
8312 CMCHKUNPK(SUnpkU32, ¶m->ulRecfg.mbr, mBuf);
8319 /***********************************************************
8321 * Func : cmPkRgrRecfg
8324 * Desc : Basic reconfiguration structure at RRM
8333 **********************************************************/
8335 PUBLIC S16 cmPkRgrRecfg
8341 PUBLIC S16 cmPkRgrRecfg(param, mBuf)
8349 switch(param->recfgType) {
8351 CMCHKPK(cmPkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8354 CMCHKPK(cmPkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8357 CMCHKPK(cmPkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8360 CMCHKPK(cmPkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8365 CMCHKPK(SPkU8, param->recfgType, mBuf);
8371 /***********************************************************
8373 * Func : cmUnpkRgrRecfg
8376 * Desc : Basic reconfiguration structure at RRM
8385 **********************************************************/
8387 PUBLIC S16 cmUnpkRgrRecfg
8393 PUBLIC S16 cmUnpkRgrRecfg(param, mBuf)
8399 TRC3(cmUnpkRgrRecfg)
8401 CMCHKUNPK(SUnpkU8, ¶m->recfgType, mBuf);
8402 switch(param->recfgType) {
8404 CMCHKUNPK(cmUnpkRgrCellRecfg, ¶m->u.cellRecfg, mBuf);
8407 CMCHKUNPK(cmUnpkRgrUeRecfg, ¶m->u.ueRecfg, mBuf);
8410 CMCHKUNPK(cmUnpkRgrLchRecfg, ¶m->u.lchRecfg, mBuf);
8413 CMCHKUNPK(cmUnpkRgrLcgRecfg, ¶m->u.lcgRecfg, mBuf);
8422 /***********************************************************
8424 * Func : cmPkRgrUeDlSecCellRelInfo
8427 * Desc : DL Secondary Cell information of the UE
8436 **********************************************************/
8438 PUBLIC S16 cmPkRgrUeDlSecCellRelInfo
8440 RgrUeDlSecCellRelInfo *param,
8444 PRIVATE S16 cmPkRgrUeDlSecCellRelInfo(param, mBuf)
8445 RgrUeDlSecCellRelInfo *param;
8449 CMCHKPK(SPkU16, param->sCellId, mBuf);
8450 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
8454 /***********************************************************
8456 * Func : cmPkRgrUeSecCellRelInfo
8459 * Desc : Secondary Cell Delete information of the UE
8468 **********************************************************/
8470 PUBLIC S16 cmPkRgrUeSecCellRelInfo
8472 RgrUeSecCellRelInfo *param,
8476 PUBLIC S16 cmPkRgrUeSecCellRelInfo(param, mBuf)
8477 RgrUeSecCellRelInfo *param;
8482 for(idx = param->numSCells - 1; idx >= 0; idx--)
8484 CMCHKPK(cmPkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[(U8)idx],mBuf);
8486 CMCHKPK(SPkU8, param->numSCells, mBuf);
8493 /***********************************************************
8498 * Desc : Basic Delete info for MAC
8507 **********************************************************/
8509 PUBLIC S16 cmPkRgrDel
8515 PUBLIC S16 cmPkRgrDel(param, mBuf)
8523 switch(param->delType) {
8525 CMCHKPK(SPkU8, param->u.lcgDel.lcgId, mBuf);
8526 CMCHKPK(cmPkLteRnti, param->u.lcgDel.crnti, mBuf);
8527 CMCHKPK(cmPkLteCellId, param->u.lcgDel.cellId, mBuf);
8530 CMCHKPK(SPkU8, param->u.lchDel.lcgId, mBuf);
8531 CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf);
8532 CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf);
8533 CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf);
8536 CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf);
8537 CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf);
8540 CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf);
8543 case RGR_SCELL_UE_CFG:
8544 CMCHKPK(cmPkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8545 CMCHKPK(SPkU32, param->u.ueScellRel.ueDelTypes, mBuf);
8546 CMCHKPK(cmPkLteRnti, param->u.ueScellRel.crnti, mBuf);
8547 CMCHKPK(cmPkLteCellId, param->u.ueScellRel.cellId, mBuf);
8553 CMCHKPK(SPkU8, param->delType, mBuf);
8560 /***********************************************************
8562 * Func : cmUnpkRgrUeDlSecCellRelInfo
8565 * Desc : DL Secondary Cell information of the UE
8574 **********************************************************/
8576 PUBLIC S16 cmUnpkRgrUeDlSecCellRelInfo
8578 RgrUeDlSecCellRelInfo *param,
8582 PRIVATE S16 cmUnpkRgrUeDlSecCellRelInfo(param, mBuf)
8583 RgrUeDlSecCellRelInfo *param;
8587 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8588 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
8593 /***********************************************************
8595 * Func : cmUnpkRgrUeSecCellRelInfo
8598 * Desc : Secondary Cell information of the UE
8607 **********************************************************/
8609 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo
8611 RgrUeSecCellRelInfo *param,
8615 PUBLIC S16 cmUnpkRgrUeSecCellRelInfo(param, mBuf)
8616 RgrUeSecCellRelInfo *param;
8622 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
8624 for(idx = 0; idx < param->numSCells;idx++)
8626 CMCHKUNPK(cmUnpkRgrUeDlSecCellRelInfo, ¶m->ueSCellRelDedCfg[idx],mBuf);
8632 /***********************************************************
8634 * Func : cmUnpkRgrDel
8637 * Desc : Basic Delete info for MAC
8646 **********************************************************/
8648 PUBLIC S16 cmUnpkRgrDel
8654 PUBLIC S16 cmUnpkRgrDel(param, mBuf)
8662 CMCHKUNPK(SUnpkU8, ¶m->delType, mBuf);
8663 switch(param->delType) {
8665 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf);
8668 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf);
8669 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf);
8672 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf);
8673 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf);
8674 CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf);
8675 CMCHKUNPK(SUnpkU8, ¶m->u.lchDel.lcgId, mBuf);
8678 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lcgDel.cellId, mBuf);
8679 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lcgDel.crnti, mBuf);
8680 CMCHKUNPK(SUnpkU8, ¶m->u.lcgDel.lcgId, mBuf);
8683 case RGR_SCELL_UE_CFG:
8684 CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueScellRel.cellId, mBuf);
8685 CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueScellRel.crnti, mBuf);
8686 CMCHKUNPK(SUnpkU32, ¶m->u.ueScellRel.ueDelTypes, mBuf);
8687 CMCHKUNPK(cmUnpkRgrUeSecCellRelInfo, ¶m->u.ueScellRel.ueSCellRelCfgInfo, mBuf);
8695 /***********************************************************
8697 * Func : cmPkRgrSonPrbCfg
8700 * Desc : SON PRB Configuration info for MAC
8709 **********************************************************/
8711 PUBLIC S16 cmPkRgrSonPrbCfg
8717 PUBLIC S16 cmPkRgrSonPrbCfg(param, mBuf)
8724 for(count = RGR_SCH_MAX_PA_PER_PRB - 1; count >= 0; count --)
8726 CMCHKPK(SPkU32, param->paLevelPerPrb[count], mBuf);
8728 for(count = param->numCellCentreUEs - 1; count >= 0; count --)
8730 CMCHKPK(cmPkLteRnti, param->cellCentreUe[count], mBuf);
8732 for(count = param->numCellEdgeUEs - 1; count >= 0; count --)
8734 CMCHKPK(cmPkLteRnti, param->cellEdgeUe[count], mBuf);
8736 CMCHKPK(SPkU8, param->numCellCentreUEs, mBuf);
8737 CMCHKPK(SPkU8, param->numCellEdgeUEs, mBuf);
8738 CMCHKPK(SPkU8, param->isSonIcicEnable, mBuf);
8742 /***********************************************************
8744 * Func : cmUnpkRgrSon
8747 * Desc : SON configuration info for MAC
8756 **********************************************************/
8758 PUBLIC S16 cmUnpkRgrSonPrbCfg
8764 PUBLIC S16 cmUnpkRgrSonPrbCfg(param, mBuf)
8770 TRC3(cmUnpkRgrSonPrbCfg)
8771 CMCHKUNPK(SUnpkU8, ¶m->isSonIcicEnable, mBuf);
8772 CMCHKUNPK(SUnpkU8, ¶m->numCellEdgeUEs, mBuf);
8773 CMCHKUNPK(SUnpkU8, ¶m->numCellCentreUEs, mBuf);
8774 for (count = 0; count < param->numCellEdgeUEs; count++)
8776 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellEdgeUe[count], mBuf);
8778 for (count = 0; count < param->numCellCentreUEs; count++)
8780 CMCHKUNPK(cmUnpkLteRnti, ¶m->cellCentreUe[count], mBuf);
8782 for(count = 0; count < RGR_SCH_MAX_PA_PER_PRB; count ++)
8784 CMCHKUNPK(SUnpkU32,(U32 *) ¶m->paLevelPerPrb[count], mBuf);
8788 /***********************************************************
8790 * Func : cmPkRgrSonCfg
8793 * Desc : SON Configuration info for MAC
8802 **********************************************************/
8804 PUBLIC S16 cmPkRgrSonCfg
8810 PUBLIC S16 cmPkRgrSonCfg(param, mBuf)
8817 switch(param->cfgType)
8819 case RGR_SON_PRB_CFG :
8820 CMCHKPK(cmPkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8825 CMCHKPK(SPkU32, param->cfgType, mBuf);
8829 /***********************************************************
8831 * Func : cmUnpkRgrSon
8834 * Desc : SON configuration info for MAC
8843 **********************************************************/
8845 PUBLIC S16 cmUnpkRgrSonCfg
8851 PUBLIC S16 cmUnpkRgrSonCfg(param, mBuf)
8857 TRC3(cmUnpkRgrSonCfg)
8858 CMCHKUNPK(SUnpkU32, (U32 *)¶m->cfgType, mBuf);
8859 switch(param->cfgType)
8861 case RGR_SON_PRB_CFG :
8863 CMCHKUNPK(cmUnpkRgrSonPrbCfg, ¶m->u.prbCfg, mBuf);
8873 /***********************************************************
8878 * Desc : UE RESET info for MAC
8887 **********************************************************/
8889 PUBLIC S16 cmPkRgrRst
8895 PUBLIC S16 cmPkRgrRst(param, mBuf)
8903 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
8904 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
8910 /***********************************************************
8912 * Func : cmUnpkRgrRst
8915 * Desc : UE RESET info for MAC
8924 **********************************************************/
8926 PUBLIC S16 cmUnpkRgrRst
8932 PUBLIC S16 cmUnpkRgrRst(param, mBuf)
8940 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
8941 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
8945 /***********************************************************
8947 * Func : cmUnPkRgrSCellActDeactInfo
8950 * Desc : SCell Activation information of the UE
8959 **********************************************************/
8961 PRIVATE S16 cmUnPkRgrSCellActDeactInfo
8963 RgrSCellActDeactInfo *param,
8967 PRIVATE S16 cmUnPkRgrSCellActInfo(param, mBuf)
8968 RgrSCellActDeactInfo *param;
8972 TRC3(cmUnPkRgrSCellActDeactInfo)
8974 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
8978 /***********************************************************
8980 * Func : cmUnPkRgrSCellActDeactEvnt
8983 * Desc : SCell Activation Configuration structure to SCH
8992 **********************************************************/
8994 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt
8996 RgrSCellActDeactEvnt *param,
9000 PUBLIC S16 cmUnPkRgrSCellActDeactEvnt(param, mBuf)
9001 RgrSCellActDeactEvnt *param;
9005 TRC3(cmUnPkRgrSCellActDeactEvnt)
9009 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
9010 CMCHKUNPK(SUnpkU8, ¶m->numOfSCells, mBuf);
9012 for(idx = 0; idx < param->numOfSCells;idx++)
9014 CMCHKUNPK(cmUnPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[idx],mBuf);
9021 /***********************************************************
9023 * Func : cmPkRgrSCellActInfo
9026 * Desc : SCell Activation information of the UE
9035 **********************************************************/
9037 PRIVATE S16 cmPkRgrSCellActDeactInfo
9039 RgrSCellActDeactInfo *param,
9043 PRIVATE S16 cmPkRgrSCellActDeactInfo(param, mBuf)
9044 RgrSCellActDeactInfo *param;
9048 TRC3(cmPkRgrSCellActDeactInfo)
9050 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
9055 /***********************************************************
9057 * Func : cmPkRgrSCellActDeactEvnt
9060 * Desc : Basic Configuration structure at SCH
9069 **********************************************************/
9071 PUBLIC S16 cmPkRgrSCellActDeactEvnt
9073 RgrSCellActDeactEvnt *param,
9077 PUBLIC S16 cmPkRgrSCellActDeactEvnt(param, mBuf)
9078 RgrSCellActDeactEvnt *param;
9083 TRC3(cmPkRgrSCellActDeactEvnt)
9086 for(idx = param->numOfSCells - 1; idx >= 0; idx--)
9088 CMCHKPK(cmPkRgrSCellActDeactInfo, ¶m->sCellActDeactInfo[(U8)idx], mBuf);
9091 CMCHKPK(SPkU8, param->numOfSCells, mBuf);
9092 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
9098 #endif /* LTE_ADV */
9100 /***********************************************************
9102 * Func : cmPkRgrCfgReqInfo
9105 * Desc : Basic RGR configuration/reconfiguration info at RRM
9114 **********************************************************/
9116 PUBLIC S16 cmPkRgrCfgReqInfo
9118 RgrCfgReqInfo *param,
9122 PUBLIC S16 cmPkRgrCfgReqInfo(param, mBuf)
9123 RgrCfgReqInfo *param;
9128 TRC3(cmPkRgrCfgReqInfo)
9130 switch(param->action) {
9132 CMCHKPK(cmPkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9135 CMCHKPK(cmPkRgrRst, ¶m->u.rstInfo, mBuf);
9138 CMCHKPK(cmPkRgrDel, ¶m->u.delInfo, mBuf);
9141 CMCHKPK(cmPkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9144 CMCHKPK(cmPkRgrCfg, ¶m->u.cfgInfo, mBuf);
9148 case RGR_SCELL_DEACT:
9149 case RGR_SCELL_READY:
9150 CMCHKPK(cmPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9156 CMCHKPK(SPkU8, param->action, mBuf);
9162 /***********************************************************
9164 * Func : cmUnpkRgrCfgReqInfo
9167 * Desc : Basic RGR configuration/reconfiguration info at RRM
9176 **********************************************************/
9178 PUBLIC S16 cmUnpkRgrCfgReqInfo
9180 RgrCfgReqInfo *param,
9184 PUBLIC S16 cmUnpkRgrCfgReqInfo(param, mBuf)
9185 RgrCfgReqInfo *param;
9190 TRC3(cmUnpkRgrCfgReqInfo)
9192 CMCHKUNPK(SUnpkU8, ¶m->action, mBuf);
9193 switch(param->action) {
9195 CMCHKUNPK(cmUnpkRgrCfg, ¶m->u.cfgInfo, mBuf);
9198 CMCHKUNPK(cmUnpkRgrRecfg, ¶m->u.recfgInfo, mBuf);
9201 CMCHKUNPK(cmUnpkRgrDel, ¶m->u.delInfo, mBuf);
9204 CMCHKUNPK(cmUnpkRgrRst, ¶m->u.rstInfo, mBuf);
9207 CMCHKUNPK(cmUnpkRgrSonCfg, ¶m->u.sonCfg, mBuf);
9211 case RGR_SCELL_DEACT:
9212 case RGR_SCELL_READY:
9213 CMCHKUNPK(cmUnPkRgrSCellActDeactEvnt, ¶m->u.sCellActDeactEvnt, mBuf);
9215 #endif /* LTE_ADV */
9222 /* rgr_c_001.main_5: ccpu00112398: Added periodicBSR-timer and
9224 /***********************************************************
9226 * Func : cmPkRgrUeBsrTmrCfg
9229 * Desc : BSR timer configuration per UE
9238 **********************************************************/
9240 PUBLIC S16 cmPkRgrUeBsrTmrCfg
9242 RgrUeBsrTmrCfg *param,
9246 PUBLIC S16 cmPkRgrUeBsrTmrCfg(param, mBuf)
9247 RgrUeBsrTmrCfg *param;
9252 TRC3(cmPkRgrUeBsrTmrCfg)
9254 CMCHKPK(SPkU16, param->prdBsrTmr, mBuf);
9255 CMCHKPK(SPkU16, param->retxBsrTmr, mBuf);
9256 CMCHKPK(SPkU8, param->isPrdBsrTmrPres, mBuf);
9260 /***********************************************************
9262 * Func : cmUnpkRgrUeBsrTmrCfg
9265 * Desc : BSR timer configuration per UE
9274 **********************************************************/
9276 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg
9278 RgrUeBsrTmrCfg *param,
9282 PUBLIC S16 cmUnpkRgrUeBsrTmrCfg(param, mBuf)
9283 RgrUeBsrTmrCfg *param;
9288 TRC3(cmUnpkRgrUeBsrTmrCfg)
9290 CMCHKUNPK(SUnpkU8, ¶m->isPrdBsrTmrPres, mBuf);
9291 CMCHKUNPK(SUnpkU16, ¶m->retxBsrTmr, mBuf);
9292 CMCHKUNPK(SUnpkU16, ¶m->prdBsrTmr, mBuf);
9296 /* rgr_c_001.main_4-ADD-Added for SI Enhancement. */
9298 /***********************************************************
9300 * Func : cmPkRgrSiCfgReq
9303 * Desc : SI Configuration Request from RRM to MAC for
9313 **********************************************************/
9315 PUBLIC S16 cmPkRgrSiCfgReq
9319 RgrCfgTransId transId,
9320 RgrSiCfgReqInfo * cfgReqInfo
9323 PUBLIC S16 cmPkRgrSiCfgReq(pst, spId, transId, cfgReqInfo)
9326 RgrCfgTransId transId;
9327 RgrSiCfgReqInfo * cfgReqInfo;
9330 Buffer *mBuf = NULLP;
9332 TRC3(cmPkRgrSiCfgReq)
9334 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9336 #if (ERRCLASS & ERRCLS_ADD_RES)
9337 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9338 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9339 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
9341 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9342 sizeof(RgrSiCfgReqInfo));
9345 if (cmPkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9346 #if (ERRCLASS & ERRCLS_ADD_RES)
9347 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9348 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9349 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
9351 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9352 sizeof(RgrSiCfgReqInfo));
9356 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
9357 #if (ERRCLASS & ERRCLS_ADD_RES)
9358 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9359 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9360 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
9362 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9363 sizeof(RgrSiCfgReqInfo));
9367 if (SPkS16(spId, mBuf) != ROK) {
9368 #if (ERRCLASS & ERRCLS_ADD_RES)
9369 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9370 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9371 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
9373 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9374 sizeof(RgrSiCfgReqInfo));
9378 if (SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9379 sizeof(RgrSiCfgReqInfo)) != ROK) {
9380 #if (ERRCLASS & ERRCLS_ADD_RES)
9381 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9382 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9383 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
9389 pst->event = (Event) EVTRGRSICFGREQ;
9390 RETVALUE(SPstTsk(pst,mBuf));
9393 /***********************************************************
9395 * Func : cmUnpkRgrSiCfgReq
9398 * Desc : SI Configuration Request from RRM to MAC for
9408 **********************************************************/
9410 PUBLIC S16 cmUnpkRgrSiCfgReq
9417 PUBLIC S16 cmUnpkRgrSiCfgReq(func, pst, mBuf)
9424 RgrCfgTransId transId;
9425 RgrSiCfgReqInfo *cfgReqInfo;
9427 TRC3(cmUnpkRgrSiCfgReq)
9429 if (SUnpkS16(&spId, 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)ERGR050, (ErrVal)0, "Packing failed");
9438 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
9440 #if (ERRCLASS & ERRCLS_ADD_RES)
9441 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9442 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9443 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
9447 if ((SGetSBuf(pst->region, pst->pool, (Data **)&cfgReqInfo,
9448 sizeof(RgrSiCfgReqInfo))) != ROK) {
9449 #if (ERRCLASS & ERRCLS_ADD_RES)
9450 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9451 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9452 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
9457 cmMemset((U8 *)cfgReqInfo, 0, sizeof(RgrSiCfgReqInfo));
9458 if (pst->selector == RGR_SEL_LC)
9459 if (cmUnpkRgrSiCfgReqInfo(cfgReqInfo, mBuf) != ROK) {
9460 SPutSBuf(pst->region, pst->pool, (Data *)cfgReqInfo,
9461 sizeof(RgrSiCfgReqInfo));
9463 #if (ERRCLASS & ERRCLS_ADD_RES)
9464 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9465 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9466 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
9472 RETVALUE((*func)(pst, spId, transId, cfgReqInfo));
9475 /***********************************************************
9477 * Func : cmPkRgrSiCfgReqInfo
9480 * Desc : Basic SI configuration/reconfiguration info at RRM
9489 **********************************************************/
9491 PUBLIC S16 cmPkRgrSiCfgReqInfo
9493 RgrSiCfgReqInfo *param,
9497 PUBLIC S16 cmPkRgrSiCfgReqInfo(param, mBuf)
9498 RgrSiCfgReqInfo *param;
9502 /* ccpu00111328: S16 is renamed as MsgLen */
9505 TRC3(cmPkRgrSiCfgReqInfo)
9507 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9508 CMCHKPK(SPkS32, param->cfgType, mBuf);
9509 CMCHKPK(SPkU8, param->siId, mBuf);
9511 if(NULLP != param->pdu)
9513 if (SFndLenMsg(param->pdu, &msgLen) != ROK)
9515 if (SCatMsg(mBuf, param->pdu, M1M2) != ROK)
9517 SPutMsg(param->pdu);
9518 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9523 CMCHKPK(cmPkMsgLen, 0, mBuf);
9529 /***********************************************************
9531 * Func : cmUnpkRgrSiCfgReqInfo
9534 * Desc : Basic SI configuration/reconfiguration info at RRM
9543 **********************************************************/
9545 PUBLIC S16 cmUnpkRgrSiCfgReqInfo
9547 RgrSiCfgReqInfo *param,
9551 PUBLIC S16 cmUnpkRgrSiCfgReqInfo(param, mBuf)
9552 RgrSiCfgReqInfo *param;
9556 MsgLen msgLen, totalMsgLen;
9557 /*Merge from Mohit Changes*/
9560 TRC3(cmUnpkRgrSiCfgReqInfo)
9562 SFndLenMsg(mBuf, &msgLen);
9565 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9569 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9571 if (SSegMsg(mBuf, totalMsgLen-msgLen, ¶m->pdu) != ROK)
9580 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9581 /*CMCHKUNPK(SUnpkS32, (S32 *)¶m->cfgType, mBuf);*/
9582 /*Merge from Mohit Changes*/
9583 CMCHKUNPK(SUnpkS32,(S32 *)&cfgType, mBuf);
9584 param->cfgType = (RgrSiCfgType) cfgType;
9585 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9592 /***********************************************************
9594 * Func : cmPkRgrWarningSiCfgReq
9597 * Desc : SI Configuration Request from RRM to MAC for
9598 * configuring warning SI
9607 **********************************************************/
9609 PUBLIC S16 cmPkRgrWarningSiCfgReq
9613 RgrCfgTransId transId,
9614 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo
9617 PUBLIC S16 cmPkRgrWarningSiCfgReq(pst, spId, transId, warningSiCfgReqInfo)
9620 RgrCfgTransId transId;
9621 RgrWarningSiCfgReqInfo * warningSiCfgReqInfo;
9624 Buffer *mBuf = NULLP;
9626 TRC3(cmPkRgrWarningSiCfgReq)
9628 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9630 #if (ERRCLASS & ERRCLS_ADD_RES)
9631 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9632 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9633 (ErrVal)ERGR061, (ErrVal)0, "Packing failed");
9635 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9636 sizeof(RgrWarningSiCfgReqInfo));
9640 if (cmPkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9642 #if (ERRCLASS & ERRCLS_ADD_RES)
9643 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9644 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9645 (ErrVal)ERGR062, (ErrVal)0, "Packing failed");
9647 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9648 sizeof(RgrWarningSiCfgReqInfo));
9653 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9655 #if (ERRCLASS & ERRCLS_ADD_RES)
9656 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9657 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9658 (ErrVal)ERGR063, (ErrVal)0, "Packing failed");
9660 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9661 sizeof(RgrWarningSiCfgReqInfo));
9666 if (SPkS16(spId, mBuf) != ROK)
9668 #if (ERRCLASS & ERRCLS_ADD_RES)
9669 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9670 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9671 (ErrVal)ERGR064, (ErrVal)0, "Packing failed");
9673 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9674 sizeof(RgrWarningSiCfgReqInfo));
9679 /* if the application wants to retain this structure, the below
9680 * code should be removed */
9681 if (SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9682 sizeof(RgrWarningSiCfgReqInfo)) != ROK)
9684 #if (ERRCLASS & ERRCLS_ADD_RES)
9685 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9686 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9687 (ErrVal)ERGR065, (ErrVal)0, "Packing failed");
9693 pst->event = (Event) EVTRGRWARNINGSICFGREQ;
9694 RETVALUE(SPstTsk(pst,mBuf));
9695 }/*cmPkRgrWarningSiCfgReq*/
9698 /***********************************************************
9700 * Func : cmUnpkRgrWarningSiCfgReq
9703 * Desc : SI Configuration Request from RRM to MAC for
9704 * configuring warning SI
9713 **********************************************************/
9715 PUBLIC S16 cmUnpkRgrWarningSiCfgReq
9717 RgrWarningSiCfgReq func,
9722 PUBLIC S16 cmUnpkRgrWarningSiCfgReq(func, pst, mBuf)
9723 RgrWarningSiCfgReq func;
9729 RgrCfgTransId transId;
9730 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo;
9732 TRC3(cmUnpkRgrWarningSiCfgReq)
9734 if (SUnpkS16(&spId, mBuf) != ROK)
9737 #if (ERRCLASS & ERRCLS_ADD_RES)
9738 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9739 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9740 (ErrVal)ERGR066, (ErrVal)0, "Packing failed");
9745 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
9748 #if (ERRCLASS & ERRCLS_ADD_RES)
9749 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9750 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9751 (ErrVal)ERGR067, (ErrVal)0, "Packing failed");
9756 if ((SGetSBuf(pst->region, pst->pool, (Data **)&warningSiCfgReqInfo,
9757 sizeof(RgrWarningSiCfgReqInfo))) != ROK)
9759 #if (ERRCLASS & ERRCLS_ADD_RES)
9760 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9761 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9762 (ErrVal)ERGR068, (ErrVal)0, "Packing failed");
9769 if (pst->selector == RGR_SEL_LC)
9771 if (cmUnpkRgrWarningSiCfgReqInfo(pst, warningSiCfgReqInfo, mBuf) != ROK)
9773 SPutSBuf(pst->region, pst->pool, (Data *)warningSiCfgReqInfo,
9774 sizeof(RgrWarningSiCfgReqInfo));
9776 #if (ERRCLASS & ERRCLS_ADD_RES)
9777 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9778 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9779 (ErrVal)ERGR069, (ErrVal)0, "Packing failed");
9786 RETVALUE((*func)(pst, spId, transId, warningSiCfgReqInfo));
9787 } /* cmUnpkRgrWarningSiCfgReq */
9790 /***********************************************************
9792 * Func : cmPkRgrWarningSiCfgReqInfo
9795 * Desc : Basic warning SI configuration/reconfiguration
9805 **********************************************************/
9807 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo
9810 RgrWarningSiCfgReqInfo *param,
9814 PUBLIC S16 cmPkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9816 RgrWarningSiCfgReqInfo *param;
9822 CmLList *node, *prevNode;
9823 RgrSegmentInfo *pdu;
9825 TRC3(cmPkRgrWarningSiCfgReqInfo)
9827 CMCHKPK(SPkU8, param->emtcEnable, mBuf);
9829 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
9830 CMCHKPK(SPkU8, param->siId, mBuf);
9832 count = param->siPduLst.count;
9833 node = param->siPduLst.last;
9836 pdu = (RgrSegmentInfo *)node->node;
9837 prevNode= node->prev;
9840 if (SFndLenMsg(pdu->pdu, &msgLen) != ROK)
9842 if (SCatMsg(mBuf, pdu->pdu, M1M2) != ROK)
9844 /* The PDU is not Released. This has to be done by
9845 * the caller of the packing function */
9846 CMCHKPK(cmPkMsgLen, msgLen, mBuf);
9849 cmLListDelFrm(¶m->siPduLst, node);
9850 SPutSBuf(pst->region, pst->pool, (Data *)node, sizeof(RgrSegmentInfo));
9853 CMCHKPK(SPkU32, count, mBuf);
9858 /***********************************************************
9860 * Func : cmUnpkRgrWarningSiCfgReqInfo
9863 * Desc : Unpack warning SI configuration info at SCH
9872 **********************************************************/
9874 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo
9877 RgrWarningSiCfgReqInfo *param,
9881 PUBLIC S16 cmUnpkRgrWarningSiCfgReqInfo(pst, param, mBuf)
9883 RgrWarningSiCfgReqInfo *param;
9887 MsgLen msgLen, totalMsgLen;
9892 TRC3(cmUnpkRgrWarningSiCfgReqInfo)
9894 cmLListInit(¶m->siPduLst);
9895 CMCHKUNPK(SUnpkU32, &count, mBuf);
9896 for (loopCnt=0; loopCnt<count; loopCnt++)
9898 if(SFndLenMsg(mBuf, &msgLen) != ROK)
9905 CMCHKUNPK(cmUnpkMsgLen, &msgLen, mBuf);
9906 if (SFndLenMsg(mBuf, &totalMsgLen) != ROK)
9910 if (SSegMsg(mBuf, totalMsgLen-msgLen, &pdu) != ROK)
9919 if ((SGetSBuf(pst->region, pst->pool, (Data **)&node,
9920 sizeof(CmLList))) != ROK)
9922 node->node = (PTR)pdu;
9923 cmLListAdd2Tail(¶m->siPduLst, node);
9926 CMCHKUNPK(SUnpkU8, ¶m->siId, mBuf);
9927 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
9928 CMCHKPK(SUnpkU8, ¶m->emtcEnable, mBuf);
9934 /***********************************************************
9936 * Func : cmPkRgrWarningSiStopReq
9938 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
9945 **********************************************************/
9947 PUBLIC S16 cmPkRgrWarningSiStopReq
9951 RgrCfgTransId transId,
9955 PUBLIC S16 cmPkRgrWarningSiStopReq(pst,spId, transId, siId)
9958 RgrCfgTransId transId;
9962 Buffer *mBuf = NULLP;
9964 TRC3(cmPkRgrWarningSiStopReq)
9966 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
9968 #if (ERRCLASS & ERRCLS_ADD_RES)
9969 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9970 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9971 (ErrVal)ERGR070, (ErrVal)0, "Packing failed");
9976 CMCHKPK(SPkU8, siId, mBuf);
9979 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
9981 #if (ERRCLASS & ERRCLS_ADD_RES)
9982 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9983 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9984 (ErrVal)ERGR082, (ErrVal)0, "Packing failed");
9991 if (SPkS16(spId, mBuf) != ROK)
9993 #if (ERRCLASS & ERRCLS_ADD_RES)
9994 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
9995 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
9996 (ErrVal)ERGR071, (ErrVal)0, "Packing failed");
10002 pst->event = (Event) EVTRGRWARNINGSISTOPREQ;
10003 RETVALUE(SPstTsk(pst,mBuf));
10004 }/*cmPkRgrWarningSiStopReq */
10007 /***********************************************************
10009 * Func : cmUnpkRgrWarningSiStopReq
10011 * Desc : To stop the broadcast for SIB10, SIB11 and SIB12.
10018 **********************************************************/
10020 PUBLIC S16 cmUnpkRgrWarningSiStopReq
10022 RgrWarningSiStopReq func,
10027 PUBLIC S16 cmUnpkRgrWarningSiStopReq(param, mBuf)
10028 RgrWarningSiStopReq func;
10035 RgrCfgTransId transId;
10037 TRC3(cmUnpkRgrWarningSiStopReq)
10039 if (SUnpkS16(&spId, mBuf) != ROK)
10042 #if (ERRCLASS & ERRCLS_ADD_RES)
10043 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10044 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10045 (ErrVal)ERGR072, (ErrVal)0, "Packing failed");
10050 if (cmUnpkRgrCfgTransId(&transId, 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)ERGR083, (ErrVal)0, "Packing failed");
10061 CMCHKUNPK(SUnpkU8, &siId, mBuf);
10065 RETVALUE((*func)(pst, spId, transId, siId));
10066 } /*cmUnpkRgrWarningSiStopReq */
10069 /***********************************************************
10071 * Func : cmPkRgrWarningSiCfgCfm
10074 * Desc : Warning SI Configuration Confirm from MAC to RRM
10083 **********************************************************/
10085 PUBLIC S16 cmPkRgrWarningSiCfgCfm
10089 RgrCfgTransId transId,
10094 PUBLIC S16 cmPkRgrWarningSiCfgCfm(pst, suId, transId, siId, status)
10097 RgrCfgTransId transId;
10102 Buffer *mBuf = NULLP;
10104 TRC3(cmPkRgrWarningSiCfgCfm)
10106 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10108 #if (ERRCLASS & ERRCLS_ADD_RES)
10109 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10110 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10111 (ErrVal)ERGR073, (ErrVal)0, "Packing failed");
10116 if (SPkU8(status, mBuf) != ROK)
10118 #if (ERRCLASS & ERRCLS_ADD_RES)
10119 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10120 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10121 (ErrVal)ERGR074, (ErrVal)0, "Packing failed");
10127 if (SPkU8(siId, mBuf) != ROK)
10129 #if (ERRCLASS & ERRCLS_ADD_RES)
10130 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10131 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10132 (ErrVal)ERGR075, (ErrVal)0, "Packing failed");
10138 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK)
10140 #if (ERRCLASS & ERRCLS_ADD_RES)
10141 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10142 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10143 (ErrVal)ERGR076, (ErrVal)0, "Packing failed");
10149 if (SPkS16(suId, mBuf) != ROK)
10151 #if (ERRCLASS & ERRCLS_ADD_RES)
10152 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10153 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10154 (ErrVal)ERGR077, (ErrVal)0, "Packing failed");
10160 pst->event = (Event) EVTRGRWARNINGSICFGCFM;
10161 RETVALUE(SPstTsk(pst,mBuf));
10162 } /* cmPkRgrWarningSiCfgCfm */
10165 /***********************************************************
10167 * Func : cmUnpkRgrwarningSiCfgCfm
10170 * Desc : Warning SI Configuration Confirm from MAC to RRM
10179 **********************************************************/
10181 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm
10183 RgrWarningSiCfgCfm func,
10188 PUBLIC S16 cmUnpkRgrWarningSiCfgCfm(func, pst, mBuf)
10189 RgrWarningSiCfgCfm func;
10196 RgrCfgTransId transId;
10199 TRC3(cmUnpkRgrWarningSiCfgCfm)
10201 if (SUnpkS16(&suId, mBuf) != ROK)
10204 #if (ERRCLASS & ERRCLS_ADD_RES)
10205 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10206 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10207 (ErrVal)ERGR078, (ErrVal)0, "Packing failed");
10212 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK)
10215 #if (ERRCLASS & ERRCLS_ADD_RES)
10216 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10217 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10218 (ErrVal)ERGR079, (ErrVal)0, "Packing failed");
10223 if (SUnpkU8(&siId, mBuf) != ROK)
10226 #if (ERRCLASS & ERRCLS_ADD_RES)
10227 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10228 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10229 (ErrVal)ERGR080, (ErrVal)0, "Packing failed");
10234 if (SUnpkU8(&status, mBuf) != ROK)
10237 #if (ERRCLASS & ERRCLS_ADD_RES)
10238 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10239 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10240 (ErrVal)ERGR081, (ErrVal)0, "Packing failed");
10245 RETVALUE((*func)(pst, suId, transId, siId, status));
10246 }/* cmUnpkRgrwarningSiCfgCfm */
10247 #endif/*RGR_SI_SCH*/
10249 /* LTE_ADV_FLAG_REMOVED_START */
10250 /***********************************************************
10252 * Func : cmPkRgrLoadInfReq
10255 * Desc : LOAD INF Configuration Request from RRM to MAC for
10256 * configuring RNTP, ABS etc
10265 **********************************************************/
10267 PUBLIC S16 cmPkRgrLoadInfReq
10271 RgrCfgTransId transId,
10272 RgrLoadInfReqInfo * loadInfReq
10275 PUBLIC S16 cmPkRgrLoadInfReq(pst, spId, transId, loadInfReq)
10278 RgrCfgTransId transId;
10279 RgrLoadInfReqInfo * loadInfReq;
10282 Buffer *mBuf = NULLP;
10284 TRC3(cmPkRgrLoadInfReq)
10286 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10288 #if (ERRCLASS & ERRCLS_ADD_RES)
10289 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10290 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10291 (ErrVal)ERGR045, (ErrVal)0, "Packing failed");
10293 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10294 sizeof(RgrLoadInfReqInfo));
10297 if (cmPkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10298 #if (ERRCLASS & ERRCLS_ADD_RES)
10299 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10300 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10301 (ErrVal)ERGR046, (ErrVal)0, "Packing failed");
10303 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10304 sizeof(RgrLoadInfReqInfo));
10308 if (cmPkRgrCfgTransId(&transId, mBuf) != ROK) {
10309 #if (ERRCLASS & ERRCLS_ADD_RES)
10310 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10311 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10312 (ErrVal)ERGR047, (ErrVal)0, "Packing failed");
10314 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10315 sizeof(RgrLoadInfReqInfo));
10319 if (SPkS16(spId, mBuf) != ROK) {
10320 #if (ERRCLASS & ERRCLS_ADD_RES)
10321 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10322 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10323 (ErrVal)ERGR048, (ErrVal)0, "Packing failed");
10325 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10326 sizeof(RgrLoadInfReqInfo));
10330 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10331 sizeof(RgrLoadInfReqInfo)) != ROK) {
10332 #if (ERRCLASS & ERRCLS_ADD_RES)
10333 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10334 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10335 (ErrVal)ERGR049, (ErrVal)0, "Packing failed");
10341 pst->event = (Event) EVTRGRLOADINFREQ;
10342 RETVALUE(SPstTsk(pst,mBuf));
10345 /***********************************************************
10347 * Func : cmUnpkRgrLoadInfReq
10350 * Desc : LOAD INF Configuration Request from RRM to MAC for
10351 * configuring RNTP, ABS etc
10360 **********************************************************/
10362 PUBLIC S16 cmUnpkRgrLoadInfReq
10364 RgrLoadInfReq func,
10369 PUBLIC S16 cmUnpkRgrLoadInfReq(func, pst, mBuf)
10370 RgrLoadInfReq func;
10376 RgrCfgTransId transId;
10377 RgrLoadInfReqInfo *loadInfReq;
10379 TRC3(cmUnpkRgrLoadInfReq)
10381 if (SUnpkS16(&spId, 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)ERGR050, (ErrVal)0, "Packing failed");
10391 if (cmUnpkRgrCfgTransId(&transId, mBuf) != ROK) {
10393 #if (ERRCLASS & ERRCLS_ADD_RES)
10394 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10395 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10396 (ErrVal)ERGR051, (ErrVal)0, "Packing failed");
10401 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfReq,
10402 sizeof(RgrLoadInfReqInfo))) != ROK) {
10403 #if (ERRCLASS & ERRCLS_ADD_RES)
10404 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10405 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10406 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
10412 cmMemset((U8 *)loadInfReq, 0, sizeof(RgrLoadInfReqInfo));
10414 if (pst->selector == RGR_SEL_LC)
10415 if (cmUnpkRgrLoadInfReqInfo(loadInfReq, mBuf) != ROK) {
10416 SPutSBuf(pst->region, pst->pool, (Data *)loadInfReq,
10417 sizeof(RgrLoadInfReqInfo));
10419 #if (ERRCLASS & ERRCLS_ADD_RES)
10420 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10421 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10422 (ErrVal)ERGR053, (ErrVal)0, "Packing failed");
10428 RETVALUE((*func)(pst, spId, transId, loadInfReq));
10431 /***********************************************************
10433 * Func : cmPkRgrLoadInfReqInfo
10436 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10445 **********************************************************/
10447 PUBLIC S16 cmPkRgrLoadInfReqInfo
10449 RgrLoadInfReqInfo *param,
10453 PUBLIC S16 cmPkRgrLoadInfReqInfo(param, mBuf)
10454 RgrLoadInfReqInfo *param;
10458 TRC3(cmPkRgrLoadInfReqInfo)
10460 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10461 CMCHKPK(SPkU8, param->rgrCcPHighStartRb, mBuf);
10462 CMCHKPK(SPkU8, param->rgrCcPHighEndRb, mBuf);
10467 /***********************************************************
10469 * Func : cmUnpkRgrLoadInfReqInfo
10472 * Desc : Basic LOAD INF configuration/reconfiguration info at RRM
10481 **********************************************************/
10483 PUBLIC S16 cmUnpkRgrLoadInfReqInfo
10485 RgrLoadInfReqInfo *param,
10489 PUBLIC S16 cmUnpkRgrLoadInfReqInfo(param, mBuf)
10490 RgrLoadInfReqInfo *param;
10494 TRC3(cmUnpkRgrLoadInfReqInfo)
10496 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighEndRb, mBuf);
10497 CMCHKUNPK(SUnpkU8, ¶m->rgrCcPHighStartRb, mBuf);
10498 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10502 /* LTE_ADV_FLAG_REMOVED_END */
10504 /*rgr_c_001.main_9 ccpu00117452 - MOD - Changed macro name from
10505 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
10506 #ifdef RGR_CQI_REPT
10508 /***********************************************************
10510 * Func : cmPkRgrUeCqiReptCfg
10513 * Desc : Transaction ID between MAC and RRM
10522 **********************************************************/
10524 PUBLIC S16 cmPkRgrUeCqiReptCfg
10526 RgrUeCqiReptCfg *param,
10530 PUBLIC S16 cmPkRgrUeCqiReptCfg(param, mBuf)
10531 RgrUeCqiReptCfg *param;
10535 TRC3(cmPkRgrUeCqiReptCfg)
10537 CMCHKPK(SPkU8, param->numColltdCqiRept, mBuf);
10543 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10544 /***********************************************************
10546 * Func : cmUnpkRgrUeCqiReptCfg
10549 * Desc : Transaction ID between MAC and RRM
10558 **********************************************************/
10560 PUBLIC S16 cmUnpkRgrUeCqiReptCfg
10562 RgrUeCqiReptCfg *param,
10566 PUBLIC S16 cmUnpkRgrUeCqiReptCfg(param, mBuf)
10567 RgrUeCqiReptCfg *param;
10571 TRC3(cmUnpkRgrUeCqiReptCfg)
10573 CMCHKUNPK(SUnpkU8, ¶m->numColltdCqiRept, mBuf);
10579 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10580 /***********************************************************
10582 * Func : cmPkRgrStaInd
10585 * Desc : Packing Sta Indication sent to RRM
10594 **********************************************************/
10596 PUBLIC S16 cmPkRgrStaInd
10600 RgrStaIndInfo* staInd
10603 PUBLIC S16 cmPkRgrStaInd(pst, suId, staInd)
10606 RgrStaIndInfo* staInd;
10609 Buffer *mBuf = NULLP;
10610 TRC3(cmPkRgrStaInd)
10612 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
10614 #if (ERRCLASS & ERRCLS_ADD_RES)
10615 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10616 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10617 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
10619 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10620 sizeof(RgrStaIndInfo));
10624 if (cmPkRgrStaIndInfo(staInd, mBuf) != ROK)
10626 #if (ERRCLASS & ERRCLS_ADD_RES)
10627 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10628 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10629 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
10631 SPutSBuf(pst->region, pst->pool, (Data *)staInd, sizeof(RgrStaIndInfo));
10636 if (SPkS16(suId, mBuf) != ROK)
10638 #if (ERRCLASS & ERRCLS_ADD_RES)
10639 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10640 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10641 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
10643 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10644 sizeof(RgrStaIndInfo));
10649 if (SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10650 sizeof(RgrStaIndInfo)) != ROK)
10652 #if (ERRCLASS & ERRCLS_ADD_RES)
10653 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10654 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10655 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
10661 pst->event = (Event) EVTRGRSTAIND;
10662 RETVALUE(SPstTsk(pst,mBuf));
10665 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10666 /***********************************************************
10668 * Func : cmUnpkRgrStaInd
10671 * Desc : Unpacking Sta Indication sent to RRM
10679 **********************************************************/
10681 PUBLIC S16 cmUnpkRgrStaInd
10688 PUBLIC S16 cmUnpkRgrStaInd(func, pst, mBuf)
10695 RgrStaIndInfo *staInd;
10697 TRC3(cmUnpkRgrStaInd)
10699 if (SUnpkS16(&suId, mBuf) != ROK)
10702 #if (ERRCLASS & ERRCLS_ADD_RES)
10703 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10704 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10705 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
10710 if ((SGetSBuf(pst->region, pst->pool, (Data **)&staInd,
10711 sizeof(RgrStaIndInfo))) != ROK)
10713 #if (ERRCLASS & ERRCLS_ADD_RES)
10714 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10715 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10716 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
10722 if (cmUnpkRgrStaIndInfo(staInd, mBuf) != ROK)
10724 SPutSBuf(pst->region, pst->pool, (Data *)staInd,
10725 sizeof(RgrStaIndInfo));
10727 #if (ERRCLASS & ERRCLS_ADD_RES)
10728 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
10729 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
10730 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
10736 RETVALUE((*func)(pst, suId, staInd));
10739 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10740 /***********************************************************
10742 * Func : cmPkRgrStaIndInfo
10745 * Desc : Packing of StaIndInfo structure
10753 **********************************************************/
10755 PUBLIC S16 cmPkRgrStaIndInfo
10757 RgrStaIndInfo *param,
10761 PUBLIC S16 cmPkRgrStaIndInfo(param, mBuf)
10762 RgrStaIndInfo *param;
10767 TRC3(cmPkRgrStaIndInfo)
10769 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
10770 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
10771 CMCHKPK(cmPkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10775 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10776 /***********************************************************
10778 * Func : cmUnpkRgrStaIndInfo
10781 * Desc : Unpacking of StaIndInfo structure
10789 **********************************************************/
10791 PUBLIC S16 cmUnpkRgrStaIndInfo
10793 RgrStaIndInfo *param,
10797 PUBLIC S16 cmUnpkRgrStaIndInfo(param, mBuf)
10798 RgrStaIndInfo *param;
10803 TRC3(cmUnpkRgrStaIndInfo)
10805 CMCHKUNPK(cmUnpkRgrUeCqiInfo, ¶m->ueCqiInfo, mBuf);
10806 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
10807 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
10811 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10812 /***********************************************************
10814 * Func : cmPkRgrUeCqiInfo
10817 * Desc : Packing of StaIndInfo structure
10825 **********************************************************/
10827 PUBLIC S16 cmPkRgrUeCqiInfo
10829 RgrUeCqiInfo *param,
10833 PUBLIC S16 cmPkRgrUeCqiInfo(param, mBuf)
10834 RgrUeCqiInfo *param;
10840 TRC3(cmPkRgrUeCqiInfo)
10842 for (idx = param->numCqiRept - 1; idx >= 0; idx--)
10844 CMCHKPK(cmPkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10846 CMCHKPK(SPkU8, param->numCqiRept, mBuf);
10849 } /* cmPkRgrUeCqiInfo */
10851 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10852 /***********************************************************
10854 * Func : cmUnpkRgrUeCqiInfo
10857 * Desc : Packing of StaIndInfo structure
10865 **********************************************************/
10867 PUBLIC S16 cmUnpkRgrUeCqiInfo
10869 RgrUeCqiInfo *param,
10873 PUBLIC S16 cmUnpkRgrUeCqiInfo(param, mBuf)
10874 RgrUeCqiInfo *param;
10880 TRC3(cmUnpkRgrUeCqiInfo)
10882 CMCHKUNPK(SUnpkU8, ¶m->numCqiRept, mBuf);
10883 for (idx = 0; idx < param->numCqiRept; idx++)
10885 CMCHKUNPK(cmUnpkRgrUeCqiRept, ¶m->cqiRept[idx], mBuf);
10889 } /* cmUnpkRgrUeCqiInfo */
10891 /***********************************************************
10893 * Func : cmPkRgrSubBandCqiInfo
10896 * Desc : Packing ofcmPkRgrSubBandCqiInfo structure
10904 **********************************************************/
10906 PUBLIC S16 cmPkRgrSubBandCqiInfo
10908 RgrSubBandCqiInfo *param,
10912 PUBLIC S16 cmPkRgrSubBandCqiInfo(param, mBuf)
10913 RgrSubBandCqiInfo *param;
10918 TRC3(cmPkRgrSubBandCqiInfo)
10920 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10921 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10922 CMCHKPK(SPkU8, param->subBandIdx, mBuf);
10925 } /* cmPkRgrSubBandCqiInfo */
10927 /*rgr_c_001.main_9 ADD added changes for CQI management*/
10928 /***********************************************************
10930 * Func : cmPkRgrUeCqiRept
10933 * Desc : Packing of StaIndInfo structure
10941 **********************************************************/
10943 PUBLIC S16 cmPkRgrUeCqiRept
10945 RgrUeCqiRept *param,
10949 PUBLIC S16 cmPkRgrUeCqiRept(param, mBuf)
10950 RgrUeCqiRept *param;
10957 TRC3(cmPkRgrUeCqiRept)
10959 CMCHKPK(SPkU8, param->cqi[0], mBuf);
10960 CMCHKPK(SPkU8, param->cqi[1], mBuf);
10961 CMCHKPK(SPkU8, param->cqiMode, mBuf);
10962 for (idx = param->numSubBand - 1; idx >= 0; idx--)
10965 CMCHKPK(cmPkRgrSubBandCqiInfo, ¶m->sbCqiInfo[count], mBuf);
10967 CMCHKPK(SPkU8, param->numSubBand, mBuf);
10969 } /* cmPkRgrUeCqiRept */
10971 /***********************************************************
10973 * Func :cmUnpkRgrSubBandCqiInfo
10976 * Desc : Packing of cmUnpkRgrSubBandCqiInfo structure
10984 **********************************************************/
10986 PUBLIC S16 cmUnpkRgrSubBandCqiInfo
10988 RgrSubBandCqiInfo *param,
10992 PUBLIC S16 cmUnpkRgrSubBandCqiInfo(param, mBuf)
10993 RgrSubBandCqiInfo *param;
10998 TRC3(cmUnpkRgrSubBandCqiInfo)
11000 CMCHKUNPK(SUnpkU8, ¶m->subBandIdx, mBuf);
11001 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
11002 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
11005 } /* cmUnpkRgrSubBandCqiInfo*/
11007 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11008 /***********************************************************
11010 * Func : cmUnpkRgrUeCqiRept
11013 * Desc : Packing of StaIndInfo structure
11021 **********************************************************/
11023 PUBLIC S16 cmUnpkRgrUeCqiRept
11025 RgrUeCqiRept *param,
11029 PUBLIC S16 cmUnpkRgrUeCqiRept(param, mBuf)
11030 RgrUeCqiRept *param;
11036 TRC3(cmUnpkRgrUeCqiRept)
11037 CMCHKUNPK(SUnpkU8, ¶m->numSubBand, mBuf);
11038 for (idx = 0; idx < param->numSubBand; idx++)
11040 CMCHKUNPK(cmUnpkRgrSubBandCqiInfo, ¶m->sbCqiInfo[idx], mBuf);
11042 CMCHKUNPK(SUnpkU8, ¶m->cqiMode, mBuf);
11043 CMCHKUNPK(SUnpkU8, ¶m->cqi[1], mBuf);
11044 CMCHKUNPK(SUnpkU8, ¶m->cqi[0], mBuf);
11047 } /* cmUnpkRgrUeCqiRept */
11048 #endif /* End of ifdef RGR_CQI_REPT */
11050 /* LTE_ADV_FLAG_REMOVED_START */
11051 /***********************************************************
11053 * Func : cmPkRgrLoadInfInd
11056 * Desc : Packing LOAD INFORMATION Indication sent to RRM
11065 **********************************************************/
11067 PUBLIC S16 cmPkRgrLoadInfInd
11071 RgrLoadInfIndInfo* loadInfInd
11074 PUBLIC S16 cmPkRgrLoadInfInd(pst, suId, loadInfInd)
11077 RgrLoadInfIndInfo* loadInfInd;
11080 Buffer *mBuf = NULLP;
11081 TRC3(cmPkRgrLoadInfInd)
11083 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
11085 #if (ERRCLASS & ERRCLS_ADD_RES)
11086 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11087 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11088 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11090 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11091 sizeof(RgrLoadInfIndInfo));
11095 if (cmPkRgrLoadInfIndInfo(loadInfInd, mBuf) != ROK)
11097 #if (ERRCLASS & ERRCLS_ADD_RES)
11098 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11099 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11100 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11102 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11103 sizeof(RgrLoadInfIndInfo));
11109 if (SPkS16(suId, mBuf) != ROK)
11111 #if (ERRCLASS & ERRCLS_ADD_RES)
11112 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11113 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11114 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11116 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11117 sizeof(RgrLoadInfIndInfo));
11122 if (SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11123 sizeof(RgrLoadInfIndInfo)) != ROK)
11125 #if (ERRCLASS & ERRCLS_ADD_RES)
11126 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11127 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11128 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11134 pst->event = (Event) EVTRGRLOADINFIND;
11135 RETVALUE(SPstTsk(pst,mBuf));
11138 /***********************************************************
11140 * Func : cmUnpkRgrLoadInfInd
11143 * Desc : Unpacking LOAD INFORMATION Indication sent to RRM
11151 **********************************************************/
11153 PUBLIC S16 cmUnpkRgrLoadInfInd
11155 RgrLoadInfInd func,
11160 PUBLIC S16 cmUnpkRgrLoadInfInd(func, pst, mBuf)
11161 RgrLoadInfInd func;
11167 RgrLoadInfIndInfo *loadInfInd = NULLP; /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11169 TRC3(cmUnpkRgrLoadInfInd)
11171 if (SUnpkS16(&suId, mBuf) != ROK)
11174 #if (ERRCLASS & ERRCLS_ADD_RES)
11175 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11176 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11177 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
11182 if ((SGetSBuf(pst->region, pst->pool, (Data **)&loadInfInd,
11183 sizeof(RgrLoadInfIndInfo))) != ROK)
11185 #if (ERRCLASS & ERRCLS_ADD_RES)
11186 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11187 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11188 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
11194 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11195 if (cmUnpkRgrLoadInfIndInfo(loadInfInd, pst, mBuf) != ROK)
11197 SPutSBuf(pst->region, pst->pool, (Data *)loadInfInd,
11198 sizeof(RgrLoadInfIndInfo));
11200 #if (ERRCLASS & ERRCLS_ADD_RES)
11201 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11202 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11203 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
11209 RETVALUE((*func)(pst, suId, loadInfInd));
11213 /***********************************************************
11215 * Func : cmPkRgrLoadInfIndInfo
11218 * Desc : Packing of LoadInfIndInfo structure
11226 **********************************************************/
11228 PUBLIC S16 cmPkRgrLoadInfIndInfo
11230 RgrLoadInfIndInfo *param,
11234 PUBLIC S16 cmPkRgrLoadInfIndInfo(param, mBuf)
11235 RgrLoadInfIndInfo *param;
11240 TRC3(cmPkRgrLoadInfIndInfo)
11242 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
11243 CMCHKPK(SPkU16, param->bw, mBuf);
11244 if(RGR_ABS == param->type)
11246 for(idx = 0; idx < RGR_ABS_PATTERN_LEN; idx++)
11248 CMCHKPK(SPkU32, param->u.absLoadInfo[idx], mBuf);
11253 CMCHKPK(cmPkTknStrOSXL, ¶m->u.rntpInfo, mBuf);
11256 CMCHKPK(SPkU32, param->type, mBuf);
11261 /***********************************************************
11263 * Func : cmUnpkRgrLoadInfIndInfo
11266 * Desc : Unpacking of LoadInfIndInfo structure
11274 **********************************************************/
11276 PUBLIC S16 cmUnpkRgrLoadInfIndInfo
11278 RgrLoadInfIndInfo *param,
11283 PUBLIC S16 cmUnpkRgrLoadInfIndInfo(param, pst, mBuf)
11284 RgrLoadInfIndInfo *param;
11291 /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
11292 TknStrOSXL *tknStr;
11295 TRC3(cmUnpkRgrLoadInfIndInfo)
11297 CMCHKUNPK(SUnpkU32, ¶m->type, mBuf);
11298 if(RGR_ABS == param->type)
11300 for(idx = RGR_ABS_PATTERN_LEN -1 ; idx >= 0; idx--)
11302 CMCHKUNPK(SUnpkU32, ¶m->u.absLoadInfo[(U8)idx], mBuf);
11308 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** Start */
11309 tknStr = ¶m->u.rntpInfo;
11311 CMCHKUNPK(SUnpkU8, &tknStr->pres, mBuf);
11316 CMCHKUNPK(SUnpkU16, &tknStr->len, mBuf);
11318 if ((SGetSBuf(pst->region, pst->pool, (Data **)&tknStr->val,tknStr->len)) != ROK) {
11319 #if (ERRCLASS & ERRCLS_ADD_RES)
11320 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11321 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11322 (ErrVal)ERGR052, (ErrVal)0, "Packing failed");
11329 for (ndx = 1; ndx <= tknStr->len; ndx++)
11331 CMCHKUNPK(SUnpkU8, &tknStr->val[tknStr->len - ndx], mBuf);
11335 /* dsfr_pal_fixes ** 21-March-2013 ** SKS ** End */
11337 /* dsfr_pal_fixes ** 22-March-2013 ** SKS */
11338 CMCHKUNPK(SUnpkU16, ¶m->bw, mBuf);
11340 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
11344 /* LTE_ADV_FLAG_REMOVED_END */
11347 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11348 /***********************************************************
11350 * Func : cmPkRgrUepACfg
11353 * Desc : Transaction ID between MAC and RRM
11362 **********************************************************/
11364 PUBLIC S16 cmPkRgrUepACfg
11370 PUBLIC S16 cmPkRgrUepACfg(param, mBuf)
11375 TRC3(cmPkRgrUepACfg)
11379 CMCHKPK(SPkU32, param->pA, mBuf);
11381 CMCHKPK(SPkU8, param->pAPrsnt, mBuf);
11387 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11388 /***********************************************************
11390 * Func : cmUnpkRgrUepACfg
11393 * Desc : Transaction ID between MAC and RRM
11402 **********************************************************/
11404 PUBLIC S16 cmUnpkRgrUepACfg
11410 PUBLIC S16 cmUnpkRgrUepACfg(param, mBuf)
11416 TRC3(cmUnpkRgrUepACfg)
11418 CMCHKUNPK(SUnpkU8, (U8 *)¶m->pAPrsnt, mBuf);
11419 if (param->pAPrsnt)
11421 CMCHKUNPK(SUnpkU32, (U32*)&tmpEnum, mBuf);
11422 param->pA = (RgrUeDlPwrCntrlPaCfg) tmpEnum;
11428 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11429 /***********************************************************
11431 * Func : cmPkRgrUePdschDedCfg
11434 * Desc : Transaction ID between MAC and RRM
11443 **********************************************************/
11445 PUBLIC S16 cmPkRgrUePdschDedCfg
11447 RgrUePdschDedCfg *param,
11451 PUBLIC S16 cmPkRgrUePdschDedCfg(param, mBuf)
11452 RgrUePdschDedCfg *param;
11456 TRC3(cmPkRgrUePdschDedCfg)
11458 CMCHKPK(cmPkRgrUepACfg, ¶m->uepACfg, mBuf);
11464 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11465 /***********************************************************
11467 * Func : cmUnpkRgrUePdschDedCfg
11470 * Desc : Transaction ID between MAC and RRM
11479 **********************************************************/
11481 PUBLIC S16 cmUnpkRgrUePdschDedCfg
11483 RgrUePdschDedCfg *param,
11487 PUBLIC S16 cmUnpkRgrUePdschDedCfg(param, mBuf)
11488 RgrUePdschDedCfg *param;
11492 TRC3(cmUnpkRgrUePdschDedCfg)
11494 CMCHKUNPK(cmUnpkRgrUepACfg, ¶m->uepACfg, mBuf);
11503 /***********************************************************
11505 * Func : cmPkRgrUeUlPwrDedSCellCfg
11508 * Desc : DL Secondary Cell UL PC Info
11517 **********************************************************/
11519 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg
11521 RgrUeUlPwrDedSCellCfg *param,
11525 PRIVATE S16 cmPkRgrUeUlPwrDedSCellCfg(param, mBuf)
11526 RgrUeUlPwrDedSCellCfg *param;
11530 TRC3(cmPkRgrUeUlPwrDedSCellCfg)
11531 CMCHKPK(SPkU8, param->pSRSOffset, mBuf);
11532 CMCHKPK(SPkS8, param->p0UePusch, mBuf);
11533 CMCHKPK(SPkU8, param->isDeltaMCSEnabled, mBuf);
11534 CMCHKPK(SPkU8, param->isAccumulated, mBuf);
11539 /***********************************************************
11541 * Func : cmUnpkRgrUeUlPwrDedSCellCfg
11544 * Desc : Uplink power configuration per UE
11553 **********************************************************/
11555 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg
11557 RgrUeUlPwrDedSCellCfg *param,
11561 PRIVATE S16 cmUnpkRgrUeUlPwrDedSCellCfg(param, mBuf)
11562 RgrUeUlPwrDedSCellCfg *param;
11567 TRC3(cmUnpkRgrUeUlPwrDedSCellCfg)
11569 CMCHKUNPK(SUnpkU8, ¶m->isAccumulated, mBuf);
11570 CMCHKUNPK(SUnpkU8, ¶m->isDeltaMCSEnabled, mBuf);
11571 CMCHKUNPK(SUnpkS8, ¶m->p0UePusch, mBuf);
11572 CMCHKUNPK(SUnpkU8, ¶m->pSRSOffset, mBuf);
11579 /***********************************************************
11581 * Func : cmPkRgrUeSecCellCfg
11584 * Desc : DL Secondary Cell information of the UE
11593 **********************************************************/
11595 PRIVATE S16 cmPkRgrUeSecCellCfg
11597 RgrUeSecCellCfg *param,
11601 PRIVATE S16 cmPkRgrUeSecCellCfg(param, mBuf)
11602 RgrUeSecCellCfg *param;
11606 CMCHKPK(cmPkRgrUeUlPwrDedSCellCfg,¶m->ueSCellUlDedPwrCfg, mBuf);
11607 CMCHKPK(SPkU8, param->isUlCaEnabled, mBuf);
11608 CMCHKPK(cmPkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11610 /*rgr_c_001.main_9 ADD PDSCH ded cfg*/
11611 CMCHKPK(cmPkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11613 CMCHKPK(cmPkRgrUeDlCqiCfg,¶m->ueSCellDlCqiCfg, mBuf);
11614 CMCHKPK(cmPkTknU32, ¶m->sCellDeActTmr, mBuf);
11615 CMCHKPK(SPkU16, param->sCellId, mBuf);
11616 CMCHKPK(SPkU8, param->sCellIdx, mBuf);
11623 /***********************************************************
11625 * Func : cmPkRgrUeSecCellInfo
11628 * Desc : Secondary Cell information of the UE
11637 **********************************************************/
11639 PUBLIC S16 cmPkRgrUeSecCellInfo
11641 RgrUeSecCellInfo *param,
11645 PUBLIC S16 cmPkRgrUeSecCellInfo(param, mBuf)
11646 RgrUeSecCellInfo *param;
11651 for(idx = param->numSCells - 1; idx >= 0; idx--)
11653 CMCHKPK(cmPkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[(U8)idx],mBuf);
11656 CMCHKPK(SPkU8, param->numSCells, mBuf);
11658 CMCHKPK(SPkU8, param->useExtBSRSizes, mBuf);
11664 /***********************************************************
11666 * Func : cmUnpkRgrUeSecCellCfg
11669 * Desc : DL Secondary Cell information of the UE
11678 **********************************************************/
11680 PRIVATE S16 cmUnpkRgrUeSecCellCfg
11682 RgrUeSecCellCfg *param,
11686 PRIVATE S16 cmUnpkRgrUeSecCellCfg(param, mBuf)
11687 RgrUeSecCellCfg *param;
11691 CMCHKUNPK(SUnpkU8, ¶m->sCellIdx, mBuf);
11692 CMCHKUNPK(SUnpkU16, ¶m->sCellId, mBuf);
11693 CMCHKUNPK(cmUnpkTknU32, ¶m->sCellDeActTmr, mBuf);
11694 CMCHKUNPK(cmUnpkRgrUeDlCqiCfg, ¶m->ueSCellDlCqiCfg, mBuf);
11696 CMCHKUNPK(cmUnpkRgrUePdschDedCfg, ¶m->uePdschDedCfg, mBuf);
11698 CMCHKUNPK(cmUnpkRgrUeTxModeCfg, ¶m->txMode, mBuf);
11699 CMCHKUNPK(SUnpkU8, ¶m->isUlCaEnabled, mBuf);
11700 CMCHKUNPK(cmUnpkRgrUeUlPwrDedSCellCfg, ¶m->ueSCellUlDedPwrCfg, mBuf);
11708 /***********************************************************
11710 * Func : cmUnpkRgrUeSecCellInfo
11713 * Desc : Secondary Cell information of the UE
11722 **********************************************************/
11724 PUBLIC S16 cmUnpkRgrUeSecCellInfo
11726 RgrUeSecCellInfo *param,
11730 PUBLIC S16 cmUnpkRgrUeSecCellInfo(param, mBuf)
11731 RgrUeSecCellInfo *param;
11737 CMCHKUNPK(SUnpkU8, ¶m->useExtBSRSizes, mBuf);
11738 CMCHKUNPK(SUnpkU8, ¶m->numSCells, mBuf);
11740 for(idx = 0; idx < param->numSCells;idx++)
11742 CMCHKUNPK(cmUnpkRgrUeSecCellCfg, ¶m->ueSCellDedCfg[idx],mBuf);
11748 /***********************************************************
11750 * Func : cmPkRgrUeSCellAckPucchCfg
11753 * Desc : PUCCH Configuration information of the UE
11762 **********************************************************/
11764 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg
11766 RgrUeSCellAckPucchCfg *param,
11770 PUBLIC S16 cmPkRgrUeSCellAckPucchCfg(param, mBuf)
11771 RgrUeSCellAckPucchCfg *param;
11776 TRC3(cmPkRgrUeSCellAckPucchCfg);
11778 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11780 for(idx = param->u.format1Bcs.sCellAckN1ResTb2Count - 1; idx >=0 ;idx--)
11782 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb2[(U8)idx], mBuf);
11785 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11787 for(idx = param->u.format1Bcs.sCellAckN1ResTb1Count - 1; idx >=0 ;idx--)
11789 CMCHKPK(SPkU16, param->u.format1Bcs.sCellAckN1ResTb1[(U8)idx], mBuf);
11792 CMCHKPK(SPkU8, param->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11796 for(idx = param->u.format3.sCellAckN3ResAntP1Count - 1; idx >=0 ;idx--)
11798 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP1[(U8)idx], mBuf);
11801 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP1Count, mBuf);
11803 for(idx = param->u.format3.sCellAckN3ResAntP0Count- 1; idx >=0 ;idx--)
11805 CMCHKPK(SPkU16, param->u.format3.sCellAckN3ResAntP0[(U8)idx], mBuf);
11808 CMCHKPK(SPkU8, param->u.format3.sCellAckN3ResAntP0Count, mBuf);
11810 CMCHKPK(SPkU32, param->pucchFormatType, mBuf);
11815 /***********************************************************
11817 * Func : cmUnpkRgrUeSCellAckPucchCfg
11820 * Desc : PUCCH Configuration information of the UE
11829 **********************************************************/
11831 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg
11833 RgrUeSCellAckPucchCfg *param,
11837 PUBLIC S16 cmUnpkRgrUeSCellAckPucchCfg(param, mBuf)
11838 RgrUeSCellAckPucchCfg *param;
11844 TRC3(cmUnpkRgrUeSCellAckPucchCfg);
11846 CMCHKUNPK(SUnpkU32, (U32*)¶m->pucchFormatType, mBuf);
11847 //if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS)
11848 if (param->pucchFormatType == RG_SCH_UCI_FORMAT1B_CS || param->pucchFormatType == RG_SCH_UCI_FORMAT1A_1B)
11850 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb1Count, mBuf);
11852 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb1Count; idx++)
11854 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb1[idx], mBuf);
11857 CMCHKUNPK(SUnpkU8, ¶m->u.format1Bcs.sCellAckN1ResTb2Count, mBuf);
11859 for(idx = 0; idx < param->u.format1Bcs.sCellAckN1ResTb2Count; idx++)
11861 CMCHKUNPK(SUnpkU16, ¶m->u.format1Bcs.sCellAckN1ResTb2[idx], mBuf);
11866 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP0Count, mBuf);
11868 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP0Count; idx++)
11870 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP0[idx], mBuf);
11873 CMCHKUNPK(SUnpkU8, ¶m->u.format3.sCellAckN3ResAntP1Count, mBuf);
11875 for(idx = 0; idx < param->u.format3.sCellAckN3ResAntP1Count; idx++)
11877 CMCHKUNPK(SUnpkU16, ¶m->u.format3.sCellAckN3ResAntP1[idx], mBuf);
11890 /***********************************************************
11892 * Func : cmPkRgrUeStaInd
11895 * Desc : Packing Ue Sta Indication sent to RRM
11904 **********************************************************/
11906 PUBLIC S16 cmPkRgrUeStaInd
11910 RgrUeStaIndInfo* ueStaInd
11913 PUBLIC S16 cmPkRgrUeStaInd(pst, suId, ueStaInd)
11916 RgrUeStaIndInfo* ueStaInd;
11919 Buffer *mBuf = NULLP;
11920 TRC3(cmPkRgrUeStaInd)
11921 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
11923 #if (ERRCLASS & ERRCLS_ADD_RES)
11924 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11925 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11926 (ErrVal)ERGR054, (ErrVal)0, "Packing failed");
11928 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11929 sizeof(RgrUeStaIndInfo));
11933 if (cmPkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
11935 #if (ERRCLASS & ERRCLS_ADD_RES)
11936 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11937 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11938 (ErrVal)ERGR055, (ErrVal)0, "Packing failed");
11940 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11941 sizeof(RgrUeStaIndInfo));
11946 if (SPkS16(suId, mBuf) != ROK)
11948 #if (ERRCLASS & ERRCLS_ADD_RES)
11949 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11950 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11951 (ErrVal)ERGR056, (ErrVal)0, "Packing failed");
11953 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11954 sizeof(RgrUeStaIndInfo));
11959 if (SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
11960 sizeof(RgrUeStaIndInfo)) != ROK)
11962 #if (ERRCLASS & ERRCLS_ADD_RES)
11963 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
11964 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
11965 (ErrVal)ERGR057, (ErrVal)0, "Packing failed");
11971 pst->event = (Event) EVTRGRUESTAIND;
11972 RETVALUE(SPstTsk(pst,mBuf));
11975 /*rgr_c_001.main_9 ADD added changes for CQI management*/
11976 /***********************************************************
11978 * Func : cmUnpkRgrUeStaInd
11981 * Desc : Unpacking Sta Indication sent to RRM
11989 **********************************************************/
11991 PUBLIC S16 cmUnpkRgrUeStaInd
11998 PUBLIC S16 cmUnpkRgrUeStaInd(func, pst, mBuf)
12005 RgrUeStaIndInfo *ueStaInd;
12007 TRC3(cmUnpkRgrUeStaInd)
12009 if (SUnpkS16(&suId, mBuf) != ROK)
12012 #if (ERRCLASS & ERRCLS_ADD_RES)
12013 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12014 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12015 (ErrVal)ERGR058, (ErrVal)0, "Packing failed");
12020 if ((SGetSBuf(pst->region, pst->pool, (Data **)&ueStaInd,
12021 sizeof(RgrUeStaIndInfo))) != ROK)
12023 #if (ERRCLASS & ERRCLS_ADD_RES)
12024 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12025 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12026 (ErrVal)ERGR059, (ErrVal)0, "Packing failed");
12032 if (cmUnpkRgrUeStaIndInfo(ueStaInd, mBuf) != ROK)
12034 SPutSBuf(pst->region, pst->pool, (Data *)ueStaInd,
12035 sizeof(RgrUeStaIndInfo));
12037 #if (ERRCLASS & ERRCLS_ADD_RES)
12038 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
12039 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
12040 (ErrVal)ERGR060, (ErrVal)0, "Packing failed");
12046 RETVALUE((*func)(pst, suId, ueStaInd));
12049 /***********************************************************
12051 * Func : cmPkRgrUeStaIndInfo
12054 * Desc : Packing of UeStaIndInfo structure
12062 **********************************************************/
12064 PUBLIC S16 cmPkRgrUeStaIndInfo
12066 RgrUeStaIndInfo *param,
12070 PUBLIC S16 cmPkRgrUeStaIndInfo(param, mBuf)
12071 RgrUeStaIndInfo *param;
12076 TRC3(cmPkRgrUeStaIndInfo)
12078 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
12079 CMCHKPK(cmPkLteRnti, param->crnti, mBuf);
12080 CMCHKPK(SPkU8, param->status, mBuf);
12084 /***********************************************************
12086 * Func : cmUnpkRgrUeStaIndInfo
12089 * Desc : Unpacking of UeStaIndInfo structure
12097 **********************************************************/
12099 PUBLIC S16 cmUnpkRgrUeStaIndInfo
12101 RgrUeStaIndInfo *param,
12105 PUBLIC S16 cmUnpkRgrUeStaIndInfo(param, mBuf)
12106 RgrUeStaIndInfo *param;
12111 TRC3(cmUnpkRgrUeStaIndInfo)
12113 CMCHKUNPK(SUnpkU8, ¶m->status, mBuf);
12114 CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf);
12115 CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf);
12121 /***********************************************************
12123 * Func : cmPkRgrCellCsgParamCfg
12126 * Desc : CSG Parameter configuration
12135 **********************************************************/
12137 PUBLIC S16 cmPkRgrCellCsgParamCfg
12139 RgrCellCsgParamCfg *param,
12143 PUBLIC S16 cmPkRgrCellCsgParamCfg(param, mBuf)
12144 RgrCellCsgParamCfg *param;
12149 TRC3(cmPkRgrCellCsgParamCfg)
12151 CMCHKPK(SPkU8, param->minUlResNonCsg, mBuf);
12152 CMCHKPK(SPkU8, param->minDlResNonCsg, mBuf);
12157 /***********************************************************
12159 * Func : cmUnpkRgrCellCsgParamCfg
12162 * Desc : Unpacking of RgrCellCsgParamCfg structure
12170 **********************************************************/
12172 PUBLIC S16 cmUnpkRgrCellCsgParamCfg
12174 RgrCellCsgParamCfg *param,
12178 PUBLIC S16 cmUnpkRgrCellCsgParamCfg(param, mBuf)
12179 RgrCellCsgParamCfg *param;
12184 TRC3(cmUnpkRgrCellCsgParamCfg)
12186 CMCHKUNPK(SUnpkU8, ¶m->minDlResNonCsg, mBuf);
12187 CMCHKUNPK(SUnpkU8, ¶m->minUlResNonCsg, mBuf);
12192 /***********************************************************
12194 * Func : cmPkRgrCellCntrlCmdCfg
12197 * Desc : Packing of RgrCellCntrlCmdCfg structure
12205 **********************************************************/
12207 PUBLIC S16 cmPkRgrCellCntrlCmdCfg
12209 RgrCellCntrlCmdCfg *param,
12213 PUBLIC S16 cmPkRgrCellCntrlCmdCfg(param, mBuf)
12214 RgrCellCntrlCmdCfg *param;
12218 TRC3(cmPkRgrCellCntrlCmdCfg)
12220 switch(param->cmdType)
12222 case RGR_CNTRL_CMD_RACH_OVRLD:
12223 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffVal, mBuf);
12224 CMCHKUNPK(SPkU8, param->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12226 case RGR_CNTRL_CMD_CPU_OVRLD:
12227 CMCHKUNPK(SPkU8, param->cmdDesc.cpuOvrLd.instruction, mBuf);
12232 CMCHKUNPK(SPkU32, param->cmdType, mBuf);
12236 /***********************************************************
12238 * Func : cmUnpkRgrCellCntrlCmdCfg
12241 * Desc : Unpacking of RgrCellCntrlCmdCfg structure
12249 **********************************************************/
12251 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg
12253 RgrCellCntrlCmdCfg *param,
12257 PUBLIC S16 cmUnpkRgrCellCntrlCmdCfg(param, mBuf)
12258 RgrCellCntrlCmdCfg *param;
12264 TRC3(cmUnpkRgrCellCntrlCmdCfg)
12266 CMCHKUNPK(SUnpkU32, &tmpEnum, mBuf);
12267 param->cmdType = (RgrCellCntrlCmdType) tmpEnum;
12268 switch(param->cmdType)
12270 case RGR_CNTRL_CMD_RACH_OVRLD:
12271 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffEnb, mBuf);
12272 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.rachOvrLd.backOffVal, mBuf);
12274 case RGR_CNTRL_CMD_CPU_OVRLD:
12275 CMCHKUNPK(SUnpkU8, ¶m->cmdDesc.cpuOvrLd.instruction, mBuf);
12283 #endif /* End of if defined(LCRGR) */
12285 /**********************************************************************
12287 **********************************************************************/