blob: e2a02df41be0304b869d5e4b1d073f1ae88096d8 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2012
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*******************************************************************************
37 * Filename:
38 * ---------
39 * upcm_stats.h
40 *
41 * Project:
42 * --------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 * UPCM statistics
48 *
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *
55 * ==========================================================================
56 * $Log$
57 *
58 * 11 16 2020 stun.wu
59 * [MOLY00591799] [MT6880][Colgin][New feature] Add New ICDs CM_IP_DL_STATs/CM_IP_UL_STATs
60 *
61 * .
62 *
63 * 09 06 2019 chin-wei.hsu
64 * [MOLY00437199] [MT6297][ICD][EM] fix wrong values of PDCP throughput and IP throughput
65 *
66 * [ICD][EM] UT.
67 *
68 * 09 18 2018 tc.chang
69 * [MOLY00345990] [VMOLY] Code sync.
70 *
71 * 09 14 2018 tc.chang
72 * [MOLY00345990] [VMOLY] Code sync
73 * Rollback first. Fix build error locally
74 *
75 * 06 15 2017 i-feng.chen
76 * [MOLY00257684] [MT6763][Bianco][N1][EM] No info in EL2 PDCP UL Tput/PDU size
77 * [TRUNK][EM]EPDCP UL Statistics
78 *
79 * 02 22 2017 timothy.yao
80 * [MOLY00231561] [6293][EL2][UPCM] log refine & code flow refine
81 * UPCM log refine.
82 *
83 * 09 26 2016 cammie.yang
84 * [MOLY00195563] [6293][EL2][UPCM][RATDM][EPDCP] Initial feature integrations
85 * [TRUNK] UPCM/RATDM/EPDCP feature integrations from PS.DEV
86 *
87 * 07 17 2013 moja.hsu
88 * [MOLY00030111] Add UPCM Tx/Rx statistics query API
89 * .
90 ****************************************************************************/
91/*
92 * =====================================================================================
93 *
94 * Filename: upcm_stats.h
95 *
96 * Description: Statistics of UPCM
97 *
98 * Created: 2013/05/24 03:39:10
99 * Author: mtk01641 (moja)
100 * =====================================================================================
101 */
102
103#ifndef UPCM_STATS_INC
104#define UPCM_STATS_INC
105
106#include <upcm_enum.h>
107
108typedef struct
109{
110 /* For Default EPSB */
111 kal_uint32 dft_rcv_ul_burst_v4v6;
112 kal_uint32 dft_rcv_ul_burst_v4;
113 kal_uint32 dft_rcv_ul_burst_v6;
114 kal_uint32 dft_ul_no_match_tft_drop;
115 kal_uint32 dft_ul_suspend_queue;
116
117 kal_uint32 ul_bytes;
118 kal_uint32 ul_gpds; // ul_pkts
119 kal_uint32 ul_bytes_pri;
120 kal_uint32 ul_gpds_pri; //ul_pkts_pri
121 kal_uint16 ul_max;
122
123 kal_uint16 dl_max;
124 kal_uint32 dl_bytes;
125 kal_uint32 dl_nums;
126
127 kal_uint32 rollback_ul_times;
128 kal_uint32 rcv_by_ebi_times;
129
130 kal_uint32 pkt_filter_add;
131 kal_uint32 pkt_filter_mod;
132 kal_uint32 pkt_filter_del;
133 kal_uint32 pkt_filter_delall;
134 kal_uint32 pkt_filter_del_bearer;
135}upcm_epsb_stats_t;
136
137typedef struct
138{
139 kal_uint32 loopback_sdus;
140 kal_uint32 buffered_sdus;
141 kal_uint32 delay_sdus;
142}upcm_test_mode_stats_t;
143
144typedef struct
145{
146
147#ifdef __FIVEG_NAS__
148 // TODO: 5G part. 9XX bearers make structure size > 2^16
149 upcm_epsb_stats_t epsb[MAX_234G_EPSB_NUM];
150 /* The backup for previous activation */
151 upcm_epsb_stats_t pre_epsb[MAX_234G_EPSB_NUM];
152 upcm_epsb_stats_t nr_psi[NUM_5G_PDU_SESSION];
153 /* The backup for previous activation */
154 upcm_epsb_stats_t pre_nr_psi[NUM_5G_PDU_SESSION];
155#else
156 upcm_epsb_stats_t epsb[MAX_EPSB_NUM];
157 /* The backup for previous activation */
158 upcm_epsb_stats_t pre_epsb[MAX_EPSB_NUM];
159#endif
160
161 upcm_test_mode_stats_t test_mode;
162 kal_uint32 suspend_total;
163 kal_uint32 resume_total;
164
165 kal_uint32 actv_testmode;
166 kal_uint32 deactv_testmode;
167 kal_uint32 close_testloop;
168 kal_uint32 open_testloop;
169}upcm_stats_t;
170
171/*
172 * This pointer will be inited in upcm_init
173 */
174extern upcm_stats_t *p_upcm_stats_g;
175#endif /* ----- #ifndef UPCM_STATS_INC ----- */
176