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 rgrSchedEnbCfg
840 U8 numTxAntPorts; /*!< Number of Tx antenna ports */
841 U8 dlSchdType; /*!< Indicates which DL scheduler to use, range
842 * is 0..(number of schedulers - 1) */
845 RgrEnbPfs dlPfs; /*!< Information related to DL PFS
848 U8 ulSchdType; /*!< Indicates which UL scheduler to use, range
849 is 0..(number of schedulers - 1) */
852 RgrEnbPfs ulPfs; /*!< This structure holds the parameters
853 to be configured for PFS scheduler.
854 These values are utilized only when
855 if PFS scheduler is being configured
856 There is no range defined for the
857 values, However the product of all
858 three priorities must not exceed the
861 RgrCellAccsMode accsMode; /*!< Cell Access Mode */
863 Bool isDynTddEnbld; /*!< Dynamic TDD config */
867 /*rgr_x_001.main_9 - Added support for SPS*/
868 /*rgr_x_001.main_11 MOD added comments for doxygen*/
869 /** @name LTEMAC_SPS */
872 @brief DL SPS configuration parameters per UE
873 TODO: Check if this is to be added to re-configuration as well
876 typedef struct rgrSpsCellCfg
878 U8 maxSpsDlBw; /*!< BW used of SPS Scheduling */
880 U16 maxSpsUePerDlSf; /*!< Maximum DL SPS UEs that can be
881 scheduled in a TTI */
882 U16 maxSpsUePerUlSf; /*!< Maximum UL SPS UEs that can be scheduled
887 @brief OPEN/CSG/HCSG Access Mode Configuration parameters for CELL
889 typedef struct rgrCellCsgParamCfg
891 U8 minDlResNonCsg; /*!< Min PDSCH Resources for Non-CSG Members */
892 U8 minUlResNonCsg; /*!< Min PUSCH Resources for Non-CSG Members */
893 } RgrCellCsgParamCfg;
895 /** @brief LAA Cell Configuration */
896 typedef struct rgrLteUCfg
898 Bool isLaaCell; /*<! To distinguish between LAA and LTE-U cell*/
902 typedef struct rgrEmtcSiSchedInfo
904 U8 emtcSiNarrowBand; /*!< narrowband assigned to SI */
905 U16 emtcSiTbs; /*!< tbs value for SI */
908 typedef struct rgrEmtcPrmbleMap
910 U8 firstPreamble; /*!< for each CE mode, starting preamble */
911 U8 lastPreamble; /*!< for each CE mode, starting preamble */
914 typedef struct rgrEmtcRachCElevelInfoLst
916 U8 emtcRarHopping; /*!< by defualt off */
917 U16 raEmtcWinSize; /*!< RA Window size */
918 U16 raEmtcContResTmr; /*!< Contension Resolution */
919 U16 emtcPreambleTransMax; /*!< PreambleTransMax */
920 RgrEmtcPrmbleMap emtcPreambleMap; /*!< preamble mapping Info */
921 }RgrEmtcRachCElevelInfoLst;
923 typedef struct rgrEmtcRachCfg
925 U8 emtcCeLvlSupported;
926 RgrEmtcRachCElevelInfoLst ceLevelInfo[RGR_MAX_CE_LEVEL]; /* for all CE levels 0,1,2,3*/
929 typedef struct rgrEmtcPdschCfg
931 U16 emtcMaxRepCeModeA; /*!< max repetition for CE ModeA */
932 U16 emtcMaxRepCeModeB; /*!< max repetition for CE ModeB */
935 typedef struct rgrEmtcPuschCfg
937 U16 emtcMaxRepCeModeA; /*!< max repetition for CE ModeA */
938 U16 emtcMaxRepCeModeB; /*!< max repetition for CE ModeB */
939 U8 emtcHoppingOffset; /*!< Hopping offset */
942 typedef struct rgrEmtcPrachCEParamLst
944 U8 emtcPrachCfgIdx; /*!< Prach config index */
945 U8 emtcPrachFreqOffset; /*!< Prach Frequency Offset */
946 U16 emtcPrachStartSubFrame; /*!< Starting sub frame */
947 U8 emtcMaxPremAttemptCE; /*!< max preamble attempt CE */
948 U8 emtcNumRepPerPreambleAtt;/*!< num of repetition per preamble attempt*/
949 U8 emtcNumMpdcchNBtoMonitor;/*!< num of Mpddch NB to monitor */
950 U8 emtcMpdcchNBtoMonitor[RGR_MAX_NUM_MPDCCH_MONITOR];/*!< Mpddch NB to monitor */
951 U16 emtcMpdcchNumRep; /*!< num of Mpddch Number of repetition */
952 U8 emtcPrachHoppingCfg; /*!< num of Prach Hopping config */
953 }RgrEmtcPrachCEParamLst;
955 typedef struct rgrEmtcPrachCfg
957 U8 emtcMpdcchStartSFCssRaFdd; /*!< mdpcch start SubFrame Ra type2 */
958 U8 emtcPrachHopingOffset; /*!< prach hopping offset value */
959 U8 emtcInitialCElevel; /*!< Initial CE level to start with */
960 RgrEmtcPrachCEParamLst emtcPrachCEparmLst[RGR_MAX_CE_LEVEL];
964 /*Changes by Simran*/
965 typedef struct rgrFddDownlinkOrTddSubframeBitmapLC
973 }RgrFddDownlinkOrTddSubframeBitmapLC;
976 typedef struct rgrEmtcSiCfg
978 Bool siHoppingEnable; /*!< SI Hopping enabled or not */
979 RgrModPeriodicity modPrd; /*!< Modificiation Period for SI */
980 U8 siWinSizeBr; /*!< SI window size */
981 U8 sib1Repetition; /*!< sib1-br repetition */
982 U8 siRepetition; /*!< SI repetition pattern
983 everyRF,every2ndRF,every4thRF,every8thRF*/
985 /*Changes by Simran*/
986 RgrFddDownlinkOrTddSubframeBitmapLC fddDLOrTddSfBitmapLC;
987 //U16 fddDlOrTddSfBitmapBR; /*!< 10 bit value for sending SI*/
988 RgrEmtcSiSchedInfo schdInfo[RGR_MAX_NUM_SI];
989 U8 numSi; /*!<Number of SIs, SI Id starts from 1 */
990 RgrSiPeriodicity siPeriodicity[RGR_MAX_NUM_SI]; /*!<Periodicities of SIs */
993 typedef struct rgrEmtcPucchCfg
995 U16 emtcN1pucchAnInfoLst[RGR_MAX_CE_LEVEL]; /*!< Max CE level is 4 */
996 U8 emtcPucchNumRepCEMsg4Lvl0; /*!< update the level 0 */
997 U8 emtcPucchNumRepCEMsg4Lvl1; /*!< update the level 1 */
998 U8 emtcPucchNumRepCEMsg4Lvl2; /*!< update the level 2 */
999 U8 emtcPucchNumRepCEMsg4Lvl3; /*!< update the level 3 */
1002 typedef struct rgrEmtcRntiCfg
1004 CmLteRnti rntiCeModeAStart; /*!< EMTC Start RNTI for the range managed by MAC */
1005 CmLteRnti rntiCeModeARange; /*!< EMTC Range of RNTI for the CEMODE A */
1006 U16 rntiCeModeBStart; /*!< EMTC Start RNTI for the range managed by MAC */
1007 CmLteRnti rntiCeModeBRange; /*!< EMTC Range of RNTI for the CEMODE B */
1008 U16 size; /*!< Indicates contiguous range of RNTI managed by EMTC
1012 typedef struct rgrEmtcCellCfg
1014 U16 pci; /*!< Physical Cell ID */
1015 U32 emtcT300Tmr; /*!< T300 timer as per Rel13 */
1016 U32 emtcT301Tmr; /*!< T301 timer as per Rel13 */
1017 RgrEmtcSiCfg emtcSiCfg; /*!< SI configuration */
1018 RgrEmtcRachCfg emtcRachCfg; /*!< Rach config as per Rel13*/
1019 RgrEmtcPdschCfg emtcPdschCfg; /*!< Pdsch config as per Rel13*/
1020 RgrEmtcPuschCfg emtcPuschCfg; /*!< Pusch config as per Rel13*/
1021 RgrEmtcPrachCfg emtcPrachCfg; /*!< Prach config as per Rel13*/
1022 RgrEmtcPucchCfg emtcPucchCfg; /*!< Pucch config as per Rel13*/
1023 RgrEmtcRntiCfg emtcMacRnti;
1032 typedef enum rgSchSfType
1034 RG_SCH_SF_DLCNTRL_DLDATA = 0,
1035 RG_SCH_SF_DLCNTRL_DLDATA_ULCNTRL,
1036 RG_SCH_SF_DLCNTRL_ULDATA,
1037 RG_SCH_SF_DLCNTRL_ULDATA_ULCNTRL
1040 typedef struct rgr5gtfCellCfg
1042 RgSchSfType dynConfig[MAX_5GTF_SUBFRAME_INFO];
1053 /** @brief Cell Configuration at RRM */
1054 typedef struct rgrCellCfg
1056 CmLteCellId cellId; /*!< Cell ID */
1057 Inst macInst; /*!< MAC instance that is serving the cell */
1061 /* rgr_x_001.main_7: [ccpu00112789] Added configuration for maximum number
1063 U8 maxMsg3PerUlSf; /*!< Maximum MSG3 that may be scheduled
1064 per uplink subframe */
1067 U8 maxUePerUlSf; /*!< Maximum UEs that may be scheduled
1068 per uplink subframe. Currently this is
1070 U8 maxUePerDlSf; /*!< Maximum UE to be considered for DL
1071 scheduling in a TTI.Currently this is
1073 /*[ccpu00138609]-ADD- Max limit for Msg4/DL CCCH Ues */
1074 U8 maxCcchPerDlSf; /*!< Max num of Msg4/DL CCCH SDU UEs that
1075 can be scheduled per TTI. It cannot
1076 exceed max UE per Dl sf. If set as
1077 0, this will be a don't care
1079 U8 maxUlBwPerUe; /*!< Maximum number of RBs that can be
1080 allocated to an UE in an UL subframe
1081 Maximum value is defined by
1082 RG_SCH_CMN_MAX_UL_BW_PER_UE in
1083 rg_env.h. This can be modified as
1085 U8 maxDlBwPerUe; /*!< Maximum number of RBs that can be
1086 allocated to an UE in an DL subframe
1087 Maximum value is defined by
1088 RG_SCH_CMN_MAX_DL_BW_PER_UE in
1089 rg_env.h. This can be modified as
1091 U8 maxDlRetxBw; /*!< Maximum number of RBs that can be
1092 allocated for retransmission in DL
1093 Maximum value is defined by
1094 RG_SCH_CMN_MAX_DL_RETX_BW in
1095 rg_env.h. This can be modified as
1097 U8 maxDlUeNewTxPerTti; /*!< Maximum number of UEs that can
1098 be scheduled for a new DL
1099 transmission in a TTI. Value should
1100 be configured by the user as per
1102 U8 maxUlUeNewTxPerTti; /*!< Maximum number of UEs that can
1103 be scheduled for a new UL
1104 transmission in a TTI. Value should
1105 be configured by the user as per
1107 Bool isCpUlExtend; /*!< Cyclic prefix: TRUE-extended,
1108 FALSE-normal for UL */
1109 Bool isCpDlExtend; /*!< Cyclic prefix: TRUE-extended,
1110 FALSE-normal for DL*/
1111 Bool cellModSchm; /*!< TRUE indicates 64QAM
1112 allowed while FALSE indicates 64QAM
1113 is not allowed. Currently this is unused
1115 S8 pMax; /*!< To limit the Cell Uplink
1116 transmission power */
1118 U8 dlfsSchdType; /*!< Indicates which DLFS scheduler to use, range
1119 * is 0..(number of schedulers - 1) */
1120 RgrDlHqCfg dlHqCfg; /*!< HARQ related configuration */
1121 RgrRntiCfg macRnti; /*!< Range of RNTIs to be managed by MAC */
1122 RgrCfiCfg cfiCfg; /*!< CFI for PDCCH */
1123 RgrUlTrgCqiCfg trgUlCqi; /*!< Target UL CQI */
1124 RgrDlCmnCodeRateCfg dlCmnCodeRate; /*!< Coding rate for common DL channels:
1125 Expressed in multiples of 1024 */
1126 RgrPuschSubBandCfg puschSubBand; /*!< UL sub-band information */
1127 RgrUlCmnCodeRateCfg ulCmnCodeRate; /*!< Coding rate for common UL channels:
1128 Expressed as index into CQI table */
1129 RgrDlfsCfg dlfsCfg; /*!< Configuration for DLFS scheduler */
1130 RgrBwCfg bwCfg; /*!< Bandwidth configuration */
1131 RgrPhichCfg phichCfg; /*!< PHICH configuration information */
1132 RgrPucchCfg pucchCfg; /*!< PUCCH configuration information */
1133 RgrSrsCfg srsCfg; /*!< SRS configuration information. Currently
1135 RgrRachCfg rachCfg; /*!< RACH configuration */
1136 RgrSiCfg siCfg; /*!< SI configuration */
1137 RgrUlPwrCfg pwrCfg; /*!< Cell-specific power configuration */
1138 RgrPuschCfg puschCfg; /*!< Cell-specific hopping configuration */
1139 RgrPreambleSetCfg macPreambleSet; /*!< Range of PDCCH Order Preamble IDs
1140 to be managed by MAC */
1141 U8 numCmnLcs; /*!< Number of common logical channels*/
1142 RgrCmnLchCfg cmnLcCfg[RGR_MAX_CMN_LC_PER_CELL]; /*!< Configuration for
1143 common logical channels */
1144 RgrCellCsgParamCfg csgParamCfg; /* Cell-specific configuration for CSG */
1145 /** @name LTE_TDD */
1148 U8 ulDlCfgIdx; /*!< UL-DL configuration index*/
1149 U8 spclSfCfgIdx; /*!< Special Subframe configuration index*/
1150 RgrTddPrachRscInfo prachRscInfo; /*!< PRACH information */
1151 #endif /* LTE_TDD */
1153 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
1154 /* rgr_x_001.main_4: Added 0 as valid value to shut off RGR TICKs. */
1155 /** @name RGR_RRM_TICK */
1157 U8 rrmTtiIndPrd; /*!< Periodicity of TTI indication from
1158 MAC towards RGR user. Range [0-255]. A
1159 value of 1 means one tick per System
1160 Frame and 2 means one tick per 2 System
1162 A value of 0 implies no ticks. */
1164 /*rgr_x_001.main_9 - Added support for SPS*/
1165 /** @name LTEMAC_SPS */
1167 RgrSpsCellCfg spsCfg; /* Cell-specific configuration for DL SPS */
1168 /* LTE_ADV_FLAG_REMOVED_START */
1169 RgrLteAdvancedCellConfig rgrLteAdvCfg; /*!< RGR Configuration of LTE Adv */
1170 /* LTE_ADV_FLAG_REMOVED_END */
1172 U8 dlCqiOverrideFloor;
1173 U8 dlCqiOverrideCeil;
1174 U8 ulCqiOverrideFloor;
1175 U8 ulCqiOverrideCeil;
1178 U16 t300TmrVal; /*!< t300Timer value configured in Frames */
1180 /* ccpu00132314-ADD-Tx power offsets for Common PDSCH transmissions */
1181 U16 bcchTxPwrOffset; /*!< Tx Pwr Offset for BCCH tx on PDSCH.
1182 Offset to the reference signal
1183 power. Value: 0 -> 10000,
1184 representing -6 dB to 4 dB in 0.001
1186 U16 pcchTxPwrOffset; /*!< Tx Pwr Offset for PCCH tx.
1187 Offset to the reference signal
1188 power. Value: 0 -> 10000,
1189 representing -6 dB to 4 dB in 0.001
1191 U16 rarTxPwrOffset; /*!< Tx Pwr Offset for RAR tx.
1192 Offset to the reference signal
1193 power. Value: 0 -> 10000,
1194 representing -6 dB to 4 dB in 0.001
1196 /* ccpu00138898 - Added Tx pwr offset for PHICH Tx*/
1197 U16 phichTxPwrOffset; /*!< Tx Pwr Offset for PHICH tx.
1198 Offset to the reference signal
1199 power. Value: 0 -> 10000,
1200 representing -6 dB to 4 dB in 0.001
1202 Bool isDynCfiEnb; /*!< To indicate whether Dynamic CFI is enabled
1204 Bool isAutoCfgModeEnb; /*!< To indicate whether AutoCfg Mode
1205 change is enabled or not */
1206 RgrUeDlPwrCntrlPaCfg msg4pAVal; /*!< Default value (Enum) of PA that is
1207 used by Scheduler for msg4 */
1208 RgrLteUCfg lteUCfg; /*!< Flag to identify LAA or LTE-U*/
1210 Bool isPucchFormat3Sptd; /*!< Flag for Format 3 Support */
1214 RgrEmtcCellCfg emtcCellCfg;
1217 Rgr5gtfCellCfg Cell5gtfCfg;
1221 @brief Downlink Aperiodic CQI reporting related configuration per UE */
1222 typedef struct rgrUeAprdDlCqiCfg
1224 Bool pres; /*!< Indicates presence of aperiodic
1225 DL CQI configuration */
1226 RgrAprdCqiMode aprdModeEnum; /*!< Aperiodic CQI reporting mode */
1227 /* These two fields are only valid for Pcell*/
1229 U8 triggerSet1; /*!< Trigger set one*/
1230 U8 triggerSet2; /*!< Trigger set two*/
1232 } RgrUeAprdDlCqiCfg;
1234 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
1237 @brief Downlink Periodic CQI reporting related configuration per UE */
1238 typedef struct rgrUePrdDlCqiCfg
1240 Bool pres; /*!< Indicates presence of periodic
1241 DL CQI configuration. */
1242 RgrPrdCqiMode prdModeEnum; /*!< Peiodic CQI reporting mode. */
1243 RgrCqiPrdicity prdicityEnum; /*!< Periodicity values for CQI.
1244 Currently, this is unused parameter. */
1245 U8 subframeOffst; /*!< Subframe offset.
1246 Currently, this is unused parameter. */
1247 S8 cqiOffst; /*!< Delta^cqi_offset: (actual_value*10).
1248 Currently, this is unused parameter. */
1249 U8 k; /*!< k value: range [1-4] */
1250 U16 cqiPmiCfgIdx; /*!< CQI-PMI configuration index. */
1253 #else /* TFU_UPGRADE */
1256 * @brief Periodic CQI Setup configuration parameters information
1258 /* Reference: 36.313: CQI-ReportPeriodic */
1259 typedef struct rgrUeDlPCqiSetup
1261 U16 cqiPResIdx; /*!< cqi-PUCCH-ResourceIndex (0.. 1185) */
1262 U16 cqiPCfgIdx; /*!< cqi-pmi-ConfigIndex (0..1023) */
1263 U8 cqiRepType; /*!< Wideband CQI = 1 Subband CQI =2 */
1264 U8 k; /*!< Ref: 36.213 [23, 7.2.2] (1..4).
1265 Valid only for Subband CQI */
1266 U8 riEna; /*!< Rand Indicator is Enabled TRUE(1) FALSE(0) */
1267 U16 riCfgIdx; /*!< ri-ConfigIndex (0..1023) */
1268 Bool sANCQI; /*!< simultaneousAckNackAndCQI TRUE(1) FALSE(0) */
1269 RgrPrdCqiMode prdModeEnum; /*!< Peiodic CQI reporting mode */
1274 * @brief Periodic CQI/PMI/RI configuration parameters information
1276 typedef struct rgrUeDlPCqiCfg
1278 U8 type; /*!< Setup(1) or Release(0) */
1279 RgrUeDlPCqiSetup cqiSetup; /*!< Periodic CQI Setup */
1284 /*rgr_x_001.main_11 MOD added comments*/
1286 * @ brief Different values for UL SRS BW information
1288 typedef enum rgrUlSrsBwInfo
1290 RGR_ULSRS_BW_0 = 0, /**< UL SRS BW info 0 */
1291 RGR_ULSRS_BW_1 = 1, /**< UL SRS BW info 1 */
1292 RGR_ULSRS_BW_2 = 2, /**< UL SRS BW info 2 */
1293 RGR_ULSRS_BW_3 = 3 /**< UL SRS BW info 3 */
1297 /*rgr_x_001.main_11 MOD added comments*/
1299 * @brief Different values for UL SRS Hoping BW information
1301 typedef enum rgrUlSrsHoBwInfo
1303 RGR_ULSRS_HOP_BW_0 = 0, /**< UL SRS Hopping BW info 0 */
1304 RGR_ULSRS_HOP_BW_1 = 1, /**< UL SRS Hopping BW info 1 */
1305 RGR_ULSRS_HOP_BW_2 = 2, /**< UL SRS Hopping BW info 2 */
1306 RGR_ULSRS_HOP_BW_3 = 3 /**< UL SRS Hopping BW info 3 */
1309 /*rgr_x_001.main_11 MOD added comments*/
1311 * @brief Different values for UL SRS Cyclic Shift information
1313 typedef enum rgrUlSrsCycShiftInfo
1315 RGR_ULSRS_CYSHIFT_0 = 0, /**< UL SRS Cyclic shift info 0 */
1316 RGR_ULSRS_CYSHIFT_1 = 1, /**< UL SRS Cyclic shift info 1 */
1317 RGR_ULSRS_CYSHIFT_2 = 2, /**< UL SRS Cyclic shift info 2 */
1318 RGR_ULSRS_CYSHIFT_3 = 3, /**< UL SRS Cyclic shift info 3 */
1319 RGR_ULSRS_CYSHIFT_4 = 4, /**< UL SRS Cyclic shift info 4 */
1320 RGR_ULSRS_CYSHIFT_5 = 5, /**< UL SRS Cyclic shift info 5 */
1321 RGR_ULSRS_CYSHIFT_6 = 6, /**< UL SRS Cyclic shift info 6 */
1322 RGR_ULSRS_CYSHIFT_7 = 7 /**< UL SRS Cyclic shift info 7 */
1323 } RgrUlSrsCycShiftInfo;
1326 /*rgr_x_001.main_11 MOD added comments*/
1328 * @brief SRS configuration setup parameters information.
1329 Reference 36.313 SoundingRS-UL-Config
1331 typedef struct rgrUeUlSrsSetupCfg
1333 U16 srsCfgIdx; /*!< SRS Configuration Index ISRS
1334 Ref: 36.213: Table 8.2-1; Range: 0-636*/
1335 RgrUlSrsBwInfo srsBw; /*!< SRS Bandwidth */
1336 RgrUlSrsHoBwInfo srsHopBw; /*!< SRS Hoping Bandwidth */
1337 RgrUlSrsCycShiftInfo cycShift; /*!< Cyclic Shift */
1338 Bool duration; /*!< Single(0) Infinite(1) */
1339 /*rgr_x_001.main_11 MOD added comments for doxygen*/
1340 Bool sANSrs; /*!< Simultaneous ACK/NACK and SRS. Note:
1341 This param is specified as a UE specific
1342 parameter though 3GPP TS36.331 specifies
1343 this as a cell-specific parameter. RRM
1344 should configure this parameter with the
1345 same value for all the UEs configured for
1347 /* rgr_x_001.main_13 - DEL - Removed the redeclaration of sANSrs and added the proper comment termination above */
1348 U8 txComb; /*!< Tranmission Comb: 0..1 */
1349 U8 fDomPosi; /*!< Frequency Domain Position */
1350 }RgrUeUlSrsSetupCfg;
1353 /*rgr_x_001.main_11 MOD added comments*/
1355 *@brief Dsr Trans maximum
1357 typedef enum rgrUeDsrTransMax
1359 RGR_DSR_TXMAX_4=4, /**< Dsr Trans maximum 4 */
1360 RGR_DSR_TXMAX_16=16, /**< Dsr Trans maximum 16 */
1361 RGR_DSR_TXMAX_32=32, /**< Dsr Trans maximum 32 */
1362 RGR_DSR_TXMAX_64=64 /**< Dsr Trans maximum 64 */
1367 * @brief SR Setup configuration parameters information
1369 typedef struct rgrUeSrSetupCfg
1371 U16 srResIdx; /*!< Range: 0-2047; Reference: SchedulingRequestConfig */
1372 U8 srCfgIdx; /*!< Range: 0 -155; Reference: SchedulingRequestConfig */
1373 /*ccpu00131601:DEL - dTMax will not be required by scheduler */
1377 * @brief SR configuration parameters information
1379 typedef struct rgrUeSrCfg
1381 Bool type; /*!< Release(0)/Setup(1) */
1382 RgrUeSrSetupCfg srSetup; /*!< SR Setup Configuration */
1385 /** @brief SRS configuration parameters information.
1386 Reference 36.313 SoundingRS-UL-Config
1388 typedef struct rgrUeUlSrsCfg
1390 U8 type; /*!< Release=0 Setup =1 */
1391 RgrUeUlSrsSetupCfg srsSetup; /*!< SRS Setup Configuration */
1395 #endif /*TFU_UPGRADE */
1397 #ifdef LTE_ADV/* Sprint 3*/
1398 typedef struct rgrUePucchFormat3Cfg
1400 U8 sCellAckN3ResAntP0Count;
1401 U8 sCellAckN3ResAntP1Count;
1402 U16 sCellAckN3ResAntP0[4];
1403 U16 sCellAckN3ResAntP1[4];
1404 }RgrUePucchFormat3Cfg;
1405 typedef struct rgrUePucchFormat1BCSCfg
1407 U8 sCellAckN1ResTb1Count; /* !< num of N1 res for TB1 */
1408 U8 sCellAckN1ResTb2Count; /* !< num of N1 res for TB2 */
1409 U16 sCellAckN1ResTb1[4]; /*!< TB1 N1 resources */
1410 U16 sCellAckN1ResTb2[4]; /* !< TB2 N1 resources */
1411 }RgrUePucchFormat1BCSCfg;
1412 typedef struct rgrUeSCellAckPucchCfg
1414 RgrSchFrmt1b3TypEnum pucchFormatType; /* !< 1B Channel selection or format 3*/
1417 RgrUePucchFormat1BCSCfg format1Bcs;
1418 RgrUePucchFormat3Cfg format3;
1420 }RgrUeSCellAckPucchCfg;
1422 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE
1423 This structure was earlier included under MIMO flag. But it was not part
1424 of any structure. Now after TFU_UPGRADE inclusion this shall be used for
1425 for PUSCH Reception Request. */
1427 * @brief PUSCH dedicated configuration parameters information.
1429 typedef struct rgrUePuschDedCfg
1431 Bool pres; /*! Prsent TRUE(1)/FALSE(0) */
1432 U8 bACKIdx; /*! betaOffset-ACK-Index (0..15) */
1433 U8 bRIIdx; /*! betaOffset-RI-Index (0..15) */
1434 U8 bCQIIdx; /*! betaOffset-CQI-Index (0..15) */
1437 * @brief Downlink CQI reporting related configuration per UE
1439 typedef struct rgrUeDlCqiCfg
1441 RgrUeAprdDlCqiCfg aprdCqiCfg; /*!< Aperiodic CQI-related information */
1442 RgrUePrdDlCqiCfg prdCqiCfg; /*!< Periodic CQI-related configuration */
1445 * @brief Measurement Gap configuration for UE
1447 typedef struct rgrUeMeasGapCfg
1449 Bool isMesGapEnabled; /*!< Is Measuremnet Gap enabled or disabled */
1450 U8 gapPrd; /*!< Gap period 40ms/80ms */
1451 U8 gapOffst; /*!< Gap offset - Vaue is 0 to 1*/
1454 @brief DRX Long Cycle Offset */
1455 typedef struct rgrDrxLongCycleOffst
1457 U16 longDrxCycle; /*!< DRX Long Cycle value in subframes*/
1458 U16 drxStartOffst; /*!< DRX Long Cycle offset value in subframes*/
1459 } RgrDrxLongCycleOffst;
1462 * @brief DRX Short Cycle Offset */
1463 typedef struct rgrDrxShortDrx
1465 Bool pres; /*!< Short cycle is configured or not */
1466 U16 shortDrxCycle; /*!< DRX Short Cycle value in sub-frames*/
1467 U8 drxShortCycleTmr; /*!< Value in multiples of Short DRX Cycles*/
1471 * @brief DRX configuration for UE */
1472 typedef struct rgrUeDrxCfg
1474 Bool isDrxEnabled; /*!< To indicate if DRX enabled or
1475 not, this can be used in reconfiguration
1476 to release/stop the DRX (TRUE = Enabled)*/
1477 /*rgr_x_001.main_11 ADD added changes for R9*/
1478 /** @name LTEMAC_R9 */
1481 TknS32 cqiMask; /*!< To indicate if cqi-Mask is setup
1482 by higher layers. Currently supports
1486 U16 drxOnDurTmr; /*!< DRX On-duration Timer value in
1488 U16 drxInactvTmr; /*!< DRX Inactivity Timer value in
1490 U16 drxRetxTmr; /*!< DRX Retransmission Timer value in PDCCH
1492 RgrDrxLongCycleOffst drxLongCycleOffst; /*!< DRX Long cycle and offset, values in subframes */
1493 RgrDrxShortDrx drxShortDrx; /*!< DRX Short cycle value and offset */
1495 U16 emtcDrxUlRetxTmr; /*Rel13 Drx Ul Retx Timer */
1497 Bool drxOnDurTmrR13Pres;
1498 Bool drxRetxTmrR13Pres;
1503 * @brief UE capability Configuration */
1504 typedef struct rgrUeCapCfg
1506 U8 pwrClass; /*!< Power class per UE */
1507 Bool intraSfFeqHop; /*!< Intra subframe frequency hopping for PUSCH */
1508 Bool resAloocType1; /*!< Resource allocation type 1 for PDSCH */
1509 Bool simCqiAckNack; /*!< Simultaneous CQI and ACK/NACK on PUCCH */
1510 Bool txAntSel; /*!< TRUE if UE capable of doing TX Antenna selection */
1515 * @brief UE ACK/NACK configuration */
1516 typedef struct rgrUeAckNackRepCfg
1518 Bool isAckNackEnabled; /*!< Is ACK/NACK enabled? This
1519 variable can be used in reconfiguration
1520 also to stop/release the ACK/NACK
1522 U16 pucchAckNackRep; /*!< n1PUCCH-AN-Rep */
1523 RgrAckNackRepFactor ackNackRepFactor; /*!< ACK/NACK Repetition factor */
1524 } RgrUeAckNackRepCfg;
1527 @brief Transmission mode configuration per UE */
1528 typedef struct rgrUeTxModeCfg
1530 Bool pres; /*!< Indicates presence of transmission mode for UE */
1531 RgrTxModeTrnstn tmTrnstnState; /*!< State of Transmission Mode transition */
1532 /* rgr_x_001.main_9 - Added support for UE Reconfiguration */
1533 RgrTxMode txModeEnum; /*!< UE transmission mode */
1536 @brief Uplink HARQ configuration per UE */
1537 typedef struct rgrUeUlHqCfg
1539 U8 maxUlHqTx; /*!< Maximum number of UL HARQ transmissions */
1540 U8 deltaHqOffst; /*!< Delta HARQ offset
1541 Currently this is unused parameter */
1544 @brief Group power configuration per UE for PUCCH and PUSCH group power control */
1545 typedef struct rgrUeGrpPwrCfg
1547 Bool pres; /*!< Indicates presence of UE PUCCH/PUSCH group power configuration */
1548 CmLteRnti tpcRnti; /*!< TPC PUCCH/PUSCH RNTI for UE */
1549 U8 idx; /*!< Index for format 3/3A */
1552 @brief Uplink power configuration per UE */
1553 typedef struct rgrUeUlPwrCfg
1555 RgrUeGrpPwrCfg uePuschPwr; /*!< PUSCH group power configuration per UE */
1556 RgrUeGrpPwrCfg uePucchPwr; /*!< PUCCH group power configuration per UE */
1557 Bool isAccumulated; /*!< To indicate if accumulation is enabled */
1558 Bool isDeltaMCSEnabled; /*!< To indicate Delta MCS Enabled */
1559 S8 p0UePusch; /*!< P_0UE_PUSCH*/
1560 S8 p0UePucch; /*!< P_0_PUCCH*/
1561 U8 pSRSOffset; /*!< P_SRS_OFFSET
1562 Currently this is unused parameter */
1563 U8 trgCqi; /*!< CQI to aim for during PUSCH power
1564 * control. Zero indicates absence, where
1565 * cell-wide trgCqi is used */
1568 @brief Downlink/Uplink QoS configuration per UE */
1569 typedef struct rgrUeQosCfg
1571 Bool ambrPres; /*!< Indicates presence of AMBR */
1572 U32 dlAmbr; /*!< DL AMBR value for UE (bytes/sec): Optional */
1573 U32 ueBr; /*!< UL Byte Rate value for UE (bytes/sec): Optional */
1576 @brief Time Alignment timer configuration per UE */
1577 typedef struct rgrUeTaTmrCfg
1579 Bool pres; /*!< rgr_x_001.main_7: Pres=NOTPRSNT indicates taTmr INFINITY */
1580 U16 taTmr; /*!< Timer configuration (in subframes) */
1585 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
1588 @brief BSR timer configuration per UE */
1589 typedef struct rgrUeBsrTmrCfg
1591 Bool isPrdBsrTmrPres; /*!< Indicates if periodic BSR timer is present
1593 U16 prdBsrTmr; /*!< periodicBSR-Timer configuration
1594 (in subframes): Value 0xFFFF indicates
1596 U16 retxBsrTmr; /*!< retxBSR-Timer configuration (in subframes)
1597 : Mandatory parameter */
1602 /*rgr_x_001.main_9 - Added support for SPS*/
1604 @brief DL SPS configuration parameters per UE */
1605 typedef struct rgrUeSpsDlCfg
1607 Bool isDlSpsEnabled; /*!< Bool indicating if DL SPS is enabled */
1608 U8 numSpsHqProc; /*!< Number of SPS harq Proc: Value in set
1610 U8 numPucchVal; /*!< Count for configured PUCCH values */
1611 U32 n1PucchVal[4]; /*!< Array of n1Pucch values */
1612 RgrSpsPrd dlSpsPrdctyEnum; /*!< Periodicity for DL SPS */
1613 U16 explicitRelCnt; /*!< Number of SPS ocassions with BO = 0 after
1614 which SPS is released */
1617 typedef struct rgrUlSpsLcInfo
1624 @brief UL SPS configuration parameters per UE */
1625 typedef struct rgrUeSpsUlCfg
1627 Bool isUlSpsEnabled; /*!< Bool indicating if UL SPS is
1629 RgrSpsImplRelCnt implicitRelCnt; /*!< Number of SPS ocassions after which
1630 implicit release happens */
1632 Bool twoIntervalCfg; /*!< Bool indicating if two interval
1633 config is enabled */
1635 Bool pwrCfgPres; /*!< Indicates if Power related
1636 configuration is present */
1639 S8 p0NominalPuschVal;/*!< Value in range [-126...24] */
1640 S8 p0UePuschVal; /*!< Value in range [-8....7] */
1642 RgrSpsPrd ulSpsPrdctyEnum; /*!< Periodicity for UL SPS */
1643 U8 lcCnt; /*!< Number of logical channels */
1644 RgrUlSpsLcInfo spsLcInfo[RGR_MAX_SPS_LC];/*!< Array of SPS logical channels -
1645 All these are assumed to be
1646 mapped onto SPS lcg with ID=1 */
1648 Bool isLcSRMaskEnab ; /*!< Logical Channel SR Mask Enable Flag*/
1654 @brief SPS configuration parameters per UE */
1655 typedef struct rgrUeSpsCfg
1657 CmLteRnti spsRnti; /*!< SPS-RNTI value */
1658 RgrUeSpsDlCfg dlSpsCfg; /*!< DL SPS configuration information */
1659 RgrUeSpsUlCfg ulSpsCfg; /*!< UL SPS configuration information */
1662 /** @brief Transmit Antenna selection types
1664 typedef enum rgrUeTxAntSelType
1666 RGR_UE_TX_ANT_OPENLOOP,
1667 RGR_UE_TX_ANT_CLOSEDLOOP
1668 } RgrUeTxAntSelType;
1670 @brief UE Transmit Antenna selection related configuration */
1671 typedef struct rgrUeTxAntSelCfg
1673 Bool pres; /*!< Configuration present */
1674 RgrUeTxAntSelType selType; /*!< Transmit Antenna selection type */
1678 /*rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
1679 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
1681 /* DL Power control related structures */
1684 @brief PUSH n CQI Reporting related configuration for an UE*/
1685 typedef struct rgrUeCqiReptCfg
1687 U8 numColltdCqiRept; /*!< Number of CQI reports to be sent in PUSH n
1692 @brief CQI for subband number subBandIdx */
1693 typedef struct rgrSubBandCqiInfo
1695 U8 cqi[2]; /*!< Subband CQI for two codewords */
1696 U8 subBandIdx; /*!< Index of the subband starting from 0,
1697 in ascending order of frequency */
1698 } RgrSubBandCqiInfo;
1700 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1702 @brief A CQI Report used in PUSH n Reporting*/
1703 typedef struct rgrUeCqiRept
1705 U8 cqi[2]; /*!< Wideband CQI Value for two codewords*/
1706 U8 cqiMode; /*!< Reporting mode by which CQI was reported */
1707 RgrSubBandCqiInfo sbCqiInfo[RGR_MAX_DL_CQI_SUBBAND];
1708 U8 numSubBand;/*!< Number of Subbands for which CQI is
1712 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1714 @brief Collated CQI reports */
1715 typedef struct RgrUeCqiInfo
1717 RgrUeCqiRept cqiRept[RGR_CQIRPTS_MAXN]; /*!< CQI reports */
1718 U8 numCqiRept; /*!< Number of CQI reports present */
1721 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1723 @brief Status Indication structure passed in RgUiRgrStaInd primitive */
1724 typedef struct rgrStaIndInfo
1726 CmLteCellId cellId; /*!< Cell ID */
1727 CmLteRnti crnti; /*!< UE identifier UE ID: CRNTI */
1728 RgrUeCqiInfo ueCqiInfo; /*!< CQI reports*/
1732 /* LTE_ADV_FLAG_REMOVED_START */
1734 @brief LOAD INF Indication structure passed in RgUiRgrLoadInfInd primitive */
1735 typedef struct rgrLoadInfIndInfo
1737 CmLteCellId cellId; /*!< Cell ID */
1738 U16 bw; /*!< Bandwidth */
1742 TknStrOSXL rntpInfo; /*!< RNTP Info */
1743 U32 absLoadInfo[RGR_ABS_PATTERN_LEN];
1746 /* LTE_ADV_FLAG_REMOVED_END */
1749 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1751 @brief Struct for P_A configuration per UE */
1752 typedef struct rgrUepACfg
1754 /* PA value in db */
1755 RgrUeDlPwrCntrlPaCfg pA; /*!< P_A Value which as used in equation pa =\
1756 delta_PowerOffset + P_A
1757 Ref: RRC 36.331, 6.3.2, PDSCH-Config*/
1758 Bool pAPrsnt; /*!< Indicates if pA has valid information */
1761 /*rgr_x_001.main_11 ADD added changes for CQI management*/
1762 typedef struct rgrUePdschDedCfg
1764 RgrUepACfg uepACfg; /*!< P_A Configuration,
1765 Ref: RRC 36.331, 6.3.2, PDSCH-Config*/
1770 /* LTE_ADV_FLAG_REMOVED_START */
1771 /* @brief UE Configuration for LTE Adv feature */
1772 typedef struct rgrLteAdvancedUeConfig
1775 Bool isUeCellEdge; /*! Flag to indicate UE is cell edge or cell center */
1776 Bool isAbsUe; /*! Flag to indicate ABS UE or Not */
1777 } RgrLteAdvancedUeConfig;
1778 /* LTE_ADV_FLAG_REMOVED_END */
1780 typedef enum RgrAccessStratumRls
1791 } RgrAccessStratumRls;
1794 #define RGR_MAX_EPDCCH_SET 2
1795 typedef struct rgrExtaddgrp2
1798 U8 csiNumRep;// MAPPING
1800 U8 mpdcchStartUESSFDD;// MAPPING
1801 U16 mpdcchNumRep;// MAPPING
1802 U32 mpddchNB;//1.. maxAvailNarrowBands-r13
1805 typedef struct rgrRbAssignment
1807 U8 numPRBpairs; // MAPPING
1810 typedef struct rgrEpdcchAddModLst
1813 U8 transmissionType;
1814 RgrRbAssignment resBlkAssignment;
1816 U32 pucchResStartoffset;
1817 TknU32 pdschRemapQLcfgId;
1818 TknU8 mpdcchNumPRBpair; // MAPPING
1819 RgrExtaddgrp2 extaddgrp2;
1820 }RgrEpdcchAddModLst;
1822 typedef struct rgrSubFrmPatCfg
1827 typedef struct rgrEpdcchConfigRel11
1830 RgrSubFrmPatCfg sfPtn;
1831 TknU32 startSymbolr11;
1832 RgrEpdcchAddModLst epdcchAddModLst[RGR_MAX_EPDCCH_SET];
1833 }RgrEpdcchConfigRel11;
1835 typedef struct rgrUeEmtcRecfg
1837 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
1839 typedef struct rgrPucchRepCfgRel13
1841 Bool isPucchRepPres;
1842 U8 modeANumPucchRepFormat1;
1843 U8 modeANumPucchRepFormat2;
1845 }RgrPucchRepCfgRel13;
1847 typedef struct rgrUeEmtcCfg
1849 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
1851 RgrEpdcchConfigRel11 emtcEpdcchCfg;
1852 RgrPucchRepCfgRel13 emtcPucchRepCfg;
1853 U8 pdschReptLevModeA;
1858 typedef struct rgrUe5gtfCfg
1870 @brief UE configuration */
1871 typedef struct rgrUeCfg
1873 CmLteCellId cellId; /*!< Cell ID */
1874 CmLteRnti crnti; /*!< UE ID: CRNTI */
1875 RgrUeTxModeCfg txMode; /*!< UE Transmission mode: Optional */
1876 RgrUeDlCqiCfg ueDlCqiCfg; /*!< UE DL CQI configuration */
1877 RgrUeUlHqCfg ueUlHqCfg; /*!< UE-related UL HARQ configuration */
1878 RgrUeUlPwrCfg ueUlPwrCfg; /*!< UE UL power configuration: Optional */
1879 RgrUeQosCfg ueQosCfg; /*!< UE-related Dl/UL QoS configuration: AMBR */
1880 RgrUeTaTmrCfg ueTaTmrCfg; /*!< UE TA timer configuration: Optional */
1884 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
1886 RgrUeBsrTmrCfg ueBsrTmrCfg; /*!< UE BSR timer configuration:
1890 CmLteUeCategory ueCatEnum; /*!< UE category */
1891 /*rgr_x_001.main_11 ADD added changes for DRX*/
1893 RgrUeDrxCfg ueDrxCfg; /*!< UE-specific DRX configuration */
1895 Bool isTtiBundlEnabled;/*!< TtiBundling Enabled/Disabled for UE */
1896 RgrUeAckNackRepCfg ueAckNackCfg; /*!< ACK/NACK configuration for UE */
1897 RgrUeMeasGapCfg ueMesGapCfg; /*!< Measurement Gap configuration for UE */
1898 RgrUeCapCfg ueCapCfg; /*!< UE Capabilty reconfiguration */
1899 RgrCodeBookRstCfg ueCodeBookRstCfg; /*!< Number of bits in code book for
1900 transmission modes */
1901 TknU8 dedPreambleId; /*!< If present, then mapping exists at
1902 RGR user with CRNTI */
1903 /** @name LTE_TDD */
1906 RgrTddAckNackMode ackNackModeEnum; /*!< ACK/NACK Mode Bundling or
1908 #endif /* LTE_TDD */
1910 /*rgr_x_001.main_9 - Added support for SPS*/
1911 /** @name LTEMAC_SPS */
1913 RgrUeSpsCfg ueSpsCfg; /*!< SPS related configuration
1914 parameters for UE */
1916 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
1917 /** @name TFU_UPGRADE */
1920 /* Periodic CQI, SRS, SR and HD-FDD Configuration */
1921 RgrUeUlSrsCfg srsCfg; /*!< SRS configuration information */
1922 RgrUeSrCfg srCfg; /*!< SR configuration information */
1925 /*rgr_x_001.main_11 ADD added changes for HDFDD*/
1926 /** @name LTEMAC_HDFDD */
1929 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
1930 #endif /* LTEMAC_HDFDD */
1932 /* rgr_x_001.main_8 - Changes for MIMO feature addition */
1933 /* rgr_x_001.main_9 - Removed dependency on MIMO compile-time flag */
1935 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
1936 RgrUePuschDedCfg puschDedCfg; /*!< PUSCH -Configuration that is dedicated. Refer
1937 to 36.331 for more information */
1938 RgrUeTxAntSelCfg ulTxAntSel; /*!< UL Transmit antenna selection configuration */
1940 /** @name RGR_CQI_REPT */
1942 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
1943 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
1945 RgrUeCqiReptCfg ueCqiReptCfg; /*!< PUSH n CQI Reporting
1950 RgrUePdschDedCfg uePdschDedCfg; /*!< PDSCH related dedicated configuration per UE */
1952 /* LTE_ADV_FLAG_REMOVED_START */
1953 RgrLteAdvancedUeConfig ueLteAdvCfg; /*!< LTE Adv configuration per UE */
1954 /* LTE_ADV_FLAG_REMOVED_END */
1955 RgrAccessStratumRls accessStratumRls; /*!< UE Access Stratum Release */
1956 U8 csgMmbrSta; /* CSG Membership status, refer RgrUeCsgMbrStatus */
1958 RgrUeEmtcCfg emtcUeCfg;
1961 RgrUe5gtfCfg ue5gtfCfg;
1965 @brief QCI, GBR, and MBR configuration for dedicated logical channels */
1966 typedef struct rgrLchQosCfg
1968 U8 qci; /*!< QCI for the logical channel.
1969 Valid Range:[0-255] (Actual QCI - 1). */
1970 U32 gbr; /*!< GBR value for a logical channel (bytes/sec). */
1971 U32 mbr; /*!< MBR value for a logical channel (bytes/sec). */
1973 /*rgr_x_001.main_9 - Added support for SPS*/
1975 @brief SPS related configuration for logical channels */
1976 typedef struct rgrLchSpsCfg
1978 Bool isSpsEnabled; /*!< Bool indicating if SPS is enabled for
1982 @brief Logical channel configuration information for downlink logical channels */
1983 typedef struct rgrDlLchCfg
1985 CmLteTrchType dlTrchType; /*!< Indicates type of DL transport channel:
1986 Validated only for BCCH at MAC
1987 DL Transport channel type can take following values:
1990 CM_LTE_TRCH_DL_SCH*/
1991 RgrLchQosCfg dlQos; /*!< DL QoS parameters: Only for dedicated channels */
1992 /*rgr_x_001.main_9 - Added support for SPS*/
1993 RgrLchSpsCfg dlSpsCfg; /*!< SPS configuration for DL logical channel */
1994 U8 rlcReorderTmr; /*!< RLC reordering timer required for LAA*/
1998 @brief Logical channel configuration information for uplink logical channels */
1999 typedef struct rgrUlLchCfg
2001 CmLteLcId lcId; /*!< LC ID for uplink logical channel*/
2002 U8 qci; /*!< QCI associated with LC ID */
2005 @brief Logical channel group configuration information for uplink logical channels */
2006 typedef struct rgrUlLcgCfg
2008 U8 lcgId; /*!< Logical channel group ID */
2009 /*rgr_x_001.main_11 ADD added changes for L2 measurements*/
2011 U8 numLch; /*!< Number of LC's for this group in Uplink */
2012 RgrUlLchCfg lchUlCfg[RGR_MAX_LC_PER_LCG]; /*!< Logical Channel details for
2014 #endif /*LTE_L2_MEAS */
2015 U32 gbr; /*!< Commulative UL GBR of all LC mapping to this LCG */
2016 U32 mbr; /*!< Commulative UL MBR of all LC mapping to this LCG */
2020 @brief Logical channel Uplink configuration information for dedicated channels */
2021 typedef struct rgrUlLchQciCfg
2023 CmLteLcId lcId; /*!< Logical channel ID */
2025 U8 lcgId; /*!< Logical channel group ID */
2029 @brief Logical channel configuration information for dedicated channels */
2030 typedef struct rgrLchCfg
2032 CmLteCellId cellId; /*!< Cell ID */
2033 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2034 CmLteLcId lcId; /*!< Logical channel ID */
2035 CmLteLcType lcType; /*!< Identifies the Logical channel type.lcType
2036 can take the following values:
2042 RgrDlLchCfg dlInfo; /*!< Downlink logical channel configuration information */
2043 RgrUlLchQciCfg ulLchQciInfo; /*!< Uplink logical channel configuration information */
2044 U8 lcgId; /*!< Logical channel group ID */
2047 /** @brief Set of parameters for logical channelgroup Configuration */
2048 typedef struct rgrLcgCfg
2050 CmLteCellId cellId; /*!< Cell ID */
2051 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2052 RgrUlLcgCfg ulInfo; /*!< Uplink logical channel configuration information */
2056 /** @brief Basic configuration structure at RRM */
2057 typedef struct rgrCfg
2059 U8 cfgType; /*!< Indicates configuration type */
2060 union /*!< cfgType is selector */
2062 RgrCellCfg cellCfg; /*!< Cell configuration */
2063 RgrUeCfg ueCfg; /*!< UE configuration */
2064 RgrLchCfg lchCfg; /*!< Dedicated logical channel configuration */
2065 RgrLcgCfg lcgCfg; /*!< Dedicated logical channel Group configuration */
2066 RgrSchedEnbCfg schedEnbCfg; /*!< EnodeB Sched Configurations */
2071 * @brief Activation time information */
2072 typedef struct rgrActvTime
2074 Bool pres; /*!< Indicates the presence of activation time */
2075 CmLteTimingInfo actvTime; /*!< Activation time information */
2079 /** @brief Cell reconfiguration structure at RRM */
2080 typedef struct rgrCellRecfg
2082 CmLteCellId cellId; /*!< Cell ID */
2083 U32 recfgTypes; /*!< Bitmask indicating reconfiguration types */
2084 RgrActvTime recfgActvTime; /*!< Activation Time for cell reconfiguration */
2085 RgrDlHqCfg dlHqRecfg; /*!< DL HARQ related reconfiguration */
2086 RgrCfiCfg cfiRecfg; /*!< CFI reconfiguration for PDCCH */
2087 /* rgr_x_001.main_1: Removing unwanted srMcs Configuration structure */
2088 RgrUlTrgCqiCfg trgUlCqi; /*!< Target UL CQI */
2089 RgrDlCmnCodeRateCfg dlCmnCodeRate; /*!< Coding rate for common DL channels:
2090 Expressed in multiples of 1024 */
2091 RgrPuschSubBandCfg puschSubBand; /*!< UL sub-band information */
2092 RgrUlCmnCodeRateCfg ulCmnCodeRate; /*!< Coding rate for common UL channels:
2093 Expressed in multiples of 1024 */
2094 RgrPucchCfg pucchRecfg; /*!< PUCCH configuration information */
2095 RgrSrsCfg srsRecfg; /*!< SRS configuration information */
2096 RgrRachCfg rachRecfg; /*!< RACH configuration */
2097 RgrDlfsCfg dlfsRecfg; /*!< Reconfiguration for DLFS scheduler */
2098 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2099 /** @name RGR_SI_SCH */
2102 RgrSiCfg siReCfg; /*!<SI Re-Configuration structure */
2104 U16 t300TmrVal; /*!< t300Timer value configured in Frames */
2105 /* LTE_ADV_FLAG_REMOVED_START */
2106 RgrLteAdvancedCellConfig rgrLteAdvCfg; /*!< RGR Configuration of LTE Adv for a cell */
2107 /* LTE_ADV_FLAG_REMOVED_END */
2108 Bool isDynCfiEnb; /*!< To indicate whether Dynamic CFI is enabled
2110 Bool isAutoCfgModeEnb; /*!< To indicate whether AutoCfg mode is enabled
2112 RgrCellCsgParamCfg csgParamCfg; /*!< Cell-specific configuration for CSG */
2113 RgrCellCntrlCmdCfg cntrlCmdCfg; /*!< control cmds to alter this cell's performance */
2117 RgrEmtcCellCfg emtcCellReCfg;
2123 * @brief Structure to store SCell Index for activation
2126 * - sCellIdx : sCell Index in in list of Secondary cells
2128 typedef struct rgrSCellActDeactInfo
2130 U8 sCellIdx; /*!< sCell Index to be activated */
2131 }RgrSCellActDeactInfo;
2134 * @brief Structure to store details for activation/deactivation event
2137 * - crnti : Ue identifier used to get UE control block
2138 * - numOfSCells : Number of SCells to be Activated/Deactivated
2139 * - sCellActDeactInfo : Array of SCellsIdx
2141 typedef struct rgrSCellActDeactEvnt
2143 CmLteRnti crnti; /*!< UE ID: To fetch UeCb in a cell*/
2144 U8 numOfSCells; /* !<No of SCells to be Activated */
2145 RgrSCellActDeactInfo sCellActDeactInfo[RGR_MAX_SCELL_PER_UE];
2146 /* !<SCH SCell Activation Deactivation Information */
2147 } RgrSCellActDeactEvnt;
2151 * @brief Structure to store details for SCell UL PC Config
2154 * - isAccumulated : If TRUE Accumulation is ocnfigured
2155 * - isDeltaMCSEnabled : If TRUE DELTA MCS is enabled
2156 * - p0UePusch : P0 Nominal value
2157 * - pSRSOffset : SRS OFFSET value for SCELL
2159 typedef struct rgrUeUlPwrDedSCellCfg
2161 Bool isAccumulated; /*!< To indicate if accumulation is enabled */
2162 Bool isDeltaMCSEnabled; /*!< To indicate Delta MCS Enabled */
2163 S8 p0UePusch; /*!< P_0UE_PUSCH*/
2164 U8 pSRSOffset; /*!< P_SRS_OFFSET
2165 Currently this is unused parameter */
2167 } RgrUeUlPwrDedSCellCfg;
2170 /** @brief UE Downlink secondary cell config params */
2171 typedef struct rgrUeSecCellCfg
2174 U16 sCellId; /*!< This will be secondary cellId */
2175 TknU32 sCellDeActTmr; /*!< for Activating the sCell for UE */
2176 RgrUeDlCqiCfg ueSCellDlCqiCfg; /*!< Secondary cell dedicated configuration */
2178 RgrUePdschDedCfg uePdschDedCfg; /*!< Secondary cell dedicated configuration */
2180 RgrUeTxModeCfg txMode; /*!< UE transmission mode in Secondary
2182 Bool isUlCaEnabled; /*!<If TRUE ULCA is also enabled along with DL CA for
2184 RgrUeUlPwrDedSCellCfg ueSCellUlDedPwrCfg; /*!< UE UL DED ULPC Cfg */
2187 /** @brief Configuration information of Secondary cells for a UE*/
2188 typedef struct rgrUeSecCellInfo
2190 Bool useExtBSRSizes; /*!< If TRUE used R10 Extended BSR Size Table*/
2192 RgrUeSecCellCfg ueSCellDedCfg[RGR_MAX_SCELL_PER_UE]; /*!< Secondary cell configuration per
2196 /** @brief Configuration of every SCell for a UE*/
2197 typedef struct rgrUeDlSecCellRelInfo
2199 U8 sCellIdx; /*!< This will be secondary cell Idx */
2200 U16 sCellId; /*!< This will be secondary cellId */
2201 }RgrUeDlSecCellRelInfo;
2203 /** @brief Configuration for SCell Release for a UE*/
2204 typedef struct rgrUeSecCellRelInfo
2206 U8 numSCells; /*!< This will be the number of secondary cells*/
2207 RgrUeDlSecCellRelInfo ueSCellRelDedCfg[RGR_MAX_SCELL_PER_UE]; /*!< Secondary cell configuration per
2209 }RgrUeSecCellRelInfo;
2211 #endif /* LTE_ADV */
2213 @brief UE reconfiguration information */
2214 typedef struct rgrUeRecfg
2216 CmLteCellId cellId; /*!< Cell ID */
2217 CmLteRnti oldCrnti; /*!< Old UE ID */
2218 CmLteRnti newCrnti; /*!< New UE ID: This value must match
2219 'oldCrnti', if no CRNTI change during reconfiguration */
2220 /*rgr_x_001.main_11 : changing RecfgTypes to U32
2221 * as all 16 bits are exhausted*/
2222 /* LTE_ADV_FLAG_REMOVED_START */
2223 /* KW fix for LTE_ADV */
2224 U32 ueRecfgTypes; /*!< Bitmask indicating UE reconfiguration items */
2225 /* LTE_ADV_FLAG_REMOVED_END */
2226 RgrUeTxModeCfg txMode; /*!< UE transmission mode */
2227 RgrUeAprdDlCqiCfg aprdDlCqiRecfg; /*!< Aperiodic CQI-related information */
2229 RgrUePrdDlCqiCfg prdDlCqiRecfg; /*!< Periodic CQI-related configuration */
2231 RgrUeUlHqCfg ueUlHqRecfg; /*!< UE UL HARQ information */
2232 RgrUeQosCfg ueQosRecfg; /*!< UE-related Dl/UL QoS configuration: AMBR */
2233 RgrUeTaTmrCfg ueTaTmrRecfg; /*!< UE TA timer information */
2237 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
2239 RgrUeBsrTmrCfg ueBsrTmrRecfg; /*!< UE BSR timer reconfiguration */
2242 RgrUeUlPwrCfg ueUlPwrRecfg; /*!< UE UL power configuration */
2243 /*rgr_x_001.main_11 ADD added changes for DRX*/
2245 RgrUeDrxCfg ueDrxRecfg; /*!< UE-specific DRX configuration
2246 Currently this is unused */
2247 /*rgr_x_001.main_12 - REM - isTtiBundlEnabled redundant field*/
2249 Bool isTtiBundlEnabled; /*!< TTI Bundling Enabled/Disabled for UE
2250 Currently this is unused */
2251 RgrUeAckNackRepCfg ueAckNackRecfg; /*!< ACK/NACK configuration for UE */
2252 RgrUeCapCfg ueCapRecfg; /*!< UE Capabilty reconfiguration*/
2253 RgrUeMeasGapCfg ueMeasGapRecfg; /*!< Measurement Gap configuration for UE */
2254 RgrCodeBookRstCfg ueCodeBookRstRecfg;/*!< Number of bits in code book for
2255 transmission modes */
2256 /* rgr_x_001.main_9 - Added support for UE Reconfiguration */
2257 CmLteUeCategory ueCatEnum; /*!< UE category */
2258 RgrUeTxAntSelCfg ulTxAntSel; /*!< UL Transmit antenna selection configuration */
2260 /*rgr_x_001.main_9 - Added support for SPS*/
2261 /** @name LTEMAC_SPS */
2263 RgrUeSpsCfg ueSpsRecfg; /*!< UE SPS reconfiguration */
2265 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2266 /** @name TFU_UPGRADE */
2270 /* Periodic CQI, SRS, SR and HD-FDD Reconfiguration */
2272 RgrUePrdDlCqiCfg cqiCfg; /*!< Periodic CQI PMI RI reconfiguration information */
2273 RgrUeUlSrsCfg srsCfg; /*!< SRS reconfiguration information */
2274 RgrUeSrCfg srCfg; /*!< SR reconfiguration information */
2277 /*rgr_x_001.main_11 ADD added changes for HDFDD*/
2278 /** @name LTEMAC_HDFDD */
2281 Bool isHdFddEnbld; /*!< Half Duplex FDD is configured: TRUE=1/FALSE=0 */
2282 #endif /* LTEMAC_HDFDD */
2284 /* rgr_x_001.main_10. Added changes of TFU_UPGRADE */
2285 RgrUePuschDedCfg puschDedCfg; /*!< PUSCH Configuration that is dedicated.
2286 Refer to 36.331 for more information */
2287 /** @name RGR_CQI_REPT */
2289 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2290 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2292 RgrUeCqiReptCfg ueCqiReptCfg; /*!< PUSH n CQI Reporting configuration */
2296 RgrUePdschDedCfg uePdschDedCfg; /*!< PDSCH related dedicated configuration per UE */
2298 /* LTE_ADV_FLAG_REMOVED_START */
2299 RgrLteAdvancedUeConfig ueLteAdvCfg; /*!< LTE Adv configuration per UE */
2300 /* LTE_ADV_FLAG_REMOVED_END */
2303 RgrUeSecCellInfo ueSCellCfgInfo;/*!< Secondary cell dedicated informaton
2305 RgrUeSCellAckPucchCfg sCellAckN1ResCfg; /*!< N1ResCfg for SCell ack feedback */
2306 U8 simulAckNackCQIFormat3;
2307 #endif /* LTE_ADV */
2308 RgrAccessStratumRls accessStratumRls; /*!< UE Access Stratum Release */
2309 U8 csgMmbrSta; /* CSG Membership status, refer RgrUeCsgMbrStatus */
2311 RgrUeEmtcRecfg emtcUeRecfg;
2315 @brief Logical channel reconfiguration information for dedicated channels only */
2316 typedef struct rgrLchRecfg
2318 CmLteCellId cellId; /*!< Cell ID */
2319 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2320 CmLteLcId lcId; /*!< Logical channel ID */
2321 /*rgr_x_001.main_9 - Added support for SPS*/
2322 U8 recfgTypes; /*!< Reconfiguration type for DL LC */
2324 /** @brief Reconfiguration Parameters during the DownLink */
2327 RgrLchQosCfg dlQos; /*!< DL QoS parameters */
2328 /*rgr_x_001.main_9 - Added support for SPS*/
2329 RgrLchSpsCfg dlSpsRecfg; /*!< SPS re-configuration for DL logical channel */
2330 } dlRecfg; /*!< Downlink logical channel reconfiguration information */
2332 RgrUlLchQciCfg ulLchQciInfo;
2333 U8 lcgId; /*!< Logical channel group ID */
2336 /** @brief Set of parameters Corresponding To Logical channel group Reconfiguration */
2337 typedef struct rgrLcgRecfg
2339 CmLteCellId cellId; /*!< Cell ID */
2340 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2341 /** @brief Uplink Reconfiguration Parameters for logical channel Groups */
2344 U8 lcgId; /*!< Logical channel group ID */
2346 U8 numLch; /*!< Number of LC's for this group in Uplink */
2347 RgrUlLchCfg lchUlCfg[RGR_MAX_LC_PER_LCG]; /*!< Logical Channel details for
2349 #endif /*LTE_L2_MEAS */
2350 U32 gbr; /*!< Commulative UL GBR of all LC mapping to this LCG */
2351 U32 mbr; /*!< Commulative UL MBR of all LC mapping to this LCG */
2355 /** @brief Basic reconfiguration structure at RRM */
2356 typedef struct rgrRecfg
2358 U8 recfgType; /*!< Indicates reconfiguration type */
2359 union /*!< Reconfiguration type is selector */
2361 RgrCellRecfg cellRecfg; /*!< Cell reconfiguration */
2362 RgrUeRecfg ueRecfg; /*!< UE reconfiguration information */
2363 RgrLchRecfg lchRecfg; /*!< Logical channel reconfiguration information */
2364 RgrLcgRecfg lcgRecfg; /*!< Logical group reconfiguration information */
2368 @brief Basic Delete information for MAC */
2369 typedef struct rgrDel
2371 U8 delType; /*!< Indicates configuration item to be deleted */
2372 /** @brief Indicates The Cell/UE/Logical Channel Group to be deleted */
2375 /** @brief Delete The Cell ID */
2378 CmLteCellId cellId; /*!< Cell ID */
2379 } cellDel; /*!< Cell Delete information */
2381 /** @brief Delete The Ue From The Cell */
2384 CmLteCellId cellId; /*!< Cell ID */
2385 CmLteRnti crnti; /*!< UE ID: CRNTI */
2386 } ueDel; /*!< UE Delete information */
2388 /** @brief Delete The Logical Channels */
2391 CmLteCellId cellId; /*!< Cell ID */
2392 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2393 CmLteLcId lcId; /*!< Logical channel ID */
2394 U8 lcgId; /*!< Logical channel group ID */
2395 } lchDel; /*!< Logical channel delete information */
2397 /** @brief Delete The Logical channel groups */
2400 CmLteCellId cellId; /*!< Cell ID */
2401 CmLteRnti crnti; /*!< CRNTI for DTCH and DCCH */
2402 U8 lcgId; /*!< Logical channel group ID */
2405 /** @brief Delete Secondary cell for a UE */
2406 struct rgrUeScellRel
2408 CmLteCellId cellId; /*!< Cell ID */
2409 CmLteRnti crnti; /*!< UE ID: CRNTI */
2410 U32 ueDelTypes; /*!< Bitmask indicating UE reconfiguration items */
2411 RgrUeSecCellRelInfo ueSCellRelCfgInfo;/*!< Secondary cell dedicated informaton*/
2414 } u; /*!< Union of Cell/UE/Lch delete information */
2417 @brief UE RESET info for MAC */
2418 typedef struct rgrRst
2420 CmLteCellId cellId; /*!< Cell ID */
2421 CmLteRnti crnti; /*!< UE ID: CRNTI tobe RESET */
2424 typedef enum rgrSonCfgType
2429 /* Pa enum -6, -4.77, -3, -1.77, 0, 1, 2, 3 dB and -INF */
2430 typedef enum rgrPaVal
2443 /* Pa level enum High, Normal, Low */
2444 typedef enum rgrPaLevel
2453 @brief PRB configuration received from SON for MAC */
2455 typedef struct rgrPrbCfg
2459 U8 numCellCentreUEs;
2460 CmLteRnti cellEdgeUe[RG_SCH_MAX_UE]; /*!< List of cell Edge UE's */
2461 CmLteRnti cellCentreUe[RG_SCH_MAX_UE]; /*!< List of cell centre UE's */
2462 RgrPaLevel paLevelPerPrb[RGR_SCH_MAX_PA_PER_PRB]; /*!< Mapping of PRB to Pa Values */
2466 @brief configuration received from SON for MAC */
2467 typedef struct rgrSonCfg
2469 RgrSonCfgType cfgType;
2476 /** @brief Basic RGR configuration/reconfiguration info at RRM */
2477 typedef struct rgrCfgReqInfo
2480 U8 action; /*!< Determines configuration/reconfiguration */
2481 union /*!< Action is selector */
2483 RgrCfg cfgInfo; /*!< Configuration information at RRM */
2484 RgrRecfg recfgInfo; /*!< Reconfiguration information at RRM */
2485 RgrDel delInfo; /*!< Deletion related information */
2486 RgrRst rstInfo; /*!< UE information to be REST */
2487 RgrSonCfg sonCfg; /*!< PA and PRB configuration received from SON*/
2489 RgrSCellActDeactEvnt sCellActDeactEvnt; /*!< SCell Activation Information */
2490 #endif /* LTE_ADV */
2494 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2495 /** @name RGR_RRM_TICK */
2497 /** @brief This structure contains information that is passed as part of the TTI
2498 * indication sent from PHY to MAC.
2500 typedef struct rgrTtiIndInfo
2502 CmLteCellId cellId; /*!< Cell ID */
2503 U16 hSfn; /*!< Hyper System Frame Number */
2504 U16 sfn; /*!< System Frame Number */
2508 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2509 /** @name RGR_SI_SCH */
2512 /** @brief This structure contains parameters used for specifying SI
2513 * configuration to MAC-Scheduler by RRM as a part of primitive
2516 typedef struct rgrSiCfgReqInfo
2518 CmLteCellId cellId; /*! Cell Id */
2519 RgrSiCfgType cfgType; /*! MIB/SIB1/SI */
2520 U8 siId; /*! SI ID, if cfgType is SI.
2521 SI ID starts from 1 */
2522 Buffer *pdu; /*! PDU, one of MIB/SIB1/SI */
2525 /** @brief This structure contains parameters used for specifying SI
2526 * configuration to MAC-Scheduler by RRM as a part of primitive
2527 * RgUiRgrWarningSiCfgReq.
2529 typedef struct rgrWarningSiCfgReqInfo
2531 U8 emtcEnable; /*! indicates EMTC enabled or not */
2532 CmLteCellId cellId; /*! Cell Id */
2533 U8 siId; /*! SI ID */
2534 CmLListCp siPduLst; /*! list of PDUs,each corresponding to one segment*/
2535 }RgrWarningSiCfgReqInfo;
2537 typedef struct rgrSegmentInfo
2539 CmLList cmasSegPduLstLnk;
2544 #endif /*RGR_SI_SCH*/
2546 #define RGR_UESTA_MAC_CRNTI_CE_RECVD 0x01
2547 #define RGR_UESTA_MAC_CRNTI_CE_RECVD_IN_SPS_ACTIVE 0x02
2549 @brief Status Indication structure passed in RgUiRgrUeStaInd primitive */
2550 typedef struct rgrUeStaIndInfo
2552 CmLteCellId cellId; /*!< Cell ID */
2553 CmLteRnti crnti; /*!< UE identifier UE ID: CRNTI */
2554 U8 status; /*!< Status */
2559 /* LTE_ADV_FLAG_REMOVED_START */
2560 /** @brief This structure contains parameters used for specifying Load Inf
2561 * i.e RNTP, ABS etc configuration to MAC-Scheduler by RRM as a part of primitive
2562 * RgUiRgrLoadInfReq.
2564 typedef struct rgrLoadInfReqInfo
2566 CmLteCellId cellId; /*! Cell Id */
2567 U8 rgrCcPHighStartRb; /*! Start RB for power high cell centre user */
2568 U8 rgrCcPHighEndRb; /*! End RB for power high cell centre use */
2570 /* LTE_ADV_FLAG_REMOVED_END */
2577 /** @brief Request from RRM to MAC to bind the interface SAPs .
2579 * @details This Primitive is used to bind The SAPs between RRM and the MAC.
2580 * The API validates the Sap Ids , contents of the pst Structure .
2582 * @param[in] pst Pointer To the Post Structure.
2583 * @param[in] suId SAP Id of the Service User.
2584 * @param[in] spId SAP Id of the Service Provider
2585 * @return ROK/RFAILED
2588 typedef S16 (*RgrBndReq) ARGS((
2593 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2594 /** @name RGR_RRM_TICK */
2597 /** @brief Indication from MAC to a RGR User about the Transmit Time Interval.
2599 * @details This Primitive is used to indicate RRM after every TTI.
2600 * API validates the post Structure and TTI Timing .
2602 * @param[in] pst Pointer To the Post Structure.
2603 * @param[in] suId SAP Id of the Service User.
2604 * @param[in] ttiInd Pointer To a structure containing additional Information that is passed
2605 * as a part of TTI Indication.
2606 * @return ROK/RFAILED
2609 typedef S16 (*RgrTtiInd) ARGS((
2612 RgrTtiIndInfo *ttiInd));
2615 /** @brief Confirmation from MAC to RRM for the bind request for the interface SAPs.
2617 * @details This Primitive is used To confirm the binding between the MAC and The RRM.
2619 * @param[in] pst Pointer To the Post Structure.
2620 * @param[in] suId SAP Id of the Service User.
2621 * @param[in] status Binding Status.
2622 * @return ROK/RFAILED
2624 typedef S16 (*RgrBndCfm) ARGS((
2629 /** @brief Request from RRM to MAC to unbind the interface SAPs.
2631 * @details This Primitive is used to unbind MAC and The RRM.It validates on the SAP If its already Bound
2632 * and unbinds the SAP.
2634 * @param[in] pst Pointer to the Post Structure.
2635 * @param[in] spId SAP Id of the Service Provider.
2636 * @param[in] reason Cause for unbinding.
2637 * @return ROK/RFAILED
2639 typedef S16 (*RgrUbndReq) ARGS((
2644 /** @brief Configuration request from RRM to MAC for configuring Cell/UE/LC.
2646 * @details This API is used to configure a scheduler for a UE/Cell/Logical Channels
2648 * @param[in] pst Pointer to the Post Structure.
2649 * @param[in] spId SAP Id of the Service Provider.
2650 * @param[in] transId Reason for unbinding.
2651 * @param[in] cfgReqInfo A Pointer to Configuration/Reconfiguration Structure.
2652 * @return ROK/RFAILED
2654 typedef S16 (*RgrCfgReq) ARGS((
2657 RgrCfgTransId transId,
2658 RgrCfgReqInfo * cfgReqInfo));
2659 /** @brief Configuration confirm from MAC to RRM.
2661 * @details This API confirms the RGR User about the status of the Configuration.
2663 * @param[in] pst Pointer to the Post Structure.
2664 * @param[in] spId SAP Id of the Service User.
2665 * @param[in] transId Transaction Id for the transaction between RRM and MAC
2666 * @param[in] status Configuration confirmation status Information.
2667 * @return ROK/RFAILED
2669 typedef S16 (*RgrCfgCfm) ARGS((
2672 RgrCfgTransId transId,
2674 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
2676 /** @name RGR_SI_SCH */
2679 /** @brief SI Configuration Request primitive for SI configuration
2681 * @details This API is used to configure the System Information from RRM to a MAC scheduler.
2683 * @param[in] pst Pointer to the Post Structure.
2684 * @param[in] spId SAP Id of the Service Provider.
2685 * @param[in] transId Transaction Id for the transaction between RRM and MAC.
2686 * @param[in] siCfgReq Parameters for the configuration.
2687 * @return ROK/RFAILED
2689 typedef S16 (*RgrSiCfgReq) ARGS((
2692 RgrCfgTransId transId,
2693 RgrSiCfgReqInfo *siCfgReq));
2695 /** @brief SI Configuration Confirm Primitive for configuring Cell/UE/LC
2697 * @details This API confirms the SI configuration confirm in the status indication.
2699 * @param[in] pst Pointer to a post structure.
2700 * @param[in] suId SAP Id of the Service User.
2701 * @param[in] transId Transaction Id between the MAC and The RRM.
2702 * @param[in] status Confirmation status information from the MAC to the user.
2703 * @return ROK/RFAILED.
2705 typedef S16 (*RgrSiCfgCfm) ARGS((
2708 RgrCfgTransId transId,
2711 /** @brief SI Configuration Request primitive for warning SI configuration
2713 * @details This API is used to configure the System Info (SIB10,SIB11,SIB12)
2714 * from RRM to a MAC scheduler.
2716 * @param[in] pst Pointer to the Post Structure.
2717 * @param[in] spId SAP Id of the Service Provider.
2718 * @param[in] transId Transaction Id between the MAC and The RRM.
2719 * @param[in] WarningsiCfgReq Parameters for the configuration.
2720 * @return ROK/RFAILED
2722 typedef S16 (*RgrWarningSiCfgReq) ARGS((
2725 RgrCfgTransId transId,
2726 RgrWarningSiCfgReqInfo *warningSiCfgReq));
2729 /** @brief Warning SI Configuration Confirm Primitive
2731 * @details This API confirms the Warning SI configuration confirm in the
2732 * status indication.
2734 * @param[in] pst Pointer to a post structure.
2735 * @param[in] suId SAP Id of the Service User.
2736 * @param[in] transId Transaction Id between the MAC and The RRM.
2737 * @param[in] siId SI ID
2738 * @param[in] status Confirmation status information from the MAC to the user.
2739 * @return ROK/RFAILED.
2741 typedef S16 (*RgrWarningSiCfgCfm) ARGS((
2744 RgrCfgTransId transId,
2748 /** @brief SI Configuration stop Request primitive for warning SI configuration
2750 * @details Used to stop the System Information(SIB10, SIB11, SIB12) from RRM
2753 * @param[in] pst Pointer to the Post Structure.
2754 * @param[in] spId SAP Id of the Service Provider.
2755 * @param[in] siId siId to be stopped.
2756 * @return ROK/RFAILED
2758 typedef S16 (*RgrWarningSiStopReq) ARGS((
2761 RgrCfgTransId transId,
2764 #endif /*RGR_SI_SCH*/
2767 /* LTE_ADV_FLAG_REMOVED_START */
2768 /** @brief LOAD INF Configuration Request primitive for RNTP, ABS etc Configuration
2770 * @details This API is used to configure the LOAD INF parameters from RRM to a MAC scheduler.
2772 * @param[in] pst Pointer to the Post Structure.
2773 * @param[in] spId SAP Id of the Service Provider.
2774 * @param[in] transId Transaction Id for the transaction between RRM and MAC.
2775 * @param[in] loadInfReq Parameters for the configuration.
2776 * @return ROK/RFAILED
2778 typedef S16 (*RgrLoadInfReq) ARGS((
2781 RgrCfgTransId transId,
2782 RgrLoadInfReqInfo *loadInfReq));
2783 /* LTE_ADV_FLAG_REMOVED_END */
2786 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2787 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2789 typedef S16 (*RgrStaInd) ARGS((
2792 RgrStaIndInfo *staInd));
2795 /* LTE_ADV_FLAG_REMOVED_START */
2796 typedef S16 (*RgrLoadInfInd) ARGS((
2799 RgrLoadInfIndInfo *loadInfInd));
2800 /* LTE_ADV_FLAG_REMOVED_END */
2802 typedef S16 (*RgrUeStaInd) ARGS((
2805 RgrUeStaIndInfo *staInd));
2808 /** @brief Request from RRM to MAC to bind the interface SAPs.
2810 * @details This API is invoked by RRM towards MAC to bind RGR SAP.
2811 * This API validates the Pst, spId, suId and sends the bind confirm to
2814 *@param[in] pst Pointer to a post structure.
2815 *@param[in] suId SAP Id of the Service User.
2816 *@param[in] spId SAP Id of the Service Provider.
2817 *@return ROK/RFAILED
2819 EXTERN S16 RgUiRgrBndReq ARGS((
2824 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
2825 /** @name RGR_RRM_TICK */
2827 /** @brief TTI Indication from Scheduler to RRM.
2829 * @details TTI Indication from MAC to RGR User.
2831 * @param[in] pst Pointer to a post structure.
2832 * @param[in] suId SAP Id of the Service User.
2833 * @param[in] ttiInd Parameters containing the information on TTI Indication.
2834 * @return ROK/RFAILED
2836 EXTERN S16 RgUiRgrTtiInd ARGS((
2839 RgrTtiIndInfo *ttiInd
2843 /*rgr_x_001.main_9 - Added support for SPS*/
2844 EXTERN S16 cmPkRgrSpsCellCfg ARGS((
2845 RgrSpsCellCfg *param,
2848 EXTERN S16 cmUnpkRgrSpsDlCellCfg ARGS((
2849 RgrSpsCellCfg *param,
2852 EXTERN S16 cmPkRgrUeSpsDlCfg ARGS((
2853 RgrUeSpsDlCfg *param,
2856 EXTERN S16 cmUnpkRgrUeSpsDlCfg ARGS((
2857 RgrUeSpsDlCfg *param,
2860 EXTERN S16 cmPkRgrUeSpsUlCfg ARGS((
2861 RgrUeSpsUlCfg *param,
2864 EXTERN S16 cmUnpkRgrUeSpsUlCfg ARGS((
2865 RgrUeSpsUlCfg *param,
2868 EXTERN S16 cmPkRgrUeSpsCfg ARGS((
2872 EXTERN S16 cmUnpkRgrUeSpsCfg ARGS((
2876 EXTERN S16 cmPkRgrLchSpsCfg ARGS((
2877 RgrLchSpsCfg *param,
2880 EXTERN S16 cmUnpkRgrLchSpsCfg ARGS((
2881 RgrLchSpsCfg *param,
2885 /*rgr_x_001.main_11 ADD added changes for L2 measurements*/
2886 EXTERN S16 cmPkRgrUlLchCfg ARGS((
2890 EXTERN S16 cmUnpkRgrUlLchCfg ARGS((
2894 EXTERN S16 cmPkRgrUlLchQciCfg ARGS((
2895 RgrUlLchQciCfg *param,
2898 EXTERN S16 cmUnpkRgrUlLchQciCfg ARGS((
2899 RgrUlLchQciCfg *param,
2904 /*rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
2905 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
2907 EXTERN S16 cmPkRgrUeCqiReptCfg ARGS((
2908 RgrUeCqiReptCfg *param,
2912 EXTERN S16 cmUnpkRgrUeCqiReptCfg ARGS((
2913 RgrUeCqiReptCfg *param,
2917 EXTERN S16 cmUnpkRgrSubBandCqiInfo ARGS((
2918 RgrSubBandCqiInfo *param,
2922 EXTERN S16 cmPkRgrStaInd ARGS((
2925 RgrStaIndInfo* staInd
2928 EXTERN S16 cmUnpkRgrStaInd ARGS((
2934 EXTERN S16 cmPkRgrStaIndInfo ARGS((
2935 RgrStaIndInfo *param,
2939 EXTERN S16 cmUnpkRgrStaIndInfo ARGS((
2940 RgrStaIndInfo *param,
2944 EXTERN S16 cmPkRgrUeCqiInfo ARGS((
2945 RgrUeCqiInfo *param,
2949 EXTERN S16 cmUnpkRgrUeCqiInfo ARGS((
2950 RgrUeCqiInfo *param,
2954 EXTERN S16 cmPkRgrUeCqiRept ARGS((
2955 RgrUeCqiRept *param,
2959 EXTERN S16 cmPkRgrSubBandCqiInfo ARGS((
2960 RgrSubBandCqiInfo *param,
2964 EXTERN S16 cmUnpkRgrUeCqiRept ARGS((
2965 RgrUeCqiRept *param,
2970 /* LTE_ADV_FLAG_REMOVED_START */
2971 EXTERN S16 cmPkRgrLoadInfInd ARGS((
2974 RgrLoadInfIndInfo* loadInfInd
2977 EXTERN S16 cmUnpkRgrLoadInfInd ARGS((
2983 EXTERN S16 cmPkRgrLoadInfIndInfo ARGS((
2984 RgrLoadInfIndInfo *param,
2988 EXTERN S16 cmUnpkRgrLoadInfIndInfo ARGS((
2989 RgrLoadInfIndInfo *param,
2990 Pst *pst, /* dsfr_pal_fixes ** 21-March-2013 ** SKS */
2993 /* LTE_ADV_FLAG_REMOVED_END */
2996 EXTERN S16 cmPkRgrUePdschDedCfg ARGS((
2997 RgrUePdschDedCfg *param,
3001 EXTERN S16 cmUnpkRgrUePdschDedCfg ARGS((
3002 RgrUePdschDedCfg *param,
3006 EXTERN S16 cmPkRgrUepACfg ARGS((
3011 EXTERN S16 cmUnpkRgrUepACfg ARGS((
3018 EXTERN S16 cmPkRgrUeSecCellInfo ARGS((
3019 RgrUeSecCellInfo *param,
3023 EXTERN S16 cmUnpkRgrUeSecCellInfo ARGS((
3024 RgrUeSecCellInfo *param,
3028 EXTERN S16 cmPkRgrUeDlSecCellRelInfo ARGS((
3029 RgrUeDlSecCellRelInfo *param,
3033 EXTERN S16 cmUnpkRgrUeDlSecCellRelInfo ARGS((
3034 RgrUeDlSecCellRelInfo *param,
3038 EXTERN S16 cmPkRgrUeSecCellRelInfo ARGS((
3039 RgrUeSecCellRelInfo *param,
3043 EXTERN S16 cmUnpkRgrUeSecCellRelInfo ARGS((
3044 RgrUeSecCellRelInfo *param,
3049 EXTERN S16 cmPkRgrUeSCellAckPucchCfg ARGS((
3050 RgrUeSCellAckPucchCfg *param,
3054 EXTERN S16 cmUnpkRgrUeSCellAckPucchCfg ARGS((
3055 RgrUeSCellAckPucchCfg *param,
3058 #endif /* LTE_ADV */
3060 /** @brief Confirmation from MAC to RRM for the bind request.
3062 * @details Confirmation from MAC to RRM for the bind
3063 * request for the interface saps. This function indicates it through the status To the User.
3065 * @param[in] pst Pointer to a post structure.
3066 * @param[in] suId SAP Id of the Service User.
3067 * @param[in] status Confirmation status for the RGR User.
3068 * @return ROK/RFAILED
3070 EXTERN S16 RgUiRgrBndCfm ARGS((
3076 /** @brief Request from RRM to MAC to unbind the interface SAPs.
3078 * @details This API is invoked by RRM towards MAC to unbind RGR SAP.
3079 * This API validates the Pst, spId, suId and sends the unbdind confirm to
3081 * @param[in] pst Pointer To a post structure.
3082 * @param[in] spId Service provider SAP Id.
3083 * @param[in] reason Cause for the Unbinding.
3084 * @return ROK/RFAILED.
3086 EXTERN S16 RgUiRgrUbndReq ARGS((
3092 /** @brief Configuration request from RRM to MAC for configuring Cell/UE/LC.
3094 * @details This API is invoked by RRM towards MAC to configure MAC.
3095 * These API validates the Pst, spId, suId and transfers the config request
3096 * specific information to corresponding ownership module (GOM) API.
3098 * @param[in] pst Pointer to a post structure.
3099 * @param[in] spId SAP Id of the Service Provider.
3100 * @param[in] transId MAC to RRM Transaction Id.
3101 * @param[in] cfgReqInfo Basic RGR configuration/reconfiguration info at RRM.
3102 * @return ROK/RFAILED
3104 EXTERN S16 RgUiRgrCfgReq ARGS((
3107 RgrCfgTransId transId,
3108 RgrCfgReqInfo * cfgReqInfo
3111 /** @brief Configuration Confirm from MAC to RRM.
3113 * @details In this API crnti, preambleId, and
3114 * maskId are returned to RRM if request does not contain crnti (For Handover purpose)
3116 * @param[in] pst A pointer to post Structure.
3117 * @param[in] suId SAP Id for a service Provider.
3118 * @param[in] transId MAC to RRM User transaction Id.
3119 * @param[in] status Status indication from the MAC.
3120 * @return ROK/RFAILED
3122 EXTERN S16 RgUiRgrCfgCfm ARGS((
3125 RgrCfgTransId transId,
3128 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3129 /** @name RGR_SI_SCH */
3132 /** @brief SI Configuration Request primitive used for SI configuration
3133 * from RRM to MAC-Scheduler.
3135 * @details This primitive specifies the PDU
3136 * (MIB/SIB1/SIs) and the associated parameters in the structure
3139 * @param[in] pst Pointer to a post Structure.
3140 * @param[in] spId SAP Id of the Service provider.
3141 * @param[in] transId RRM to MAC transaction Id.
3142 * @param[in] siCfgReq Parameters used for specifying SI.
3143 * @return ROK/RFAILED
3145 EXTERN S16 RgUiRgrSiCfgReq ARGS((
3148 RgrCfgTransId transId,
3149 RgrSiCfgReqInfo *siCfgReq
3152 /** @brief SI Configuration Confirm from MAC to RRM.
3154 * @details This primitive is used to confirm the SI configuration to RRM from MAC.
3156 * @param[in] pst Pointer to a post structure
3157 * @param[in] suId Service User SAP Id
3158 * @param[in] transId Transaction id between RRM and MAC
3159 * @param[in] status Confirmation status .
3160 * @return ROK/RFAILED
3162 EXTERN S16 RgUiRgrSiCfgCfm ARGS((
3165 RgrCfgTransId transId,
3169 /** @brief SI Configuration Confirm from MAC to RRM.
3171 * @details This primitive is used to confirm the SI configuration to RRM
3174 * @param[in] pst Pointer to a post structure
3175 * @param[in] suId Service User SAP Id
3176 * @param[in] transId Transaction id between RRM and MAC
3177 * @param[in] status Confirmation status .
3178 * @return ROK/RFAILED
3180 EXTERN S16 RgUiRgrWarningSiCfgReq ARGS((
3183 RgrCfgTransId transId,
3184 RgrWarningSiCfgReqInfo *WarningSiCfgReqInfo
3188 /** @brief Warning SI Configuration Confirm from MAC to RRM.
3190 * @details This primitive is used to confirm the Warning SI configuration
3193 * @param[in] pst Pointer to a post structure
3194 * @param[in] suId Service User SAP Id
3195 * @param[in] transId Transaction id between RRM and MAC
3196 * @param[in] siId SI ID.
3197 * @param[in] status Confirmation status .
3198 * @return ROK/RFAILED
3200 EXTERN S16 RgUiRgrWarningSiCfgCfm ARGS((
3203 RgrCfgTransId transId,
3208 /** @brief SI Configuration Confirm from MAC to RRM.
3210 * @details This primitive is used to confirm the SI configuration to RRM
3213 * @param[in] pst Pointer to a post structure
3214 * @param[in] spId Service Provider SAP Id
3215 * @param[in] siId SI Index
3216 * @return ROK/RFAILED
3218 EXTERN S16 RgUiRgrWarningSiStopReq ARGS((
3221 RgrCfgTransId transId,
3225 #endif /*RGR_SI_SCH*/
3229 /* LTE_ADV_FLAG_REMOVED_START */
3230 /** @brief LOAD INF Configuration Request primitive used for RNTP, ABS configuration
3231 * from RRM to MAC-Scheduler.
3233 * @details This primitive specifies the startRb and endRb of CC sub-band for which
3234 * we have to increase power at schedular
3237 * @param[in] pst Pointer to a post Structure.
3238 * @param[in] spId SAP Id of the Service provider.
3239 * @param[in] transId RRM to MAC transaction Id.
3240 * @param[in] loadInfReq Parameters used for specifying LOAD INF.
3241 * @return ROK/RFAILED
3243 EXTERN S16 RgUiRgrLoadInfReq ARGS((
3246 RgrCfgTransId transId,
3247 RgrLoadInfReqInfo *loadInfReq
3249 /* LTE_ADV_FLAG_REMOVED_END */
3252 /** @name RGR_CQI_REPT */
3254 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
3255 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
3257 /** @brief Sta Indication from Scheduler to RRM
3259 * @details This primitive is used to send status indication from scheduler
3262 * @param[in] pst Pointer to a post structure
3263 * @param[in] suId Service User SAP Id
3264 * @param[in] staInd Status Indication .
3265 * @return ROK/RFAILED
3267 EXTERN S16 RgUiRgrStaInd ARGS((
3270 RgrStaIndInfo *staInd
3273 EXTERN S16 RgUiRgrUeStaInd ARGS((
3276 RgrUeStaIndInfo *ueStaInd
3282 /* LTE_ADV_FLAG_REMOVED_START */
3283 /** @brief LoadInf Indication from Scheduler to RRM
3285 * @details This primitive is used to send LOAD INF indication from scheduler
3288 * @param[in] pst Pointer to a post structure
3289 * @param[in] suId Service User SAP Id
3290 * @param[in] loadInfInd LOAD INF Indication .
3291 * @return ROK/RFAILED
3293 EXTERN S16 RgUiRgrLoadInfInd ARGS((
3296 RgrLoadInfIndInfo *loadInfInd
3298 /* LTE_ADV_FLAG_REMOVED_END */
3304 /** @brief Request from RRM to MAC to bind the interface SAPs.
3306 * @details This API validats the SAP Id and binds the interface SAPs
3308 * @param[in] pst Pointer to a post structure
3309 * @param[in] suId Service User SAP Id
3310 * @param[in] spId Service Provider SAP Id
3311 * @return ROK/RFAILED
3313 EXTERN S16 NxLiRgrBndReq ARGS((
3319 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
3320 /** @name RGR_RRM_TICK */
3322 /** @brief TTI indication from scheduler to RRM.
3324 * @details This primitive handles TTI Indication. It essentially validates
3325 * the post structure and Transmit Time timing .
3327 * @param[in] Pst* pst Pointer To a post Structure
3328 * @param[in] SuId suId Service user SAP Id
3329 * @param[in] RgrTtiIndInfo* ttiInd Information passed as a part of TTI indication from PHY to MAC.
3330 * @return ROK/RFAILED
3332 EXTERN S16 NxLiRgrTtiInd ARGS((
3335 RgrTtiIndInfo *ttiInd
3339 /** @brief Confirmation from MAC to RRM for the bind request for the interface SAPs.
3341 * @details This Primitive handles the call for bind confirmation.
3343 * @param[in] Pst* pst A pointer to post structure.
3344 * @param[in] SuId suId Service User SAP Id.
3345 * @param[in] U8 status An information on status confirmation.
3348 EXTERN S16 NxLiRgrBndCfm ARGS((
3354 /** @brief Request from RRM to MAC to unbind the interface SAPs
3356 * @details This primitive unbinds the interface SAPs.It validates if the SAP is really bound.
3358 * @param[in] Pst* pst A pointer to post structure.
3359 * @param[in] SpId spId Service Provider SAP Id.
3360 * @param[in] Reason reason A cause for unbinding the SAPs.
3363 EXTERN S16 NxLiRgrUbndReq ARGS((
3368 /** @brief Configuration request from RRM to MAC for
3369 * configuring Cell/UE/LC
3371 * @details The RRM configures the Cell/UE/LC using this primitive.
3373 * @param[in] Pst* pst A pointer to post structure.
3374 * @param[in] SpId spId Service Provider SAP Id.
3375 * @param[in] RgrCfgTransId transId Transaction Id between RRM and MAC.
3376 * @param[in] RgrCfgReqInfo* cfgReqInfo A structure containing the configuration information.
3379 EXTERN S16 NxLiRgrCfgReq ARGS((
3382 RgrCfgTransId transId,
3383 RgrCfgReqInfo * cfgReqInfo
3386 /** @brief Configuration confirm from MAC to RRM
3388 * @details This primitive confirms the RRM about the configuration reception request.
3390 * @param[in] Pst* pst A pointer to post structure.
3391 * @param[in] SuId suId Service Provider SAP Id.
3392 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id.
3395 EXTERN S16 NxLiRgrCfgCfm ARGS((
3398 RgrCfgTransId transId,
3401 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3402 /** @name RGR_SI_SCH */
3406 /** @brief SI Configuration confirm from MAC to RRM
3408 * @details This primitive confirms the SI configuration to the RRM.
3410 * @param[in] Pst* pst A pointer to post structure.
3411 * @param[in] SuId suId Service User SAP Id.
3412 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id
3413 * @param[in] U8 status An information on confirmation status.
3416 EXTERN S16 NxLiRgrSiCfgCfm ARGS((
3419 RgrCfgTransId transId,
3425 EXTERN S16 NxLiRgrWrngSiCfgCfm ARGS((
3428 RgrCfgTransId transId,
3435 EXTERN S16 NxLiRgrStopWrngSiCfgCfm ARGS((
3438 RgrCfgTransId transId,
3442 /* PH04_CMAS : end */
3445 /** @brief Warning SI Configuration confirm from MAC to RRM
3447 * @details This primitive confirms the Warning SI configuration to the RRM.
3449 * @param[in] Pst* pst A pointer to post structure.
3450 * @param[in] SuId suId Service User SAP Id.
3451 * @param[in] U8 siId SI Index
3452 * @param[in] RgrCfgTransId transId RRM to MAC transaction Id
3453 * @param[in] U8 status An information on confirmation status.
3456 EXTERN S16 NxLiRgrWarningSiCfgCfm ARGS((
3459 RgrCfgTransId transId,
3464 /** @brief SI Configuration request from RRM to MAC for
3467 * @details This primitive is used for the configuration of the SI information in the MAC scheduler.
3469 * @param[in] Pst* pst A pointer to post structure.
3470 * @param[in] SpId spId Service Provider SAP Id.
3471 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3472 * @param[in] RgrSiCfgReqInfo* cfgReqInfo Parameters corresponding to the SI Configuration .
3475 EXTERN S16 NxLiRgrSiCfgReq ARGS((
3478 RgrCfgTransId transId,
3479 RgrSiCfgReqInfo * cfgReqInfo
3483 /** @brief Warning SI Configuration request from RRM to MAC for
3486 * @details This primitive is used for the configuration of the SI
3487 * information in the MAC scheduler.
3489 * @param[in] Pst* pst A pointer to post structure.
3490 * @param[in] SpId spId Service Provider SAP Id.
3491 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3492 * @param[in] RgrWarningSiCfgReqInfo *warningSiCfgReq SI Configuration
3495 EXTERN S16 NxLiRgrWarningSiCfgReq ARGS((
3498 RgrCfgTransId transId,
3499 RgrWarningSiCfgReqInfo *warningSiCfgReq
3503 /** @brief Warning SI Stop request from RRM to MAC for
3506 * @details This primitive is used to stop the SI for a
3509 * @param[in] Pst* pst A pointer to post structure.
3510 * @param[in] SpId spId Service Provider SAP Id.
3511 * @param[in] U8 siId SI Index
3513 EXTERN S16 NxLiRgrWarningSiStopReq ARGS((
3516 RgrCfgTransId transId,
3520 #endif/*RGR_SI_SCH */
3524 /* LTE_ADV_FLAG_REMOVED_START */
3525 /** @brief LOAD INF Configuration request from RRM to MAC for
3526 * configuring rntp, abs etc
3528 * @details This primitive is used for the configuration of the LOAD INF parameters
3529 * in the MAC scheduler.
3531 * @param[in] Pst* pst A pointer to post structure.
3532 * @param[in] SpId spId Service Provider SAP Id.
3533 * @param[in] RgrCfgTransId transId, RRM to MAC transaction Id
3534 * @param[in] RgrLoadInfReqInfo* loadInfReq Parameters corresponding to the LOAD INF Config.
3537 EXTERN S16 NxLiRgrLoadInfReq ARGS((
3540 RgrCfgTransId transId,
3541 RgrLoadInfReqInfo* loadInfReq
3543 /* LTE_ADV_FLAG_REMOVED_END */
3546 /** @name RGR_CQI_REPT */
3548 /* rgr_x_001.main_11 ccpu00117452 - MOD - Changed macro name from
3549 RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */
3551 /** @brief Sta Indication from Scheduler to RRM
3553 * @details This primitive is used to send status indication
3554 * from scheduler to RRM.
3556 * @param[in] pst Pointer to a post structure
3557 * @param[in] suId Service User SAP Id
3558 * @param[in] staInd Status Indication .
3560 EXTERN S16 NxLiRgrStaInd ARGS((
3563 RgrStaIndInfo *staInd
3568 /* LTE_ADV_FLAG_REMOVED_START */
3569 /** @brief LOAD INF Indication from Scheduler to RRM
3571 * @details This primitive is used to send loadInf indication
3572 * from scheduler to RRM.
3574 * @param[in] pst Pointer to a post structure
3575 * @param[in] suId Service User SAP Id
3576 * @param[in] loadInfInd LOAD INF Indication .
3578 EXTERN S16 NxLiRgrLoadInfInd ARGS((
3581 RgrLoadInfIndInfo *loadInfInd
3583 /* LTE_ADV_FLAG_REMOVED_END */
3588 /** @brief Request from RRM to MAC to bind the interface SAPs */
3589 EXTERN S16 cmPkRgrBndReq ARGS((
3594 /** @brief Request from RRM to MAC to bind the interface SAPs */
3595 EXTERN S16 cmUnpkRgrBndReq ARGS((
3600 /* rgr_x_001.main_3: Added TTI indication from MAC to RGR user */
3601 /** @name RGR_RRM_TICK */
3603 /** @brief Pack function for TTI indication from scheduler to RRM */
3604 EXTERN S16 cmPkRgrTtiInd ARGS((
3607 RgrTtiIndInfo *ttiInd
3609 EXTERN S16 cmPkRgrTtiIndInfo ARGS((
3610 RgrTtiIndInfo *ttiInd,
3612 /** @brief Unpack function for TTI indication from scheduler to RRM */
3613 EXTERN S16 cmUnpkRgrTtiInd ARGS((
3618 EXTERN S16 cmUnpkRgrTtiIndInfo ARGS((
3619 RgrTtiIndInfo *param,
3623 EXTERN S16 cmPkRgrBndCfm ARGS((
3629 EXTERN S16 cmUnpkRgrBndCfm ARGS((
3635 EXTERN S16 cmPkRgrUbndReq ARGS((
3641 EXTERN S16 cmUnpkRgrUbndReq ARGS((
3647 EXTERN S16 cmPkRgrCfgReq ARGS((
3650 RgrCfgTransId transId,
3651 RgrCfgReqInfo * cfgReqInfo
3654 EXTERN S16 cmUnpkRgrCfgReq ARGS((
3660 EXTERN S16 cmPkRgrCfgCfm ARGS((
3663 RgrCfgTransId transId,
3667 EXTERN S16 cmUnpkRgrCfgCfm ARGS((
3673 EXTERN S16 cmPkRgrCfgTransId ARGS((
3674 RgrCfgTransId *param,
3677 EXTERN S16 cmUnpkRgrCfgTransId ARGS((
3678 RgrCfgTransId *param,
3681 EXTERN S16 cmPkRgrDlHqCfg ARGS((
3685 EXTERN S16 cmUnpkRgrDlHqCfg ARGS((
3689 EXTERN S16 cmPkRgrRntiCfg ARGS((
3693 EXTERN S16 cmUnpkRgrRntiCfg ARGS((
3697 EXTERN S16 cmPkRgrDlCmnCodeRateCfg ARGS((
3698 RgrDlCmnCodeRateCfg *param,
3701 EXTERN S16 cmUnpkRgrDlCmnCodeRateCfg ARGS((
3702 RgrDlCmnCodeRateCfg *param,
3705 EXTERN S16 cmPkRgrCfiCfg ARGS((
3709 EXTERN S16 cmUnpkRgrCfiCfg ARGS((
3713 EXTERN S16 cmPkRgrPuschSubBandCfg ARGS((
3714 RgrPuschSubBandCfg *param,
3717 EXTERN S16 cmUnpkRgrPuschSubBandCfg ARGS((
3718 RgrPuschSubBandCfg *param,
3721 EXTERN S16 cmPkRgrUlCmnCodeRateCfg ARGS((
3722 RgrUlCmnCodeRateCfg *param,
3725 EXTERN S16 cmUnpkRgrUlCmnCodeRateCfg ARGS((
3726 RgrUlCmnCodeRateCfg *param,
3729 EXTERN S16 cmPkRgrUlTrgCqiCfg ARGS((
3730 RgrUlTrgCqiCfg *param,
3733 EXTERN S16 cmUnpkRgrUlTrgCqiCfg ARGS((
3734 RgrUlTrgCqiCfg *param,
3737 EXTERN S16 cmPkRgrBwCfg ARGS((
3741 EXTERN S16 cmUnpkRgrBwCfg ARGS((
3745 EXTERN S16 cmPkRgrPhichCfg ARGS((
3749 EXTERN S16 cmUnpkRgrPhichCfg ARGS((
3753 EXTERN S16 cmPkRgrPucchCfg ARGS((
3757 EXTERN S16 cmUnpkRgrPucchCfg ARGS((
3761 EXTERN S16 cmPkRgrSrsCfg ARGS((
3765 EXTERN S16 cmUnpkRgrSrsCfg ARGS((
3769 EXTERN S16 cmPkRgrRachCfg ARGS((
3773 EXTERN S16 cmUnpkRgrRachCfg ARGS((
3777 EXTERN S16 cmPkRgrSiCfg ARGS((
3781 EXTERN S16 cmUnpkRgrSiCfg ARGS((
3785 EXTERN S16 cmPkRgrTpcRntiCfg ARGS((
3786 RgrTpcRntiCfg *param,
3789 EXTERN S16 cmUnpkRgrTpcRntiCfg ARGS((
3790 RgrTpcRntiCfg *param,
3793 EXTERN S16 cmPkRgrUlPwrCfg ARGS((
3797 EXTERN S16 cmUnpkRgrUlPwrCfg ARGS((
3801 EXTERN S16 cmPkRgrPuschCfg ARGS((
3805 EXTERN S16 cmUnpkRgrPuschCfg ARGS((
3809 EXTERN S16 cmPkRgrCodeBookRstCfg ARGS((
3810 RgrCodeBookRstCfg *param,
3813 EXTERN S16 cmUnpkRgrCodeBookRstCfg ARGS((
3814 RgrCodeBookRstCfg *param,
3817 EXTERN S16 cmPkRgrPreambleSetCfg ARGS((
3818 RgrPreambleSetCfg *param,
3821 EXTERN S16 cmUnpkRgrPreambleSetCfg ARGS((
3822 RgrPreambleSetCfg *param,
3825 EXTERN S16 cmPkRgrCmnLchCfg ARGS((
3826 RgrCmnLchCfg *param,
3829 EXTERN S16 cmUnpkRgrCmnLchCfg ARGS((
3830 RgrCmnLchCfg *param,
3833 EXTERN S16 cmPkRgrDlfsCfg ARGS((
3837 EXTERN S16 cmUnpkRgrDlfsCfg ARGS((
3842 /* rgr_x_001.main_5-ADD-Added for SI Enhancement. */
3843 /** @name RGR_SI_SCH */
3846 EXTERN S16 cmPkRgrWarningSiCfgReq ARGS((
3849 RgrCfgTransId transId,
3850 RgrWarningSiCfgReqInfo *warningSiCfgReqInfo
3853 EXTERN S16 cmUnpkRgrWarningSiCfgReq ARGS((
3854 RgrWarningSiCfgReq func,
3859 EXTERN S16 cmPkRgrWarningSiCfgReqInfo ARGS((
3861 RgrWarningSiCfgReqInfo *param,
3865 EXTERN S16 cmUnpkRgrWarningSiCfgReqInfo ARGS((
3867 RgrWarningSiCfgReqInfo *param,
3871 EXTERN S16 cmPkRgrWarningSiStopReq ARGS((
3874 RgrCfgTransId transId,
3878 EXTERN S16 cmUnpkRgrWarningSiStopReq ARGS((
3879 RgrWarningSiStopReq func,
3885 EXTERN S16 cmPkRgrWarningSiCfgCfm ARGS((
3888 RgrCfgTransId transId,
3893 EXTERN S16 cmUnpkRgrWarningSiCfgCfm ARGS((
3894 RgrWarningSiCfgCfm func,
3900 EXTERN S16 cmPkRgrSiCfgReq ARGS((
3903 RgrCfgTransId transId,
3904 RgrSiCfgReqInfo * cfgReqInfo
3907 EXTERN S16 cmUnpkRgrSiCfgReq ARGS((
3913 EXTERN S16 cmPkRgrSiCfgReqInfo ARGS((
3914 RgrSiCfgReqInfo *param,
3918 EXTERN S16 cmUnpkRgrSiCfgReqInfo ARGS((
3919 RgrSiCfgReqInfo *param,
3923 EXTERN S16 cmPkRgrSiCfgCfm ARGS((
3926 RgrCfgTransId transId,
3930 EXTERN S16 cmUnpkRgrSiCfgCfm ARGS((
3935 #endif /*RGR_SI_SCH*/
3939 /* LTE_ADV_FLAG_REMOVED_START */
3940 EXTERN S16 cmPkRgrLoadInfReq ARGS((
3943 RgrCfgTransId transId,
3944 RgrLoadInfReqInfo * loadInfReq
3947 EXTERN S16 cmUnpkRgrLoadInfReq ARGS((
3953 EXTERN S16 cmPkRgrLoadInfReqInfo ARGS((
3954 RgrLoadInfReqInfo *param,
3958 EXTERN S16 cmUnpkRgrLoadInfReqInfo ARGS((
3959 RgrLoadInfReqInfo *param,
3962 /* LTE_ADV_FLAG_REMOVED_END */
3965 /** @name LTE_TDD */
3968 EXTERN S16 cmPkRgrTddPrachInfo ARGS((
3969 RgrTddPrachInfo *param,
3972 EXTERN S16 cmUnpkRgrTddPrachInfo ARGS((
3973 RgrTddPrachInfo *param,
3976 EXTERN S16 cmPkRgrTddPrachRscInfo ARGS((
3977 RgrTddPrachRscInfo *param,
3980 EXTERN S16 cmUnpkRgrTddPrachRscInfo ARGS((
3981 RgrTddPrachRscInfo *param,
3986 EXTERN S16 cmPkRgrEnbPfs ARGS((
3990 EXTERN S16 cmUnpkRgrEnbPfs ARGS((
3994 EXTERN S16 cmPkRgrCellCfg ARGS((
3998 EXTERN S16 cmUnpkRgrCellCfg ARGS((
4002 EXTERN S16 cmPkRgrUeAprdDlCqiCfg ARGS((
4003 RgrUeAprdDlCqiCfg *param,
4006 EXTERN S16 cmUnpkRgrUeAprdDlCqiCfg ARGS((
4007 RgrUeAprdDlCqiCfg *param,
4010 EXTERN S16 cmPkRgrSchedEnbCfg ARGS((
4011 RgrSchedEnbCfg *param,
4014 EXTERN S16 cmUnpkRgrSchedEnbCfg ARGS((
4015 RgrSchedEnbCfg *param,
4018 EXTERN S16 cmPkRgrUePrdDlCqiCfg ARGS((
4019 RgrUePrdDlCqiCfg *param,
4022 EXTERN S16 cmUnpkRgrUePrdDlCqiCfg ARGS((
4023 RgrUePrdDlCqiCfg *param,
4026 EXTERN S16 cmPkRgrUeDlCqiCfg ARGS((
4027 RgrUeDlCqiCfg *param,
4030 EXTERN S16 cmUnpkRgrUeDlCqiCfg ARGS((
4031 RgrUeDlCqiCfg *param,
4034 EXTERN S16 cmPkRgrUeMeasGapCfg ARGS((
4035 RgrUeMeasGapCfg *param,
4038 EXTERN S16 cmUnpkRgrUeMeasGapCfg ARGS((
4039 RgrUeMeasGapCfg *param,
4042 /*rgr_x_001.main_11 ADD added changes for DRX*/
4043 EXTERN S16 cmPkRgrDrxLongCycleOffst ARGS((
4044 RgrDrxLongCycleOffst *param,
4047 EXTERN S16 cmUnpkRgrDrxLongCycleOffst ARGS((
4048 RgrDrxLongCycleOffst *param,
4051 EXTERN S16 cmPkRgrDrxShortDrx ARGS((
4052 RgrDrxShortDrx *param,
4055 EXTERN S16 cmUnpkRgrDrxShortDrx ARGS((
4056 RgrDrxShortDrx *param,
4059 EXTERN S16 cmPkRgrUeDrxCfg ARGS((
4063 EXTERN S16 cmUnpkRgrUeDrxCfg ARGS((
4067 EXTERN S16 cmPkRgrUeCapCfg ARGS((
4071 EXTERN S16 cmUnpkRgrUeCapCfg ARGS((
4075 EXTERN S16 cmPkRgrUeAckNackRepCfg ARGS((
4076 RgrUeAckNackRepCfg *param,
4079 EXTERN S16 cmUnpkRgrUeAckNackRepCfg ARGS((
4080 RgrUeAckNackRepCfg *param,
4083 EXTERN S16 cmPkRgrUeTxModeCfg ARGS((
4084 RgrUeTxModeCfg *param,
4087 EXTERN S16 cmUnpkRgrUeTxModeCfg ARGS((
4088 RgrUeTxModeCfg *param,
4091 EXTERN S16 cmPkRgrUeUlHqCfg ARGS((
4092 RgrUeUlHqCfg *param,
4095 EXTERN S16 cmUnpkRgrUeUlHqCfg ARGS((
4096 RgrUeUlHqCfg *param,
4099 EXTERN S16 cmPkRgrUeGrpPwrCfg ARGS((
4100 RgrUeGrpPwrCfg *param,
4103 EXTERN S16 cmUnpkRgrUeGrpPwrCfg ARGS((
4104 RgrUeGrpPwrCfg *param,
4107 EXTERN S16 cmPkRgrUeUlPwrCfg ARGS((
4108 RgrUeUlPwrCfg *param,
4111 EXTERN S16 cmUnpkRgrUeUlPwrCfg ARGS((
4112 RgrUeUlPwrCfg *param,
4115 EXTERN S16 cmPkRgrUeQosCfg ARGS((
4119 EXTERN S16 cmUnpkRgrUeQosCfg ARGS((
4123 EXTERN S16 cmPkRgrUeTaTmrCfg ARGS((
4124 RgrUeTaTmrCfg *param,
4127 EXTERN S16 cmUnpkRgrUeTaTmrCfg ARGS((
4128 RgrUeTaTmrCfg *param,
4134 /* rgr_x_001.main_7: [ccpu00112398] Added periodicBSR-Timer and
4136 EXTERN S16 cmPkRgrUeBsrTmrCfg ARGS((
4137 RgrUeBsrTmrCfg *param,
4140 EXTERN S16 cmUnpkRgrUeBsrTmrCfg ARGS((
4141 RgrUeBsrTmrCfg *param,
4146 EXTERN S16 cmPkRgrUeCfg ARGS((
4150 EXTERN S16 cmUnpkRgrUeCfg ARGS((
4154 EXTERN S16 cmPkRgrLchQosCfg ARGS((
4155 RgrLchQosCfg *param,
4158 EXTERN S16 cmUnpkRgrLchQosCfg ARGS((
4159 RgrLchQosCfg *param,
4162 EXTERN S16 cmPkRgrDlLchCfg ARGS((
4166 EXTERN S16 cmUnpkRgrDlLchCfg ARGS((
4170 EXTERN S16 cmPkRgrUlLcgCfg ARGS((
4174 EXTERN S16 cmUnpkRgrUlLcgCfg ARGS((
4178 EXTERN S16 cmPkRgrLchCfg ARGS((
4182 EXTERN S16 cmUnpkRgrLchCfg ARGS((
4186 EXTERN S16 cmPkRgrLcgCfg ARGS((
4190 EXTERN S16 cmUnpkRgrLcgCfg ARGS((
4194 EXTERN S16 cmPkRgrCfg ARGS((
4198 EXTERN S16 cmUnpkRgrCfg ARGS((
4202 EXTERN S16 cmPkRgrActvTime ARGS((
4206 EXTERN S16 cmUnpkRgrActvTime ARGS((
4210 EXTERN S16 cmPkRgrCellRecfg ARGS((
4211 RgrCellRecfg *param,
4214 EXTERN S16 cmUnpkRgrCellRecfg ARGS((
4215 RgrCellRecfg *param,
4218 EXTERN S16 cmPkRgrUeRecfg ARGS((
4222 EXTERN S16 cmUnpkRgrUeRecfg ARGS((
4226 EXTERN S16 cmPkRgrLchRecfg ARGS((
4230 EXTERN S16 cmUnpkRgrLchRecfg ARGS((
4234 EXTERN S16 cmPkRgrLcgRecfg ARGS((
4238 EXTERN S16 cmUnpkRgrLcgRecfg ARGS((
4242 EXTERN S16 cmPkRgrRecfg ARGS((
4246 EXTERN S16 cmUnpkRgrRecfg ARGS((
4250 EXTERN S16 cmPkRgrDel ARGS((
4254 EXTERN S16 cmUnpkRgrDel ARGS((
4258 EXTERN S16 cmPkRgrRst ARGS((
4262 EXTERN S16 cmUnpkRgrRst ARGS((
4267 EXTERN S16 cmPkRgrSonCfg ARGS((
4271 EXTERN S16 cmUnpkRgrSonCfg ARGS((
4275 EXTERN S16 cmPkRgrSonPrbCfg ARGS((
4279 EXTERN S16 cmUnpkRgrSonPrbCfg ARGS((
4283 EXTERN S16 cmPkRgrCfgReqInfo ARGS((
4284 RgrCfgReqInfo *param,
4287 EXTERN S16 cmUnpkRgrCfgReqInfo ARGS((
4288 RgrCfgReqInfo *param,
4293 EXTERN S16 cmUnPkRgrSCellActDeactEvnt ARGS((
4294 RgrSCellActDeactEvnt *param,
4298 EXTERN S16 cmPkRgrSCellActDeactEvnt ARGS((
4299 RgrSCellActDeactEvnt *param,
4302 #endif /* LTE_ADV */
4304 EXTERN S16 cmPkRgrUeTxAntSelCfg ARGS((
4305 RgrUeTxAntSelCfg *param,
4308 EXTERN S16 cmUnpkRgrUeTxAntSelCfg ARGS((
4309 RgrUeTxAntSelCfg *param,
4312 EXTERN S16 cmPkRgrUePuschDedCfg ARGS((
4313 RgrUePuschDedCfg *param,
4316 EXTERN S16 cmUnpkRgrUePuschDedCfg ARGS((
4317 RgrUePuschDedCfg *param,
4322 EXTERN S16 cmPkRgrUeDlPCqiSetup ARGS
4324 RgrUeDlPCqiSetup *param,
4328 EXTERN S16 cmUnpkRgrUeDlPCqiSetup ARGS
4330 RgrUeDlPCqiSetup *param,
4334 EXTERN S16 cmPkRgrUeUlSrsSetupCfg ARGS
4336 RgrUeUlSrsSetupCfg *param,
4340 EXTERN S16 cmUnpkRgrUeUlSrsSetupCfg ARGS
4342 RgrUeUlSrsSetupCfg *param,
4346 EXTERN S16 cmPkRgrUeSrSetupCfg ARGS
4348 RgrUeSrSetupCfg *param,
4352 EXTERN S16 cmUnpkRgrUeSrSetupCfg ARGS
4354 RgrUeSrSetupCfg *param,
4358 EXTERN S16 cmPkRgrUeSrCfg ARGS
4364 EXTERN S16 cmUnpkRgrUeSrCfg ARGS
4370 EXTERN S16 cmPkRgrUeUlSrsCfg ARGS
4372 RgrUeUlSrsCfg *param,
4376 EXTERN S16 cmUnpkRgrUeUlSrsCfg ARGS
4378 RgrUeUlSrsCfg *param,
4386 /** @brief Request from RRM to MAC to bind the interface SAPs */
4387 EXTERN S16 DmUiRgrBndReq ARGS((
4392 /** @brief Confirmation from MAC to RRM for the bind/unbind
4393 * request for the interface SAPs */
4394 EXTERN S16 DmUiRgrBndCfm ARGS((
4399 /** @brief Request from RRM to MAC to unbind the interface SAPs */
4400 EXTERN S16 DmUiRgrUbndReq ARGS((
4405 /** @brief Configuration request from RRM to MAC for
4406 * configuring Cell/UE/LC */
4407 EXTERN S16 DmUiRgrCfgReq ARGS((
4410 RgrCfgTransId transId,
4411 RgrCfgReqInfo * cfgReqInfo
4413 /** @brief Configuration confirm from MAC to RRM */
4414 EXTERN S16 DmUiRgrCfgCfm ARGS((
4417 RgrCfgTransId transId,
4421 /** @brief Sta Indication from Scheduler to RRM
4423 * @details This primitive is used to send status indication
4424 * from scheduler to RRM.
4426 * @param[in] pst Pointer to a post structure
4427 * @param[in] suId Service User SAP Id
4428 * @param[in] staInd Status Indication .
4430 EXTERN S16 NxLiRgrUeStaInd ARGS((
4433 RgrUeStaIndInfo *ueStaInd
4436 EXTERN S16 cmPkRgrUeStaInd ARGS
4440 RgrUeStaIndInfo* ueStaInd
4443 EXTERN S16 cmUnpkRgrUeStaInd ARGS
4450 EXTERN S16 cmPkRgrUeStaIndInfo ARGS
4452 RgrUeStaIndInfo *param,
4457 EXTERN S16 cmUnpkRgrUeStaIndInfo ARGS
4459 RgrUeStaIndInfo *param,
4464 /* LTE_ADV_FLAG_REMOVED_START */
4465 EXTERN S16 cmPkRgrLteAdvancedUeConfig ARGS((
4466 RgrLteAdvancedUeConfig *param,
4470 EXTERN S16 cmUnpkRgrLteAdvancedUeConfig ARGS((
4471 RgrLteAdvancedUeConfig *param,
4475 EXTERN S16 cmPkRgrAbsConfig ARGS((
4476 RgrAbsConfig *param,
4480 EXTERN S16 cmUnpkRgrAbsConfig ARGS((
4481 RgrAbsConfig *param,
4485 EXTERN S16 cmPkRgrSfrConfig ARGS((
4486 RgrSfrConfig *param,
4490 EXTERN S16 cmUnpkRgrSfrConfig ARGS((
4491 RgrSfrConfig *param,
4495 EXTERN S16 cmPkRgrCellLteAdvancedFeatureCfg ARGS((
4496 RgrLteAdvancedCellConfig *param,
4500 EXTERN S16 cmUnpkRgrCellLteAdvancedFeatureCfg ARGS((
4501 RgrLteAdvancedCellConfig *param,
4505 EXTERN S16 cmPkRgrDsfrConfig ARGS((
4506 RgrDsfrConfig *param,
4510 EXTERN S16 cmUnpkRgrDsfrConfig ARGS((
4511 RgrDsfrConfig *param,
4514 /* LTE_ADV_FLAG_REMOVED_END */
4516 EXTERN S16 cmPkRgrCellCsgParamCfg ARGS((
4517 RgrCellCsgParamCfg *param,
4520 EXTERN S16 cmUnpkRgrCellCsgParamCfg ARGS((
4521 RgrCellCsgParamCfg *param,
4524 EXTERN S16 cmPkRgrCellCntrlCmdCfg ARGS((
4525 RgrCellCntrlCmdCfg *param,
4528 EXTERN S16 cmUnpkRgrCellCntrlCmdCfg ARGS((
4529 RgrCellCntrlCmdCfg *param,
4533 #ifdef RLC_MAC_DAT_REQ_RBUF
4534 EXTERN S16 rgDlDatReqBatchProc ARGS((
4537 #ifdef RLC_MAC_STA_RSP_RBUF
4538 EXTERN S16 rgDlStaRspBatchProc ARGS((
4544 #endif /* __RGR_X__*/
4546 /**********************************************************************
4549 **********************************************************************/