blob: c57f829ed3da964c8ba9887714e2f4b5333e6c8f [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) 2005
*
* 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:
* ---------
* kal_user_mem.h
*
* Project:
* --------
*
*
* Description:
* ------------
* This file provides the control buffer size and numbers configuration.
*
* Author:
* -------
*
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/*********************************************************************
(C) _____ (year of first publication) Sasken communication
Technologies Limited, All rights reserved.
* This file provides a template for .c files. This space
* should be used to describe the file contents
* Component-specific prefix : xxxx
*********************************************************************/
#ifndef _KAL_USER_MEM_H
#define _KAL_USER_MEM_H
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "stack_buff_pool.h"
/**************************Customer config interface Begin********************/
/*Customer interface I:
*
* Discription:
*
* Customer can adjust system memory size here.
* This value will be added into total size of system memory.
* Define a negative value to shrink(not recommended), positive value to increase.
*
* Tips:
* Customer may increase it if runs out of system memory(E.g
* Third party application use heavily KAL API like evshed_create, kal_create_sem,
* kal_create_eventgroup that consume system memory more than predefined value).
* Customer may also shrink this if want to save some RAM size. However, this
* is not recommended.
*
* See also:
* tools\sys_mem_gen.pl
*
*
* Build command :
* make c,r custom
*
*Build command on Modis:
* make clean_modis custom
* && make remake_modis custom
*/
#define CUSTOM_CFG_GLOBAL_MEM_SIZE_IN_BYTES 0
/*Customer interface II:
*
* Discription:
* Customer can adjust event pool number for event scheduler
* This value is the actual event pool number
*
* Tips:
* It's rare for customer to adjust this value. However, in case
* of runs out of event when using event scheduler, this is the
* place for customer to adjust the event number. It's not recommended
* to shrink this value.
*
* Build command:
* make sysgen && make c,r config custom
*
* Build command on Modis:
* make sys_mem_gen_modis && make clean_modis config custom
* && make remake_modis config custom
* */
/*Gen97 originally 120, because IMS feature move to MD from AP, need another 400 for ims_stack task, so become 520*/
/*ism feature owner York.Li, Nick Wang, Mika Leinonen*/
#if defined(__CS_SERVICE__) && defined(__PS_SERVICE__)
#define KAL_MIN_EVSHED_BUFF_NUM 520
#elif defined(__CS_SERVICE__)
#define KAL_MIN_EVSHED_BUFF_NUM 40
#else
#define KAL_MIN_EVSHED_BUFF_NUM 40
#endif /* defined(__CS_SERVICE__) && defined(__PS_SERVICE__) */
/*Customer interface III:
*
* Discription:
* Customer can adjust control buffer size here.
* This value will be added into total number of control buffer.
* Define a negative value to decrease (not recommended ), positive
* value to increase.
*
* Tips:
* The control buffer number is well-tuned. It's not recommended to
* shrink this value.
*
* Build command:
* make sysgen && make c,r config custom
*
* Build command on Modis:
* make sys_mem_gen_modis && make clean_modis config custom
* && make remake_modis config custom
*
* */
typedef enum {
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE32 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE64 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE128 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE256 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE512 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE1024 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE2048 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE4096 = 0,
#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE8192 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE16384 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE32768 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE65536 = 0,
NUM_CUSTOM_CTRL_BUFF_POOL_SIZE100000 = 0,
#endif
} custom_ctrl_num_buff_pool_size;
/**************************Customer config interface END**********************/
/*
* NOTICE: The following are pre-defined configration. Cutomer should not
* modify here.
*
* */
/*************************KAL private memory config stuff*******************/
#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
#define RPS_CREATED_CTRL_BUFF_POOLS 13
#else /* __UMTS_RAT__ || __LTE_RAT__ */
#define RPS_CREATED_CTRL_BUFF_POOLS 8
#endif /* __UMTS_RAT__ || __LTE_RAT__ */
/* Buffer thresholds expressed in percentage */
#define FLC_CTRL_BUFF_UPPER_THRSHLD1 (90)
#define FLC_CTRL_BUFF_UPPER_THRSHLD2 (95)
/*************************************************************************
* Type Definitions
*************************************************************************/
/* For performance reason, general buffer pool is allocated for 2^n size */
typedef enum {
CTRL_BUFF_POOL_SIZE32 = 32,
CTRL_BUFF_POOL_SIZE64 = 64,
CTRL_BUFF_POOL_SIZE128 = 128,
CTRL_BUFF_POOL_SIZE256 = 256,
CTRL_BUFF_POOL_SIZE512 = 512,
CTRL_BUFF_POOL_SIZE1024 = 1024,
CTRL_BUFF_POOL_SIZE2048 = 2048,
CTRL_BUFF_POOL_SIZE4096 = 4096,
#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
CTRL_BUFF_POOL_SIZE8192 = 8192,
CTRL_BUFF_POOL_SIZE16384 = 16384,
CTRL_BUFF_POOL_SIZE32768 = 32768,
CTRL_BUFF_POOL_SIZE65536 = 65536,
CTRL_BUFF_POOL_SIZE100000 = 100000,
CTRL_BUFF_POOL_MAX_BUFF_SIZE = CTRL_BUFF_POOL_SIZE100000
#else /* __UMTS_RAT__ || __LTE_RAT__ */
CTRL_BUFF_POOL_MAX_BUFF_SIZE = CTRL_BUFF_POOL_SIZE4096
#endif /* __UMTS_RAT__ || __LTE_RAT__ */
} ctrl_buff_pool_size;
#if defined(_SIMULATION) && !defined(__MASE__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 20,
NUM_CTRL_BUFF_POOL_SIZE64 = 10,
NUM_CTRL_BUFF_POOL_SIZE128 = 10,
NUM_CTRL_BUFF_POOL_SIZE256 = 10,
NUM_CTRL_BUFF_POOL_SIZE512 = 10,
NUM_CTRL_BUFF_POOL_SIZE1024 = 10,
#if defined(__ESL_COSIM_LTE__)
NUM_CTRL_BUFF_POOL_SIZE2048 = 40, //+32
NUM_CTRL_BUFF_POOL_SIZE4096 = 19, //+16
NUM_CTRL_BUFF_POOL_SIZE8192 = 10, //+8
NUM_CTRL_BUFF_POOL_SIZE16384 = 6, //+4
NUM_CTRL_BUFF_POOL_SIZE32768 = 3, //+2
NUM_CTRL_BUFF_POOL_SIZE65536 = 2, //+1
NUM_CTRL_BUFF_POOL_SIZE100000 = 1 //+1
#else
NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
NUM_CTRL_BUFF_POOL_SIZE4096 = 3,
NUM_CTRL_BUFF_POOL_SIZE8192 = 2,
NUM_CTRL_BUFF_POOL_SIZE16384 = 2,
NUM_CTRL_BUFF_POOL_SIZE32768 = 1,
NUM_CTRL_BUFF_POOL_SIZE65536 = 1,
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#endif
} ctrl_num_buff_pool_size;
#elif defined(__KTEST__) && !defined(KTEST_STATIC_TEST)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 20,
NUM_CTRL_BUFF_POOL_SIZE64 = 10,
NUM_CTRL_BUFF_POOL_SIZE128 = 10,
NUM_CTRL_BUFF_POOL_SIZE256 = 10,
NUM_CTRL_BUFF_POOL_SIZE512 = 10,
NUM_CTRL_BUFF_POOL_SIZE1024 = 10,
NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
NUM_CTRL_BUFF_POOL_SIZE4096 = 5,
NUM_CTRL_BUFF_POOL_SIZE8192 = 5,
NUM_CTRL_BUFF_POOL_SIZE16384 = 5,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
} ctrl_num_buff_pool_size;
#elif defined(__GEMINI_WCDMA__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 930,
#if (defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))
NUM_CTRL_BUFF_POOL_SIZE64 = 600,
#else /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
NUM_CTRL_BUFF_POOL_SIZE64 = 460,
#endif /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
NUM_CTRL_BUFF_POOL_SIZE128 = 440,
NUM_CTRL_BUFF_POOL_SIZE256 = 350,
#if (defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))
NUM_CTRL_BUFF_POOL_SIZE512 = 110,
#else /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
NUM_CTRL_BUFF_POOL_SIZE512 = 100,
#endif /*(defined(GEMINI_PLUS_WCDMA) && (GEMINI_PLUS_WCDMA >= 3))*/
NUM_CTRL_BUFF_POOL_SIZE1024 = 65,
NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
NUM_CTRL_BUFF_POOL_SIZE4096 = 40,
NUM_CTRL_BUFF_POOL_SIZE8192 = 16,
NUM_CTRL_BUFF_POOL_SIZE16384 = 11,
NUM_CTRL_BUFF_POOL_SIZE32768 = 11,
#if (GEMINI_PLUS >= 3)
NUM_CTRL_BUFF_POOL_SIZE65536 = 7,
#else
NUM_CTRL_BUFF_POOL_SIZE65536 = 10,
#endif
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#elif defined(__LTE_RAT__) && defined(__UMTS_RAT__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 930,
NUM_CTRL_BUFF_POOL_SIZE64 = 450,
NUM_CTRL_BUFF_POOL_SIZE128 = 300,
NUM_CTRL_BUFF_POOL_SIZE256 = 350,
NUM_CTRL_BUFF_POOL_SIZE512 = 85,
NUM_CTRL_BUFF_POOL_SIZE1024 = 65,
NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
NUM_CTRL_BUFF_POOL_SIZE8192 = 13,
NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
NUM_CTRL_BUFF_POOL_SIZE32768 = 6,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#elif defined(__LTE_RAT__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 635,
NUM_CTRL_BUFF_POOL_SIZE64 = 290,
NUM_CTRL_BUFF_POOL_SIZE128 = 120,
NUM_CTRL_BUFF_POOL_SIZE256 = 160,
NUM_CTRL_BUFF_POOL_SIZE512 = 36,
NUM_CTRL_BUFF_POOL_SIZE1024 = 40,
NUM_CTRL_BUFF_POOL_SIZE2048 = 50,
NUM_CTRL_BUFF_POOL_SIZE4096 = 10,
NUM_CTRL_BUFF_POOL_SIZE8192 = 10,
NUM_CTRL_BUFF_POOL_SIZE16384 = 7,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5 // for MoDIS Only - 3G ASN.1 CODEC usage
#endif
} ctrl_num_buff_pool_size;
#elif defined(__UMTS_RAT__)
#if defined(__UMTS_TDD128_MODE__)
#if defined(__UMTS_R5__) /* __UMTS_R5__ */
#if defined(__GEMINI__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 565,
NUM_CTRL_BUFF_POOL_SIZE64 = 281,
NUM_CTRL_BUFF_POOL_SIZE128 = 197,
NUM_CTRL_BUFF_POOL_SIZE256 = 159,
NUM_CTRL_BUFF_POOL_SIZE512 = 98,
NUM_CTRL_BUFF_POOL_SIZE1024 = 40,
NUM_CTRL_BUFF_POOL_SIZE2048 = 25,
NUM_CTRL_BUFF_POOL_SIZE4096 = 16,
NUM_CTRL_BUFF_POOL_SIZE8192 = 11,
NUM_CTRL_BUFF_POOL_SIZE16384 = 9,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#else
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 448,
NUM_CTRL_BUFF_POOL_SIZE64 = 277,
NUM_CTRL_BUFF_POOL_SIZE128 = 197,
NUM_CTRL_BUFF_POOL_SIZE256 = 159,
NUM_CTRL_BUFF_POOL_SIZE512 = 98,
NUM_CTRL_BUFF_POOL_SIZE1024 = 38,
NUM_CTRL_BUFF_POOL_SIZE2048 = 22,
NUM_CTRL_BUFF_POOL_SIZE4096 = 16,
NUM_CTRL_BUFF_POOL_SIZE8192 = 11,
NUM_CTRL_BUFF_POOL_SIZE16384 = 9,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#endif
#endif /* __UMTS_R5__ */
#else /* __UMTS_TDD128_MODE__ */
#if defined(__UMTS_R7__) /*__UMTS_R7__*/
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 920,
NUM_CTRL_BUFF_POOL_SIZE64 = 390,
NUM_CTRL_BUFF_POOL_SIZE128 = 230,
NUM_CTRL_BUFF_POOL_SIZE256 = 170,
NUM_CTRL_BUFF_POOL_SIZE512 = 85,
NUM_CTRL_BUFF_POOL_SIZE1024 = 55,
NUM_CTRL_BUFF_POOL_SIZE2048 = 30,
NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
NUM_CTRL_BUFF_POOL_SIZE8192 = 12,
NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
NUM_CTRL_BUFF_POOL_SIZE32768 = 6,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#elif defined(__UMTS_R5__) /* __UMTS_R5__ */
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 831,
NUM_CTRL_BUFF_POOL_SIZE64 = 285,
NUM_CTRL_BUFF_POOL_SIZE128 = 218,
#if defined(__GEMINI__)
NUM_CTRL_BUFF_POOL_SIZE256 = 185,
#else
NUM_CTRL_BUFF_POOL_SIZE256 = 155,
#endif /* __GEMINI__ */
NUM_CTRL_BUFF_POOL_SIZE512 = 75,
NUM_CTRL_BUFF_POOL_SIZE1024 = 43,
NUM_CTRL_BUFF_POOL_SIZE2048 = 26,
NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
NUM_CTRL_BUFF_POOL_SIZE8192 = 12,
NUM_CTRL_BUFF_POOL_SIZE16384 = 10,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#else /* __UMTS_R5__ */
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 763,
NUM_CTRL_BUFF_POOL_SIZE64 = 339,
NUM_CTRL_BUFF_POOL_SIZE128 = 198,
NUM_CTRL_BUFF_POOL_SIZE256 = 145,
NUM_CTRL_BUFF_POOL_SIZE512 = 60,
NUM_CTRL_BUFF_POOL_SIZE1024 = 52,
NUM_CTRL_BUFF_POOL_SIZE2048 = 22,
NUM_CTRL_BUFF_POOL_SIZE4096 = 15,
NUM_CTRL_BUFF_POOL_SIZE8192 = 15,
NUM_CTRL_BUFF_POOL_SIZE16384 = 6,
NUM_CTRL_BUFF_POOL_SIZE32768 = 5,
NUM_CTRL_BUFF_POOL_SIZE65536 = 5,
#if defined(__MTK_TARGET__)
NUM_CTRL_BUFF_POOL_SIZE100000 = 0
#else
NUM_CTRL_BUFF_POOL_SIZE100000 = 5
#endif
} ctrl_num_buff_pool_size;
#endif /* __UMTS_R5__ */
#endif /* __UMTS_TDD128_MODE__ */
#elif defined(__CS_SERVICE__) && defined(__PS_SERVICE__) /* __UMTS_RAT__ */
/* GPRS Class B Solution */
#if (GEMINI_PLUS > 2)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 280,
NUM_CTRL_BUFF_POOL_SIZE64 = 76,
NUM_CTRL_BUFF_POOL_SIZE128 = 61,
NUM_CTRL_BUFF_POOL_SIZE256 = 46,
NUM_CTRL_BUFF_POOL_SIZE512 = 41,
NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
NUM_CTRL_BUFF_POOL_SIZE2048 = 15,
NUM_CTRL_BUFF_POOL_SIZE4096 = 1
} ctrl_num_buff_pool_size;
#elif defined(__GEMINI__)
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 265,
NUM_CTRL_BUFF_POOL_SIZE64 = 76,
NUM_CTRL_BUFF_POOL_SIZE128 = 45,
NUM_CTRL_BUFF_POOL_SIZE256 = 44,
NUM_CTRL_BUFF_POOL_SIZE512 = 21,
NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
NUM_CTRL_BUFF_POOL_SIZE2048 = 11,
NUM_CTRL_BUFF_POOL_SIZE4096 = 5
} ctrl_num_buff_pool_size;
#else /* defined(__GEMINI__) */
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 149,
NUM_CTRL_BUFF_POOL_SIZE64 = 72,
NUM_CTRL_BUFF_POOL_SIZE128 = 45,
NUM_CTRL_BUFF_POOL_SIZE256 = 44,
NUM_CTRL_BUFF_POOL_SIZE512 = 21,
NUM_CTRL_BUFF_POOL_SIZE1024 = 16,
NUM_CTRL_BUFF_POOL_SIZE2048 = 8,
NUM_CTRL_BUFF_POOL_SIZE4096 = 1
} ctrl_num_buff_pool_size;
#endif /* defined(__GEMINI__) */
#elif defined(__CS_SERVICE__) /* __UMTS_RAT__ */
#if defined(IC_BURNIN_TEST)
/* Reduce the No. of buffer to reduce memory consumption. */
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 10,
NUM_CTRL_BUFF_POOL_SIZE64 = 5,
NUM_CTRL_BUFF_POOL_SIZE128 = 5,
NUM_CTRL_BUFF_POOL_SIZE256 = 5,
NUM_CTRL_BUFF_POOL_SIZE512 = 2,
NUM_CTRL_BUFF_POOL_SIZE1024 = 5,
NUM_CTRL_BUFF_POOL_SIZE2048 = 3,
NUM_CTRL_BUFF_POOL_SIZE4096 = 1
} ctrl_num_buff_pool_size;
#else /* LOW_COST_SUPPORT (default configuration for BASIC, UDVT load) */
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 63,
NUM_CTRL_BUFF_POOL_SIZE64 = 20,
NUM_CTRL_BUFF_POOL_SIZE128 = 30,
NUM_CTRL_BUFF_POOL_SIZE256 = 17,
NUM_CTRL_BUFF_POOL_SIZE512 = 8,
NUM_CTRL_BUFF_POOL_SIZE1024 = 8,
NUM_CTRL_BUFF_POOL_SIZE2048 = 4,
NUM_CTRL_BUFF_POOL_SIZE4096 = 0
} ctrl_num_buff_pool_size;
#endif /* LOW_COST_SUPPORT */
#else
typedef enum {
NUM_CTRL_BUFF_POOL_SIZE32 = 63,
NUM_CTRL_BUFF_POOL_SIZE64 = 20,
NUM_CTRL_BUFF_POOL_SIZE128 = 30,
NUM_CTRL_BUFF_POOL_SIZE256 = 17,
NUM_CTRL_BUFF_POOL_SIZE512 = 8,
NUM_CTRL_BUFF_POOL_SIZE1024 = 8,
NUM_CTRL_BUFF_POOL_SIZE2048 = 4,
NUM_CTRL_BUFF_POOL_SIZE4096 = 0
} ctrl_num_buff_pool_size;
#endif /* __UMTS_RAT__ */
/*************************************************************************
* Exported Global Variables
*************************************************************************/
extern buff_pool_info_struct ctrl_buff_pool_info_g[RPS_CREATED_CTRL_BUFF_POOLS];
/*************************************************************************
* Exported Function Prototypes
*************************************************************************/
extern void config_ctrl_buff_info(void);
#endif /*_KAL_USER_MEM_H*/