[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/general/upcm_stats.h b/mcu/protocol/interface/general/upcm_stats.h
new file mode 100644
index 0000000..e2a02df
--- /dev/null
+++ b/mcu/protocol/interface/general/upcm_stats.h
@@ -0,0 +1,176 @@
+/*****************************************************************************
+* 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 ----- */
+