yu.dong | c33b307 | 2024-08-21 23:14:49 -0700 | [diff] [blame] | 1 | /***************************************************************************** |
| 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) 2016 |
| 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 | * This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc. |
| 38 | * |
| 39 | * Any unauthorized use inconsistent with the terms of such license is strictly prohibited. |
| 40 | * |
| 41 | * Copyright (c) 2010 VIA Telecom, Inc. All rights reserved. |
| 42 | * |
| 43 | *************************************************************/ |
| 44 | #ifndef _CSS_DEFS_H_ |
| 45 | |
| 46 | #define _CSS_DEFS_H_ 1 |
| 47 | |
| 48 | #include "uimapi.h" |
| 49 | /***************************************************************************** |
| 50 | * Local Definitions and Marcos |
| 51 | ****************************************************************************/ |
| 52 | #define CSS_SWAP(A, B, TMP) {(TMP) = (A); (A) = (B); (B) = (TMP);} |
| 53 | |
| 54 | /*#define CSS_GENERIC_WARNING_TRACE(WARNING_TYPE, WARNING_VAL) \ |
| 55 | dhl_trace(TRACE_WARNING, DHL_USER_FLAG_NONE, DHL_CP_CSS_WARNING_TRACE_ID, WARNING_TYPE, WARNING_VAL, __FUNCTION__, __LINE__)*/ |
| 56 | |
| 57 | /*#define CSS_INVALID_GMSS_DEST_MOD_TRACE() \ |
| 58 | dhl_trace(TRACE_WARNING, DHL_USER_FLAG_NONE, DHL_CP_CSS_WARNING_TRACE_ID, CSS_ERR_INVALID_GMSS_TASK, ValIratGetSimAccessIndex, __FUNCTION__, __LINE__)*/ |
| 59 | |
| 60 | #define RTT_ASSOCIATED_SCAN_DISABLED |
| 61 | #define RTT_AVAIL_SYS_SCAN_DISABLED |
| 62 | #define DO_SILENT_RETRY_DISABLED |
| 63 | #define DO_EMERGENCY_SCAN_DISABLED |
| 64 | #define DO_OTASP_SCAN_DISABLED |
| 65 | #define DO_AVAIL_SYS_SCAN_DISABLED |
| 66 | |
| 67 | #define INTERN_SIM_INDEX_OFFSET 0xA0 |
| 68 | |
| 69 | #define MAX_ERI_ENTRIES 30 |
| 70 | #define CSS_MAX_SIM_NUM MAX_SUPPORT_SIM_TOTAL |
| 71 | |
| 72 | /* maximum size based on NAM (non-PRL) available number of channels */ |
| 73 | #define MAX_PCS_CHANS 48 /* all PCS blocks have maximum = 48 */ |
| 74 | #define MAX_CELL_CDMA_CHANS 4 /* cell CDMA from NAM PRI A/B, SEC A/B = 4 */ |
| 75 | #define MAX_CELL_CUSTOM_CDMA_CHANS 32 /* cell CDMA custom channels maximum = 32 */ |
| 76 | #define MAX_MRU_CHANS MAX_MRU_RECORDS |
| 77 | #ifdef MTK_DEV_C2K_IRAT |
| 78 | #define MAX_SIB8_CHANS 100 |
| 79 | #define MAX_PS_REG_RAL_RECORDS 10 |
| 80 | #endif |
| 81 | #ifdef MTK_CBP |
| 82 | #define MAX_1X_MAX_ACCESS_FAIL_AVOID_CHAN_NUM 4 |
| 83 | #define MAX_DO_MAX_ACCESS_FAIL_AVOID_CHAN_NUM 4 |
| 84 | #define ALL_ENTRIES_IN_AVOID_LIST 0xFE |
| 85 | #define INVALID_INDEX_IN_AVOID_LIST 0xFF |
| 86 | #define MAX_1X_MAX_REG_REJ_AVOID_CHAN_NUM 5 |
| 87 | #define MAX_1X_MAX_RELEASE_REJ_AVOID_CHAN_NUM 5 |
| 88 | #endif |
| 89 | |
| 90 | #define MAX_SYSTEM_LIST_SIZE (90) |
| 91 | #define MAX_EXT_SYSTEM_LIST_SIZE (90) |
| 92 | |
| 93 | #define MAX_SMALL_SYSTEM_LIST_SIZE 20 |
| 94 | #define MAX_SMALL_EXT_SYSTEM_LIST_SIZE 20 |
| 95 | |
| 96 | #define ACQUISITION_INDEX_NOT_KNOWN 512 |
| 97 | |
| 98 | #define ACQUISITION_INDEX_NOT_KNOWN_DEFAULT_BAND 513 |
| 99 | |
| 100 | /* maximum channels & blocks in PRL acq records */ |
| 101 | #ifdef MTK_CBP |
| 102 | #define MAX_CUSTOM_CHANS 128 /* AR_GENERIC_ACQ_REC_HRPD with 121 band/channel combinations in Sprint card */ |
| 103 | #else |
| 104 | #define MAX_CUSTOM_CHANS 31 |
| 105 | #endif |
| 106 | |
| 107 | #define BC0_BLOCK_CHANNEL_INCREMENT 0 /* Use PriA & PriB in the Nam */ |
| 108 | #define BC1_BLOCK_CHANNEL_INCREMENT 25 |
| 109 | #define BC2_BLOCK_CHANNEL_INCREMENT 0 /* Discrete channels */ |
| 110 | #define BC3_BLOCK_CHANNEL_INCREMENT 0 /* Discrete channels */ |
| 111 | #define BC4_BLOCK_CHANNEL_INCREMENT 25 |
| 112 | #define BC5_BLOCK_CHANNEL_INCREMENT 50 |
| 113 | #define BC6_BLOCK_CHANNEL_INCREMENT 25 |
| 114 | #define BC7_BLOCK_CHANNEL_INCREMENT 25 |
| 115 | #define BC8_BLOCK_CHANNEL_INCREMENT 25 |
| 116 | #define BC9_BLOCK_CHANNEL_INCREMENT 25 |
| 117 | #define BC10_BLOCK_CHANNEL_INCREMENT 50 |
| 118 | #define BC11_BLOCK_CHANNEL_INCREMENT 50 |
| 119 | #define BC12_BLOCK_CHANNEL_INCREMENT 25 |
| 120 | #define BC13_BLOCK_CHANNEL_INCREMENT 25 |
| 121 | #define BC14_BLOCK_CHANNEL_INCREMENT 25 |
| 122 | #define BC15_BLOCK_CHANNEL_INCREMENT 25 |
| 123 | #define BC16_BLOCK_CHANNEL_INCREMENT 25 |
| 124 | #define BC17_BLOCK_CHANNEL_INCREMENT 0 |
| 125 | #define BC18_BLOCK_CHANNEL_INCREMENT 25 |
| 126 | #define BC19_BLOCK_CHANNEL_INCREMENT 25 |
| 127 | #define BC20_BLOCK_CHANNEL_INCREMENT 25 |
| 128 | |
| 129 | #define CSS_1X_EMERGENCY_CALLBACK_MODE_TIME 300000L |
| 130 | |
| 131 | /* E-PRL Defines */ |
| 132 | #define OPERATIONAL_SID_0 15904 |
| 133 | #define OPERATIONAL_SID_1 15905 |
| 134 | |
| 135 | /* Maximum time to wait for ESPM to validate System Selection */ |
| 136 | #define CSS_1X_EPRL_ESPM_WAIT_TIME 12000L |
| 137 | |
| 138 | /* Arbitrary maximum number of times SelectChannel() can be called recursively before |
| 139 | * SVSM decides its in an infinite loop and throws MonFault |
| 140 | * CSS_ERR_SVSM_SELECT_CHANNEL_TOO_MANY_RECURSIONS */ |
| 141 | #define CSS_1X_SVSM_SELECT_CHANNEL_RECURSION_LIMIT 15 |
| 142 | |
| 143 | #define MAX_OOSA_PHASES 10 |
| 144 | #define CSS_OOSA_MAX_SLEEP_SECS 510 |
| 145 | |
| 146 | /* Scan duration is specified in seconds, stored in units of milliseconds */ |
| 147 | #define CP_SELECTION_TIME_SCALE 1000 |
| 148 | |
| 149 | /***************************************************************************** |
| 150 | * Local Enums |
| 151 | ****************************************************************************/ |
| 152 | |
| 153 | typedef enum |
| 154 | { |
| 155 | CSS_UIM_PRL, |
| 156 | CSS_UIM_EPRL, |
| 157 | CSS_NV_PRL, |
| 158 | CSS_PRL_SRC_INVALID |
| 159 | } CssPrlSourceType; |
| 160 | |
| 161 | typedef enum |
| 162 | { |
| 163 | /* VR_ACCEPTED */ |
| 164 | MOST_PREF_SYS_IN_PRL, |
| 165 | MOST_PREF_SYS_IN_PRL_WITH_ASSO, |
| 166 | HOME_SYS_IN_NAM_NOT_IN_PRL, |
| 167 | HOME_SYS_IN_NAM_NO_PRL, |
| 168 | DFLT_PREF_SYS_FOR_1X95_VER_PRL, |
| 169 | DFLT_PREF_SYS_NOT_IN_PRL_WITH_ASSO, |
| 170 | MRU_SYS_FOR_1X95_VER_PRL, |
| 171 | DFLT_PREF_SYS, |
| 172 | DFLT_PREF_SYS_NO_PRL, |
| 173 | |
| 174 | /* VR_KEEP_SCAN */ |
| 175 | PREF_SYS_IN_PRL, |
| 176 | PREF_SYS_IN_PRL_WITH_ASSO, |
| 177 | |
| 178 | /* VR_NEGATIVE */ |
| 179 | NEG_SYS_IN_PRL, |
| 180 | NEG_SYS_IN_PRL_WITH_ASSO, |
| 181 | NEG_SYS_IN_NAM_NOT_IN_PRL, |
| 182 | NEG_SYS_IN_NAM_NO_PRL, |
| 183 | PRI_LOCK_SYS, |
| 184 | SYS_NOT_IN_PRL_AND_NAM_AND_DFLT_BAND, |
| 185 | SYS_NOT_IN_MRU_AND_DFLT_BAND_FOR_1X95_VER_PRL, |
| 186 | NEG_SYS_FOR_1X95_VER_PRL, |
| 187 | |
| 188 | /* VR_NON_SYS_TABLE */ |
| 189 | DFLT_BAND_CHANNEL_SYS, |
| 190 | NOT_DFLT_BAND_CHANNEL_SYS, |
| 191 | NON_IN_SYS_TABLE, |
| 192 | NOT_IN_DFLT_PREF_SYS_NO_PRL, |
| 193 | NOT_IN_DFLT_PREF_AND_PRL_WITH_ASSO, |
| 194 | |
| 195 | /* VR_UNKNOWN */ |
| 196 | INTENATIONAL_ROAM_SYS_BARRED, |
| 197 | DOMESTIC_ROAM_SYS_BARRED, |
| 198 | ONLY_HOME_SYS_ALLOWED, |
| 199 | |
| 200 | /* VR_EXTERNEL_ACCEPTED */ |
| 201 | CHANNEL_LOCK_MODE, |
| 202 | HLP_IS_WAITING_FOR_SVC_MODE, |
| 203 | |
| 204 | /* VR_EXTERNEL_REJECTED */ |
| 205 | NOT_SUITABLE_SYS, |
| 206 | PILOT_STRENGTH_UNQUALIFIED_SYS, |
| 207 | MANUAL_SYS_AVOIDANCE, |
| 208 | MAPE_HOME_SYS_AVOIDANCE, |
| 209 | REGIST_REJECT_SYS_AVOIDANCE, |
| 210 | RELEASE_REJECT_SYS_AVOIDANCE, |
| 211 | ACCESS_MAX_PROBES_SYS_AVOIDANCE, |
| 212 | REDIRECTION_SYS_AVOIDANCE, |
| 213 | IRAT_PRIO_UNQUALIFIED_SYS |
| 214 | } SELECT_VALIDATE_STATUS; |
| 215 | |
| 216 | enum cpsm_1x_events |
| 217 | { |
| 218 | CPSM_1X_SELECT_REQ_EV, |
| 219 | CPSM_1X_VALIDATE_REQ_EV, |
| 220 | CPSM_1X_EXHAUST_SCANLIST_EV, |
| 221 | CPSM_1X_OOSA_WAKEUP_EV, |
| 222 | CPSM_1X_CONN_STATUS_IND_EV, |
| 223 | CPSM_1X_MPSS_TIMEOUT_EV, |
| 224 | CPSM_1X_RETRIEVE_RES_EV, |
| 225 | CPSM_1X_CP_DISABLED_EV, |
| 226 | CPSM_1X_NUM_EVENTS, |
| 227 | CPSM_1X_NO_EV |
| 228 | }; |
| 229 | typedef enum cpsm_1x_events CPSM_1X_EVENTS; |
| 230 | |
| 231 | enum cpsm_do_events |
| 232 | { |
| 233 | CPSM_DO_SELECT_REQ_EV, |
| 234 | CPSM_DO_VALIDATE_REQ_EV, |
| 235 | CPSM_DO_EXHAUST_SCANLIST_EV, |
| 236 | CPSM_DO_OOSA_WAKEUP_EV, |
| 237 | CPSM_DO_CONN_STATUS_IND_EV, |
| 238 | CPSM_DO_MPSS_TIMEOUT_EV, |
| 239 | CPSM_DO_RETRIEVE_RES_EV, |
| 240 | CPSM_DO_ASSO_SYS_SCAN_EV, /* RESCAN because the collocation between 1X and DO is broken */ |
| 241 | CPSM_DO_DISABLE_EV, |
| 242 | CPSM_DO_NUM_EVENTS, |
| 243 | CPSM_DO_NO_EV |
| 244 | }; |
| 245 | typedef enum cpsm_do_events CPSM_DO_EVENTS; |
| 246 | |
| 247 | typedef enum |
| 248 | { |
| 249 | PRL_MRU_SCAN_1X_ST, |
| 250 | DFLT_PREF_CHAN_SCAN_1X_ST, |
| 251 | ACQD_NON_PRL_SYS_RESCAN_1X_ST, |
| 252 | ACQD_PRL_SYS_RESCAN_1X_ST, |
| 253 | SR_SCAN_1X_ST, |
| 254 | LAST_REG_SYS_SCAN_1X_ST, |
| 255 | GEO_SCAN_1X_ST, |
| 256 | MPSS_1X_ST, |
| 257 | AVAIL_SYS_SCAN_1X_ST, /* NOT USED */ |
| 258 | EMGER_SCAN_1X_ST, |
| 259 | ASSOCIATED_DO_SCAN_1X_ST, /* NOT USED */ |
| 260 | OTASP_CALL_SCAN_1X_ST, |
| 261 | REDIRECT_SCAN_1X_ST, |
| 262 | RE_ACQUIRE_1X_ST, |
| 263 | CALL_RELEASE_1X_ST, |
| 264 | PLL_CHAN_TEST_1X_ST, |
| 265 | RESET_1X_ST, |
| 266 | #ifdef MTK_CBP |
| 267 | HVOLTE_SR_SIB8_SCAN_1X_ST, /* hVoLte silent redial on SIB8 */ |
| 268 | IDLE_GEO_SCAN_1X_ST, |
| 269 | #endif |
| 270 | NUM_1X_SVSM_STATES |
| 271 | } Svsm_1X_States; |
| 272 | |
| 273 | typedef enum { |
| 274 | PRL_MRU_SCAN_DO_ST, /*0*/ |
| 275 | DFLT_PREF_CHAN_SCAN_DO_ST, |
| 276 | ACQD_NON_PRL_SYS_RESCAN_DO_ST, |
| 277 | ACQD_PRL_SYS_RESCAN_DO_ST, |
| 278 | SR_SCAN_DO_ST, /* NOT_USED */ |
| 279 | LAST_REG_SYS_SCAN_DO_ST, /*5*/ |
| 280 | GEO_SCAN_DO_ST, |
| 281 | MPSS_DO_ST, |
| 282 | AVAIL_SYS_SCAN_DO_ST, /* NOT_USED */ |
| 283 | EMGER_SCAN_DO_ST, /* NOT_USED */ |
| 284 | ASSOCIATED_DO_SCAN_DO_ST, /*10*/ |
| 285 | OTASP_CALL_SCAN_DO_ST, /* NOT_USED */ |
| 286 | REDIRECT_SCAN_DO_ST, |
| 287 | RE_ACQUIRE_DO_ST, /*this DO SVSM is for acquiring last system one-time, now it's used for IRAT responding HLP case*/ |
| 288 | ASSOCIATED_SYSLOST_SCAN_DO_ST, |
| 289 | ASSOCIATED_MPSS_SCAN_DO_ST, |
| 290 | PRL_MRU_SYSLOST_SCAN_DO_ST, |
| 291 | GEO_SYSLOST_SCAN_DO_ST, |
| 292 | PLL_CHAN_TEST_DO_ST, |
| 293 | RAT_CHANS_SCAN_DO_ST, |
| 294 | RESET_DO_ST, /*20*/ |
| 295 | NUM_DO_SVSM_STATES |
| 296 | }Svsm_DO_States; |
| 297 | |
| 298 | enum rsvac_1x_states |
| 299 | { |
| 300 | RSVAC_1X_NULL_ST, |
| 301 | RSVAC_1X_WAITING_ST, |
| 302 | RSVAC_1X_PREEMPTING_ST, |
| 303 | RSVAC_1X_RUNNING_ST, |
| 304 | RSVAC_1X_NUM_STATES |
| 305 | }; |
| 306 | typedef enum rsvac_1x_states RSVAC_1X_STATES; |
| 307 | |
| 308 | enum rsvac_do_states |
| 309 | { |
| 310 | RSVAC_DO_NULL_ST, |
| 311 | RSVAC_DO_WAITING_ST, |
| 312 | RSVAC_DO_PREEMPTING_ST, |
| 313 | RSVAC_DO_RUNNING_ST, |
| 314 | RSVAC_DO_NUM_STATES |
| 315 | }; |
| 316 | typedef enum rsvac_do_states RSVAC_DO_STATES; |
| 317 | |
| 318 | typedef enum |
| 319 | { |
| 320 | SYS_1xRTT, |
| 321 | SYS_EVDO, |
| 322 | SYS_BOTH |
| 323 | }C2K_SystemT; |
| 324 | |
| 325 | enum cpsm_do_session_states |
| 326 | { |
| 327 | SESSION_CLOSED, |
| 328 | SESSION_SETUP, |
| 329 | SESSION_OPENED |
| 330 | }; |
| 331 | typedef enum cpsm_do_session_states CPSM_DO_SESSION_STATES; |
| 332 | |
| 333 | typedef enum |
| 334 | { |
| 335 | /* go through the whole scan list. Only channels with PN association only |
| 336 | will be scaned by the PN list. The other channels(Data association only, |
| 337 | or both association or Null association) will be scaned by the whole PN |
| 338 | space with small search window */ |
| 339 | DO_ASSO_PHASE_1 = 0, |
| 340 | /* only scan one phase of AssoList, no need to scan Phase 1& Phase 2*/ |
| 341 | DO_ASSO_PHASE_QUICK, |
| 342 | /* the 1st cycle found nothing, do a fallback Phase 2 scan cycle */ |
| 343 | DO_ASSO_PHASE_2, |
| 344 | /* only scan the MRU saved channel in AssoList*/ |
| 345 | DO_ASSO_PHASE_MRU, |
| 346 | /* stop current unfinised AssoScan, no need to go ahead*/ |
| 347 | DO_ASSO_PHASE_INVALID = 0xFF |
| 348 | } CssDoAssoPhaseE; |
| 349 | |
| 350 | typedef enum |
| 351 | { |
| 352 | _1X_REDIRECTION_AVOIDANCE_SYS = 1, |
| 353 | _1X_MAXACCESSFAIL_AVOIDANCE_SYS, |
| 354 | _1X_REGISTERREJECT_AVOIDANCE_SYS, |
| 355 | _1X_RELEASEREJECT_AVOIDANCE_SYS, |
| 356 | } Avoid_1X_SysT; |
| 357 | |
| 358 | typedef enum |
| 359 | { |
| 360 | DO_ABANDON_SYS, |
| 361 | DO_CONSECUTIVE_LOST_SYS, |
| 362 | DO_REDIRECTION_AVOIDANCE_SYS, |
| 363 | DO_ACM_PERSIS_TEST_FAIL_AVOIDANCE_SYS, |
| 364 | DO_MAXACCESSFAIL_AVOIDANCE_SYS, |
| 365 | DO_SESSIONEGO_TIMEOUT_AVOIDANCE_SYS, |
| 366 | DO_SESSIONEGO_FAIL_AVOIDANCE_SYS, |
| 367 | DO_CONNDENY_AUTH_AVOIDANCE_SYS, |
| 368 | DO_CONNDENY_GENERAL_AVOIDANCE_SYS, |
| 369 | DO_NOTCA_AVOIDANCE_SYS, |
| 370 | DO_TCHSETUP_FAIL_AVOIDANCE_SYS, |
| 371 | DO_AVOIDANCE_CHLIST |
| 372 | } Avoid_DO_SysT; |
| 373 | |
| 374 | #ifdef MTK_DEV_C2K_IRAT |
| 375 | typedef struct |
| 376 | { |
| 377 | CHAN_LIST_HDR |
| 378 | CHANNEL_DESC ChanList[CSS_LIST_SMALL_SIZE]; |
| 379 | kal_uint16 AcqIndex[CSS_LIST_SMALL_SIZE]; |
| 380 | kal_uint16 IratPri[CSS_LIST_SMALL_SIZE]; |
| 381 | } SmallRalChannelList, *pSmallRalChannelList; |
| 382 | #endif |
| 383 | |
| 384 | typedef struct |
| 385 | { |
| 386 | PACKED_PREFIX union{ |
| 387 | RSVAC_1X_STATES rsvac1xState; |
| 388 | RSVAC_DO_STATES rsvacDoState; |
| 389 | } PACKED_POSTFIX u; |
| 390 | kal_bool isCurrFullBand; |
| 391 | kal_bool isNewFreqScanRequest; |
| 392 | kal_uint8 currSysIndication; |
| 393 | kal_bool isWaitModifyResult; |
| 394 | }rsvacContext; |
| 395 | |
| 396 | #ifdef MTK_DEV_C2K_IRAT |
| 397 | typedef enum |
| 398 | { |
| 399 | NOT_KNOWN, |
| 400 | MOST_PREFERRED, |
| 401 | PREFERRED, |
| 402 | NEGATIVE, |
| 403 | NON_SYSTEM_TABLE, |
| 404 | SECOND_PREFERRED /* for LTE&DO interworing, second highest priority network in GEO */ |
| 405 | } SystemPreference; |
| 406 | #else |
| 407 | typedef enum |
| 408 | { |
| 409 | NOT_KNOWN, |
| 410 | MOST_PREFERRED, |
| 411 | PREFERRED, |
| 412 | NEGATIVE, |
| 413 | NON_SYSTEM_TABLE |
| 414 | } SystemPreference; |
| 415 | #endif /* MTK_DEV_C2K_IRAT */ |
| 416 | |
| 417 | typedef enum |
| 418 | { |
| 419 | RSSI_SCAN_PHASE_INACTIVE, /* no rssi scan filter */ |
| 420 | RSSI_SCAN_PHASE_SCANNING, /* rssi scan is running */ |
| 421 | RSSI_SCAN_PHASE_ABORTING, /* aborting rssi scan */ |
| 422 | RSSI_SCAN_PHASE_I, /* rssi scan filter phase 1*/ |
| 423 | RSSI_SCAN_PHASE_II, /* rssi scan filter phase 2*/ |
| 424 | RSSI_SCAN_PHASE_NOT_NEEDED /* rssi scan phase not needed*/ |
| 425 | } FilterByRssiScanStateT; |
| 426 | |
| 427 | typedef enum |
| 428 | { |
| 429 | VR_NON_SYS_TABLE, |
| 430 | VR_ACCEPTED, |
| 431 | VR_KEEP_SCAN, |
| 432 | VR_NEGATIVE, |
| 433 | VR_UNKNOWN, |
| 434 | VR_EXTERNEL_ACCEPTED, /* only for trace */ |
| 435 | VR_EXTERNEL_REJECTED, /* only for trace */ |
| 436 | }ValidateResult; |
| 437 | |
| 438 | #ifdef MTK_CBP |
| 439 | #define CSS_MAX_NUMBER_OF_TIMER_IDS ((CSS_MAX_NUMBER_OF_TIMER_TYPES) + \ |
| 440 | (MAX_1X_MAX_ACCESS_FAIL_AVOID_CHAN_NUM) - 1 + \ |
| 441 | (MAX_1X_MAX_REG_REJ_AVOID_CHAN_NUM) - 1 + \ |
| 442 | (MAX_1X_MAX_RELEASE_REJ_AVOID_CHAN_NUM) - 1 + \ |
| 443 | (MAX_DO_MAX_ACCESS_FAIL_AVOID_CHAN_NUM) - 1) |
| 444 | #endif |
| 445 | |
| 446 | typedef enum |
| 447 | { |
| 448 | CPSM_1X_OOSA_SLEEP_REQUEST = 0, |
| 449 | CPSM_1X_OOSA_SCAN_TIME_SET, |
| 450 | CPSM_1X_OOSA_SCAN_TIME_EXPIRE, |
| 451 | CPSM_1X_OOSA_WAKEUP_INDICATOR, |
| 452 | CPSM_1X_OOSA_ENTER_NEW_CYCLE, |
| 453 | CPSM_1X_OOSA_NOT_ALLOWED_BY_SVSM_STATE, |
| 454 | CPSM_1X_OOSA_COUNTERS_RESET, |
| 455 | CPSM_1X_OOSA_ENTER_STAGE |
| 456 | }CssOOSAEvent; |
| 457 | |
| 458 | /* IRAT state machine */ |
| 459 | typedef enum { |
| 460 | DONOTSCANPOWERUP, /* wait for IRAT cmd to start scan after power up */ |
| 461 | DONORMALSCAN /* normal scan */ |
| 462 | } IRAT_DOStateT; |
| 463 | |
| 464 | typedef enum { |
| 465 | NOTSCANPOWERUP1X, /* wait for IRAT cmd to start scan after power up */ |
| 466 | NORMALSCAN1X /* normal scan */ |
| 467 | } IRAT_1XStateT; |
| 468 | |
| 469 | typedef enum |
| 470 | { |
| 471 | IRAT_TURNOFF_DO_INACTIVE, |
| 472 | IRAT_TURNOFF_DO_REL_PPP, |
| 473 | IRAT_TURNOFF_DO_REL_PPP_NEED_DEEPSLEEP, |
| 474 | IRAT_TURNOFF_DO_FORCE2INIT, |
| 475 | IRAT_TURNOFF_DO_FORCE2INIT_NEED_DEEPSLEEP, |
| 476 | IRAT_TURNOFF_DO_WAIT_DEEPSLEEP_CNF, |
| 477 | }IratTurnOffDoStateE; |
| 478 | |
| 479 | typedef enum |
| 480 | { |
| 481 | IRAT_TURNOFF_1X_INACTIVE, |
| 482 | IRAT_TURNOFF_1X_REL_PPP, |
| 483 | IRAT_TURNOFF_1X_FORCE2INIT, |
| 484 | IRAT_TURNOFF_1X_WAIT_DEEPSLEEP_CNF, |
| 485 | IRAT_TURNOFF_1X_WAIT_RSSI_SCAN_ABORT, |
| 486 | }IratTurnOff1xStateE; |
| 487 | |
| 488 | typedef enum |
| 489 | { |
| 490 | IRAT_NO_PS_RPT_REASON_START = 0, |
| 491 | IRAT_NO_PS_POWER_DOWN = IRAT_NO_PS_RPT_REASON_START, |
| 492 | IRAT_NO_PS_FLIGHT_MODE, |
| 493 | IRAT_NO_PS_AT_DETACHED, |
| 494 | IRAT_NO_PS_GMSS_DETACHED, |
| 495 | IRAT_NO_PS_RAT_CHG, |
| 496 | IRAT_NO_PS_OTHERS, |
| 497 | IRAT_NO_PS_1X_EXHAUST, |
| 498 | IRAT_NO_PS_EMERGENCY_MODE, |
| 499 | IRAT_NO_PS_SIM_ERROR, |
| 500 | IRAT_NO_PS_RPT_REASON_END = IRAT_NO_PS_SIM_ERROR, |
| 501 | |
| 502 | IRAT_1X_PS_RPT_REASON_START = 50, |
| 503 | IRAT_1X_PS_DELAY_RPT = IRAT_1X_PS_RPT_REASON_START, |
| 504 | IRAT_1X_PS_REG_CNF, |
| 505 | IRAT_1X_PS_DO_AUTH_FAIL, |
| 506 | IRAT_1X_PS_RPT_REASON_END = IRAT_1X_PS_DO_AUTH_FAIL, |
| 507 | |
| 508 | IRAT_DO_PS_RPT_REASON_START = 100, |
| 509 | } IratPsRptReasonE; |
| 510 | |
| 511 | typedef enum |
| 512 | { |
| 513 | CSS_ERR_UNEXPECTED_EVENT = 0, |
| 514 | CSS_ERR_INVALID_SYS_PREFERENCE, |
| 515 | CSS_ERR_INVALID_SYS_TYPE, |
| 516 | CSS_ERR_INVALID_ACQUSITION_REC_TYPE, |
| 517 | CSS_ERR_INVALID_1X_SELECT_REQ_RCVD, |
| 518 | CSS_ERR_INVALID_DO_SELECT_REQ_RCVD, |
| 519 | CSS_ERR_INVALID_1X_VALIDATION_TYPE, |
| 520 | CSS_ERR_INVALID_OOSA_STAGE, |
| 521 | CSS_ERR_INVALID_TURNOFF_STATE, |
| 522 | CSS_ERR_SUBNET_NULL_POINTER, |
| 523 | CSS_ERR_EXT_PRL_P_REV_MISMATCH, |
| 524 | CSS_ERR_SCAN_LIST_EMPTY, |
| 525 | CSS_ERR_INVALID_NVRAM_PRL, |
| 526 | CSS_ERR_INVALID_UIM_PRL_LEN, |
| 527 | CSS_ERR_INVALID_MSG_ID, |
| 528 | CSS_ERR_NOT_1X_ONLY_IN_SIM2, |
| 529 | CSS_ERR_GET_NVRAM_PRL_RECVD_UNEXPECTED_MSG, |
| 530 | CSS_ERR_GET_UIM_PRL_RECVD_UNEXPECTED_MSG, |
| 531 | CSS_ERR_GET_UIM_PRL_RECVD_INVALID_MSG, |
| 532 | CSS_ERR_INVALID_PLL_CHAN_TEST_MODE_SYSTEM, |
| 533 | CSS_ERR_INVALID_BAND, |
| 534 | CSS_ERR_PRL_TOO_SMALL_SIZE, |
| 535 | CSS_ERR_EXT_PRL_ACQRECNUM_INVALID, |
| 536 | CSS_ERR_EXT_PRL_SYSRECNUM_INVALID, |
| 537 | CSS_ERR_EXT_PRL_BAD_ACQ_REC, |
| 538 | CSS_ERR_EXT_PRL_BAD_COMM_SUBNET, |
| 539 | CSS_ERR_EXT_PRL_BAD_SYS_REC, |
| 540 | CSS_ERR_EXT_PRL_HASH_TABLE_ERROR, |
| 541 | CSS_ERR_EXT_PRL_CRC_ERROR, |
| 542 | CSS_ERR_EXT_PRL_LEN_ERROR, |
| 543 | CSS_ERR_EXT_PRL_INVALID_SSPR, |
| 544 | CSS_ERR_DUPLICATE_SUBNET_OVERFLOW, |
| 545 | CSS_ERR_BAND_BLOCK_CHANNEL_OUT_OF_RANGE, |
| 546 | CSS_ERR_SYS_NOT_FOUND_IN_LIST, |
| 547 | CSS_ERR_INVALID_ERI_TABLE, |
| 548 | CSS_ERR_NO_ERI_TABLE, |
| 549 | CSS_ERR_ERI_ENTRY_NOT_FOUND, |
| 550 | CSS_ERR_SVSM_SELECT_CHANNEL_TOO_MANY_RECURSIONS, |
| 551 | CSS_ERR_INVALID_ACTION_IN_1X_MARK_NEGATIVE_SYSTEMS, |
| 552 | CSS_ERR_PARM_INVALID_PTR, |
| 553 | CSS_ERR_PARM_INVALID_LENGTH, |
| 554 | CSS_ERR_PARM_GENERAL_FAILURE, |
| 555 | CSS_ERR_PARM_OPERATION_NOT_SUPPORTED, |
| 556 | CSS_ERR_NVRAM_DATA_READ_FAIL, |
| 557 | CSS_RECEIVED_UNEXPECTED_MSG, |
| 558 | CSS_ERR_MRS_LLA_MAJOR_OCCUPY_FAIL, |
| 559 | CSS_ERR_MRS_LLA_INVALID_LIST_OCCUPY_EVENT, |
| 560 | CSS_ERR_INVALID_REC_NUM, |
| 561 | CSS_ERR_NVRAM_READ_ERROR, |
| 562 | CSS_ERR_NULL_POINTER, |
| 563 | CSS_ERR_POWER_DOWN, |
| 564 | CSS_ERR_INVALID_GMSS_TASK, |
| 565 | CSS_ERR_BAND_NOT_SUPPORTED, |
| 566 | CSS_ERR_GET_MRU_REC_FAILURE, |
| 567 | CSS_ERR_INVALID_DO_OOSA_MSG_TYPE, |
| 568 | CSS_ERR_ADD_MRU_REC_FAIL_DUE_TO_SCAN_LIST_FULL, |
| 569 | CSS_ERR_SET_1X_REG_DISABLE_WHEN_C2K_ONLY, |
| 570 | CSS_ERR_INVALID_RAT_TYPE, |
| 571 | CSS_ERR_INVALID_MCC, |
| 572 | CSS_ERR_INVALID_ACQ_INDEX, |
| 573 | CSS_ERR_EXCEED_CHAN_LIST_MAX_SIZE, |
| 574 | CSS_ERR_INVALID_SYS_FOR_OTASP, |
| 575 | CSS_ERR_INVALID_MOD_ID, |
| 576 | CSS_ERR_INVALID_PRL_POINTER |
| 577 | } CssErrorCodeT; |
| 578 | |
| 579 | #endif |
| 580 | |