blob: e2a02df41be0304b869d5e4b1d073f1ae88096d8 [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2012
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* upcm_stats.h
*
* Project:
* --------
* MOLY
*
* Description:
* ------------
* UPCM statistics
*
*
* Author:
* -------
* -------
*
*
* ==========================================================================
* $Log$
*
* 11 16 2020 stun.wu
* [MOLY00591799] [MT6880][Colgin][New feature] Add New ICDs CM_IP_DL_STATs/CM_IP_UL_STATs
*
* .
*
* 09 06 2019 chin-wei.hsu
* [MOLY00437199] [MT6297][ICD][EM] fix wrong values of PDCP throughput and IP throughput
*
* [ICD][EM] UT.
*
* 09 18 2018 tc.chang
* [MOLY00345990] [VMOLY] Code sync.
*
* 09 14 2018 tc.chang
* [MOLY00345990] [VMOLY] Code sync
* Rollback first. Fix build error locally
*
* 06 15 2017 i-feng.chen
* [MOLY00257684] [MT6763][Bianco][N1][EM] No info in EL2 PDCP UL Tput/PDU size
* [TRUNK][EM]EPDCP UL Statistics
*
* 02 22 2017 timothy.yao
* [MOLY00231561] [6293][EL2][UPCM] log refine & code flow refine
* UPCM log refine.
*
* 09 26 2016 cammie.yang
* [MOLY00195563] [6293][EL2][UPCM][RATDM][EPDCP] Initial feature integrations
* [TRUNK] UPCM/RATDM/EPDCP feature integrations from PS.DEV
*
* 07 17 2013 moja.hsu
* [MOLY00030111] Add UPCM Tx/Rx statistics query API
* .
****************************************************************************/
/*
* =====================================================================================
*
* Filename: upcm_stats.h
*
* Description: Statistics of UPCM
*
* Created: 2013/05/24 03:39:10
* Author: mtk01641 (moja)
* =====================================================================================
*/
#ifndef UPCM_STATS_INC
#define UPCM_STATS_INC
#include <upcm_enum.h>
typedef struct
{
/* For Default EPSB */
kal_uint32 dft_rcv_ul_burst_v4v6;
kal_uint32 dft_rcv_ul_burst_v4;
kal_uint32 dft_rcv_ul_burst_v6;
kal_uint32 dft_ul_no_match_tft_drop;
kal_uint32 dft_ul_suspend_queue;
kal_uint32 ul_bytes;
kal_uint32 ul_gpds; // ul_pkts
kal_uint32 ul_bytes_pri;
kal_uint32 ul_gpds_pri; //ul_pkts_pri
kal_uint16 ul_max;
kal_uint16 dl_max;
kal_uint32 dl_bytes;
kal_uint32 dl_nums;
kal_uint32 rollback_ul_times;
kal_uint32 rcv_by_ebi_times;
kal_uint32 pkt_filter_add;
kal_uint32 pkt_filter_mod;
kal_uint32 pkt_filter_del;
kal_uint32 pkt_filter_delall;
kal_uint32 pkt_filter_del_bearer;
}upcm_epsb_stats_t;
typedef struct
{
kal_uint32 loopback_sdus;
kal_uint32 buffered_sdus;
kal_uint32 delay_sdus;
}upcm_test_mode_stats_t;
typedef struct
{
#ifdef __FIVEG_NAS__
// TODO: 5G part. 9XX bearers make structure size > 2^16
upcm_epsb_stats_t epsb[MAX_234G_EPSB_NUM];
/* The backup for previous activation */
upcm_epsb_stats_t pre_epsb[MAX_234G_EPSB_NUM];
upcm_epsb_stats_t nr_psi[NUM_5G_PDU_SESSION];
/* The backup for previous activation */
upcm_epsb_stats_t pre_nr_psi[NUM_5G_PDU_SESSION];
#else
upcm_epsb_stats_t epsb[MAX_EPSB_NUM];
/* The backup for previous activation */
upcm_epsb_stats_t pre_epsb[MAX_EPSB_NUM];
#endif
upcm_test_mode_stats_t test_mode;
kal_uint32 suspend_total;
kal_uint32 resume_total;
kal_uint32 actv_testmode;
kal_uint32 deactv_testmode;
kal_uint32 close_testloop;
kal_uint32 open_testloop;
}upcm_stats_t;
/*
* This pointer will be inited in upcm_init
*/
extern upcm_stats_t *p_upcm_stats_g;
#endif /* ----- #ifndef UPCM_STATS_INC ----- */