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
56 uint32_t dlSumCw0iTbs;
57 uint32_t dlNumCw0iTbs;
58 uint32_t dlSumCw1iTbs;
59 uint32_t dlNumCw1iTbs;
60 uint32_t riCnt[4]; /* Rank = 1..4 */
61 uint32_t dlNack[2][4];
62 uint32_t dlAckNack[2][4]; /* [CW_CNT][RV_CNT] */
65 uint32_t ulAckNack[4]; /* [RV_CNT] */
67 uint32_t dlPrbUsage[10]; /* dlPrbUsage[0] to have overall PRB usage */
68 uint32_t ulPrbUsage[10]; /* dlPrbUsage[0] to have overall PRB usage */
69 uint32_t dlPdbRatio[10];
70 uint32_t avgTtiProcTime; /* In us */
71 uint32_t cntTtiProcTime1000; /* Count of instances where TTI proc time was
72 greater than 1000us */
73 uint32_t cntTtiProcTime900; /* Count of instances where TTI proc time was
74 greater than 900us and less than 1000us */
75 uint32_t cntTtiProcTime800;
76 uint32_t cntTtiProcTime700;
77 uint32_t cntTtiProcTime600;
78 uint32_t cntTtiProcTime500;
80 uint32_t dl5gtfUePick;
81 uint32_t dl5gtfRbAllocPass;
82 uint32_t dl5gtfRbAllocFail;
83 uint32_t dl5gtfFnlzPass;
84 uint32_t dl5gtfFnlzFail;
86 uint32_t dl5gtfPdcchSend;
87 uint32_t dl5gtfPdschCons;
89 uint32_t ul5gtfSrRecv;
90 uint32_t ul5gtfBsrRecv;
91 uint32_t ul5gtfUeSchPick;
92 uint32_t ul5gtfPdcchSchd;
93 uint32_t ul5gtfAllocAllocated;
94 uint32_t ul5gtfUeRbAllocDone;
95 uint32_t ul5gtfUeRmvFnlzZeroBo;
96 uint32_t ul5gtfUeFnlzReAdd;
97 uint32_t ul5gtfPdcchSend;
98 uint32_t ul5gtfRbAllocFail;
108 uint32_t maxRlcSrbRetxFail;
109 uint32_t maxRlcDrbRetxFail;
110 uint32_t reOdrTmrExp;
114 typedef struct tsInfL2UeStats
117 struct nonPersistentUeStats{
120 uint32_t dlRetxOccns;
122 uint32_t dlNackCnt[2]; /* [CW_CNT] */
123 uint32_t dlAckNackCnt[2]; /* [CW_CNT] */
124 uint32_t dlDtxCnt[2]; /* [CW_CNT] */
125 uint32_t dlSumCw0Cqi;
126 uint32_t dlNumCw0Cqi;
127 uint32_t dlSumCw1Cqi;
128 uint32_t dlNumCw1Cqi;
129 uint32_t dlSumCw0iTbs;
130 uint32_t dlNumCw0iTbs;
131 uint32_t dlSumCw1iTbs;
132 uint32_t dlNumCw1iTbs;
134 uint32_t dlPdbLvl[5]; /* PDB Levels */
135 uint32_t riCnt[4]; /* Rank = 1..4 */
139 uint32_t ulRetxOccns;
141 uint32_t ulAckNackCnt;
149 }sch[L2_STATS_MAX_CELLS];
151 uint32_t dlPdcpDropCnt;
152 uint32_t dlPdcpAckWaitDropCnt;
153 uint32_t dlFlowCtrlDropCnt;
156 uint32_t ulReOdrTmrExpCnt;
157 uint32_t dlMaxPktsInSduQ;
158 uint32_t dlMaxWindowSz;
161 struct persistentUeStats{
162 uint32_t activatedSCells;
163 uint32_t numActivation;
164 uint32_t numDeactivation;
168 typedef struct tsInfStatsCb
177 uint8_t cmdForFileStats;
183 typedef Void (*TSInfL2UeStatsInd) ARGS((
188 Void TSInfHdlL2UeStatsInd ARGS((
191 TSInfL2UeStats *stats
193 Void TSInfUnpkL2UeStats ARGS((
194 TSInfL2UeStatsInd func,
198 typedef Void (*TSInfL2CellStatsInd) ARGS((
203 Void TSInfHdlL2CellStatsInd ARGS((
206 TSInfL2CellStats *stats
208 Void TSInfUnpkL2CellStats ARGS((
209 TSInfL2CellStatsInd func,
213 Void TSInfPkSndL2UeStats ARGS((
216 TSInfL2UeStats *stats
218 Void TSInfPkSndL2CellStats ARGS((
221 TSInfL2CellStats *stats
223 Void TSInfTrigStats ARGS((
230 #endif /* __cplusplus */
231 #endif /* __TENBSTATSINFX__ */
232 #endif /* TENB_STATS */
234 /**********************************************************************
236 **********************************************************************/