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 /**********************************************************************
29 **********************************************************************/
31 /** @file cm_tenb_stats.x
36 #include "cm_tenb_stats.h"
37 #include "l2_tenb_stats.h"
39 #ifndef __TENBSTATSINFX__
40 #define __TENBSTATSINFX__
44 #endif /* __cplusplus */
46 typedef struct tsInfL2CellStats
60 U32 riCnt[4]; /* Rank = 1..4 */
62 U32 dlAckNack[2][4]; /* [CW_CNT][RV_CNT] */
65 U32 ulAckNack[4]; /* [RV_CNT] */
67 U32 dlPrbUsage[10]; /* dlPrbUsage[0] to have overall PRB usage */
68 U32 ulPrbUsage[10]; /* dlPrbUsage[0] to have overall PRB usage */
70 U32 avgTtiProcTime; /* In us */
71 U32 cntTtiProcTime1000; /* Count of instances where TTI proc time was
72 greater than 1000us */
73 U32 cntTtiProcTime900; /* Count of instances where TTI proc time was
74 greater than 900us and less than 1000us */
75 U32 cntTtiProcTime800;
76 U32 cntTtiProcTime700;
77 U32 cntTtiProcTime600;
78 U32 cntTtiProcTime500;
81 U32 dl5gtfRbAllocPass;
82 U32 dl5gtfRbAllocFail;
93 U32 ul5gtfAllocAllocated;
94 U32 ul5gtfUeRbAllocDone;
95 U32 ul5gtfUeRmvFnlzZeroBo;
96 U32 ul5gtfUeFnlzReAdd;
98 U32 ul5gtfRbAllocFail;
108 U32 maxRlcSrbRetxFail;
109 U32 maxRlcDrbRetxFail;
114 typedef struct tsInfL2UeStats
117 struct nonPersistentUeStats{
122 U32 dlNackCnt[2]; /* [CW_CNT] */
123 U32 dlAckNackCnt[2]; /* [CW_CNT] */
124 U32 dlDtxCnt[2]; /* [CW_CNT] */
134 U32 dlPdbLvl[5]; /* PDB Levels */
135 U32 riCnt[4]; /* Rank = 1..4 */
149 }sch[L2_STATS_MAX_CELLS];
152 U32 dlPdcpAckWaitDropCnt;
153 U32 dlFlowCtrlDropCnt;
156 U32 ulReOdrTmrExpCnt;
161 struct persistentUeStats{
168 typedef struct tsInfStatsCb
183 typedef Void (*TSInfL2UeStatsInd) ARGS((
188 EXTERN Void TSInfHdlL2UeStatsInd ARGS((
191 TSInfL2UeStats *stats
193 EXTERN Void TSInfUnpkL2UeStats ARGS((
194 TSInfL2UeStatsInd func,
198 typedef Void (*TSInfL2CellStatsInd) ARGS((
203 EXTERN Void TSInfHdlL2CellStatsInd ARGS((
206 TSInfL2CellStats *stats
208 EXTERN Void TSInfUnpkL2CellStats ARGS((
209 TSInfL2CellStatsInd func,
213 EXTERN Void TSInfPkSndL2UeStats ARGS((
216 TSInfL2UeStats *stats
218 EXTERN Void TSInfPkSndL2CellStats ARGS((
221 TSInfL2CellStats *stats
223 EXTERN Void TSInfTrigStats ARGS((
230 #endif /* __cplusplus */
231 #endif /* __TENBSTATSINFX__ */
232 #endif /* TENB_STATS */
234 /**********************************************************************
236 **********************************************************************/