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 *******************************************************************************/
19 /**********************************************************************
25 Desc: Structures, variables, and typedefs required by the LTE MAC-RRM
26 Control (RGR) interface.
30 **********************************************************************/
38 #define MAX_5GTF_SUBFRAME_INFO 10
41 @brief Structure declarations and definitions for RGR interface.
43 /** Group power formats */
44 typedef enum rgrGrpPwrFormat
46 RGR_PWR_FORMAT_3, /**< Power Format 3 */
47 RGR_PWR_FORMAT_3A /**< Power Format 3A */
53 /** Indicates one of the two TDD ACK/NACK feedback modes */
54 typedef enum rgrTddAckNackMode
56 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
57 RGR_TDD_ACKNACK_MODE_BUNDL, /**< TDD Ack/Nack Mode Bundle */
58 RGR_TDD_ACKNACK_MODE_MULT /**< TDD Ack/Nack Mode Multiplex */
63 /** Periodicity of Downlink CQI Transmission per UE */
64 typedef enum rgrCqiPrdicity
66 RGR_CQI_PRD_MS2 = 2, /**< CQI Periodicity of 2ms */
67 RGR_CQI_PRD_MS5 = 5, /**< CQI Periodicity of 5ms */
68 RGR_CQI_PRD_MS10 = 10, /**< CQI Periodicity of 10ms */
69 RGR_CQI_PRD_MS20 = 20, /**< CQI Periodicity of 20ms */
70 RGR_CQI_PRD_MS32 = 32, /**< CQI Periodicity of 32ms */
71 RGR_CQI_PRD_MS40 = 40, /**< CQI Periodicity of 40ms */
72 RGR_CQI_PRD_MS64 = 64, /**< CQI Periodicity of 64ms */
73 RGR_CQI_PRD_MS80 = 80, /**< CQI Periodicity of 80ms */
74 RGR_CQI_PRD_MS128 = 128, /**< CQI Periodicity of 128ms */
75 RGR_CQI_PRD_MS160 = 160, /**< CQI Periodicity of 160ms */
76 RGR_CQI_PRD_MS256 = 256, /**< CQI Periodicity of 256ms */
77 RGR_CQI_PRD_MSOff /**< CQI Periodicity OFF */
81 * Periodic CQI Transmission Modes */
82 typedef enum rgrPrdCqiMode
84 RGR_PRD_CQI_MOD10,/**< Periodic CQI Mode 1-0 */
85 RGR_PRD_CQI_MOD11,/**< Periodic CQI Mode 1-1 */
86 RGR_PRD_CQI_MOD20,/**< Periodic CQI Mode 2-0 */
87 RGR_PRD_CQI_MOD21 /**< Periodic CQI Mode 2-1 */
90 /** Different values for Power Aplha parameter. Divide it by 10 to get
91 * the actual value of the enum that is 0, 0.4, 0.5, 0.6 etc...*/
92 typedef enum rgrPwrAlpha
94 RGR_PWR_ALPHA0 = 0, /**< Power Aplha Value 0*/
95 RGR_PWR_ALPHA4 = 4, /**< Power Aplha Value 0.4*/
96 RGR_PWR_ALPHA5 = 5, /**< Power Aplha Value 0.5*/
97 RGR_PWR_ALPHA6 = 6, /**< Power Aplha Value 0.6*/
98 RGR_PWR_ALPHA7 = 7, /**< Power Aplha Value 0.7*/
99 RGR_PWR_ALPHA8 = 8, /**< Power Aplha Value 0.8*/
100 RGR_PWR_ALPHA9 = 9, /**< Power Aplha Value 0.9*/
101 RGR_PWR_ALPHAALL = 10 /**< Power Aplha Value 1*/
104 /** Different Values for ACK/NACK Repetition Factor*/
105 typedef enum rgrAckNackRepFactor
107 RGR_ACKNACK_REPFACT_N2 = 2, /**< ACK/NACK Repetition Factor value 2 */
108 RGR_ACKNACK_REPFACT_N4 = 4, /**< ACK/NACK Repetition Factor value 4 */
109 RGR_ACKNACK_REPFACT_N6 = 6 /**< ACK/NACK Repetition Factor value 6 */
110 } RgrAckNackRepFactor;
112 /* rgr_x_001.main_8 - Changes for MIMO feature addition */
115 * UE Transmission Modes state transition in case of recfg */
116 typedef enum rgrTxModeTrnstn
118 RGR_TXMODE_RECFG_CMPLT = 0,
119 RGR_TXMODE_RECFG_START
124 * UE Transmission Modes */
125 typedef enum rgrTxMode
127 RGR_UE_TM_1 = 1, /**< Transmission Mode 1 */
128 RGR_UE_TM_2, /**< Transmission Mode 2 */
129 RGR_UE_TM_3, /**< Transmission Mode 3 */
130 RGR_UE_TM_4, /**< Transmission Mode 4 */
131 RGR_UE_TM_5, /**< Transmission Mode 5 */
132 RGR_UE_TM_6, /**< Transmission Mode 6 */
133 RGR_UE_TM_7, /**< Transmission Mode 7 */
134 RGR_UE_TM_8 /**< Transmission Mode 8 */
137 RGR_UE_TM_9 /**< Transmission Mode 9 */
141 * Random access system frame number */
142 typedef enum rgrRaSfn
144 RGR_SFN_EVEN, /**< Even Sub Frame */
145 RGR_SFN_ANY, /**< Any Sub Frame */
149 RGR_SFN_ODD, /**< Odd Sub Frame */
152 RGR_SFN_NA /**< Sub Frame Not Available */
155 * Configuration period per Cell for SRS */
156 typedef enum rgrSrsCfgPrd
158 RGR_SRS_CFG_PRD_1 = 1, /**< Sounding Reference signal periodicity 1ms */
159 RGR_SRS_CFG_PRD_2 = 2, /**< Sounding Reference signal periodicity 2ms */
160 RGR_SRS_CFG_PRD_5 = 5, /**< Sounding Reference signal periodicity 5ms */
161 RGR_SRS_CFG_PRD_10 = 10, /**< Sounding Reference signal periodicity 10ms */
162 RGR_SRS_CFG_PRD_INF /**< Sounding Reference signal periodicity Infinite */
166 * SRS Bandwidth Configuration per cell for SRS */
167 typedef enum rgrSrsBwCfg
169 RGR_SRS_BWCFG_0 = 0, /**< Sounding Reference Signal BW CFG 0 */
170 RGR_SRS_BWCFG_1 = 1, /**< Sounding Reference Signal BW CFG 1 */
171 RGR_SRS_BWCFG_2 = 2, /**< Sounding Reference Signal BW CFG 2 */
172 RGR_SRS_BWCFG_3 = 3, /**< Sounding Reference Signal BW CFG 3 */
173 RGR_SRS_BWCFG_4 = 4, /**< Sounding Reference Signal BW CFG 4 */
174 RGR_SRS_BWCFG_5 = 5, /**< Sounding Reference Signal BW CFG 5 */
175 RGR_SRS_BWCFG_6 = 6, /**< Sounding Reference Signal BW CFG 6 */
176 RGR_SRS_BWCFG_7 = 7 /**< Sounding Reference Signal BW CFG 7 */
181 * Ng values for PHICH For more details refer to 36.211 Sec 6.9*/
182 typedef enum rgrPhichNg
184 RGR_NG_ONESIXTH, /**< PHICH Ng Values 1/6 */
185 RGR_NG_HALF, /**< PHICH Ng Values 1/2 */
186 RGR_NG_ONE, /**< PHICH Ng Values 1 */
187 RGR_NG_TWO /**< PHICH Ng Values 2 */
190 * Aperiodic CQI Transmission Modes */
191 typedef enum rgrAprdCqiMode
193 RGR_APRD_CQI_MOD12, /**< Aperiodic CQI Mode 1-2 */
194 RGR_APRD_CQI_MOD20, /**< Aperiodic CQI Mode 2-0 */
195 RGR_APRD_CQI_MOD22, /**< Aperiodic CQI Mode 2-2 */
196 RGR_APRD_CQI_MOD30, /**< Aperiodic CQI Mode 3-0 */
197 RGR_APRD_CQI_MOD31 /**< Aperiodic CQI Mode 3-1 */
199 /*rgr_x_001.main_9 - Added support for SPS*/
201 * Number of empty transmissions for Implicit Release */
202 /*rgr_x_001.main_11 MOD added comments*/
203 typedef enum rgrSpsImplRelCnt
205 RGR_SPS_E2 = 2, /**< SPS Implicit release count 2 */
206 RGR_SPS_E3 = 3, /**< SPS Implicit release count 3 */
207 RGR_SPS_E4 = 4, /**< SPS Implicit release count 4 */
208 RGR_SPS_E8 = 8 /**< SPS Implicit release count 8 */
212 * TODO: Check if needed this way
213 * SPS Periodicty values */
214 /*rgr_x_001.main_11 MOD added comments*/
215 typedef enum rgrSpsPrd
217 RGR_SPS_PRD_10SF = 10, /**< SPS peridicity 10 */
218 RGR_SPS_PRD_20SF = 20, /**< SPS peridicity 20 */
219 RGR_SPS_PRD_32SF = 32, /**< SPS peridicity 32 */
220 RGR_SPS_PRD_40SF = 40, /**< SPS peridicity 40 */
221 RGR_SPS_PRD_64SF = 64, /**< SPS peridicity 64 */
222 RGR_SPS_PRD_80SF = 80, /**< SPS peridicity 80 */
223 RGR_SPS_PRD_128SF = 128, /**< SPS peridicity 128 */
224 RGR_SPS_PRD_160SF = 160, /**< SPS peridicity 160 */
225 RGR_SPS_PRD_320SF = 320, /**< SPS peridicity 320 */
226 RGR_SPS_PRD_640SF = 640, /**< SPS peridicity 640 */
227 RGR_SPS_PRD_INVALID /**< SPS peridicity invalid */
232 /* rgr_x_001.main_5:ADD-Added for SI Enhancement. */
234 /**@name RGR_SI_SCH */
239 typedef enum _rgrSiPerd
241 RGR_SI_PERD_8 = 8, /**< SI Periodicity 8 RF */
242 RGR_SI_PERD_16 = 16, /**< SI Periodicity 16 RF */
243 RGR_SI_PERD_32 = 32, /**< SI Periodicity 32 RF */
244 RGR_SI_PERD_64 = 64, /**< SI Periodicity 64 RF */
245 RGR_SI_PERD_128 = 128, /**< SI Periodicity 128 RF */
246 RGR_SI_PERD_256 = 256, /**< SI Periodicity 256 RF */
247 RGR_SI_PERD_512 = 512 /**< SI Periodicity 512 RF */
250 /*rgr_x_001.main_11 ccpu00115364 ADD changed U8 to enum for modPrd*/
251 /*modification period = (modificationPeriodCoeff * defaultPagingCycle)%m*/
252 /*where modificationPeriodCoeff={2,4,8,16} defaultPagingCycle={32,64,128,256}*/
254 @brief Modification period Periodicity */
255 typedef enum _rgrModPerd
257 RGR_MOD_PERD_64 = 64, /**< modification period 64 RF */
258 RGR_MOD_PERD_128 = 128, /**< modification period 128 RF */
259 RGR_MOD_PERD_256 = 256, /**< modification period 256 RF */
260 RGR_MOD_PERD_512 = 512, /**< modification period 512 RF */
261 RGR_MOD_PERD_1024 = 1024 /**< modification period 1024 RF */
264 /** SI Configuration Type */
265 typedef enum rgrSiCfgType
267 RGR_SI_CFG_TYPE_MIB = 0, /**< SI CFG Type MIB */
268 RGR_SI_CFG_TYPE_SIB1, /**< SI CFG TYPE SIB1 */
269 RGR_SI_CFG_TYPE_SI, /**< SI CFG TYPE SI */
270 RGR_SI_CFG_TYPE_SIB1_PWS, /**< SI CFG TYPE SIB1 PWS */
271 RGR_SI_CFG_TYPE_SIB8_CDMA, /**< SI CFG TYPE SIB8 */
275 RGR_SI_CFG_EMTC_TYPE_SIB1_BR,
276 RGR_SI_CFG_EMTC_TYPE_SIB1_BR_PER,
277 RGR_SI_CFG_EMTC_TYPE_SI,
278 RGR_SI_CFG_EMTC_TYPE_SI_PER
281 #endif /*RGR_SI_SCH*/
284 /*rgr_x_001.main_11 ADD added changes for DRX*/
286 * @brief DRX Timer Period */
287 typedef enum _rgrDrxTmrPerd
289 RGR_DRX_PRD_0PSF = 0, /**< DRX timer period 0 PDCCH sf */
290 RGR_DRX_PRD_1PSF = 1, /**< DRX timer period 1 PDCCH sf */
291 RGR_DRX_PRD_2PSF = 2, /**< DRX timer period 2 PDCCH sf */
292 RGR_DRX_PRD_3PSF = 3, /**< DRX timer period 3 PDCCH sf */
293 RGR_DRX_PRD_4PSF = 4, /**< DRX timer period 4 PDCCH sf */
294 RGR_DRX_PRD_5PSF = 5, /**< DRX timer period 5 PDCCH sf */
295 RGR_DRX_PRD_6PSF = 6, /**< DRX timer period 6 PDCCH sf */
296 RGR_DRX_PRD_8PSF = 8, /**< DRX timer period 8 PDCCH sf */
297 RGR_DRX_PRD_10PSF = 10, /**< DRX timer period 10 PDCCH sf */
298 RGR_DRX_PRD_16PSF = 16, /**< DRX timer period 16 PDCCH sf */
299 RGR_DRX_PRD_20PSF = 20, /**< DRX timer period 20 PDCCH sf */
300 RGR_DRX_PRD_24PSF = 24, /**< DRX timer period 24 PDCCH sf */
301 RGR_DRX_PRD_30PSF = 30, /**< DRX timer period 30 PDCCH sf */
302 RGR_DRX_PRD_33PSF = 33, /**< DRX timer period 33 PDCCH sf */
303 RGR_DRX_PRD_40PSF = 40, /**< DRX timer period 40 PDCCH sf */
304 RGR_DRX_PRD_50PSF = 50, /**< DRX timer period 50 PDCCH sf */
305 RGR_DRX_PRD_60PSF = 60, /**< DRX timer period 60 PDCCH sf */
306 RGR_DRX_PRD_64PSF = 64, /**< DRX timer period 64 PDCCH sf */
307 RGR_DRX_PRD_80PSF = 80, /**< DRX timer period 80 PDCCH sf */
308 RGR_DRX_PRD_96PSF = 96, /**< DRX timer period 96 PDCCH sf */
309 RGR_DRX_PRD_100PSF = 100, /**< DRX timer period 100 PDCCH sf */
310 RGR_DRX_PRD_112PSF = 112, /**< DRX timer period 112 PDCCH sf */
311 RGR_DRX_PRD_128PSF = 128, /**< DRX timer period 128 PDCCH sf */
312 RGR_DRX_PRD_160PSF = 160, /**< DRX timer period 160 PDCCH sf */
313 RGR_DRX_PRD_200PSF = 200, /**< DRX timer period 200 PDCCH sf */
314 RGR_DRX_PRD_300PSF = 300, /**< DRX timer period 300 PDCCH sf */
315 RGR_DRX_PRD_320PSF = 320, /**< DRX timer period 320 PDCCH sf */
316 RGR_DRX_PRD_400PSF = 400, /**< DRX timer period 300 PDCCH sf */
317 RGR_DRX_PRD_500PSF = 500, /**< DRX timer period 500 PDCCH sf */
318 RGR_DRX_PRD_600PSF = 600, /**< DRX timer period 600 PDCCH sf */
319 RGR_DRX_PRD_750PSF = 750, /**< DRX timer period 750 PDCCH sf */
320 RGR_DRX_PRD_800PSF = 800, /**< DRX timer period 800 PDCCH sf */
321 RGR_DRX_PRD_1000PSF = 1000, /**< DRX timer period 1000 PDCCH sf */
322 RGR_DRX_PRD_1200PSF = 1200, /**< DRX timer period 1200 PDCCH sf */
323 RGR_DRX_PRD_1280PSF = 1280, /**< DRX timer period 1280 PDCCH sf */
324 RGR_DRX_PRD_1600PSF = 1600, /**< DRX timer period 1600 PDCCH sf */
325 RGR_DRX_PRD_1920PSF = 1920, /**< DRX timer period 1920 PDCCH sf */
326 RGR_DRX_PRD_2560PSF = 2560 /**< DRX timer period 2560 PDCCH sf */
330 /*rgr_x_001.main_11 ADD added changes for DRX*/
332 * @brief DRX Cycle Period */
333 typedef enum _rgrDrxCyclePerd
335 RGR_DRX_PRD_2SF = 2, /**< DRX cycle period 2 sf */
336 RGR_DRX_PRD_5SF = 5, /**< DRX cycle period 5 sf */
337 RGR_DRX_PRD_8SF = 8, /**< DRX cycle period 8 sf */
338 RGR_DRX_PRD_10SF = 10, /**< DRX cycle period 10 sf */
339 RGR_DRX_PRD_16SF = 16, /**< DRX cycle period 16 sf */
340 RGR_DRX_PRD_20SF = 20, /**< DRX cycle period 20 sf */
341 RGR_DRX_PRD_32SF = 32, /**< DRX cycle period 32 sf */
342 RGR_DRX_PRD_40SF = 40, /**< DRX cycle period 40 sf */
343 RGR_DRX_PRD_64SF = 64, /**< DRX cycle period 64 sf */
344 RGR_DRX_PRD_80SF = 80, /**< DRX cycle period 80 sf */
345 RGR_DRX_PRD_128SF = 128, /**< DRX cycle period 128 sf */
346 RGR_DRX_PRD_160SF = 160, /**< DRX cycle period 160 sf */
347 RGR_DRX_PRD_256SF = 256, /**< DRX cycle period 256 sf */
348 RGR_DRX_PRD_320SF = 320, /**< DRX cycle period 320 sf */
349 RGR_DRX_PRD_512SF = 512, /**< DRX cycle period 512 sf */
350 RGR_DRX_PRD_640SF = 640, /**< DRX cycle period 640 sf */
351 RGR_DRX_PRD_1024SF = 1024, /**< DRX cycle period 1024 sf */
352 RGR_DRX_PRD_1280SF = 1280, /**< DRX cycle period 1280 sf */
353 RGR_DRX_PRD_2048SF = 2048, /**< DRX cycle period 2048 sf */
354 RGR_DRX_PRD_2560SF = 2560 /**< DRX cycle period 2560 sf */
357 /*rgr_x_001.main_11 ADD added changes for DRX*/
359 * @brief DRX Short Cycle Timer values */
360 typedef enum _rgrDrxShortCycleTmr
362 RGR_DRX_SHRTCYCLE_MIN = 1, /**< min DRX short cycle timer val */
363 RGR_DRX_SHRTCYCLE_MAX = 16 /**< max DRX short cycle timer val */
366 /*rgr_x_001.main_11 ADD added changes for R9*/
367 /**@name LTEMAC_R9 */
371 * @brief DRX CQI Mask */
372 typedef enum _rgrDrxCqiMask
374 RGR_DRX_SETUP = 0 /**< DRX CQI mask value */
379 /*rgr_x_001.main_11 ADD added changes for CQI management*/
381 @brief Enumerated P_A Values */
384 RGRUE_DLPWRCNTRL_PA_DB_6 = 0,
385 RGRUE_DLPWRCNTRL_PA_DB_4DOT77,
386 RGRUE_DLPWRCNTRL_PA_DB_3,
387 RGRUE_DLPWRCNTRL_PA_DB_1DOT77,
388 RGRUE_DLPWRCNTRL_PA_DB0,
389 RGRUE_DLPWRCNTRL_PA_DB1,
390 RGRUE_DLPWRCNTRL_PA_DB2,
391 RGRUE_DLPWRCNTRL_PA_DB3
392 } RgrUeDlPwrCntrlPaCfg;
395 typedef enum rgrSchFrmt1b3TypEnum
397 RG_SCH_UCI_FORMAT1A_1B,
398 RG_SCH_UCI_FORMAT1B_CS,
400 RG_SCH_UCI_FORMAT_NON_CA
401 }RgrSchFrmt1b3TypEnum;
404 /** @brief Transaction ID between MAC and RRM */
405 typedef struct rgrCfgTransId
407 U8 trans[RGR_CFG_TRANSID_SIZE]; /*!< RRM Transaction ID */
410 /** @brief Downlink HARQ configuration per Cell */
411 typedef struct rgrDlHqCfg
413 U8 maxDlHqTx; /*!< Maximum number of DL HARQ Transmissions.
414 Minimum value is 1, maximum can be defined
416 U8 maxMsg4HqTx; /*!< Maximum msg4(Random Access) HARQ Transmissions
417 Minimum value is 1, Maximum can be defined by
421 /** @brief Range of RNTIs managed by MAC */
422 typedef struct rgrRntiCfg
424 CmLteRnti startRnti; /*!< Start RNTI for the range managed by MAC */
425 U16 size; /*!< Indicates contiguous range of RNTI managed by
429 /** @brief Downlink common channel code rate configuration per cell */
430 typedef struct rgrDlCmnCodeRateCfg
432 U16 bcchPchRaCodeRate; /*!< BCCH on DLSCH, PCH and RARsp coding rate.
433 * This defines the actual number of bits per 1024
434 * physical layer bits */
435 U16 pdcchCodeRate; /*!< PDCCH code rate defines actual number of bits
436 * per 1024 physical layer bits. This is used to
437 * calculate aggregation level for PDCCH meant
438 * for broadcasting RNTIs */
439 U8 ccchCqi; /*!< Default CQI to be used for Msg4 in case where
440 * no CQI is available for the UE. ccchCqi ranges
442 } RgrDlCmnCodeRateCfg;
444 /** @brief Control Format Indicator (CFI) configuration per cell */
445 typedef struct rgrCfiCfg
447 U8 cfi; /*!< CFI for PDCCH: a value in set {1,2,3} */
450 /** @brief PUSCH sub-band configuration per cell */
451 typedef struct rgrPuschSubBandCfg
453 U8 subbandStart; /*!< Sub-band start */
454 U8 numSubbands; /*!< Number of equal sized sub-bands */
455 U8 size; /*!< Size of a sub-band */
456 U8 dmrs[RGR_MAX_SUBBANDS]; /*!< DMRS information per sub-band */
457 } RgrPuschSubBandCfg;
459 /** @brief Uplink common channel code rate configuration per cell */
460 typedef struct rgrUlCmnCodeRateCfg
462 U8 ccchCqi; /*!< CCCH CQI index, also used as default
463 * initial CQI for UEs */
464 } RgrUlCmnCodeRateCfg;
466 /* rgr_x_001.main_1: Removing unwanted srMcs Configuration structure */
468 /** @brief Target Uplink CQI to achieve through group power control configured per cell */
469 typedef struct rgrUlTrgCqiCfg
471 U8 trgCqi; /*!< Target UL CQI to be achieved through power
472 control.Range is defined is between 1 to 15 */
475 @brief Bandwidth configuration per cell */
476 typedef struct rgrBwCfg
478 U8 dlTotalBw; /*!< Total Dowlink Bandwidth */
479 U8 ulTotalBw; /*!< Total Uplink Bandwidth */
483 @brief PHICH configuration per cell */
484 typedef struct rgrPhichCfg
486 RgrPhichNg ngEnum; /*!< Ng value for PHICH */
487 Bool isDurExtend; /*!< PHICH Duration: TRUE-extended/FALSE-normal */
491 @brief PUCCH configuration per cell */
492 typedef struct rgrPucchCfg
494 U8 resourceSize; /*!< PUCCH resource-size or N^(2)_RB (in RBs) */
495 U16 n1PucchAn; /*!< N^(1)_PUCCH */
496 U8 deltaShift; /*!< Delta Shift for PUCCH: a value in set {1,2,3} */
497 U8 cyclicShift; /*!< Cyclic Shift for PUCCH (N^(1)_CS): a value in
499 U8 maxPucchRb; /*!< The max number of RBs for PUCCH. This will be
500 used to limit the max CFI value when dynamic
501 CFI feature is enabled. If there is no
502 limitation on the max PUCCH RBs, this variable
503 should be set to 0 */
506 @brief SRS configuration per cell */
507 typedef struct rgrSrsCfg
509 /*ccpu00130768 - ADD - SRS CFG Present flag to enable/disable cell specific SRS*/
510 Bool isSrsCfgSetup; /*!< cell specific SRS CFG enable/disable flag */
511 RgrSrsCfgPrd srsCfgPrdEnum; /*!< SRS configuration period (in subframes).*/
512 RgrSrsBwCfg srsBwEnum; /*!< SRS Bandwidth configuration per cell.
514 U8 srsSubFrameCfg;/*!< SRS subframe configuration index per cell.
518 @brief RACH configuration per cell */
519 typedef struct rgrRachCfg
521 U8 preambleFormat; /*!< RACH Preamble format: a value in set {0,1,2,3} */
522 U8 raWinSize; /*!< RA Window size */
523 /** @brief Ocassion at Which Random Access Is Expected */
526 U8 size; /*!< Number of subframe numbers */
527 RgrRaSfn sfnEnum; /*!< System Frame Number */
528 U8 subFrameNum[RGR_MAX_SUBFRAME_NUM]; /*!< Subframe numbers */
529 } raOccasion; /*!< Random access occasions */
530 U8 maxMsg3Tx; /*!< Maximum number of message 3 transmissions */
531 U8 numRaPreamble; /*!< Number of RA Preambles */
532 U8 sizeRaPreambleGrpA; /*!< Size of RA Preamble in Group A */
533 U16 msgSizeGrpA; /*!< MESSAGE_SIZE_GROUP_A */
534 U8 prachResource; /*!< N^RA_PRB: PRACH resource for random access */
538 /* rgr_x_001.main_7: [ccpu00112372] Added contention resolution timer */
539 U8 contResTmr; /*!< Contention resolution timer */
545 @brief SI Configuration per cell
547 typedef struct rgrSiCfg
549 U8 siWinSize; /*!< SI window size */
550 U8 retxCnt; /*!< Retransmission count */
551 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
552 /**@name RGR_SI_SCH */
555 /*rgr_x_001.main_11 ccpu00115364 MOD changed U8 to enum for modPrd*/
556 RgrModPeriodicity modPrd; /*!< Modificiation Period for SI */
557 U8 numSi; /*!<Number of SIs, SI Id starts from 1 */
558 RgrSiPeriodicity siPeriodicity[RGR_MAX_NUM_SI]; /*!<Periodicities of SIs */
559 U16 minPeriodicity; /*!< Minimum Periodicity Configured */
565 * @brief TPC RNTI Range */
566 typedef struct rgrTpcRntiCfg
568 CmLteRnti startTpcRnti; /*!< Start RNTI for TPC */
569 U16 size; /*!< Indicates contiguous range of RNTI */
572 /* rgr_x_001.main_6 : documentation update. */
574 * @brief Cell-specific power configuration */
575 typedef struct rgrUlPwrCfg
577 S8 p0NominalPusch; /*!< P0_NOMINAL_PUSCH Currently this is
579 RgrPwrAlpha alpha; /*!< Aplha, 3-bit cell-specific parameter
580 Currently this is unused parameter*/
581 S8 p0NominalPucch; /*!< P0_NOMINAL_PUCCH
582 Currently this is unused parameter */
583 S8 deltaPreambleMsg3; /*!< Delta_PREAMBLE_MSG3
584 Currently this is unused parameter */
585 RgrTpcRntiCfg pucchPwrFmt3;
586 RgrTpcRntiCfg pucchPwrFmt3a;
587 RgrTpcRntiCfg puschPwrFmt3;
588 RgrTpcRntiCfg puschPwrFmt3a;
592 * @brief Cell-specific hopping configuration */
593 typedef struct rgrPuschCfg
595 U8 numSubBands; /*!< Number of sub-bands
596 Currently this is unused parameter */
597 Bool isIntraHop; /*!< Hopping mode inter/intra subframe
598 Currently this is unused parameter */
599 U8 hopOffst; /*!< Hopping offset {0 ... 98}
600 Currently this is unused parameter*/
604 * @brief Number of bits in Code Book for different transmission modes */
605 typedef struct rgrCodeBookRstCfg
607 Bool pres; /*!< Code Book restriction present ?*/
608 U32 pmiBitMap[2]; /*!< Array for number of Bits for ports and TX Mode*/
611 * @brief Range of PDCCH Order Preamble Set managed by MAC */
612 typedef struct rgrPreambleSetCfg
614 Bool pres; /*!< Indicates if other configuration fields are valid */
615 U8 start; /*!< Start Preamble ID for the range managed by MAC */
616 U8 size; /*!< Indicates contiguous range of premables managaed by
621 @brief Logical channel configuration information for common channels */
622 typedef struct rgrCmnLchCfg
624 CmLteLcId lcId; /*!< Logical channel ID */
625 CmLteLcType lcType; /*!< Identifies the Logical channel type.lcType
626 can take the following values:
632 U8 dir; /*!< Indicates Direction. Direction can take following
637 CmLteTrchType dlTrchType; /*!< Indicates type of DL transport channel:
638 Validated only for BCCH at MAC. DL Transport
639 channel type can take following values:
642 CM_LTE_TRCH_DL_SCH */
643 CmLteTrchType ulTrchType; /*!< Indicates type of UL transport channel:
644 Validated only for CCCH at MAC
645 UL Transport channel type can take following values:
647 CM_LTE_TRCH_UL_SCH */
651 @brief RGR configuration for DLFS scheduler */
652 typedef struct rgrDlfsCfg
654 U8 isDlFreqSel; /*!< Indicates if resource allocation is frequency
656 U8 thresholdCqi; /*!< This value is used by the DL frequency
657 selective scheduler. This is the threshold
658 value below which the sub-band is not
659 considered for allocation for a frequency
660 selective cell. This value is utilized only if
661 DL frequency selective scheduler is configured
662 Range is defined from 1 to 15 */
665 /* LTE_ADV_FLAG_REMOVED_START */
668 * @brief LTE Adv feature status */
669 typedef enum _rgrFeature
671 RGR_ABS = 1 << 0, /**< ABS Present */
672 RGR_SFR = 1 << 1, /**< SFR Present */
673 RGR_DSFR = 1 << 2, /**< DSFR Present */
674 RGR_RE = 1 << 3 /**< RE Present */
677 RGR_SCELLRELEASE = 1 << 4,/**< Trigger Scell Release*/
678 RGR_SCELLADD = 1 << 5,/**< Trigger Scell ADD*/
679 RGR_SCELLACT = 1 << 6,/**< Trigger Scell Activate*/
680 RGR_SCELLDEACT = 1 << 7 /**< Trigger Scell Deactivate*/
685 * @brief LTE Adv feature is enable/disable */
686 typedef enum _rgrFeaturestatus
688 RGR_DISABLE = 0, /**< Feature disabled */
689 RGR_ENABLE = 1 /**< Feature Enabled */
693 * @brief Pattern type for ABS */
694 typedef enum _rgrAbsPatternType
696 RGR_ABS_MUTE = 1 << 0, /**< Cell will Mute in configured ABS pattern */
697 RGR_ABS_TRANSMIT = 1 << 1 /**< Cell will Transmit in configured ABS pattern */
701 @brief RGR RB range for SFR */
702 typedef struct rgrSfrRbRange
704 U8 startRb; /*<! Start RB for cell edge user */
705 U8 endRb; /*<! End RB for cell edge user */
710 @brief RGR Power threshold for SFR */
711 typedef struct rgrPwrThreshold
713 RgrUeDlPwrCntrlPaCfg pLow; /*<! Power level for cell center UE */
714 RgrUeDlPwrCntrlPaCfg pHigh; /*<! Power level for cell edge UE */
719 @brief RGR configuration for SFR feature */
720 typedef struct rgrSfrConfig
722 RgrFeatureStatus status; /*!< Indicate feature is enabled or disabled */
723 RgrSfrRbRange cellEdgeRbRange; /*<! Range of RBS for cell edge UEs */
725 RgrPwrThreshold pwrThreshold; /*<! Power threshold for cell edge and cell center UE */
729 /** This structure holds DSFR Config params **/
730 typedef struct rgrDsfrConfig
732 RgrFeatureStatus status; /*!< Indicate feature is enabled or disabled */
736 @brief RGR configuration for LTE Advanced feature */
737 typedef struct rgrAbsConfig
739 RgrFeatureStatus status; /*!< Indicate feature is enabled or disabled */
740 U32 absPatternType; /*!< Indicate it as Mute and/or Transmit type */
741 U8 absPattern[RGR_ABS_PATTERN_LEN]; /*!< ABS pattern */
742 U32 absLoadPeriodicity; /*!< ABS Load Ind periodicity in msec */
746 @brief RGR configuration for LTE Advanced feature */
747 typedef struct rgrLteAdvancedCellConfig
749 U32 pres; /*!< To indicate presence of feature config */
750 RgrAbsConfig absCfg; /*!< Configuration of ABS feature */
751 RgrSfrConfig sfrCfg; /*!< Configuration of SFR feature */
752 RgrDsfrConfig dsfrCfg;/*!< Configuration of DSFR feature */
753 } RgrLteAdvancedCellConfig;
754 /* LTE_ADV_FLAG_REMOVED_END */
759 /** @brief PRACH resource information for TDD */
760 typedef struct rgrTddPrachInfo
762 U8 freqIdx; /*!< Frequency Index */
763 RgrRaSfn sfn; /*!< Even/Odd/All Radio Frames */
764 U8 halfFrm; /*!< First/Second Half Frame */
765 U8 ulStartSfIdx; /*!< Uplink Start Subframe Index;
766 RGR_TDD_SPL_UL_IDX must be used
767 to configure special subframes */
770 /** @brief Set of PRACH information for TDD */
771 typedef struct rgrTddPrachRscInfo
773 U8 numRsc; /*!< Number of PRACH resources*/
774 RgrTddPrachInfo prachInfo[RGR_TDD_MAX_FREQ_RSRC]; /*!< PRACH information */
775 } RgrTddPrachRscInfo;
779 /** @brief set of PF Scheduler Parameters */
780 typedef struct rgrEnbPfs
782 U8 tptCoeffi; /*!< Downlink Throughput Coeffiecient
784 U8 fairCoeffi; /*!< Downlink Fairness Coeffiecient
786 U32 qciWgt[RGR_MAX_NUM_QCI]; /*!< Downlink Qci Weights */
790 @brief OPEN/CSG/HCSG Access Mode CELL
792 typedef enum rgrCellAccsMode
794 RGR_CELL_ACCS_OPEN = 1, /*!< Open Access Mode */
795 RGR_CELL_ACCS_CLOSED, /*!< Closed Mode */
796 RGR_CELL_ACCS_HYBRID /*!< Hybrid Mode */
800 @brief Control Command Type
802 typedef enum rgrCellCntrlCmdType
804 RGR_CNTRL_CMD_RACH_OVRLD=1,
805 RGR_CNTRL_CMD_CPU_OVRLD
806 }RgrCellCntrlCmdType;
809 @brief Control Commands to alter CELL performance
811 typedef struct rgrCellCntrlCmdCfg
813 RgrCellCntrlCmdType cmdType;
814 /** @brief Cntrl Cmd Description */
817 /** @brief RACH OverLoad Cntrl Cmd Description */
820 Bool backOffEnb; /*!< backoff RACH during overlaod */
821 U8 backOffVal; /*!< backoff value during overload */
824 /** @brief CPU OverLoad Cntrl Cmd Description */
827 U8 instruction; /*!< CPU Over Load Cntrl Instruction */
830 } RgrCellCntrlCmdCfg;
835 * eNB level Scheduler Configurations
836 * along with other PFS config Parameters
838 typedef struct macSchedGnbCfg
840 U8 numTxAntPorts; /*!< Number of Tx antenna ports */
841 U8 ulSchdType; /*!< Indicates which UL scheduler to use, range
842 * is 0..(number of schedulers - 1) */
843 U8 dlSchdType; /*!< Indicates which DL scheduler to use, range
844 * is 0..(number of schedulers - 1) */
845 U8 numCells; /*!< Max number of cells */
846 U8 maxUlUePerTti; /*!< Max number of UE in UL per TTI */
847 U8 maxDlUePerTti; /*!< Max number of UE in DL per TTI */
851 * eNB level Scheduler Configurations
852 * along with other PFS config Parameters
854 typedef struct rgrSchedEnbCfg
856 U8 numTxAntPorts; /*!< Number of Tx antenna ports */
857 U8 dlSchdType; /*!< Indicates which DL scheduler to use, range
858 * is 0..(number of schedulers - 1) */
861 RgrEnbPfs dlPfs; /*!< Information related to DL PFS
864 U8 ulSchdType; /*!< Indicates which UL scheduler to use, range
865 is 0..(number of schedulers - 1) */
868 RgrEnbPfs ulPfs; /*!< This structure holds the parameters
869 to be configured for PFS scheduler.
870 These values are utilized only when
871 if PFS scheduler is being configured
872 There is no range defined for the
873 values, However the product of all
874 three priorities must not exceed the
877 RgrCellAccsMode accsMode; /*!< Cell Access Mode */
879 Bool isDynTddEnbld; /*!< Dynamic TDD config */
883 /*rgr_x_001.main_9 - Added support for SPS*/
884 /*rgr_x_001.main_11 MOD added comments for doxygen*/
885 /** @name LTEMAC_SPS */
888 @brief DL SPS configuration parameters per UE
889 TODO: Check if this is to be added to re-configuration as well
892 typedef struct rgrSpsCellCfg
894 U8 maxSpsDlBw; /*!< BW used of SPS Scheduling */
896 U16 maxSpsUePerDlSf; /*!< Maximum DL SPS UEs that can be
897 scheduled in a TTI */
898 U16 maxSpsUePerUlSf; /*!< Maximum UL SPS UEs that can be scheduled
903 @brief OPEN/CSG/HCSG Access Mode Configuration parameters for CELL
905 typedef struct rgrCellCsgParamCfg
907 U8 minDlResNonCsg; /*!< Min PDSCH Resources for Non-CSG Members */
908 U8 minUlResNonCsg; /*!< Min PUSCH Resources for Non-CSG Members */
909 } RgrCellCsgParamCfg;
911 /** @brief LAA Cell Configuration */
912 typedef struct rgrLteUCfg
914 Bool isLaaCell; /*<! To distinguish between LAA and LTE-U cell*/
918 typedef struct rgrEmtcSiSchedInfo
920 U8 emtcSiNarrowBand; /*!< narrowband assigned to SI */
921 U16 emtcSiTbs; /*!< tbs value for SI */
924 typedef struct rgrEmtcPrmbleMap
926 U8 firstPreamble; /*!< for each CE mode, starting preamble */
927 U8 lastPreamble; /*!< for each CE mode, starting preamble */
930 typedef struct rgrEmtcRachCElevelInfoLst
932 U8 emtcRarHopping; /*!< by defualt off */
933 U16 raEmtcWinSize; /*!< RA Window size */
934 U16 raEmtcContResTmr; /*!< Contension Resolution */
935 U16 emtcPreambleTransMax; /*!< PreambleTransMax */
936 RgrEmtcPrmbleMap emtcPreambleMap; /*!< preamble mapping Info */
937 }RgrEmtcRachCElevelInfoLst;
939 typedef struct rgrEmtcRachCfg
941 U8 emtcCeLvlSupported;
942 RgrEmtcRachCElevelInfoLst ceLevelInfo[RGR_MAX_CE_LEVEL]; /* for all CE levels 0,1,2,3*/
945 typedef struct rgrEmtcPdschCfg
947 U16 emtcMaxRepCeModeA; /*!< max repetition for CE ModeA */
948 U16 emtcMaxRepCeModeB; /*!< max repetition for CE ModeB */
951 typedef struct rgrEmtcPuschCfg
953 U16 emtcMaxRepCeModeA; /*!< max repetition for CE ModeA */
954 U16 emtcMaxRepCeModeB; /*!< max repetition for CE ModeB */
955 U8 emtcHoppingOffset; /*!< Hopping offset */
958 typedef struct rgrEmtcPrachCEParamLst
960 U8 emtcPrachCfgIdx; /*!< Prach config index */
961 U8 emtcPrachFreqOffset; /*!< Prach Frequency Offset */
962 U16 emtcPrachStartSubFrame; /*!< Starting sub frame */
963 U8 emtcMaxPremAttemptCE; /*!< max preamble attempt CE */
964 U8 emtcNumRepPerPreambleAtt;/*!< num of repetition per preamble attempt*/
965 U8 emtcNumMpdcchNBtoMonitor;/*!< num of Mpddch NB to monitor */
966 U8 emtcMpdcchNBtoMonitor[RGR_MAX_NUM_MPDCCH_MONITOR];/*!< Mpddch NB to monitor */
967 U16 emtcMpdcchNumRep; /*!< num of Mpddch Number of repetition */
968 U8 emtcPrachHoppingCfg; /*!< num of Prach Hopping config */
969 }RgrEmtcPrachCEParamLst;
971 typedef struct rgrEmtcPrachCfg
973 U8 emtcMpdcchStartSFCssRaFdd; /*!< mdpcch start SubFrame Ra type2 */
974 U8 emtcPrachHopingOffset; /*!< prach hopping offset value */
975 U8 emtcInitialCElevel; /*!< Initial CE level to start with */
976 RgrEmtcPrachCEParamLst emtcPrachCEparmLst[RGR_MAX_CE_LEVEL];
980 /*Changes by Simran*/
981 typedef struct rgrFddDownlinkOrTddSubframeBitmapLC
989 }RgrFddDownlinkOrTddSubframeBitmapLC;
992 typedef struct rgrEmtcSiCfg
994 Bool siHoppingEnable; /*!< SI Hopping enabled or not */
995 RgrModPeriodicity modPrd; /*!< Modificiation Period for SI */
996 U8 siWinSizeBr; /*!< SI window size */
997 U8 sib1Repetition; /*!< sib1-br repetition */
998 U8 siRepetition; /*!< SI repetition pattern
999 everyRF,every2ndRF,every4thRF,every8thRF*/
1001 /*Changes by Simran*/
1002 RgrFddDownlinkOrTddSubframeBitmapLC fddDLOrTddSfBitmapLC;
1003 //U16 fddDlOrTddSfBitmapBR; /*!< 10 bit value for sending SI*/
1004 RgrEmtcSiSchedInfo schdInfo[RGR_MAX_NUM_SI];
1005 U8 numSi; /*!<Number of SIs, SI Id starts from 1 */
1006 RgrSiPeriodicity siPeriodicity[RGR_MAX_NUM_SI]; /*!<Periodicities of SIs */
1009 typedef struct rgrEmtcPucchCfg
1011 U16 emtcN1pucchAnInfoLst[RGR_MAX_CE_LEVEL]; /*!< Max CE level is 4 */
1012 U8 emtcPucchNumRepCEMsg4Lvl0; /*!< update the level 0 */
1013 U8 emtcPucchNumRepCEMsg4Lvl1; /*!< update the level 1 */
1014 U8 emtcPucchNumRepCEMsg4Lvl2; /*!< update the level 2 */
1015 U8 emtcPucchNumRepCEMsg4Lvl3; /*!< update the level 3 */
1018 typedef struct rgrEmtcRntiCfg
1020 CmLteRnti rntiCeModeAStart; /*!< EMTC Start RNTI for the range managed by MAC */
1021 CmLteRnti rntiCeModeARange; /*!< EMTC Range of RNTI for the CEMODE A */
1022 U16 rntiCeModeBStart; /*!< EMTC Start RNTI for the range managed by MAC */
1023 CmLteRnti rntiCeModeBRange; /*!< EMTC Range of RNTI for the CEMODE B */
1024 U16 size; /*!< Indicates contiguous range of RNTI managed by EMTC
1028 typedef struct rgrEmtcCellCfg
1030 U16 pci; /*!< Physical Cell ID */
1031 U32 emtcT300Tmr; /*!< T300 timer as per Rel13 */
1032 U32 emtcT301Tmr; /*!< T301 timer as per Rel13 */
1033 RgrEmtcSiCfg emtcSiCfg; /*!< SI configuration */
1034 RgrEmtcRachCfg emtcRachCfg; /*!< Rach config as per Rel13*/
1035 RgrEmtcPdschCfg emtcPdschCfg; /*!< Pdsch config as per Rel13*/
1036 RgrEmtcPuschCfg emtcPuschCfg; /*!< Pusch config as per Rel13*/
1037 RgrEmtcPrachCfg emtcPrachCfg; /*!< Prach config as per Rel13*/
1038 RgrEmtcPucchCfg emtcPucchCfg; /*!< Pucch config as per Rel13*/
1039 RgrEmtcRntiCfg emtcMacRnti;
1048 typedef enum rgSchSfType
1050 RG_SCH_SF_DLCNTRL_DLDATA = 0,
1051 RG_SCH_SF_DLCNTRL_DLDATA_ULCNTRL,
1052 RG_SCH_SF_DLCNTRL_ULDATA,
1053 RG_SCH_SF_DLCNTRL_ULDATA_ULCNTRL
1056 typedef struct rgr5gtfCellCfg
1058 RgSchSfType dynConfig[MAX_5GTF_SUBFRAME_INFO];
1068 /** @brief This enum defines dl ul transmission periodicity as per spec 38.331
1069 * servingCellConfigCommon */
1070 typedef enum rgrDlUlTxPrdcty
1072 RGR_DLULTXPRDCTY_MS0DOT5 = 0, /*!<Periodicity of 0.5 ms*/
1073 RGR_DLULTXPRDCTY_MS0DOT625, /*!<Periodicity of 0.625 ms*/
1074 RGR_DLULTXPRDCTY_MS1, /*!<Periodicity of 1 ms */
1075 RGR_DLULTXPRDCTY_MS1DOT25, /*!<Periodicity of 1.25 ms */
1076 RGR_DLULTXPRDCTY_MS2, /*!<Periodicity of 2 ms */
1077 RGR_DLULTXPRDCTY_MS2DOT5, /*!<Periodicity of 2.5 ms */
1078 RGR_DLULTXPRDCTY_MS5, /*!<Periodicity of 5 ms */
1079 RGR_DLULTXPRDCTY_MS10 /*!<Periodicity of 10 ms */
1083 typedef struct rgrSlotCfg
1085 Bool duplexMode; /*!< FDD:0, TDD:1 */
1086 U32 slotFrmt[RGR_MAX_SLOTS_IN_10MS]; /*!< Least significant 2 bits indicates:
1087 00-DL, 01-UL, 10-Flexi, 11-Mixed
1088 Rest 28 bits indicates 14 symbols
1089 types(DL/UL/Flexi) 2 bits for
1091 RgrDlUlTxPrdcty dlUlTxPrdcty; /*!< dl-ul-Transmission periodicity
1092 as per 38.331 in servingCellConfigCommon*/
1097 /** @brief Cell Configuration at RRM */
1098 typedef struct rgrCellCfg
1102 CmLteCellId cellId; /*!< Cell ID */
1103 U16 pci; /*!< Physical Cell ID */
1104 U8 maxMsg3PerUlSlot; /*!< Maximum MSG3 that may be scheduled
1106 U8 maxUePerUlSlot; /*!<Maximum UE scheduled per UL slot */
1107 U8 maxUePerDlSlot; /*!<Maximum UE scheduled per DL in a TTI */
1108 Bool isCpUlExtend; /*!< Cyclic prefix: TRUE-extended,
1109 FALSE-normal for UL */
1110 Bool isCpDlExtend; /*!< Cyclic prefix: TRUE-extended,
1111 FALSE-normal for DL*/
1112 RgrDlHqCfg dlHqCfg; /*!< HARQ related configuration */
1113 RgrCfiCfg cfiCfg; /*!< CFI for PDCCH */
1114 RgrUlTrgCqiCfg trgUlCqi; /*!< Target UL CQI */
1115 RgrDlCmnCodeRateCfg dlCmnCodeRate; /*!< Coding rate for common DL channels:
1116 Expressed in multiples of 1024 */
1117 RgrUlCmnCodeRateCfg ulCmnCodeRate; /*!< Coding rate for common UL channels:
1118 Expressed as index into CQI table */
1119 RgrBwCfg bwCfg; /*!< Bandwidth configuration */
1120 RgrUlPwrCfg pwrCfg; /*!< Cell-specific power configuration */
1121 RgrPuschCfg puschCfg; /*!< Cell-specific hopping configuration */
1122 RgrPreambleSetCfg macPreambleSet; /*!< Range of PDCCH Order Preamble IDs
1123 to be managed by MAC */
1125 U16 bcchTxPwrOffset; /*!< Tx Pwr Offset for BCCH tx on PDSCH.
1126 Offset to the reference signal
1127 power. Value: 0 -> 10000,
1128 representing -6 dB to 4 dB in 0.001
1130 U16 pcchTxPwrOffset; /*!< Tx Pwr Offset for PCCH tx.
1131 Offset to the reference signal
1132 power. Value: 0 -> 10000,
1133 representing -6 dB to 4 dB in 0.001
1135 U16 rarTxPwrOffset; /*!< Tx Pwr Offset for RAR tx.
1136 Offset to the reference signal
1137 power. Value: 0 -> 10000,
1138 representing -6 dB to 4 dB in 0.001
1140 U8 nrMu; /*!<Indicates the number of Slot for a radio frame*/
1141 U8 tbScalingField;/*!< TB Scaling Factor used while
1142 calucating TBS for P-RNTI, or
1144 RgrSlotCfg slotCfg; /*!< Slot config as per 38.211, sec
1147 tdd-UL-DL-configcommon */
1148 #if 0 //TODO: uncomment after study
1149 RgrDataDmrsTypAPosEnum dmrsTypAPos; /*!< Position of (first) DL DM-RS is
1150 included in NR-PBCH payload. value is 2 or 3 */
1152 RgrSsPbchBlockCfg ssPbchCfg; /*!< SS PBCH Block configuration */
1153 RgrFreqRangeType freqRangeType; /*!<Cell Frequency Range type (<=
1154 3Ghz, 3 < x <= 6Ghz, > 6Ghz)*/
1155 RgrType0PdcchCSSCfg type0PdcchCSSCfg; /*!< Type 0 CSS Config params */
1156 RgrFreqInfoDlCfg freqInfoDlCfg; /*!< DL Frequency information
1158 RgrSulCellCfg sulCellCfg; /*!< SUL Cell config */
1159 RgrUlCfgCmn ulCmnCfg; /*!< initial UL Bwp and Ul freq
1162 Bool initDlBwpPres; /*!< intial common
1163 DL BWP is present or not */
1164 RgrBwpDlCmn initDlBwp; /*!<Initial Dl BWP*/
1165 RgrAddlBwpCfg addlBwpCfg; /*!<Additional BWP Configuration apart from
1168 RgrCellNsCfgInfo nsCfg; /*!< NSI Cfg */
1170 RgrCellPfsCfgInfo pfsCfg; /*!< Pfs Config */
1171 Bool isRateMatchSsPbchEnbld; /*!<PDSCH rate match enabled for SS PBCH */
1172 Bool isRateMatchCsetEnbld; /*!<PDSCH rate match enabled */
1175 CmLteCellId cellId; /*!< Cell ID */
1176 Inst macInst; /*!< MAC instance that is serving the cell */
1180 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
1182 U8 maxMsg3PerUlSf; /*!< Maximum MSG3 that may be scheduled
1183 per uplink subframe */
1186 U8 maxUePerUlSf; /*!< Maximum UEs that may be scheduled
1187 per uplink subframe. Currently this is
1189 U8 maxUePerDlSf; /*!< Maximum UE to be considered for DL
1190 scheduling in a TTI.Currently this is
1192 /*[ccpu00138609]-ADD- Max limit for Msg4/DL CCCH Ues */
1193 U8 maxCcchPerDlSf; /*!< Max num of Msg4/DL CCCH SDU UEs that
1194 can be scheduled per TTI. It cannot
1195 exceed max UE per Dl sf. If set as
1196 0, this will be a don't care
1198 U8 maxUlBwPerUe; /*!< Maximum number of RBs that can be
1199 allocated to an UE in an UL subframe
1200 Maximum value is defined by
1201 RG_SCH_CMN_MAX_UL_BW_PER_UE in
1202 rg_env.h. This can be modified as
1204 U8 maxDlBwPerUe; /*!< Maximum number of RBs that can be
1205 allocated to an UE in an DL subframe
1206 Maximum value is defined by
1207 RG_SCH_CMN_MAX_DL_BW_PER_UE in
1208 rg_env.h. This can be modified as
1210 U8 maxDlRetxBw; /*!< Maximum number of RBs that can be
1211 allocated for retransmission in DL
1212 Maximum value is defined by
1213 RG_SCH_CMN_MAX_DL_RETX_BW in
1214 rg_env.h. This can be modified as
1216 U8 maxDlUeNewTxPerTti; /*!< Maximum number of UEs that can
1217 be scheduled for a new DL
1218 transmission in a TTI. Value should
1219 be configured by the user as per
1221 U8 maxUlUeNewTxPerTti; /*!< Maximum number of UEs that can
1222 be scheduled for a new UL
1223 transmission in a TTI. Value should
1224 be configured by the user as per
1226 Bool isCpUlExtend; /*!< Cyclic prefix: TRUE-extended,
1227 FALSE-normal for UL */
1228 Bool isCpDlExtend; /*!< Cyclic prefix: TRUE-extended,
1229 FALSE-normal for DL*/
1230 Bool cellModSchm; /*!< TRUE indicates 64QAM
1231 allowed while FALSE indicates 64QAM
1232 is not allowed. Currently this is unused
1234 S8 pMax; /*!< To limit the Cell Uplink
1235 transmission power */
1237 U8 dlfsSchdType; /*!< Indicates which DLFS scheduler to use, range
1238 * is 0..(number of schedulers - 1) */
1239 RgrDlHqCfg dlHqCfg; /*!< HARQ related configuration */
1240 RgrRntiCfg macRnti; /*!< Range of RNTIs to be managed by MAC */
1241 RgrCfiCfg cfiCfg; /*!< CFI for PDCCH */
1242 RgrUlTrgCqiCfg trgUlCqi; /*!< Target UL CQI */
1243 RgrDlCmnCodeRateCfg dlCmnCodeRate; /*!< Coding rate for common DL channels:
1244 Expressed in multiples of 1024 */
1245 RgrPuschSubBandCfg puschSubBand; /*!< UL sub-band information */
1246 RgrUlCmnCodeRateCfg ulCmnCodeRate; /*!< Coding rate for common UL channels:
1247 Expressed as index into CQI table */
1248 RgrDlfsCfg dlfsCfg; /*!< Configuration for DLFS scheduler */
1249 RgrBwCfg bwCfg; /*!< Bandwidth configuration */
1250 RgrPhichCfg phichCfg; /*!< PHICH configuration information */
1251 RgrPucchCfg pucchCfg; /*!< PUCCH configuration information */
1252 RgrSrsCfg srsCfg; /*!< SRS configuration information. Currently
1254 RgrRachCfg rachCfg; /*!< RACH configuration */
1255 RgrSiCfg siCfg; /*!< SI configuration */
1256 RgrUlPwrCfg pwrCfg; /*!< Cell-specific power configuration */
1257 RgrPuschCfg puschCfg; /*!< Cell-specific hopping configuration */
1258 RgrPreambleSetCfg macPreambleSet; /*!< Range of PDCCH Order Preamble IDs
1259 to be managed by MAC */
1260 U8 numCmnLcs; /*!< Number of common logical channels*/
1261 RgrCmnLchCfg cmnLcCfg[RGR_MAX_CMN_LC_PER_CELL]; /*!< Configuration for
1262 common logical channels */
1263 RgrCellCsgParamCfg csgParamCfg; /* Cell-specific configuration for CSG */
1264 /** @name LTE_TDD */
1267 U8 ulDlCfgIdx; /*!< UL-DL configuration index*/
1268 U8 spclSfCfgIdx; /*!< Special Subframe configuration index*/
1269 RgrTddPrachRscInfo prachRscInfo; /*!< PRACH information */
1270 #endif /* LTE_TDD */
1272 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
1273 /* rgr_x_001.main_4: Added 0 as valid value to shut off RGR TICKs. */
1274 /** @name RGR_RRM_TICK */
1276 U8 rrmTtiIndPrd; /*!< Periodicity of TTI indication from
1277 MAC towards RGR user. Range [0-255]. A
1278 value of 1 means one tick per System
1279 Frame and 2 means one tick per 2 System
1281 A value of 0 implies no ticks. */
1283 /*rgr_x_001.main_9 - Added support for SPS*/
1284 /** @name LTEMAC_SPS */
1286 RgrSpsCellCfg spsCfg; /* Cell-specific configuration for DL SPS */
1287 /* LTE_ADV_FLAG_REMOVED_START */
1288 RgrLteAdvancedCellConfig rgrLteAdvCfg; /*!< RGR Configuration of LTE Adv */
1289 /* LTE_ADV_FLAG_REMOVED_END */
1291 U8 dlCqiOverrideFloor;
1292 U8 dlCqiOverrideCeil;
1293 U8 ulCqiOverrideFloor;
1294 U8 ulCqiOverrideCeil;
1297 U16 t300TmrVal; /*!< t300Timer value configured in Frames */
1299 /* ccpu00132314-ADD-Tx power offsets for Common PDSCH transmissions */
1300 U16 bcchTxPwrOffset; /*!< Tx Pwr Offset for BCCH tx on PDSCH.
1301 Offset to the reference signal
1302 power. Value: 0 -> 10000,
1303 representing -6 dB to 4 dB in 0.001
1305 U16 pcchTxPwrOffset; /*!< Tx Pwr Offset for PCCH tx.
1306 Offset to the reference signal
1307 power. Value: 0 -> 10000,
1308 representing -6 dB to 4 dB in 0.001
1310 U16 rarTxPwrOffset; /*!< Tx Pwr Offset for RAR tx.
1311 Offset to the reference signal
1312 power. Value: 0 -> 10000,
1313 representing -6 dB to 4 dB in 0.001
1315 /* ccpu00138898 - Added Tx pwr offset for PHICH Tx*/
1316 U16 phichTxPwrOffset; /*!< Tx Pwr Offset for PHICH tx.
1317 Offset to the reference signal
1318 power. Value: 0 -> 10000,
1319 representing -6 dB to 4 dB in 0.001
1321 Bool isDynCfiEnb; /*!< To indicate whether Dynamic CFI is enabled
1323 Bool isAutoCfgModeEnb; /*!< To indicate whether AutoCfg Mode
1324 change is enabled or not */
1325 RgrUeDlPwrCntrlPaCfg msg4pAVal; /*!< Default value (Enum) of PA that is
1326 used by Scheduler for msg4 */
1327 RgrLteUCfg lteUCfg; /*!< Flag to identify LAA or LTE-U*/
1329 Bool isPucchFormat3Sptd; /*!< Flag for Format 3 Support */
1333 RgrEmtcCellCfg emtcCellCfg;
1336 Rgr5gtfCellCfg Cell5gtfCfg;
1341 @brief Downlink Aperiodic CQI reporting related configuration per UE */
1342 typedef struct rgrUeAprdDlCqiCfg
1344 Bool pres; /*!< Indicates presence of aperiodic
1345 DL CQI configuration */
1346 RgrAprdCqiMode aprdModeEnum; /*!< Aperiodic CQI reporting mode */
1347 /* These two fields are only valid for Pcell*/
1349 U8 triggerSet1; /*!< Trigger set one*/
1350 U8 triggerSet2; /*!< Trigger set two*/
1352 } RgrUeAprdDlCqiCfg;
1354 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
1357 @brief Downlink Periodic CQI reporting related configuration per UE */
1358 typedef struct rgrUePrdDlCqiCfg
1360 Bool pres; /*!< Indicates presence of periodic
1361 DL CQI configuration. */
1362 RgrPrdCqiMode prdModeEnum; /*!< Peiodic CQI reporting mode. */
1363 RgrCqiPrdicity prdicityEnum; /*!< Periodicity values for CQI.
1364 Currently, this is unused parameter. */
1365 U8 subframeOffst; /*!< Subframe offset.
1366 Currently, this is unused parameter. */
1367 S8 cqiOffst; /*!< Delta^cqi_offset: (actual_value*10).
1368 Currently, this is unused parameter. */
1369 U8 k; /*!< k value: range [1-4] */
1370 U16 cqiPmiCfgIdx; /*!< CQI-PMI configuration index. */
1373 #else /* TFU_UPGRADE */
1376 * @brief Periodic CQI Setup configuration parameters information
1378 /* Reference: 36.313: CQI-ReportPeriodic */
1379 typedef struct rgrUeDlPCqiSetup
1381 U16 cqiPResIdx; /*!< cqi-PUCCH-ResourceIndex (0.. 1185) */
1382 U16 cqiPCfgIdx; /*!< cqi-pmi-ConfigIndex (0..1023) */
1383 U8 cqiRepType; /*!< Wideband CQI = 1 Subband CQI =2 */
1384 U8 k; /*!< Ref: 36.213 [23, 7.2.2] (1..4).
1385 Valid only for Subband CQI */
1386 U8 riEna; /*!< Rand Indicator is Enabled TRUE(1) FALSE(0) */
1387 U16 riCfgIdx; /*!< ri-ConfigIndex (0..1023) */
1388 Bool sANCQI; /*!< simultaneousAckNackAndCQI TRUE(1) FALSE(0) */
1389 RgrPrdCqiMode prdModeEnum; /*!< Peiodic CQI reporting mode */
1394 * @brief Periodic CQI/PMI/RI configuration parameters information
1396 typedef struct rgrUeDlPCqiCfg
1398 U8 type; /*!< Setup(1) or Release(0) */
1399 RgrUeDlPCqiSetup cqiSetup; /*!< Periodic CQI Setup */
1404 /*rgr_x_001.main_11 MOD added comments*/
1406 * @ brief Different values for UL SRS BW information
1408 typedef enum rgrUlSrsBwInfo
1410 RGR_ULSRS_BW_0 = 0, /**< UL SRS BW info 0 */
1411 RGR_ULSRS_BW_1 = 1, /**< UL SRS BW info 1 */
1412 RGR_ULSRS_BW_2 = 2, /**< UL SRS BW info 2 */
1413 RGR_ULSRS_BW_3 = 3 /**< UL SRS BW info 3 */
1417 /*rgr_x_001.main_11 MOD added comments*/
1419 * @brief Different values for UL SRS Hoping BW information
1421 typedef enum rgrUlSrsHoBwInfo
1423 RGR_ULSRS_HOP_BW_0 = 0, /**< UL SRS Hopping BW info 0 */
1424 RGR_ULSRS_HOP_BW_1 = 1, /**< UL SRS Hopping BW info 1 */
1425 RGR_ULSRS_HOP_BW_2 = 2, /**< UL SRS Hopping BW info 2 */
1426 RGR_ULSRS_HOP_BW_3 = 3 /**< UL SRS Hopping BW info 3 */
1429 /*rgr_x_001.main_11 MOD added comments*/
1431 * @brief Different values for UL SRS Cyclic Shift information
1433 typedef enum rgrUlSrsCycShiftInfo
1435 RGR_ULSRS_CYSHIFT_0 = 0, /**< UL SRS Cyclic shift info 0 */
1436 RGR_ULSRS_CYSHIFT_1 = 1, /**< UL SRS Cyclic shift info 1 */
1437 RGR_ULSRS_CYSHIFT_2 = 2, /**< UL SRS Cyclic shift info 2 */
1438 RGR_ULSRS_CYSHIFT_3 = 3, /**< UL SRS Cyclic shift info 3 */
1439 RGR_ULSRS_CYSHIFT_4 = 4, /**< UL SRS Cyclic shift info 4 */
1440 RGR_ULSRS_CYSHIFT_5 = 5, /**< UL SRS Cyclic shift info 5 */
1441 RGR_ULSRS_CYSHIFT_6 = 6, /**< UL SRS Cyclic shift info 6 */
1442 RGR_ULSRS_CYSHIFT_7 = 7 /**< UL SRS Cyclic shift info 7 */
1443 } RgrUlSrsCycShiftInfo;
1446 /*rgr_x_001.main_11 MOD added comments*/
1448 * @brief SRS configuration setup parameters information.
1449 Reference 36.313 SoundingRS-UL-Config
1451 typedef struct rgrUeUlSrsSetupCfg
1453 U16 srsCfgIdx; /*!< SRS Configuration Index ISRS
1454 Ref: 36.213: Table 8.2-1; Range: 0-636*/
1455 RgrUlSrsBwInfo srsBw; /*!< SRS Bandwidth */
1456 RgrUlSrsHoBwInfo srsHopBw; /*!< SRS Hoping Bandwidth */
1457 RgrUlSrsCycShiftInfo cycShift; /*!< Cyclic Shift */
1458 Bool duration; /*!< Single(0) Infinite(1) */
1459 /*rgr_x_001.main_11 MOD added comments for doxygen*/
1460 Bool sANSrs; /*!< Simultaneous ACK/NACK and SRS. Note:
1461 This param is specified as a UE specific
1462 parameter though 3GPP TS36.331 specifies
1463 this as a cell-specific parameter. RRM
1464 should configure this parameter with the
1465 same value for all the UEs configured for
1467 /* rgr_x_001.main_13 - DEL - Removed the redeclaration of sANSrs and added the proper comment termination above */
1468 U8 txComb; /*!< Tranmission Comb: 0..1 */
1469 U8 fDomPosi; /*!< Frequency Domain Position */
1470 }RgrUeUlSrsSetupCfg;
1473 /*rgr_x_001.main_11 MOD added comments*/
1475 *@brief Dsr Trans maximum
1477 typedef enum rgrUeDsrTransMax
1479 RGR_DSR_TXMAX_4=4, /**< Dsr Trans maximum 4 */
1480 RGR_DSR_TXMAX_16=16, /**< Dsr Trans maximum 16 */
1481 RGR_DSR_TXMAX_32=32, /**< Dsr Trans maximum 32 */
1482 RGR_DSR_TXMAX_64=64 /**< Dsr Trans maximum 64 */
1487 * @brief SR Setup configuration parameters information
1489 typedef struct rgrUeSrSetupCfg
1491 U16 srResIdx; /*!< Range: 0-2047; Reference: SchedulingRequestConfig */
1492 U8 srCfgIdx; /*!< Range: 0 -155; Reference: SchedulingRequestConfig */
1493 /*ccpu00131601:DEL - dTMax will not be required by scheduler */
1497 * @brief SR configuration parameters information
1499 typedef struct rgrUeSrCfg
1501 Bool type; /*!< Release(0)/Setup(1) */
1502 RgrUeSrSetupCfg srSetup; /*!< SR Setup Configuration */
1505 /** @brief SRS configuration parameters information.
1506 Reference 36.313 SoundingRS-UL-Config
1508 typedef struct rgrUeUlSrsCfg
1510 U8 type; /*!< Release=0 Setup =1 */
1511 RgrUeUlSrsSetupCfg srsSetup; /*!< SRS Setup Configuration */
1515 #endif /*TFU_UPGRADE */
1517 #ifdef LTE_ADV/* Sprint 3*/
1518 typedef struct rgrUePucchFormat3Cfg
1520 U8 sCellAckN3ResAntP0Count;
1521 U8 sCellAckN3ResAntP1Count;
1522 U16 sCellAckN3ResAntP0[4];
1523 U16 sCellAckN3ResAntP1[4];
1524 }RgrUePucchFormat3Cfg;
1525 typedef struct rgrUePucchFormat1BCSCfg
1527 U8 sCellAckN1ResTb1Count; /* !< num of N1 res for TB1 */
1528 U8 sCellAckN1ResTb2Count; /* !< num of N1 res for TB2 */
1529 U16 sCellAckN1ResTb1[4]; /*!< TB1 N1 resources */
1530 U16 sCellAckN1ResTb2[4]; /* !< TB2 N1 resources */
1531 }RgrUePucchFormat1BCSCfg;
1532 typedef struct rgrUeSCellAckPucchCfg
1534 RgrSchFrmt1b3TypEnum pucchFormatType; /* !< 1B Channel selection or format 3*/
1537 RgrUePucchFormat1BCSCfg format1Bcs;
1538 RgrUePucchFormat3Cfg format3;
1540 }RgrUeSCellAckPucchCfg;
1542 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE
1543 This structure was earlier included under MIMO flag. But it was not part
1544 of any structure. Now after TFU_UPGRADE inclusion this shall be used for
1545 for PUSCH Reception Request. */
1547 * @brief PUSCH dedicated configuration parameters information.
1549 typedef struct rgrUePuschDedCfg
1551 Bool pres; /*! Prsent TRUE(1)/FALSE(0) */
1552 U8 bACKIdx; /*! betaOffset-ACK-Index (0..15) */
1553 U8 bRIIdx; /*! betaOffset-RI-Index (0..15) */
1554 U8 bCQIIdx; /*! betaOffset-CQI-Index (0..15) */
1557 * @brief Downlink CQI reporting related configuration per UE
1559 typedef struct rgrUeDlCqiCfg
1561 RgrUeAprdDlCqiCfg aprdCqiCfg; /*!< Aperiodic CQI-related information */
1562 RgrUePrdDlCqiCfg prdCqiCfg; /*!< Periodic CQI-related configuration */
1565 * @brief Measurement Gap configuration for UE
1567 typedef struct rgrUeMeasGapCfg
1569 Bool isMesGapEnabled; /*!< Is Measuremnet Gap enabled or disabled */
1570 U8 gapPrd; /*!< Gap period 40ms/80ms */
1571 U8 gapOffst; /*!< Gap offset - Vaue is 0 to 1*/
1574 @brief DRX Long Cycle Offset */
1575 typedef struct rgrDrxLongCycleOffst
1577 U16 longDrxCycle; /*!< DRX Long Cycle value in subframes*/
1578 U16 drxStartOffst; /*!< DRX Long Cycle offset value in subframes*/
1579 } RgrDrxLongCycleOffst;
1582 * @brief DRX Short Cycle Offset */
1583 typedef struct rgrDrxShortDrx
1585 Bool pres; /*!< Short cycle is configured or not */
1586 U16 shortDrxCycle; /*!< DRX Short Cycle value in sub-frames*/
1587 U8 drxShortCycleTmr; /*!< Value in multiples of Short DRX Cycles*/
1591 * @brief DRX configuration for UE */
1592 typedef struct rgrUeDrxCfg
1594 Bool isDrxEnabled; /*!< To indicate if DRX enabled or
1595 not, this can be used in reconfiguration
1596 to release/stop the DRX (TRUE = Enabled)*/
1597 /*rgr_x_001.main_11 ADD added changes for R9*/
1598 /** @name LTEMAC_R9 */
1601 TknS32 cqiMask; /*!< To indicate if cqi-Mask is setup
1602 by higher layers. Currently supports
1606 U16 drxOnDurTmr; /*!< DRX On-duration Timer value in
1608 U16 drxInactvTmr; /*!< DRX Inactivity Timer value in
1610 U16 drxRetxTmr; /*!< DRX Retransmission Timer value in PDCCH
1612 RgrDrxLongCycleOffst drxLongCycleOffst; /*!< DRX Long cycle and offset, values in subframes */
1613 RgrDrxShortDrx drxShortDrx; /*!< DRX Short cycle value and offset */
1615 U16 emtcDrxUlRetxTmr; /*Rel13 Drx Ul Retx Timer */
1617 Bool drxOnDurTmrR13Pres;
1618 Bool drxRetxTmrR13Pres;
1623 * @brief UE capability Configuration */
1624 typedef struct rgrUeCapCfg
1626 U8 pwrClass; /*!< Power class per UE */
1627 Bool intraSfFeqHop; /*!< Intra subframe frequency hopping for PUSCH */
1628 Bool resAloocType1; /*!< Resource allocation type 1 for PDSCH */
1629 Bool simCqiAckNack; /*!< Simultaneous CQI and ACK/NACK on PUCCH */
1630 Bool txAntSel; /*!< TRUE if UE capable of doing TX Antenna selection */
1635 * @brief UE ACK/NACK configuration */
1636 typedef struct rgrUeAckNackRepCfg
1638 Bool isAckNackEnabled; /*!< Is ACK/NACK enabled? This
1639 variable can be used in reconfiguration
1640 also to stop/release the ACK/NACK
1642 U16 pucchAckNackRep; /*!< n1PUCCH-AN-Rep */
1643 RgrAckNackRepFactor ackNackRepFactor; /*!< ACK/NACK Repetition factor */
1644 } RgrUeAckNackRepCfg;
1647 @brief Transmission mode configuration per UE */
1648 typedef struct rgrUeTxModeCfg
1650 Bool pres; /*!< Indicates presence of transmission mode for UE */
1651 RgrTxModeTrnstn tmTrnstnState; /*!< State of Transmission Mode transition */
1652 /* rgr_x_001.main_9 - Added support for UE Reconfiguration */
1653 RgrTxMode txModeEnum; /*!< UE transmission mode */
1656 @brief Uplink HARQ configuration per UE */
1657 typedef struct rgrUeUlHqCfg
1659 U8 maxUlHqTx; /*!< Maximum number of UL HARQ transmissions */
1660 U8 deltaHqOffst; /*!< Delta HARQ offset
1661 Currently this is unused parameter */
1664 @brief Group power configuration per UE for PUCCH and PUSCH group power control */
1665 typedef struct rgrUeGrpPwrCfg
1667 Bool pres; /*!< Indicates presence of UE PUCCH/PUSCH group power configuration */
1668 CmLteRnti tpcRnti; /*!< TPC PUCCH/PUSCH RNTI for UE */
1669 U8 idx; /*!< Index for format 3/3A */
1672 @brief Uplink power configuration per UE */
1673 typedef struct rgrUeUlPwrCfg
1675 RgrUeGrpPwrCfg uePuschPwr; /*!< PUSCH group power configuration per UE */
1676 RgrUeGrpPwrCfg uePucchPwr; /*!< PUCCH group power configuration per UE */
1677 Bool isAccumulated; /*!< To indicate if accumulation is enabled */
1678 Bool isDeltaMCSEnabled; /*!< To indicate Delta MCS Enabled */
1679 S8 p0UePusch; /*!< P_0UE_PUSCH*/
1680 S8 p0UePucch; /*!< P_0_PUCCH*/
1681 U8 pSRSOffset; /*!< P_SRS_OFFSET
1682 Currently this is unused parameter */
1683 U8 trgCqi; /*!< CQI to aim for during PUSCH power
1684 * control. Zero indicates absence, where
1685 * cell-wide trgCqi is used */
1688 @brief Downlink/Uplink QoS configuration per UE */
1689 typedef struct rgrUeQosCfg
1691 Bool ambrPres; /*!< Indicates presence of AMBR */
1692 U32 dlAmbr; /*!< DL AMBR value for UE (bytes/sec): Optional */
1693 U32 ueBr; /*!< UL Byte Rate value for UE (bytes/sec): Optional */
1696 @brief Time Alignment timer configuration per UE */
1697 typedef struct rgrUeTaTmrCfg
1699 Bool pres; /*!< rgr_x_001.main_7: Pres=NOTPRSNT indicates taTmr INFINITY */
1700 U16 taTmr; /*!< Timer configuration (in subframes) */
1705 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
1708 @brief BSR timer configuration per UE */
1709 typedef struct rgrUeBsrTmrCfg
1711 Bool isPrdBsrTmrPres; /*!< Indicates if periodic BSR timer is present
1713 U16 prdBsrTmr; /*!< periodicBSR-Timer configuration
1714 (in subframes): Value 0xFFFF indicates
1716 U16 retxBsrTmr; /*!< retxBSR-Timer configuration (in subframes)
1717 : Mandatory parameter */
1722 /*rgr_x_001.main_9 - Added support for SPS*/
1724 @brief DL SPS configuration parameters per UE */
1725 typedef struct rgrUeSpsDlCfg
1727 Bool isDlSpsEnabled; /*!< Bool indicating if DL SPS is enabled */
1728 U8 numSpsHqProc; /*!< Number of SPS harq Proc: Value in set
1730 U8 numPucchVal; /*!< Count for configured PUCCH values */
1731 U32 n1PucchVal[4]; /*!< Array of n1Pucch values */
1732 RgrSpsPrd dlSpsPrdctyEnum; /*!< Periodicity for DL SPS */
1733 U16 explicitRelCnt; /*!< Number of SPS ocassions with BO = 0 after
1734 which SPS is released */
1737 typedef struct rgrUlSpsLcInfo
1744 @brief UL SPS configuration parameters per UE */
1745 typedef struct rgrUeSpsUlCfg
1747 Bool isUlSpsEnabled; /*!< Bool indicating if UL SPS is
1749 RgrSpsImplRelCnt implicitRelCnt; /*!< Number of SPS ocassions after which
1750 implicit release happens */
1752 Bool twoIntervalCfg; /*!< Bool indicating if two interval
1753 config is enabled */
1755 Bool pwrCfgPres; /*!< Indicates if Power related
1756 configuration is present */
1759 S8 p0NominalPuschVal;/*!< Value in range [-126...24] */
1760 S8 p0UePuschVal; /*!< Value in range [-8....7] */
1762 RgrSpsPrd ulSpsPrdctyEnum; /*!< Periodicity for UL SPS */
1763 U8 lcCnt; /*!< Number of logical channels */
1764 RgrUlSpsLcInfo spsLcInfo[RGR_MAX_SPS_LC];/*!< Array of SPS logical channels -
1765 All these are assumed to be
1766 mapped onto SPS lcg with ID=1 */
1768 Bool isLcSRMaskEnab ; /*!< Logical Channel SR Mask Enable Flag*/
1774 @brief SPS configuration parameters per UE */
1775 typedef struct rgrUeSpsCfg
1777 CmLteRnti spsRnti; /*!< SPS-RNTI value */
1778 RgrUeSpsDlCfg dlSpsCfg; /*!< DL SPS configuration information */
1779 RgrUeSpsUlCfg ulSpsCfg; /*!< UL SPS configuration information */
1782 /** @brief Transmit Antenna selection types
1784 typedef enum rgrUeTxAntSelType
1786 RGR_UE_TX_ANT_OPENLOOP,
1787 RGR_UE_TX_ANT_CLOSEDLOOP
1788 } RgrUeTxAntSelType;
1790 @brief UE Transmit Antenna selection related configuration */
1791 typedef struct rgrUeTxAntSelCfg
1793 Bool pres; /*!< Configuration present */
1794 RgrUeTxAntSelType selType; /*!< Transmit Antenna selection type */
1798 /*rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
1799 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
1801 /* DL Power control related structures */
1804 @brief PUSH n CQI Reporting related configuration for an UE*/
1805 typedef struct rgrUeCqiReptCfg
1807 U8 numColltdCqiRept; /*!< Number of CQI reports to be sent in PUSH n
1812 @brief CQI for subband number subBandIdx */
1813 typedef struct rgrSubBandCqiInfo
1815 U8 cqi[2]; /*!< Subband CQI for two codewords */
1816 U8 subBandIdx; /*!< Index of the subband starting from 0,
1817 in ascending order of frequency */
1818 } RgrSubBandCqiInfo;
1820 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1822 @brief A CQI Report used in PUSH n Reporting*/
1823 typedef struct rgrUeCqiRept
1825 U8 cqi[2]; /*!< Wideband CQI Value for two codewords*/
1826 U8 cqiMode; /*!< Reporting mode by which CQI was reported */
1827 RgrSubBandCqiInfo sbCqiInfo[RGR_MAX_DL_CQI_SUBBAND];
1828 U8 numSubBand;/*!< Number of Subbands for which CQI is
1832 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1834 @brief Collated CQI reports */
1835 typedef struct RgrUeCqiInfo
1837 RgrUeCqiRept cqiRept[RGR_CQIRPTS_MAXN]; /*!< CQI reports */
1838 U8 numCqiRept; /*!< Number of CQI reports present */
1841 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1843 @brief Status Indication structure passed in RgUiRgrStaInd primitive */
1844 typedef struct rgrStaIndInfo
1846 CmLteCellId cellId; /*!< Cell ID */
1847 CmLteRnti crnti; /*!< UE identifier UE ID: CRNTI */
1848 RgrUeCqiInfo ueCqiInfo; /*!< CQI reports*/
1852 /* LTE_ADV_FLAG_REMOVED_START */
1854 @brief LOAD INF Indication structure passed in RgUiRgrLoadInfInd primitive */
1855 typedef struct rgrLoadInfIndInfo
1857 CmLteCellId cellId; /*!< Cell ID */
1858 U16 bw; /*!< Bandwidth */
1862 TknStrOSXL rntpInfo; /*!< RNTP Info */
1863 U32 absLoadInfo[RGR_ABS_PATTERN_LEN];
1866 /* LTE_ADV_FLAG_REMOVED_END */
1869 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1871 @brief Struct for P_A configuration per UE */
1872 typedef struct rgrUepACfg
1874 /* PA value in db */
1875 RgrUeDlPwrCntrlPaCfg pA; /*!< P_A Value which as used in equation pa =\
1876 delta_PowerOffset + P_A
1877 Ref: RRC 36.331, 6.3.2, PDSCH-Config*/
1878 Bool pAPrsnt; /*!< Indicates if pA has valid information */
1881 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1882 typedef struct rgrUePdschDedCfg
1884 RgrUepACfg uepACfg; /*!< P_A Configuration,
1885 Ref: RRC 36.331, 6.3.2, PDSCH-Config*/
1890 /* LTE_ADV_FLAG_REMOVED_START */
1891 /* @brief UE Configuration for LTE Adv feature */
1892 typedef struct rgrLteAdvancedUeConfig
1895 Bool isUeCellEdge; /*! Flag to indicate UE is cell edge or cell center */
1896 Bool isAbsUe; /*! Flag to indicate ABS UE or Not */
1897 } RgrLteAdvancedUeConfig;
1898 /* LTE_ADV_FLAG_REMOVED_END */
1900 typedef enum RgrAccessStratumRls
1911 } RgrAccessStratumRls;
1914 #define RGR_MAX_EPDCCH_SET 2
1915 typedef struct rgrExtaddgrp2
1918 U8 csiNumRep;// MAPPING
1920 U8 mpdcchStartUESSFDD;// MAPPING
1921 U16 mpdcchNumRep;// MAPPING
1922 U32 mpddchNB;//1.. maxAvailNarrowBands-r13
1925 typedef struct rgrRbAssignment
1927 U8 numPRBpairs; // MAPPING
1930 typedef struct rgrEpdcchAddModLst
1933 U8 transmissionType;
1934 RgrRbAssignment resBlkAssignment;
1936 U32 pucchResStartoffset;
1937 TknU32 pdschRemapQLcfgId;
1938 TknU8 mpdcchNumPRBpair; // MAPPING
1939 RgrExtaddgrp2 extaddgrp2;
1940 }RgrEpdcchAddModLst;
1942 typedef struct rgrSubFrmPatCfg
1947 typedef struct rgrEpdcchConfigRel11
1950 RgrSubFrmPatCfg sfPtn;
1951 TknU32 startSymbolr11;
1952 RgrEpdcchAddModLst epdcchAddModLst[RGR_MAX_EPDCCH_SET];
1953 }RgrEpdcchConfigRel11;
1955 typedef struct rgrUeEmtcRecfg
1957 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
1959 typedef struct rgrPucchRepCfgRel13
1961 Bool isPucchRepPres;
1962 U8 modeANumPucchRepFormat1;
1963 U8 modeANumPucchRepFormat2;
1965 }RgrPucchRepCfgRel13;
1967 typedef struct rgrUeEmtcCfg
1969 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
1971 RgrEpdcchConfigRel11 emtcEpdcchCfg;
1972 RgrPucchRepCfgRel13 emtcPucchRepCfg;
1973 U8 pdschReptLevModeA;
1978 typedef struct rgrUe5gtfCfg
1990 @brief UE configuration */
1991 typedef struct rgrUeCfg
1993 CmLteCellId cellId; /*!< Cell ID */
1994 CmLteRnti crnti; /*!< UE ID: CRNTI */
1995 RgrUeTxModeCfg txMode; /*!< UE Transmission mode: Optional */
1996 RgrUeDlCqiCfg ueDlCqiCfg; /*!< UE DL CQI configuration */
1997 RgrUeUlHqCfg ueUlHqCfg; /*!< UE-related UL HARQ configuration */
1998 RgrUeUlPwrCfg ueUlPwrCfg; /*!< UE UL power configuration: Optional */
1999 RgrUeQosCfg ueQosCfg; /*!< UE-related Dl/UL QoS configuration: AMBR */
2000 RgrUeTaTmrCfg ueTaTmrCfg; /*!< UE TA timer configuration: Optional */
2004 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
2006 RgrUeBsrTmrCfg ueBsrTmrCfg; /*!< UE BSR timer configuration:
2010 CmLteUeCategory ueCatEnum; /*!< UE category */
2011 /*rgr_x_001.main_11 ADD added changes for DRX*/
2013 RgrUeDrxCfg ueDrxCfg; /*!< UE-specific DRX configuration */
2015 Bool isTtiBundlEnabled;/*!< TtiBundling Enabled/Disabled for UE */
2016 RgrUeAckNackRepCfg ueAckNackCfg; /*!< ACK/NACK configuration for UE */
2017 RgrUeMeasGapCfg ueMesGapCfg; /*!< Measurement Gap configuration for UE */
2018 RgrUeCapCfg ueCapCfg; /*!< UE Capabilty reconfiguration */
2019 RgrCodeBookRstCfg ueCodeBookRstCfg; /*!< Number of bits in code book for
2020 transmission modes */
2021 TknU8 dedPreambleId; /*!< If present, then mapping exists at
2022 RGR user with CRNTI */
2023 /** @name LTE_TDD */
2026 RgrTddAckNackMode ackNackModeEnum; /*!< ACK/NACK Mode Bundling or
2028 #endif /* LTE_TDD */
2030 /*rgr_x_001.main_9 - Added support for SPS*/
2031 /** @name LTEMAC_SPS */
2033 RgrUeSpsCfg ueSpsCfg; /*!< SPS related configuration
2034 parameters for UE */
2036 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2037 /** @name TFU_UPGRADE */
2040 /* Periodic CQI, SRS, SR and HD-FDD Configuration */
2041 RgrUeUlSrsCfg srsCfg; /*!< SRS configuration information */
2042 RgrUeSrCfg srCfg; /*!< SR configuration information */
2045 /*rgr_x_001.main_11 ADD added changes for HDFDD*/
2046 /** @name LTEMAC_HDFDD */
2049 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
2050 #endif /* LTEMAC_HDFDD */
2052 /* rgr_x_001.main_8 - Changes for MIMO feature addition */
2053 /* rgr_x_001.main_9 - Removed dependency on MIMO compile-time flag */
2055 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2056 RgrUePuschDedCfg puschDedCfg; /*!< PUSCH -Configuration that is dedicated. Refer
2057 to 36.331 for more information */
2058 RgrUeTxAntSelCfg ulTxAntSel; /*!< UL Transmit antenna selection configuration */
2060 /** @name RGR_CQI_REPT */
2062 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2063 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2065 RgrUeCqiReptCfg ueCqiReptCfg; /*!< PUSH n CQI Reporting
2070 RgrUePdschDedCfg uePdschDedCfg; /*!< PDSCH related dedicated configuration per UE */
2072 /* LTE_ADV_FLAG_REMOVED_START */
2073 RgrLteAdvancedUeConfig ueLteAdvCfg; /*!< LTE Adv configuration per UE */
2074 /* LTE_ADV_FLAG_REMOVED_END */
2075 RgrAccessStratumRls accessStratumRls; /*!< UE Access Stratum Release */
2076 U8 csgMmbrSta; /* CSG Membership status, refer RgrUeCsgMbrStatus */
2078 RgrUeEmtcCfg emtcUeCfg;
2081 RgrUe5gtfCfg ue5gtfCfg;
2085 @brief QCI, GBR, and MBR configuration for dedicated logical channels */
2086 typedef struct rgrLchQosCfg
2088 U8 qci; /*!< QCI for the logical channel.
2089 Valid Range:[0-255] (Actual QCI - 1). */
2090 U32 gbr; /*!< GBR value for a logical channel (bytes/sec). */
2091 U32 mbr; /*!< MBR value for a logical channel (bytes/sec). */
2093 /*rgr_x_001.main_9 - Added support for SPS*/
2095 @brief SPS related configuration for logical channels */
2096 typedef struct rgrLchSpsCfg
2098 Bool isSpsEnabled; /*!< Bool indicating if SPS is enabled for
2102 @brief Logical channel configuration information for downlink logical channels */
2103 typedef struct rgrDlLchCfg
2105 CmLteTrchType dlTrchType; /*!< Indicates type of DL transport channel:
2106 Validated only for BCCH at MAC
2107 DL Transport channel type can take following values:
2110 CM_LTE_TRCH_DL_SCH*/
2111 RgrLchQosCfg dlQos; /*!< DL QoS parameters: Only for dedicated channels */
2112 /*rgr_x_001.main_9 - Added support for SPS*/
2113 RgrLchSpsCfg dlSpsCfg; /*!< SPS configuration for DL logical channel */
2114 U8 rlcReorderTmr; /*!< RLC reordering timer required for LAA*/
2118 @brief Logical channel configuration information for uplink logical channels */
2119 typedef struct rgrUlLchCfg
2121 CmLteLcId lcId; /*!< LC ID for uplink logical channel*/
2122 U8 qci; /*!< QCI associated with LC ID */
2125 @brief Logical channel group configuration information for uplink logical channels */
2126 typedef struct rgrUlLcgCfg
2128 U8 lcgId; /*!< Logical channel group ID */
2129 /*rgr_x_001.main_11 ADD added changes for L2 measurements*/
2131 U8 numLch; /*!< Number of LC's for this group in Uplink */
2132 RgrUlLchCfg lchUlCfg[RGR_MAX_LC_PER_LCG]; /*!< Logical Channel details for
2134 #endif /*LTE_L2_MEAS */
2135 U32 gbr; /*!< Commulative UL GBR of all LC mapping to this LCG */
2136 U32 mbr; /*!< Commulative UL MBR of all LC mapping to this LCG */
2140 @brief Logical channel Uplink configuration information for dedicated channels */
2141 typedef struct rgrUlLchQciCfg
2143 CmLteLcId lcId; /*!< Logical channel ID */
2145 U8 lcgId; /*!< Logical channel group ID */
2149 @brief Logical channel configuration information for dedicated channels */
2150 typedef struct rgrLchCfg
2152 CmLteCellId cellId; /*!< Cell ID */
2153 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2154 CmLteLcId lcId; /*!< Logical channel ID */
2155 CmLteLcType lcType; /*!< Identifies the Logical channel type.lcType
2156 can take the following values:
2162 RgrDlLchCfg dlInfo; /*!< Downlink logical channel configuration information */
2163 RgrUlLchQciCfg ulLchQciInfo; /*!< Uplink logical channel configuration information */
2164 U8 lcgId; /*!< Logical channel group ID */
2167 /** @brief Set of parameters for logical channelgroup Configuration */
2168 typedef struct rgrLcgCfg
2170 CmLteCellId cellId; /*!< Cell ID */
2171 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2172 RgrUlLcgCfg ulInfo; /*!< Uplink logical channel configuration information */
2176 /** @brief Basic configuration structure at RRM */
2177 typedef struct rgrCfg
2179 U8 cfgType; /*!< Indicates configuration type */
2180 union /*!< cfgType is selector */
2182 RgrCellCfg cellCfg; /*!< Cell configuration */
2183 RgrUeCfg ueCfg; /*!< UE configuration */
2184 RgrLchCfg lchCfg; /*!< Dedicated logical channel configuration */
2185 RgrLcgCfg lcgCfg; /*!< Dedicated logical channel Group configuration */
2186 RgrSchedEnbCfg schedEnbCfg; /*!< EnodeB Sched Configurations */ //TODO:remove this
2187 MacSchedGnbCfg schedGnbCfg; /*!< gNB Sched Configurations */
2192 * @brief Activation time information */
2193 typedef struct rgrActvTime
2195 Bool pres; /*!< Indicates the presence of activation time */
2196 CmLteTimingInfo actvTime; /*!< Activation time information */
2200 /** @brief Cell reconfiguration structure at RRM */
2201 typedef struct rgrCellRecfg
2203 CmLteCellId cellId; /*!< Cell ID */
2204 U32 recfgTypes; /*!< Bitmask indicating reconfiguration types */
2205 RgrActvTime recfgActvTime; /*!< Activation Time for cell reconfiguration */
2206 RgrDlHqCfg dlHqRecfg; /*!< DL HARQ related reconfiguration */
2207 RgrCfiCfg cfiRecfg; /*!< CFI reconfiguration for PDCCH */
2208 /* rgr_x_001.main_1: Removing unwanted srMcs Configuration structure */
2209 RgrUlTrgCqiCfg trgUlCqi; /*!< Target UL CQI */
2210 RgrDlCmnCodeRateCfg dlCmnCodeRate; /*!< Coding rate for common DL channels:
2211 Expressed in multiples of 1024 */
2212 RgrPuschSubBandCfg puschSubBand; /*!< UL sub-band information */
2213 RgrUlCmnCodeRateCfg ulCmnCodeRate; /*!< Coding rate for common UL channels:
2214 Expressed in multiples of 1024 */
2215 RgrPucchCfg pucchRecfg; /*!< PUCCH configuration information */
2216 RgrSrsCfg srsRecfg; /*!< SRS configuration information */
2217 RgrRachCfg rachRecfg; /*!< RACH configuration */
2218 RgrDlfsCfg dlfsRecfg; /*!< Reconfiguration for DLFS scheduler */
2219 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2220 /** @name RGR_SI_SCH */
2223 RgrSiCfg siReCfg; /*!<SI Re-Configuration structure */
2225 U16 t300TmrVal; /*!< t300Timer value configured in Frames */
2226 /* LTE_ADV_FLAG_REMOVED_START */
2227 RgrLteAdvancedCellConfig rgrLteAdvCfg; /*!< RGR Configuration of LTE Adv for a cell */
2228 /* LTE_ADV_FLAG_REMOVED_END */
2229 Bool isDynCfiEnb; /*!< To indicate whether Dynamic CFI is enabled
2231 Bool isAutoCfgModeEnb; /*!< To indicate whether AutoCfg mode is enabled
2233 RgrCellCsgParamCfg csgParamCfg; /*!< Cell-specific configuration for CSG */
2234 RgrCellCntrlCmdCfg cntrlCmdCfg; /*!< control cmds to alter this cell's performance */
2238 RgrEmtcCellCfg emtcCellReCfg;
2244 * @brief Structure to store SCell Index for activation
2247 * - sCellIdx : sCell Index in in list of Secondary cells
2249 typedef struct rgrSCellActDeactInfo
2251 U8 sCellIdx; /*!< sCell Index to be activated */
2252 }RgrSCellActDeactInfo;
2255 * @brief Structure to store details for activation/deactivation event
2258 * - crnti : Ue identifier used to get UE control block
2259 * - numOfSCells : Number of SCells to be Activated/Deactivated
2260 * - sCellActDeactInfo : Array of SCellsIdx
2262 typedef struct rgrSCellActDeactEvnt
2264 CmLteRnti crnti; /*!< UE ID: To fetch UeCb in a cell*/
2265 U8 numOfSCells; /* !<No of SCells to be Activated */
2266 RgrSCellActDeactInfo sCellActDeactInfo[RGR_MAX_SCELL_PER_UE];
2267 /* !<SCH SCell Activation Deactivation Information */
2268 } RgrSCellActDeactEvnt;
2272 * @brief Structure to store details for SCell UL PC Config
2275 * - isAccumulated : If TRUE Accumulation is ocnfigured
2276 * - isDeltaMCSEnabled : If TRUE DELTA MCS is enabled
2277 * - p0UePusch : P0 Nominal value
2278 * - pSRSOffset : SRS OFFSET value for SCELL
2280 typedef struct rgrUeUlPwrDedSCellCfg
2282 Bool isAccumulated; /*!< To indicate if accumulation is enabled */
2283 Bool isDeltaMCSEnabled; /*!< To indicate Delta MCS Enabled */
2284 S8 p0UePusch; /*!< P_0UE_PUSCH*/
2285 U8 pSRSOffset; /*!< P_SRS_OFFSET
2286 Currently this is unused parameter */
2288 } RgrUeUlPwrDedSCellCfg;
2291 /** @brief UE Downlink secondary cell config params */
2292 typedef struct rgrUeSecCellCfg
2295 U16 sCellId; /*!< This will be secondary cellId */
2296 TknU32 sCellDeActTmr; /*!< for Activating the sCell for UE */
2297 RgrUeDlCqiCfg ueSCellDlCqiCfg; /*!< Secondary cell dedicated configuration */
2299 RgrUePdschDedCfg uePdschDedCfg; /*!< Secondary cell dedicated configuration */
2301 RgrUeTxModeCfg txMode; /*!< UE transmission mode in Secondary
2303 Bool isUlCaEnabled; /*!<If TRUE ULCA is also enabled along with DL CA for
2305 RgrUeUlPwrDedSCellCfg ueSCellUlDedPwrCfg; /*!< UE UL DED ULPC Cfg */
2308 /** @brief Configuration information of Secondary cells for a UE*/
2309 typedef struct rgrUeSecCellInfo
2311 Bool useExtBSRSizes; /*!< If TRUE used R10 Extended BSR Size Table*/
2313 RgrUeSecCellCfg ueSCellDedCfg[RGR_MAX_SCELL_PER_UE]; /*!< Secondary cell configuration per
2317 /** @brief Configuration of every SCell for a UE*/
2318 typedef struct rgrUeDlSecCellRelInfo
2320 U8 sCellIdx; /*!< This will be secondary cell Idx */
2321 U16 sCellId; /*!< This will be secondary cellId */
2322 }RgrUeDlSecCellRelInfo;
2324 /** @brief Configuration for SCell Release for a UE*/
2325 typedef struct rgrUeSecCellRelInfo
2327 U8 numSCells; /*!< This will be the number of secondary cells*/
2328 RgrUeDlSecCellRelInfo ueSCellRelDedCfg[RGR_MAX_SCELL_PER_UE]; /*!< Secondary cell configuration per
2330 }RgrUeSecCellRelInfo;
2332 #endif /* LTE_ADV */
2334 @brief UE reconfiguration information */
2335 typedef struct rgrUeRecfg
2337 CmLteCellId cellId; /*!< Cell ID */
2338 CmLteRnti oldCrnti; /*!< Old UE ID */
2339 CmLteRnti newCrnti; /*!< New UE ID: This value must match
2340 'oldCrnti', if no CRNTI change during reconfiguration */
2341 /*rgr_x_001.main_11 : changing RecfgTypes to U32
2342 * as all 16 bits are exhausted*/
2343 /* LTE_ADV_FLAG_REMOVED_START */
2344 /* KW fix for LTE_ADV */
2345 U32 ueRecfgTypes; /*!< Bitmask indicating UE reconfiguration items */
2346 /* LTE_ADV_FLAG_REMOVED_END */
2347 RgrUeTxModeCfg txMode; /*!< UE transmission mode */
2348 RgrUeAprdDlCqiCfg aprdDlCqiRecfg; /*!< Aperiodic CQI-related information */
2350 RgrUePrdDlCqiCfg prdDlCqiRecfg; /*!< Periodic CQI-related configuration */
2352 RgrUeUlHqCfg ueUlHqRecfg; /*!< UE UL HARQ information */
2353 RgrUeQosCfg ueQosRecfg; /*!< UE-related Dl/UL QoS configuration: AMBR */
2354 RgrUeTaTmrCfg ueTaTmrRecfg; /*!< UE TA timer information */
2358 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
2360 RgrUeBsrTmrCfg ueBsrTmrRecfg; /*!< UE BSR timer reconfiguration */
2363 RgrUeUlPwrCfg ueUlPwrRecfg; /*!< UE UL power configuration */
2364 /*rgr_x_001.main_11 ADD added changes for DRX*/
2366 RgrUeDrxCfg ueDrxRecfg; /*!< UE-specific DRX configuration
2367 Currently this is unused */
2368 /*rgr_x_001.main_12 - REM - isTtiBundlEnabled redundant field*/
2370 Bool isTtiBundlEnabled; /*!< TTI Bundling Enabled/Disabled for UE
2371 Currently this is unused */
2372 RgrUeAckNackRepCfg ueAckNackRecfg; /*!< ACK/NACK configuration for UE */
2373 RgrUeCapCfg ueCapRecfg; /*!< UE Capabilty reconfiguration*/
2374 RgrUeMeasGapCfg ueMeasGapRecfg; /*!< Measurement Gap configuration for UE */
2375 RgrCodeBookRstCfg ueCodeBookRstRecfg;/*!< Number of bits in code book for
2376 transmission modes */
2377 /* rgr_x_001.main_9 - Added support for UE Reconfiguration */
2378 CmLteUeCategory ueCatEnum; /*!< UE category */
2379 RgrUeTxAntSelCfg ulTxAntSel; /*!< UL Transmit antenna selection configuration */
2381 /*rgr_x_001.main_9 - Added support for SPS*/
2382 /** @name LTEMAC_SPS */
2384 RgrUeSpsCfg ueSpsRecfg; /*!< UE SPS reconfiguration */
2386 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2387 /** @name TFU_UPGRADE */
2391 /* Periodic CQI, SRS, SR and HD-FDD Reconfiguration */
2393 RgrUePrdDlCqiCfg cqiCfg; /*!< Periodic CQI PMI RI reconfiguration information */
2394 RgrUeUlSrsCfg srsCfg; /*!< SRS reconfiguration information */
2395 RgrUeSrCfg srCfg; /*!< SR reconfiguration information */
2398 /*rgr_x_001.main_11 ADD added changes for HDFDD*/
2399 /** @name LTEMAC_HDFDD */
2402 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
2403 #endif /* LTEMAC_HDFDD */
2405 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2406 RgrUePuschDedCfg puschDedCfg; /*!< PUSCH Configuration that is dedicated.
2407 Refer to 36.331 for more information */
2408 /** @name RGR_CQI_REPT */
2410 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2411 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2413 RgrUeCqiReptCfg ueCqiReptCfg; /*!< PUSH n CQI Reporting configuration */
2417 RgrUePdschDedCfg uePdschDedCfg; /*!< PDSCH related dedicated configuration per UE */
2419 /* LTE_ADV_FLAG_REMOVED_START */
2420 RgrLteAdvancedUeConfig ueLteAdvCfg; /*!< LTE Adv configuration per UE */
2421 /* LTE_ADV_FLAG_REMOVED_END */
2424 RgrUeSecCellInfo ueSCellCfgInfo;/*!< Secondary cell dedicated informaton
2426 RgrUeSCellAckPucchCfg sCellAckN1ResCfg; /*!< N1ResCfg for SCell ack feedback */
2427 U8 simulAckNackCQIFormat3;
2428 #endif /* LTE_ADV */
2429 RgrAccessStratumRls accessStratumRls; /*!< UE Access Stratum Release */
2430 U8 csgMmbrSta; /* CSG Membership status, refer RgrUeCsgMbrStatus */
2432 RgrUeEmtcRecfg emtcUeRecfg;
2436 @brief Logical channel reconfiguration information for dedicated channels only */
2437 typedef struct rgrLchRecfg
2439 CmLteCellId cellId; /*!< Cell ID */
2440 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2441 CmLteLcId lcId; /*!< Logical channel ID */
2442 /*rgr_x_001.main_9 - Added support for SPS*/
2443 U8 recfgTypes; /*!< Reconfiguration type for DL LC */
2445 /** @brief Reconfiguration Parameters during the DownLink */
2448 RgrLchQosCfg dlQos; /*!< DL QoS parameters */
2449 /*rgr_x_001.main_9 - Added support for SPS*/
2450 RgrLchSpsCfg dlSpsRecfg; /*!< SPS re-configuration for DL logical channel */
2451 } dlRecfg; /*!< Downlink logical channel reconfiguration information */
2453 RgrUlLchQciCfg ulLchQciInfo;
2454 U8 lcgId; /*!< Logical channel group ID */
2457 /** @brief Set of parameters Corresponding To Logical channel group Reconfiguration */
2458 typedef struct rgrLcgRecfg
2460 CmLteCellId cellId; /*!< Cell ID */
2461 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2462 /** @brief Uplink Reconfiguration Parameters for logical channel Groups */
2465 U8 lcgId; /*!< Logical channel group ID */
2467 U8 numLch; /*!< Number of LC's for this group in Uplink */
2468 RgrUlLchCfg lchUlCfg[RGR_MAX_LC_PER_LCG]; /*!< Logical Channel details for
2470 #endif /*LTE_L2_MEAS */
2471 U32 gbr; /*!< Commulative UL GBR of all LC mapping to this LCG */
2472 U32 mbr; /*!< Commulative UL MBR of all LC mapping to this LCG */
2476 /** @brief Basic reconfiguration structure at RRM */
2477 typedef struct rgrRecfg
2479 U8 recfgType; /*!< Indicates reconfiguration type */
2480 union /*!< Reconfiguration type is selector */
2482 RgrCellRecfg cellRecfg; /*!< Cell reconfiguration */
2483 RgrUeRecfg ueRecfg; /*!< UE reconfiguration information */
2484 RgrLchRecfg lchRecfg; /*!< Logical channel reconfiguration information */
2485 RgrLcgRecfg lcgRecfg; /*!< Logical group reconfiguration information */
2489 @brief Basic Delete information for MAC */
2490 typedef struct rgrDel
2492 U8 delType; /*!< Indicates configuration item to be deleted */
2493 /** @brief Indicates The Cell/UE/Logical Channel Group to be deleted */
2496 /** @brief Delete The Cell ID */
2499 CmLteCellId cellId; /*!< Cell ID */
2500 } cellDel; /*!< Cell Delete information */
2502 /** @brief Delete The Ue From The Cell */
2505 CmLteCellId cellId; /*!< Cell ID */
2506 CmLteRnti crnti; /*!< UE ID: CRNTI */
2507 } ueDel; /*!< UE Delete information */
2509 /** @brief Delete The Logical Channels */
2512 CmLteCellId cellId; /*!< Cell ID */
2513 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2514 CmLteLcId lcId; /*!< Logical channel ID */
2515 U8 lcgId; /*!< Logical channel group ID */
2516 } lchDel; /*!< Logical channel delete information */
2518 /** @brief Delete The Logical channel groups */
2521 CmLteCellId cellId; /*!< Cell ID */
2522 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2523 U8 lcgId; /*!< Logical channel group ID */
2526 /** @brief Delete Secondary cell for a UE */
2527 struct rgrUeScellRel
2529 CmLteCellId cellId; /*!< Cell ID */
2530 CmLteRnti crnti; /*!< UE ID: CRNTI */
2531 U32 ueDelTypes; /*!< Bitmask indicating UE reconfiguration items */
2532 RgrUeSecCellRelInfo ueSCellRelCfgInfo;/*!< Secondary cell dedicated informaton*/
2535 } u; /*!< Union of Cell/UE/Lch delete information */
2538 @brief UE RESET info for MAC */
2539 typedef struct rgrRst
2541 CmLteCellId cellId; /*!< Cell ID */
2542 CmLteRnti crnti; /*!< UE ID: CRNTI tobe RESET */
2545 typedef enum rgrSonCfgType
2550 /* Pa enum -6, -4.77, -3, -1.77, 0, 1, 2, 3 dB and -INF */
2551 typedef enum rgrPaVal
2564 /* Pa level enum High, Normal, Low */
2565 typedef enum rgrPaLevel
2574 @brief PRB configuration received from SON for MAC */
2576 typedef struct rgrPrbCfg
2580 U8 numCellCentreUEs;
2581 CmLteRnti cellEdgeUe[RG_SCH_MAX_UE]; /*!< List of cell Edge UE's */
2582 CmLteRnti cellCentreUe[RG_SCH_MAX_UE]; /*!< List of cell centre UE's */
2583 RgrPaLevel paLevelPerPrb[RGR_SCH_MAX_PA_PER_PRB]; /*!< Mapping of PRB to Pa Values */
2587 @brief configuration received from SON for MAC */
2588 typedef struct rgrSonCfg
2590 RgrSonCfgType cfgType;
2597 /** @brief Basic RGR configuration/reconfiguration info at RRM */
2598 typedef struct rgrCfgReqInfo
2601 U8 action; /*!< Determines configuration/reconfiguration */
2602 union /*!< Action is selector */
2604 RgrCfg cfgInfo; /*!< Configuration information at RRM */
2605 RgrRecfg recfgInfo; /*!< Reconfiguration information at RRM */
2606 RgrDel delInfo; /*!< Deletion related information */
2607 RgrRst rstInfo; /*!< UE information to be REST */
2608 RgrSonCfg sonCfg; /*!< PA and PRB configuration received from SON*/
2610 RgrSCellActDeactEvnt sCellActDeactEvnt; /*!< SCell Activation Information */
2611 #endif /* LTE_ADV */
2615 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2616 /** @name RGR_RRM_TICK */
2618 /** @brief This structure contains information that is passed as part of the TTI
2619 * indication sent from PHY to MAC.
2621 typedef struct rgrTtiIndInfo
2623 CmLteCellId cellId; /*!< Cell ID */
2624 U16 hSfn; /*!< Hyper System Frame Number */
2625 U16 sfn; /*!< System Frame Number */
2629 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2630 /** @name RGR_SI_SCH */
2633 /** @brief This structure contains parameters used for specifying SI
2634 * configuration to MAC-Scheduler by RRM as a part of primitive
2637 typedef struct rgrSiCfgReqInfo
2639 CmLteCellId cellId; /*! Cell Id */
2640 RgrSiCfgType cfgType; /*! MIB/SIB1/SI */
2641 U8 siId; /*! SI ID, if cfgType is SI.
2642 SI ID starts from 1 */
2643 Buffer *pdu; /*! PDU, one of MIB/SIB1/SI */
2646 /** @brief This structure contains parameters used for specifying SI
2647 * configuration to MAC-Scheduler by RRM as a part of primitive
2648 * RgUiRgrWarningSiCfgReq.
2650 typedef struct rgrWarningSiCfgReqInfo
2652 U8 emtcEnable; /*! indicates EMTC enabled or not */
2653 CmLteCellId cellId; /*! Cell Id */
2654 U8 siId; /*! SI ID */
2655 CmLListCp siPduLst; /*! list of PDUs,each corresponding to one segment*/
2656 }RgrWarningSiCfgReqInfo;
2658 typedef struct rgrSegmentInfo
2660 CmLList cmasSegPduLstLnk;
2665 #endif /*RGR_SI_SCH*/
2667 #define RGR_UESTA_MAC_CRNTI_CE_RECVD 0x01
2668 #define RGR_UESTA_MAC_CRNTI_CE_RECVD_IN_SPS_ACTIVE 0x02
2670 @brief Status Indication structure passed in RgUiRgrUeStaInd primitive */
2671 typedef struct rgrUeStaIndInfo
2673 CmLteCellId cellId; /*!< Cell ID */
2674 CmLteRnti crnti; /*!< UE identifier UE ID: CRNTI */
2675 U8 status; /*!< Status */
2680 /* LTE_ADV_FLAG_REMOVED_START */
2681 /** @brief This structure contains parameters used for specifying Load Inf
2682 * i.e RNTP, ABS etc configuration to MAC-Scheduler by RRM as a part of primitive
2683 * RgUiRgrLoadInfReq.
2685 typedef struct rgrLoadInfReqInfo
2687 CmLteCellId cellId; /*! Cell Id */
2688 U8 rgrCcPHighStartRb; /*! Start RB for power high cell centre user */
2689 U8 rgrCcPHighEndRb; /*! End RB for power high cell centre use */
2691 /* LTE_ADV_FLAG_REMOVED_END */
2698 /** @brief Request from RRM to MAC to bind the interface SAPs .
2700 * @details This Primitive is used to bind The SAPs between RRM and the MAC.
2701 * The API validates the Sap Ids , contents of the pst Structure .
2703 * @param[in] pst Pointer To the Post Structure.
2704 * @param[in] suId SAP Id of the Service User.
2705 * @param[in] spId SAP Id of the Service Provider
2706 * @return ROK/RFAILED
2709 typedef S16 (*RgrBndReq) ARGS((
2714 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2715 /** @name RGR_RRM_TICK */
2718 /** @brief Indication from MAC to a RGR User about the Transmit Time Interval.
2720 * @details This Primitive is used to indicate RRM after every TTI.
2721 * API validates the post Structure and TTI Timing .
2723 * @param[in] pst Pointer To the Post Structure.
2724 * @param[in] suId SAP Id of the Service User.
2725 * @param[in] ttiInd Pointer To a structure containing additional Information that is passed
2726 * as a part of TTI Indication.
2727 * @return ROK/RFAILED
2730 typedef S16 (*RgrTtiInd) ARGS((
2733 RgrTtiIndInfo *ttiInd));
2736 /** @brief Confirmation from MAC to RRM for the bind request for the interface SAPs.
2738 * @details This Primitive is used To confirm the binding between the MAC and The RRM.
2740 * @param[in] pst Pointer To the Post Structure.
2741 * @param[in] suId SAP Id of the Service User.
2742 * @param[in] status Binding Status.
2743 * @return ROK/RFAILED
2745 typedef S16 (*RgrBndCfm) ARGS((
2750 /** @brief Request from RRM to MAC to unbind the interface SAPs.
2752 * @details This Primitive is used to unbind MAC and The RRM.It validates on the SAP If its already Bound
2753 * and unbinds the SAP.
2755 * @param[in] pst Pointer to the Post Structure.
2756 * @param[in] spId SAP Id of the Service Provider.
2757 * @param[in] reason Cause for unbinding.
2758 * @return ROK/RFAILED
2760 typedef S16 (*RgrUbndReq) ARGS((
2765 /** @brief Configuration request from RRM to MAC for configuring Cell/UE/LC.
2767 * @details This API is used to configure a scheduler for a UE/Cell/Logical Channels
2769 * @param[in] pst Pointer to the Post Structure.
2770 * @param[in] spId SAP Id of the Service Provider.
2771 * @param[in] transId Reason for unbinding.
2772 * @param[in] cfgReqInfo A Pointer to Configuration/Reconfiguration Structure.
2773 * @return ROK/RFAILED
2775 typedef S16 (*RgrCfgReq) ARGS((
2777 RgrCfgTransId transId,
2778 RgrCfgReqInfo * cfgReqInfo));
2780 EXTERN S16 cmPkRgrCfgCfm ARGS((
2782 RgrCfgTransId transId,
2786 /** @brief Configuration confirm from MAC to RRM.
2788 * @details This API confirms the RGR User about the status of the Configuration.
2790 * @param[in] pst Pointer to the Post Structure.
2791 * @param[in] spId SAP Id of the Service User.
2792 * @param[in] transId Transaction Id for the transaction between RRM and MAC
2793 * @param[in] status Configuration confirmation status Information.
2794 * @return ROK/RFAILED
2796 typedef S16 (*RgrCfgCfm) ARGS((
2798 RgrCfgTransId transId,
2800 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2802 /** @name RGR_SI_SCH */
2805 /** @brief SI Configuration Request primitive for SI configuration
2807 * @details This API is used to configure the System Information from RRM to a MAC scheduler.
2809 * @param[in] pst Pointer to the Post Structure.
2810 * @param[in] spId SAP Id of the Service Provider.
2811 * @param[in] transId Transaction Id for the transaction between RRM and MAC.
2812 * @param[in] siCfgReq Parameters for the configuration.
2813 * @return ROK/RFAILED
2815 typedef S16 (*RgrSiCfgReq) ARGS((
2818 RgrCfgTransId transId,
2819 RgrSiCfgReqInfo *siCfgReq));
2821 /** @brief SI Configuration Confirm Primitive for configuring Cell/UE/LC
2823 * @details This API confirms the SI configuration confirm in the status indication.
2825 * @param[in] pst Pointer to a post structure.
2826 * @param[in] suId SAP Id of the Service User.
2827 * @param[in] transId Transaction Id between the MAC and The RRM.
2828 * @param[in] status Confirmation status information from the MAC to the user.
2829 * @return ROK/RFAILED.
2831 typedef S16 (*RgrSiCfgCfm) ARGS((
2834 RgrCfgTransId transId,
2837 /** @brief SI Configuration Request primitive for warning SI configuration
2839 * @details This API is used to configure the System Info (SIB10,SIB11,SIB12)
2840 * from RRM to a MAC scheduler.
2842 * @param[in] pst Pointer to the Post Structure.
2843 * @param[in] spId SAP Id of the Service Provider.
2844 * @param[in] transId Transaction Id between the MAC and The RRM.
2845 * @param[in] WarningsiCfgReq Parameters for the configuration.
2846 * @return ROK/RFAILED
2848 typedef S16 (*RgrWarningSiCfgReq) ARGS((
2851 RgrCfgTransId transId,
2852 RgrWarningSiCfgReqInfo *warningSiCfgReq));
2855 /** @brief Warning SI Configuration Confirm Primitive
2857 * @details This API confirms the Warning SI configuration confirm in the
2858 * status indication.
2860 * @param[in] pst Pointer to a post structure.
2861 * @param[in] suId SAP Id of the Service User.
2862 * @param[in] transId Transaction Id between the MAC and The RRM.
2863 * @param[in] siId SI ID
2864 * @param[in] status Confirmation status information from the MAC to the user.
2865 * @return ROK/RFAILED.
2867 typedef S16 (*RgrWarningSiCfgCfm) ARGS((
2870 RgrCfgTransId transId,
2874 /** @brief SI Configuration stop Request primitive for warning SI configuration
2876 * @details Used to stop the System Information(SIB10, SIB11, SIB12) from RRM
2879 * @param[in] pst Pointer to the Post Structure.
2880 * @param[in] spId SAP Id of the Service Provider.
2881 * @param[in] siId siId to be stopped.
2882 * @return ROK/RFAILED
2884 typedef S16 (*RgrWarningSiStopReq) ARGS((
2887 RgrCfgTransId transId,
2890 #endif /*RGR_SI_SCH*/
2893 /* LTE_ADV_FLAG_REMOVED_START */
2894 /** @brief LOAD INF Configuration Request primitive for RNTP, ABS etc Configuration
2896 * @details This API is used to configure the LOAD INF parameters from RRM to a MAC scheduler.
2898 * @param[in] pst Pointer to the Post Structure.
2899 * @param[in] spId SAP Id of the Service Provider.
2900 * @param[in] transId Transaction Id for the transaction between RRM and MAC.
2901 * @param[in] loadInfReq Parameters for the configuration.
2902 * @return ROK/RFAILED
2904 typedef S16 (*RgrLoadInfReq) ARGS((
2907 RgrCfgTransId transId,
2908 RgrLoadInfReqInfo *loadInfReq));
2909 /* LTE_ADV_FLAG_REMOVED_END */
2912 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2913 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2915 typedef S16 (*RgrStaInd) ARGS((
2918 RgrStaIndInfo *staInd));
2921 /* LTE_ADV_FLAG_REMOVED_START */
2922 typedef S16 (*RgrLoadInfInd) ARGS((
2925 RgrLoadInfIndInfo *loadInfInd));
2926 /* LTE_ADV_FLAG_REMOVED_END */
2928 typedef S16 (*RgrUeStaInd) ARGS((
2931 RgrUeStaIndInfo *staInd));
2934 /** @brief Request from RRM to MAC to bind the interface SAPs.
2936 * @details This API is invoked by RRM towards MAC to bind RGR SAP.
2937 * This API validates the Pst, spId, suId and sends the bind confirm to
2940 *@param[in] pst Pointer to a post structure.
2941 *@param[in] suId SAP Id of the Service User.
2942 *@param[in] spId SAP Id of the Service Provider.
2943 *@return ROK/RFAILED
2945 EXTERN S16 RgUiRgrBndReq ARGS((
2950 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2951 /** @name RGR_RRM_TICK */
2953 /** @brief TTI Indication from Scheduler to RRM.
2955 * @details TTI Indication from MAC to RGR User.
2957 * @param[in] pst Pointer to a post structure.
2958 * @param[in] suId SAP Id of the Service User.
2959 * @param[in] ttiInd Parameters containing the information on TTI Indication.
2960 * @return ROK/RFAILED
2962 EXTERN S16 RgUiRgrTtiInd ARGS((
2965 RgrTtiIndInfo *ttiInd
2969 /*rgr_x_001.main_9 - Added support for SPS*/
2970 EXTERN S16 cmPkRgrSpsCellCfg ARGS((
2971 RgrSpsCellCfg *param,
2974 EXTERN S16 cmUnpkRgrSpsDlCellCfg ARGS((
2975 RgrSpsCellCfg *param,
2978 EXTERN S16 cmPkRgrUeSpsDlCfg ARGS((
2979 RgrUeSpsDlCfg *param,
2982 EXTERN S16 cmUnpkRgrUeSpsDlCfg ARGS((
2983 RgrUeSpsDlCfg *param,
2986 EXTERN S16 cmPkRgrUeSpsUlCfg ARGS((
2987 RgrUeSpsUlCfg *param,
2990 EXTERN S16 cmUnpkRgrUeSpsUlCfg ARGS((
2991 RgrUeSpsUlCfg *param,
2994 EXTERN S16 cmPkRgrUeSpsCfg ARGS((
2998 EXTERN S16 cmUnpkRgrUeSpsCfg ARGS((
3002 EXTERN S16 cmPkRgrLchSpsCfg ARGS((
3003 RgrLchSpsCfg *param,
3006 EXTERN S16 cmUnpkRgrLchSpsCfg ARGS((
3007 RgrLchSpsCfg *param,
3011 /*rgr_x_001.main_11 ADD added changes for L2 measurements*/
3012 EXTERN S16 cmPkRgrUlLchCfg ARGS((
3016 EXTERN S16 cmUnpkRgrUlLchCfg ARGS((
3020 EXTERN S16 cmPkRgrUlLchQciCfg ARGS((
3021 RgrUlLchQciCfg *param,
3024 EXTERN S16 cmUnpkRgrUlLchQciCfg ARGS((
3025 RgrUlLchQciCfg *param,
3030 /*rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
3031 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
3033 EXTERN S16 cmPkRgrUeCqiReptCfg ARGS((
3034 RgrUeCqiReptCfg *param,
3038 EXTERN S16 cmUnpkRgrUeCqiReptCfg ARGS((
3039 RgrUeCqiReptCfg *param,
3043 EXTERN S16 cmUnpkRgrSubBandCqiInfo ARGS((
3044 RgrSubBandCqiInfo *param,
3048 EXTERN S16 cmPkRgrStaInd ARGS((
3051 RgrStaIndInfo* staInd
3054 EXTERN S16 cmUnpkRgrStaInd ARGS((
3060 EXTERN S16 cmPkRgrStaIndInfo ARGS((
3061 RgrStaIndInfo *param,
3065 EXTERN S16 cmUnpkRgrStaIndInfo ARGS((
3066 RgrStaIndInfo *param,
3070 EXTERN S16 cmPkRgrUeCqiInfo ARGS((
3071 RgrUeCqiInfo *param,
3075 EXTERN S16 cmUnpkRgrUeCqiInfo ARGS((
3076 RgrUeCqiInfo *param,
3080 EXTERN S16 cmPkRgrUeCqiRept ARGS((
3081 RgrUeCqiRept *param,
3085 EXTERN S16 cmPkRgrSubBandCqiInfo ARGS((
3086 RgrSubBandCqiInfo *param,
3090 EXTERN S16 cmUnpkRgrUeCqiRept ARGS((
3091 RgrUeCqiRept *param,
3096 /* LTE_ADV_FLAG_REMOVED_START */
3097 EXTERN S16 cmPkRgrLoadInfInd ARGS((
3100 RgrLoadInfIndInfo* loadInfInd
3103 EXTERN S16 cmUnpkRgrLoadInfInd ARGS((
3109 EXTERN S16 cmPkRgrLoadInfIndInfo ARGS((
3110 RgrLoadInfIndInfo *param,
3114 EXTERN S16 cmUnpkRgrLoadInfIndInfo ARGS((
3115 RgrLoadInfIndInfo *param,
3116 Pst *pst, /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
3119 /* LTE_ADV_FLAG_REMOVED_END */
3122 EXTERN S16 cmPkRgrUePdschDedCfg ARGS((
3123 RgrUePdschDedCfg *param,
3127 EXTERN S16 cmUnpkRgrUePdschDedCfg ARGS((
3128 RgrUePdschDedCfg *param,
3132 EXTERN S16 cmPkRgrUepACfg ARGS((
3137 EXTERN S16 cmUnpkRgrUepACfg ARGS((
3144 EXTERN S16 cmPkRgrUeSecCellInfo ARGS((
3145 RgrUeSecCellInfo *param,
3149 EXTERN S16 cmUnpkRgrUeSecCellInfo ARGS((
3150 RgrUeSecCellInfo *param,
3154 EXTERN S16 cmPkRgrUeDlSecCellRelInfo ARGS((
3155 RgrUeDlSecCellRelInfo *param,
3159 EXTERN S16 cmUnpkRgrUeDlSecCellRelInfo ARGS((
3160 RgrUeDlSecCellRelInfo *param,
3164 EXTERN S16 cmPkRgrUeSecCellRelInfo ARGS((
3165 RgrUeSecCellRelInfo *param,
3169 EXTERN S16 cmUnpkRgrUeSecCellRelInfo ARGS((
3170 RgrUeSecCellRelInfo *param,
3175 EXTERN S16 cmPkRgrUeSCellAckPucchCfg ARGS((
3176 RgrUeSCellAckPucchCfg *param,
3180 EXTERN S16 cmUnpkRgrUeSCellAckPucchCfg ARGS((
3181 RgrUeSCellAckPucchCfg *param,
3184 #endif /* LTE_ADV */
3186 /** @brief Confirmation from MAC to RRM for the bind request.
3188 * @details Confirmation from MAC to RRM for the bind
3189 * request for the interface saps. This function indicates it through the status To the User.
3191 * @param[in] pst Pointer to a post structure.
3192 * @param[in] suId SAP Id of the Service User.
3193 * @param[in] status Confirmation status for the RGR User.
3194 * @return ROK/RFAILED
3196 EXTERN S16 RgUiRgrBndCfm ARGS((
3202 /** @brief Request from RRM to MAC to unbind the interface SAPs.
3204 * @details This API is invoked by RRM towards MAC to unbind RGR SAP.
3205 * This API validates the Pst, spId, suId and sends the unbdind confirm to
3207 * @param[in] pst Pointer To a post structure.
3208 * @param[in] spId Service provider SAP Id.
3209 * @param[in] reason Cause for the Unbinding.
3210 * @return ROK/RFAILED.
3212 EXTERN S16 RgUiRgrUbndReq ARGS((
3218 /** @brief Configuration Confirm from MAC to RRM.
3220 * @details In this API crnti, preambleId, and
3221 * maskId are returned to RRM if request does not contain crnti (For Handover purpose)
3223 * @param[in] pst A pointer to post Structure.
3224 * @param[in] transId MAC to RRM User transaction Id.
3225 * @param[in] status Status indication from the MAC.
3226 * @return ROK/RFAILED
3228 EXTERN S16 RgUiRgrCfgCfm ARGS((
3230 RgrCfgTransId transId,
3233 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3234 /** @name RGR_SI_SCH */
3237 /** @brief SI Configuration Request primitive used for SI configuration
3238 * from RRM to MAC-Scheduler.
3240 * @details This primitive specifies the PDU
3241 * (MIB/SIB1/SIs) and the associated parameters in the structure
3244 * @param[in] pst Pointer to a post Structure.
3245 * @param[in] spId SAP Id of the Service provider.
3246 * @param[in] transId RRM to MAC transaction Id.
3247 * @param[in] siCfgReq Parameters used for specifying SI.
3248 * @return ROK/RFAILED
3250 EXTERN S16 RgUiRgrSiCfgReq ARGS((
3253 RgrCfgTransId transId,
3254 RgrSiCfgReqInfo *siCfgReq
3257 /** @brief SI Configuration Confirm from MAC to RRM.
3259 * @details This primitive is used to confirm the SI configuration to RRM from MAC.
3261 * @param[in] pst Pointer to a post structure
3262 * @param[in] suId Service User SAP Id
3263 * @param[in] transId Transaction id between RRM and MAC
3264 * @param[in] status Confirmation status .
3265 * @return ROK/RFAILED
3267 EXTERN S16 RgUiRgrSiCfgCfm ARGS((
3270 RgrCfgTransId transId,
3274 /** @brief SI Configuration Confirm from MAC to RRM.
3276 * @details This primitive is used to confirm the SI configuration to RRM
3279 * @param[in] pst Pointer to a post structure
3280 * @param[in] suId Service User SAP Id
3281 * @param[in] transId Transaction id between RRM and MAC
3282 * @param[in] status Confirmation status .
3283 * @return ROK/RFAILED
3285 EXTERN S16 RgUiRgrWarningSiCfgReq ARGS((
3288 RgrCfgTransId transId,
3289 RgrWarningSiCfgReqInfo *WarningSiCfgReqInfo
3293 /** @brief Warning SI Configuration Confirm from MAC to RRM.
3295 * @details This primitive is used to confirm the Warning SI configuration
3298 * @param[in] pst Pointer to a post structure
3299 * @param[in] suId Service User SAP Id
3300 * @param[in] transId Transaction id between RRM and MAC
3301 * @param[in] siId SI ID.
3302 * @param[in] status Confirmation status .
3303 * @return ROK/RFAILED
3305 EXTERN S16 RgUiRgrWarningSiCfgCfm ARGS((
3308 RgrCfgTransId transId,
3313 /** @brief SI Configuration Confirm from MAC to RRM.
3315 * @details This primitive is used to confirm the SI configuration to RRM
3318 * @param[in] pst Pointer to a post structure
3319 * @param[in] spId Service Provider SAP Id
3320 * @param[in] siId SI Index
3321 * @return ROK/RFAILED
3323 EXTERN S16 RgUiRgrWarningSiStopReq ARGS((
3326 RgrCfgTransId transId,
3330 #endif /*RGR_SI_SCH*/
3334 /* LTE_ADV_FLAG_REMOVED_START */
3335 /** @brief LOAD INF Configuration Request primitive used for RNTP, ABS configuration
3336 * from RRM to MAC-Scheduler.
3338 * @details This primitive specifies the startRb and endRb of CC sub-band for which
3339 * we have to increase power at schedular
3342 * @param[in] pst Pointer to a post Structure.
3343 * @param[in] spId SAP Id of the Service provider.
3344 * @param[in] transId RRM to MAC transaction Id.
3345 * @param[in] loadInfReq Parameters used for specifying LOAD INF.
3346 * @return ROK/RFAILED
3348 EXTERN S16 RgUiRgrLoadInfReq ARGS((
3351 RgrCfgTransId transId,
3352 RgrLoadInfReqInfo *loadInfReq
3354 /* LTE_ADV_FLAG_REMOVED_END */
3357 /** @name RGR_CQI_REPT */
3359 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
3360 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
3362 /** @brief Sta Indication from Scheduler to RRM
3364 * @details This primitive is used to send status indication from scheduler
3367 * @param[in] pst Pointer to a post structure
3368 * @param[in] suId Service User SAP Id
3369 * @param[in] staInd Status Indication .
3370 * @return ROK/RFAILED
3372 EXTERN S16 RgUiRgrStaInd ARGS((
3375 RgrStaIndInfo *staInd
3378 EXTERN S16 RgUiRgrUeStaInd ARGS((
3381 RgrUeStaIndInfo *ueStaInd
3387 /* LTE_ADV_FLAG_REMOVED_START */
3388 /** @brief LoadInf Indication from Scheduler to RRM
3390 * @details This primitive is used to send LOAD INF indication from scheduler
3393 * @param[in] pst Pointer to a post structure
3394 * @param[in] suId Service User SAP Id
3395 * @param[in] loadInfInd LOAD INF Indication .
3396 * @return ROK/RFAILED
3398 EXTERN S16 RgUiRgrLoadInfInd ARGS((
3401 RgrLoadInfIndInfo *loadInfInd
3403 /* LTE_ADV_FLAG_REMOVED_END */
3409 /** @brief Request from RRM to MAC to bind the interface SAPs.
3411 * @details This API validats the SAP Id and binds the interface SAPs
3413 * @param[in] pst Pointer to a post structure
3414 * @param[in] suId Service User SAP Id
3415 * @param[in] spId Service Provider SAP Id
3416 * @return ROK/RFAILED
3418 EXTERN S16 NxLiRgrBndReq ARGS((
3424 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
3425 /** @name RGR_RRM_TICK */
3427 /** @brief TTI indication from scheduler to RRM.
3429 * @details This primitive handles TTI Indication. It essentially validates
3430 * the post structure and Transmit Time timing .
3432 * @param[in] Pst* pst Pointer To a post Structure
3433 * @param[in] SuId suId Service user SAP Id
3434 * @param[in] RgrTtiIndInfo* ttiInd Information passed as a part of TTI indication from PHY to MAC.
3435 * @return ROK/RFAILED
3437 EXTERN S16 NxLiRgrTtiInd ARGS((
3440 RgrTtiIndInfo *ttiInd
3444 /** @brief Confirmation from MAC to RRM for the bind request for the interface SAPs.
3446 * @details This Primitive handles the call for bind confirmation.
3448 * @param[in] Pst* pst A pointer to post structure.
3449 * @param[in] SuId suId Service User SAP Id.
3450 * @param[in] U8 status An information on status confirmation.
3453 EXTERN S16 NxLiRgrBndCfm ARGS((
3459 /** @brief Request from RRM to MAC to unbind the interface SAPs
3461 * @details This primitive unbinds the interface SAPs.It validates if the SAP is really bound.
3463 * @param[in] Pst* pst A pointer to post structure.
3464 * @param[in] SpId spId Service Provider SAP Id.
3465 * @param[in] Reason reason A cause for unbinding the SAPs.
3468 EXTERN S16 NxLiRgrUbndReq ARGS((
3473 /** @brief Configuration request from RRM to MAC for
3474 * configuring Cell/UE/LC
3476 * @details The RRM configures the Cell/UE/LC using this primitive.
3478 * @param[in] Pst* pst A pointer to post structure.
3479 * @param[in] SpId spId Service Provider SAP Id.
3480 * @param[in] RgrCfgTransId transId Transaction Id between RRM and MAC.
3481 * @param[in] RgrCfgReqInfo* cfgReqInfo A structure containing the configuration information.
3484 EXTERN S16 NxLiRgrCfgReq ARGS((
3487 RgrCfgTransId transId,
3488 RgrCfgReqInfo * cfgReqInfo
3491 /** @brief Configuration confirm from MAC to RRM
3493 * @details This primitive confirms the RRM about the configuration reception request.
3495 * @param[in] Pst* pst A pointer to post structure.
3496 * @param[in] SuId suId Service Provider SAP Id.
3497 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id.
3500 EXTERN S16 NxLiRgrCfgCfm ARGS((
3503 RgrCfgTransId transId,
3506 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3507 /** @name RGR_SI_SCH */
3511 /** @brief SI Configuration confirm from MAC to RRM
3513 * @details This primitive confirms the SI configuration to the RRM.
3515 * @param[in] Pst* pst A pointer to post structure.
3516 * @param[in] SuId suId Service User SAP Id.
3517 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id
3518 * @param[in] U8 status An information on confirmation status.
3521 EXTERN S16 NxLiRgrSiCfgCfm ARGS((
3524 RgrCfgTransId transId,
3530 EXTERN S16 NxLiRgrWrngSiCfgCfm ARGS((
3533 RgrCfgTransId transId,
3540 EXTERN S16 NxLiRgrStopWrngSiCfgCfm ARGS((
3543 RgrCfgTransId transId,
3547 /* PH04_CMAS : end */
3550 /** @brief Warning SI Configuration confirm from MAC to RRM
3552 * @details This primitive confirms the Warning SI configuration to the RRM.
3554 * @param[in] Pst* pst A pointer to post structure.
3555 * @param[in] SuId suId Service User SAP Id.
3556 * @param[in] U8 siId SI Index
3557 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id
3558 * @param[in] U8 status An information on confirmation status.
3561 EXTERN S16 NxLiRgrWarningSiCfgCfm ARGS((
3564 RgrCfgTransId transId,
3569 /** @brief SI Configuration request from RRM to MAC for
3572 * @details This primitive is used for the configuration of the SI information in the MAC scheduler.
3574 * @param[in] Pst* pst A pointer to post structure.
3575 * @param[in] SpId spId Service Provider SAP Id.
3576 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3577 * @param[in] RgrSiCfgReqInfo* cfgReqInfo Parameters corresponding to the SI Configuration .
3580 EXTERN S16 NxLiRgrSiCfgReq ARGS((
3583 RgrCfgTransId transId,
3584 RgrSiCfgReqInfo * cfgReqInfo
3588 /** @brief Warning SI Configuration request from RRM to MAC for
3591 * @details This primitive is used for the configuration of the SI
3592 * information in the MAC scheduler.
3594 * @param[in] Pst* pst A pointer to post structure.
3595 * @param[in] SpId spId Service Provider SAP Id.
3596 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3597 * @param[in] RgrWarningSiCfgReqInfo *warningSiCfgReq SI Configuration
3600 EXTERN S16 NxLiRgrWarningSiCfgReq ARGS((
3603 RgrCfgTransId transId,
3604 RgrWarningSiCfgReqInfo *warningSiCfgReq
3608 /** @brief Warning SI Stop request from RRM to MAC for
3611 * @details This primitive is used to stop the SI for a
3614 * @param[in] Pst* pst A pointer to post structure.
3615 * @param[in] SpId spId Service Provider SAP Id.
3616 * @param[in] U8 siId SI Index
3618 EXTERN S16 NxLiRgrWarningSiStopReq ARGS((
3621 RgrCfgTransId transId,
3625 #endif/*RGR_SI_SCH */
3629 /* LTE_ADV_FLAG_REMOVED_START */
3630 /** @brief LOAD INF Configuration request from RRM to MAC for
3631 * configuring rntp, abs etc
3633 * @details This primitive is used for the configuration of the LOAD INF parameters
3634 * in the MAC scheduler.
3636 * @param[in] Pst* pst A pointer to post structure.
3637 * @param[in] SpId spId Service Provider SAP Id.
3638 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3639 * @param[in] RgrLoadInfReqInfo* loadInfReq Parameters corresponding to the LOAD INF Config.
3642 EXTERN S16 NxLiRgrLoadInfReq ARGS((
3645 RgrCfgTransId transId,
3646 RgrLoadInfReqInfo* loadInfReq
3648 /* LTE_ADV_FLAG_REMOVED_END */
3651 /** @name RGR_CQI_REPT */
3653 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
3654 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
3656 /** @brief Sta Indication from Scheduler to RRM
3658 * @details This primitive is used to send status indication
3659 * from scheduler to RRM.
3661 * @param[in] pst Pointer to a post structure
3662 * @param[in] suId Service User SAP Id
3663 * @param[in] staInd Status Indication .
3665 EXTERN S16 NxLiRgrStaInd ARGS((
3668 RgrStaIndInfo *staInd
3673 /* LTE_ADV_FLAG_REMOVED_START */
3674 /** @brief LOAD INF Indication from Scheduler to RRM
3676 * @details This primitive is used to send loadInf indication
3677 * from scheduler to RRM.
3679 * @param[in] pst Pointer to a post structure
3680 * @param[in] suId Service User SAP Id
3681 * @param[in] loadInfInd LOAD INF Indication .
3683 EXTERN S16 NxLiRgrLoadInfInd ARGS((
3686 RgrLoadInfIndInfo *loadInfInd
3688 /* LTE_ADV_FLAG_REMOVED_END */
3693 /** @brief Request from RRM to MAC to bind the interface SAPs */
3694 EXTERN S16 cmPkRgrBndReq ARGS((
3699 /** @brief Request from RRM to MAC to bind the interface SAPs */
3700 EXTERN S16 cmUnpkRgrBndReq ARGS((
3705 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
3706 /** @name RGR_RRM_TICK */
3708 /** @brief Pack function for TTI indication from scheduler to RRM */
3709 EXTERN S16 cmPkRgrTtiInd ARGS((
3712 RgrTtiIndInfo *ttiInd
3714 EXTERN S16 cmPkRgrTtiIndInfo ARGS((
3715 RgrTtiIndInfo *ttiInd,
3717 /** @brief Unpack function for TTI indication from scheduler to RRM */
3718 EXTERN S16 cmUnpkRgrTtiInd ARGS((
3723 EXTERN S16 cmUnpkRgrTtiIndInfo ARGS((
3724 RgrTtiIndInfo *param,
3728 EXTERN S16 cmPkRgrBndCfm ARGS((
3734 EXTERN S16 cmUnpkRgrBndCfm ARGS((
3740 EXTERN S16 cmPkRgrUbndReq ARGS((
3746 EXTERN S16 cmUnpkRgrUbndReq ARGS((
3752 EXTERN S16 cmPkRgrCfgReq ARGS((
3754 RgrCfgTransId transId,
3755 RgrCfgReqInfo * cfgReqInfo
3758 EXTERN S16 cmUnpkRgrCfgReq ARGS((
3764 EXTERN S16 cmUnpkRgrCfgCfm ARGS((
3770 EXTERN S16 cmPkRgrCfgTransId ARGS((
3771 RgrCfgTransId *param,
3774 EXTERN S16 cmUnpkRgrCfgTransId ARGS((
3775 RgrCfgTransId *param,
3778 EXTERN S16 cmPkRgrDlHqCfg ARGS((
3782 EXTERN S16 cmUnpkRgrDlHqCfg ARGS((
3786 EXTERN S16 cmPkRgrRntiCfg ARGS((
3790 EXTERN S16 cmUnpkRgrRntiCfg ARGS((
3794 EXTERN S16 cmPkRgrDlCmnCodeRateCfg ARGS((
3795 RgrDlCmnCodeRateCfg *param,
3798 EXTERN S16 cmUnpkRgrDlCmnCodeRateCfg ARGS((
3799 RgrDlCmnCodeRateCfg *param,
3802 EXTERN S16 cmPkRgrCfiCfg ARGS((
3806 EXTERN S16 cmUnpkRgrCfiCfg ARGS((
3810 EXTERN S16 cmPkRgrPuschSubBandCfg ARGS((
3811 RgrPuschSubBandCfg *param,
3814 EXTERN S16 cmUnpkRgrPuschSubBandCfg ARGS((
3815 RgrPuschSubBandCfg *param,
3818 EXTERN S16 cmPkRgrUlCmnCodeRateCfg ARGS((
3819 RgrUlCmnCodeRateCfg *param,
3822 EXTERN S16 cmUnpkRgrUlCmnCodeRateCfg ARGS((
3823 RgrUlCmnCodeRateCfg *param,
3826 EXTERN S16 cmPkRgrUlTrgCqiCfg ARGS((
3827 RgrUlTrgCqiCfg *param,
3830 EXTERN S16 cmUnpkRgrUlTrgCqiCfg ARGS((
3831 RgrUlTrgCqiCfg *param,
3834 EXTERN S16 cmPkRgrBwCfg ARGS((
3838 EXTERN S16 cmUnpkRgrBwCfg ARGS((
3842 EXTERN S16 cmPkRgrPhichCfg ARGS((
3846 EXTERN S16 cmUnpkRgrPhichCfg ARGS((
3850 EXTERN S16 cmPkRgrPucchCfg ARGS((
3854 EXTERN S16 cmUnpkRgrPucchCfg ARGS((
3858 EXTERN S16 cmPkRgrSrsCfg ARGS((
3862 EXTERN S16 cmUnpkRgrSrsCfg ARGS((
3866 EXTERN S16 cmPkRgrRachCfg ARGS((
3870 EXTERN S16 cmUnpkRgrRachCfg ARGS((
3874 EXTERN S16 cmPkRgrSiCfg ARGS((
3878 EXTERN S16 cmUnpkRgrSiCfg ARGS((
3882 EXTERN S16 cmPkRgrTpcRntiCfg ARGS((
3883 RgrTpcRntiCfg *param,
3886 EXTERN S16 cmUnpkRgrTpcRntiCfg ARGS((
3887 RgrTpcRntiCfg *param,
3890 EXTERN S16 cmPkRgrUlPwrCfg ARGS((
3894 EXTERN S16 cmUnpkRgrUlPwrCfg ARGS((
3898 EXTERN S16 cmPkRgrPuschCfg ARGS((
3902 EXTERN S16 cmUnpkRgrPuschCfg ARGS((
3906 EXTERN S16 cmPkRgrCodeBookRstCfg ARGS((
3907 RgrCodeBookRstCfg *param,
3910 EXTERN S16 cmUnpkRgrCodeBookRstCfg ARGS((
3911 RgrCodeBookRstCfg *param,
3914 EXTERN S16 cmPkRgrPreambleSetCfg ARGS((
3915 RgrPreambleSetCfg *param,
3918 EXTERN S16 cmUnpkRgrPreambleSetCfg ARGS((
3919 RgrPreambleSetCfg *param,
3922 EXTERN S16 cmPkRgrCmnLchCfg ARGS((
3923 RgrCmnLchCfg *param,
3926 EXTERN S16 cmUnpkRgrCmnLchCfg ARGS((
3927 RgrCmnLchCfg *param,
3930 EXTERN S16 cmPkRgrDlfsCfg ARGS((
3934 EXTERN S16 cmUnpkRgrDlfsCfg ARGS((
3939 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3940 /** @name RGR_SI_SCH */
3943 EXTERN S16 cmPkRgrWarningSiCfgReq ARGS((
3946 RgrCfgTransId transId,
3947 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo
3950 EXTERN S16 cmUnpkRgrWarningSiCfgReq ARGS((
3951 RgrWarningSiCfgReq func,
3956 EXTERN S16 cmPkRgrWarningSiCfgReqInfo ARGS((
3958 RgrWarningSiCfgReqInfo *param,
3962 EXTERN S16 cmUnpkRgrWarningSiCfgReqInfo ARGS((
3964 RgrWarningSiCfgReqInfo *param,
3968 EXTERN S16 cmPkRgrWarningSiStopReq ARGS((
3971 RgrCfgTransId transId,
3975 EXTERN S16 cmUnpkRgrWarningSiStopReq ARGS((
3976 RgrWarningSiStopReq func,
3982 EXTERN S16 cmPkRgrWarningSiCfgCfm ARGS((
3985 RgrCfgTransId transId,
3990 EXTERN S16 cmUnpkRgrWarningSiCfgCfm ARGS((
3991 RgrWarningSiCfgCfm func,
3997 EXTERN S16 cmPkRgrSiCfgReq ARGS((
4000 RgrCfgTransId transId,
4001 RgrSiCfgReqInfo * cfgReqInfo
4004 EXTERN S16 cmUnpkRgrSiCfgReq ARGS((
4010 EXTERN S16 cmPkRgrSiCfgReqInfo ARGS((
4011 RgrSiCfgReqInfo *param,
4015 EXTERN S16 cmUnpkRgrSiCfgReqInfo ARGS((
4016 RgrSiCfgReqInfo *param,
4020 EXTERN S16 cmPkRgrSiCfgCfm ARGS((
4023 RgrCfgTransId transId,
4027 EXTERN S16 cmUnpkRgrSiCfgCfm ARGS((
4032 #endif /*RGR_SI_SCH*/
4036 /* LTE_ADV_FLAG_REMOVED_START */
4037 EXTERN S16 cmPkRgrLoadInfReq ARGS((
4040 RgrCfgTransId transId,
4041 RgrLoadInfReqInfo * loadInfReq
4044 EXTERN S16 cmUnpkRgrLoadInfReq ARGS((
4050 EXTERN S16 cmPkRgrLoadInfReqInfo ARGS((
4051 RgrLoadInfReqInfo *param,
4055 EXTERN S16 cmUnpkRgrLoadInfReqInfo ARGS((
4056 RgrLoadInfReqInfo *param,
4059 /* LTE_ADV_FLAG_REMOVED_END */
4062 /** @name LTE_TDD */
4065 EXTERN S16 cmPkRgrTddPrachInfo ARGS((
4066 RgrTddPrachInfo *param,
4069 EXTERN S16 cmUnpkRgrTddPrachInfo ARGS((
4070 RgrTddPrachInfo *param,
4073 EXTERN S16 cmPkRgrTddPrachRscInfo ARGS((
4074 RgrTddPrachRscInfo *param,
4077 EXTERN S16 cmUnpkRgrTddPrachRscInfo ARGS((
4078 RgrTddPrachRscInfo *param,
4083 EXTERN S16 cmPkRgrEnbPfs ARGS((
4087 EXTERN S16 cmUnpkRgrEnbPfs ARGS((
4091 EXTERN S16 cmPkRgrCellCfg ARGS((
4095 EXTERN S16 cmUnpkRgrCellCfg ARGS((
4099 EXTERN S16 cmPkRgrUeAprdDlCqiCfg ARGS((
4100 RgrUeAprdDlCqiCfg *param,
4103 EXTERN S16 cmUnpkRgrUeAprdDlCqiCfg ARGS((
4104 RgrUeAprdDlCqiCfg *param,
4107 EXTERN S16 cmPkRgrSchedGnbCfg ARGS((
4108 RgrSchedEnbCfg *param,
4111 EXTERN S16 cmUnpkRgrSchedGnbCfg ARGS((
4112 RgrSchedEnbCfg *param,
4115 EXTERN S16 cmPkRgrUePrdDlCqiCfg ARGS((
4116 RgrUePrdDlCqiCfg *param,
4119 EXTERN S16 cmUnpkRgrUePrdDlCqiCfg ARGS((
4120 RgrUePrdDlCqiCfg *param,
4123 EXTERN S16 cmPkRgrUeDlCqiCfg ARGS((
4124 RgrUeDlCqiCfg *param,
4127 EXTERN S16 cmUnpkRgrUeDlCqiCfg ARGS((
4128 RgrUeDlCqiCfg *param,
4131 EXTERN S16 cmPkRgrUeMeasGapCfg ARGS((
4132 RgrUeMeasGapCfg *param,
4135 EXTERN S16 cmUnpkRgrUeMeasGapCfg ARGS((
4136 RgrUeMeasGapCfg *param,
4139 /*rgr_x_001.main_11 ADD added changes for DRX*/
4140 EXTERN S16 cmPkRgrDrxLongCycleOffst ARGS((
4141 RgrDrxLongCycleOffst *param,
4144 EXTERN S16 cmUnpkRgrDrxLongCycleOffst ARGS((
4145 RgrDrxLongCycleOffst *param,
4148 EXTERN S16 cmPkRgrDrxShortDrx ARGS((
4149 RgrDrxShortDrx *param,
4152 EXTERN S16 cmUnpkRgrDrxShortDrx ARGS((
4153 RgrDrxShortDrx *param,
4156 EXTERN S16 cmPkRgrUeDrxCfg ARGS((
4160 EXTERN S16 cmUnpkRgrUeDrxCfg ARGS((
4164 EXTERN S16 cmPkRgrUeCapCfg ARGS((
4168 EXTERN S16 cmUnpkRgrUeCapCfg ARGS((
4172 EXTERN S16 cmPkRgrUeAckNackRepCfg ARGS((
4173 RgrUeAckNackRepCfg *param,
4176 EXTERN S16 cmUnpkRgrUeAckNackRepCfg ARGS((
4177 RgrUeAckNackRepCfg *param,
4180 EXTERN S16 cmPkRgrUeTxModeCfg ARGS((
4181 RgrUeTxModeCfg *param,
4184 EXTERN S16 cmUnpkRgrUeTxModeCfg ARGS((
4185 RgrUeTxModeCfg *param,
4188 EXTERN S16 cmPkRgrUeUlHqCfg ARGS((
4189 RgrUeUlHqCfg *param,
4192 EXTERN S16 cmUnpkRgrUeUlHqCfg ARGS((
4193 RgrUeUlHqCfg *param,
4196 EXTERN S16 cmPkRgrUeGrpPwrCfg ARGS((
4197 RgrUeGrpPwrCfg *param,
4200 EXTERN S16 cmUnpkRgrUeGrpPwrCfg ARGS((
4201 RgrUeGrpPwrCfg *param,
4204 EXTERN S16 cmPkRgrUeUlPwrCfg ARGS((
4205 RgrUeUlPwrCfg *param,
4208 EXTERN S16 cmUnpkRgrUeUlPwrCfg ARGS((
4209 RgrUeUlPwrCfg *param,
4212 EXTERN S16 cmPkRgrUeQosCfg ARGS((
4216 EXTERN S16 cmUnpkRgrUeQosCfg ARGS((
4220 EXTERN S16 cmPkRgrUeTaTmrCfg ARGS((
4221 RgrUeTaTmrCfg *param,
4224 EXTERN S16 cmUnpkRgrUeTaTmrCfg ARGS((
4225 RgrUeTaTmrCfg *param,
4231 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
4233 EXTERN S16 cmPkRgrUeBsrTmrCfg ARGS((
4234 RgrUeBsrTmrCfg *param,
4237 EXTERN S16 cmUnpkRgrUeBsrTmrCfg ARGS((
4238 RgrUeBsrTmrCfg *param,
4243 EXTERN S16 cmPkRgrUeCfg ARGS((
4247 EXTERN S16 cmUnpkRgrUeCfg ARGS((
4251 EXTERN S16 cmPkRgrLchQosCfg ARGS((
4252 RgrLchQosCfg *param,
4255 EXTERN S16 cmUnpkRgrLchQosCfg ARGS((
4256 RgrLchQosCfg *param,
4259 EXTERN S16 cmPkRgrDlLchCfg ARGS((
4263 EXTERN S16 cmUnpkRgrDlLchCfg ARGS((
4267 EXTERN S16 cmPkRgrUlLcgCfg ARGS((
4271 EXTERN S16 cmUnpkRgrUlLcgCfg ARGS((
4275 EXTERN S16 cmPkRgrLchCfg ARGS((
4279 EXTERN S16 cmUnpkRgrLchCfg ARGS((
4283 EXTERN S16 cmPkRgrLcgCfg ARGS((
4287 EXTERN S16 cmUnpkRgrLcgCfg ARGS((
4291 EXTERN S16 cmPkRgrCfg ARGS((
4295 EXTERN S16 cmUnpkRgrCfg ARGS((
4299 EXTERN S16 cmPkRgrActvTime ARGS((
4303 EXTERN S16 cmUnpkRgrActvTime ARGS((
4307 EXTERN S16 cmPkRgrCellRecfg ARGS((
4308 RgrCellRecfg *param,
4311 EXTERN S16 cmUnpkRgrCellRecfg ARGS((
4312 RgrCellRecfg *param,
4315 EXTERN S16 cmPkRgrUeRecfg ARGS((
4319 EXTERN S16 cmUnpkRgrUeRecfg ARGS((
4323 EXTERN S16 cmPkRgrLchRecfg ARGS((
4327 EXTERN S16 cmUnpkRgrLchRecfg ARGS((
4331 EXTERN S16 cmPkRgrLcgRecfg ARGS((
4335 EXTERN S16 cmUnpkRgrLcgRecfg ARGS((
4339 EXTERN S16 cmPkRgrRecfg ARGS((
4343 EXTERN S16 cmUnpkRgrRecfg ARGS((
4347 EXTERN S16 cmPkRgrDel ARGS((
4351 EXTERN S16 cmUnpkRgrDel ARGS((
4355 EXTERN S16 cmPkRgrRst ARGS((
4359 EXTERN S16 cmUnpkRgrRst ARGS((
4364 EXTERN S16 cmPkRgrSonCfg ARGS((
4368 EXTERN S16 cmUnpkRgrSonCfg ARGS((
4372 EXTERN S16 cmPkRgrSonPrbCfg ARGS((
4376 EXTERN S16 cmUnpkRgrSonPrbCfg ARGS((
4380 EXTERN S16 cmPkRgrCfgReqInfo ARGS((
4381 RgrCfgReqInfo *param,
4384 EXTERN S16 cmUnpkRgrCfgReqInfo ARGS((
4385 RgrCfgReqInfo *param,
4390 EXTERN S16 cmUnPkRgrSCellActDeactEvnt ARGS((
4391 RgrSCellActDeactEvnt *param,
4395 EXTERN S16 cmPkRgrSCellActDeactEvnt ARGS((
4396 RgrSCellActDeactEvnt *param,
4399 #endif /* LTE_ADV */
4401 EXTERN S16 cmPkRgrUeTxAntSelCfg ARGS((
4402 RgrUeTxAntSelCfg *param,
4405 EXTERN S16 cmUnpkRgrUeTxAntSelCfg ARGS((
4406 RgrUeTxAntSelCfg *param,
4409 EXTERN S16 cmPkRgrUePuschDedCfg ARGS((
4410 RgrUePuschDedCfg *param,
4413 EXTERN S16 cmUnpkRgrUePuschDedCfg ARGS((
4414 RgrUePuschDedCfg *param,
4419 EXTERN S16 cmPkRgrUeDlPCqiSetup ARGS
4421 RgrUeDlPCqiSetup *param,
4425 EXTERN S16 cmUnpkRgrUeDlPCqiSetup ARGS
4427 RgrUeDlPCqiSetup *param,
4431 EXTERN S16 cmPkRgrUeUlSrsSetupCfg ARGS
4433 RgrUeUlSrsSetupCfg *param,
4437 EXTERN S16 cmUnpkRgrUeUlSrsSetupCfg ARGS
4439 RgrUeUlSrsSetupCfg *param,
4443 EXTERN S16 cmPkRgrUeSrSetupCfg ARGS
4445 RgrUeSrSetupCfg *param,
4449 EXTERN S16 cmUnpkRgrUeSrSetupCfg ARGS
4451 RgrUeSrSetupCfg *param,
4455 EXTERN S16 cmPkRgrUeSrCfg ARGS
4461 EXTERN S16 cmUnpkRgrUeSrCfg ARGS
4467 EXTERN S16 cmPkRgrUeUlSrsCfg ARGS
4469 RgrUeUlSrsCfg *param,
4473 EXTERN S16 cmUnpkRgrUeUlSrsCfg ARGS
4475 RgrUeUlSrsCfg *param,
4483 /** @brief Request from RRM to MAC to bind the interface SAPs */
4484 EXTERN S16 DmUiRgrBndReq ARGS((
4489 /** @brief Confirmation from MAC to RRM for the bind/unbind
4490 * request for the interface SAPs */
4491 EXTERN S16 DmUiRgrBndCfm ARGS((
4496 /** @brief Request from RRM to MAC to unbind the interface SAPs */
4497 EXTERN S16 DmUiRgrUbndReq ARGS((
4502 /** @brief Configuration request from RRM to MAC for
4503 * configuring Cell/UE/LC */
4504 EXTERN S16 DmUiRgrCfgReq ARGS((
4507 RgrCfgTransId transId,
4508 RgrCfgReqInfo * cfgReqInfo
4510 /** @brief Configuration confirm from MAC to RRM */
4511 EXTERN S16 DmUiRgrCfgCfm ARGS((
4514 RgrCfgTransId transId,
4518 /** @brief Sta Indication from Scheduler to RRM
4520 * @details This primitive is used to send status indication
4521 * from scheduler to RRM.
4523 * @param[in] pst Pointer to a post structure
4524 * @param[in] suId Service User SAP Id
4525 * @param[in] staInd Status Indication .
4527 EXTERN S16 NxLiRgrUeStaInd ARGS((
4530 RgrUeStaIndInfo *ueStaInd
4533 EXTERN S16 cmPkRgrUeStaInd ARGS
4537 RgrUeStaIndInfo* ueStaInd
4540 EXTERN S16 cmUnpkRgrUeStaInd ARGS
4547 EXTERN S16 cmPkRgrUeStaIndInfo ARGS
4549 RgrUeStaIndInfo *param,
4554 EXTERN S16 cmUnpkRgrUeStaIndInfo ARGS
4556 RgrUeStaIndInfo *param,
4561 /* LTE_ADV_FLAG_REMOVED_START */
4562 EXTERN S16 cmPkRgrLteAdvancedUeConfig ARGS((
4563 RgrLteAdvancedUeConfig *param,
4567 EXTERN S16 cmUnpkRgrLteAdvancedUeConfig ARGS((
4568 RgrLteAdvancedUeConfig *param,
4572 EXTERN S16 cmPkRgrAbsConfig ARGS((
4573 RgrAbsConfig *param,
4577 EXTERN S16 cmUnpkRgrAbsConfig ARGS((
4578 RgrAbsConfig *param,
4582 EXTERN S16 cmPkRgrSfrConfig ARGS((
4583 RgrSfrConfig *param,
4587 EXTERN S16 cmUnpkRgrSfrConfig ARGS((
4588 RgrSfrConfig *param,
4592 EXTERN S16 cmPkRgrCellLteAdvancedFeatureCfg ARGS((
4593 RgrLteAdvancedCellConfig *param,
4597 EXTERN S16 cmUnpkRgrCellLteAdvancedFeatureCfg ARGS((
4598 RgrLteAdvancedCellConfig *param,
4602 EXTERN S16 cmPkRgrDsfrConfig ARGS((
4603 RgrDsfrConfig *param,
4607 EXTERN S16 cmUnpkRgrDsfrConfig ARGS((
4608 RgrDsfrConfig *param,
4611 /* LTE_ADV_FLAG_REMOVED_END */
4613 EXTERN S16 cmPkRgrCellCsgParamCfg ARGS((
4614 RgrCellCsgParamCfg *param,
4617 EXTERN S16 cmUnpkRgrCellCsgParamCfg ARGS((
4618 RgrCellCsgParamCfg *param,
4621 EXTERN S16 cmPkRgrCellCntrlCmdCfg ARGS((
4622 RgrCellCntrlCmdCfg *param,
4625 EXTERN S16 cmUnpkRgrCellCntrlCmdCfg ARGS((
4626 RgrCellCntrlCmdCfg *param,
4630 #ifdef RLC_MAC_DAT_REQ_RBUF
4631 EXTERN S16 rgDlDatReqBatchProc ARGS((
4634 #ifdef RLC_MAC_STA_RSP_RBUF
4635 EXTERN S16 rgDlStaRspBatchProc ARGS((
4641 #endif /* __RGR_X__*/
4643 /**********************************************************************
4646 **********************************************************************/