blob: 6166cbeacc4444c4d2e8955070ee5c98b31ff475 [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) 2005
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 * mpal2rr_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 *
52 *
53 *==============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 * removed!
62 * removed!
63 *
64 * removed!
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
70 * removed!
71 * removed!
72 *
73 * removed!
74 * removed!
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 * removed!
81 * removed!
82 *
83 * removed!
84 * removed!
85 * removed!
86 *
87 * removed!
88 * removed!
89 * removed!
90 *
91 * removed!
92 * removed!
93 * removed!
94 *
95 * removed!
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 * removed!
102 *
103 * removed!
104 * removed!
105 * removed!
106 *
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 *
115 * removed!
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 * removed!
122 *
123 * removed!
124 * removed!
125 * removed!
126 *
127 * removed!
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 * removed!
134 *
135 * removed!
136 * removed!
137 * removed!
138 *
139 * removed!
140 * removed!
141 * removed!
142 *
143 * removed!
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 *
151 * removed!
152 * removed!
153 * removed!
154 *
155 * removed!
156 * removed!
157 * removed!
158 *
159 * removed!
160 * removed!
161 * removed!
162 *
163 * removed!
164 * removed!
165 * removed!
166 *
167 * removed!
168 * removed!
169 * removed!
170 *
171 * removed!
172 * removed!
173 * removed!
174 *
175 * removed!
176 * removed!
177 * removed!
178 *
179 * removed!
180 * removed!
181 * removed!
182 *
183 * removed!
184 * removed!
185 * removed!
186 *
187 * removed!
188 * removed!
189 * removed!
190 *
191 * removed!
192 * removed!
193 * removed!
194 *
195 * removed!
196 * removed!
197 * removed!
198 *
199 * removed!
200 * removed!
201 * removed!
202 *
203 * removed!
204 * removed!
205 * removed!
206 *
207 * removed!
208 * removed!
209 * removed!
210 *
211 * removed!
212 * removed!
213 * removed!
214 *
215 * removed!
216 * removed!
217 * removed!
218 *
219 * removed!
220 * removed!
221 * removed!
222 *
223 * removed!
224 * removed!
225 * removed!
226 *
227 * removed!
228 * removed!
229 * removed!
230 *
231 * removed!
232 * removed!
233 * removed!
234 *
235 * removed!
236 * removed!
237 * removed!
238 *
239 * removed!
240 * removed!
241 * removed!
242 *
243 * removed!
244 * removed!
245 * removed!
246 *
247 * removed!
248 * removed!
249 * removed!
250 *
251 * removed!
252 * removed!
253 * removed!
254 *
255 * removed!
256 * removed!
257 * removed!
258 *
259 * removed!
260 * removed!
261 * removed!
262 *
263 * removed!
264 * removed!
265 * removed!
266 *
267 * removed!
268 * removed!
269 * removed!
270 *
271 * removed!
272 * removed!
273 * removed!
274 *
275 * removed!
276 * removed!
277 * removed!
278 *
279 * removed!
280 * removed!
281 * removed!
282 *
283 * removed!
284 * removed!
285 * removed!
286 *
287 *------------------------------------------------------------------------------
288 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
289 *==============================================================================
290 *******************************************************************************/
291
292/********************************************************************************
293* Copyright Statement:
294* --------------------
295*
296* This product has been developed using a protocol stack
297* developed by Sasken Communication Technologies Limited.
298*
299********************************************************************************/
300
301
302#ifndef _MPAL2RR_STRUCT_H
303#define _MPAL2RR_STRUCT_H
304
305/*Evelyn: Remove redundant header and file */
306#include "rr_mpal_interface.h"
307#include "kal_general_types.h"
308#include "l3_inc_enums.h"
309#include "mph_cs_def.h"
310#include "rr_common_enums.h"
311#ifdef __PS_L1_DC_ARCH__
312#include "ps_l1_shared_info.h"
313#endif
314
315
316typedef struct {
317 kal_int16 c_value; /* Austin 040413: report c_value in dbm, instead of rxlev */
318 kal_uint8 is_bl_var_valid;
319 kal_uint16 bl_var;
320 kal_uint16 bit_count[4];
321 kal_uint16 bit_error_count[4];
322} ch_quality_rep_struct;
323
324typedef struct {
325 kal_uint8 time_slot;
326 kal_uint8 cs;
327 kal_uint8 is_bad_block;
328 channel_type_enum ch_type;
329/* End Claire 041118 change : Modify dl_radio_blk_struct : To be removed later */
330 kal_uint8 is_data_buffer;
331#ifdef MCD_PACK_UNPACK
332 kal_uint8 data[75];
333#else
334 kal_uint8 *data;
335#endif
336
337 #ifdef __EGPRS_MODE__
338 kal_int32 meanBep; /* Mean_BEP(block), no meaning if not in EGPRS mode*/
339 kal_int32 cvBep; /* CV_BEP(block), no meaning if not in EGPRS mode */
340 kal_uint8 header[6];
341#ifdef MCD_PACK_UNPACK
342 kal_uint8 data2[75];
343#else
344 kal_uint8 *data2;
345#endif
346 kal_uint8 is_data_valid;
347 kal_uint8 is_data2_valid;
348
349#ifdef __GERAN_FANR__
350 kal_uint8 is_pan_valid;
351 kal_uint8 pan[4];
352#endif
353
354 #endif
355
356} dl_radio_blk_struct;
357
358typedef struct{
359 kal_uint32 frame_no;
360 kal_uint8 rrbp_txed;
361 kal_uint8 is_usf_detected;// bitmap of usf detected
362 kal_uint8 ctrl_blks_free_in_q;
363 kal_uint8 no_data_txed[MAX_TBF_NUM];
364 kal_uint8 is_alloc_exhausted;
365#ifdef __GERAN_FANR__
366 kal_uint8 time_slot;
367#endif
368}ready_to_send_ind_struct;
369
370typedef struct {
371 LOCAL_PARA_HDR
372 kal_uint8 scan_id;
373 kal_bool bcch_list_valid;
374 kal_int16 power_sum_in_quarter_dbm[MPH_MAX_POWER_SCAN_RESULTS_LEN]; /* Defined in mph_cs_msg.h */
375 kal_uint8 bands_scan;
376 kal_bool is_quick_mcc_search;
377} mpal_rr_search_rf_cnf_struct;
378
379typedef struct {
380 LOCAL_PARA_HDR
381 kal_uint16 arfcn;
382 kal_uint8 result;
383 kal_uint8 bsic;
384 kal_int32 frame_offset;
385 kal_int32 ebit_offset;
386 kal_int32 bitErrorCount;
387 kal_int16 snr;
388 kal_int16 real_snr;
389} mpal_rr_bsic_sync_cnf_struct;
390
391typedef struct {
392 LOCAL_PARA_HDR
393 rr_block_monitor_enum block_ind; /* ref. to mph_block_monitor_enum */
394 kal_uint8 tc;
395 kal_uint32 frame_no;
396 kal_uint16 arfcn;
397 channel_type_enum channel_type;
398 kal_uint8 data[23];
399 kal_int16 c_value; /* Austin 040413: report c_value in dbm, instead of rxlev */
400 kal_bool is_serving; /* Only for check NBCCH or BCCH*/
401} mpal_rr_data_ind_struct;
402
403typedef struct {
404 LOCAL_PARA_HDR
405 kal_uint8 req_id; /*sequence number for RR to know the ._cnf received is old or new*/
406 kal_uint32 frame_number;
407 kal_uint16 rach_data;
408 kal_uint16 current_tx_power_in_dbm;
409} mpal_rr_rach_cnf_struct;
410
411typedef struct {
412 LOCAL_PARA_HDR
413 kal_uint8 t0;
414
415#ifdef __BLIND_HANDOVER__
416 /* Elly20080228, report the frame offset and ebit offset to RR in case that the blind handover is executed
417 * and RR has no timing information to report the OTD to NW if requested. */
418 kal_int32 target_frame_offset;
419 kal_int32 target_ebit_offset;
420#endif /* end of __BLIND_HANDOVER__ */
421
422} mpal_rr_handover_success_ind_struct;
423
424typedef struct {
425 LOCAL_PARA_HDR
426 handover_fail_cause_enum error_cause;
427
428} mpal_rr_handover_fail_ind_struct;
429
430typedef struct {
431 LOCAL_PARA_HDR
432 kal_uint8 current_dch;
433 kal_uint8 is_freq_in_one_band;
434 kal_uint8 starting_time_expired;
435} mpal_rr_frequency_redefinition_cnf_struct;
436
437typedef struct {
438 LOCAL_PARA_HDR
439 kal_uint8 ext_meas_freq_list_len;
440 kal_uint8 dtx_used;
441 kal_uint8 list_ref;
442 kal_uint16 arfcn[64];
443 kal_int16 rlac_in_quarter_dbm[64];
444} mpal_rr_extended_meas_ind_struct;
445
446typedef struct {
447 LOCAL_PARA_HDR
448 kal_int16 rla_in_quarter_dbm;
449 kal_uint8 timing_advanced; /* TY: used for AGPS, report packet TA in PTM */
450#ifdef UNIT_TEST
451 kal_uint32 meas_ind_ms_diff;
452#endif /* UNIT_TEST */
453 kal_int16 real_snr;
454} mpal_rr_serv_idle_meas_ind_struct;
455
456typedef struct {
457 LOCAL_PARA_HDR
458 kal_int16 rlac_full_in_quarter_dbm;
459 kal_int16 rlac_sub_in_quarter_dbm;
460 kal_uint8 rxqual_full_avg;
461 kal_uint8 rxqual_sub_avg;
462 kal_uint8 dtx_used;
463 kal_int16 current_tx_power_in_dbm; /* Maruco20100423, to show the tx power level in engineering mode */
464 kal_int8 mean_bep;
465 kal_int8 cv_bep;
466 kal_int32 rxlev_val;
467 kal_int8 nbr_rcdv_blocks;
468#if defined (__AMR_SUPPORT__) || defined (__AMRWB_LINK_SUPPORT__)
469 kal_bool amr_info_valid;
470 kal_bool dl_dtx; /* Maruco20100423, to show DL DTX is on/off in engineering mode */
471 kal_uint8 cmr_cmc_cmiu_cmid;
472 kal_uint8 c_i;
473 kal_uint16 icm;
474 kal_uint16 acs;
475#endif /* __AMR_SUPPORT__ || __AMRWB_LINK_SUPPORT__*/
476
477 kal_int16 real_snr;
478} mpal_rr_serv_dedi_meas_ind_struct;
479
480typedef struct {
481 LOCAL_PARA_HDR
482 kal_uint8 list_ref;
483 kal_uint8 list_len;
484 kal_uint16 arfcn_list[33];
485 kal_int16 rla_in_quarter_dbm[33];
486 kal_int16 afc_dac[33];
487#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
488 /* Elly20081003, Indicates the following 4 idle frames are for GSM or other RAT. */
489 kal_uint8 is_occupied_by_other_rat;
490#endif /* defined(__UMTS_RAT__) || defined(__LTE_RAT__) */
491} mpal_rr_neighbor_meas_ind_struct;
492
493typedef struct {
494 LOCAL_PARA_HDR
495#if defined (__PS_SERVICE__) && defined (__PKT_EXT_MEAS__)
496 kal_uint8 is_for_extended_meas;
497#endif /*(__PS_SERVICE__) && (__PKT_EXT_MEAS__)*/
498 kal_uint16 arfcn;
499 kal_uint8 bsic_valid;
500 kal_uint8 bsic;
501 kal_uint8 burst_access_id;
502 kal_int32 frame_offset;
503 kal_int32 ebit_offset;
504 kal_uint8 is_for_manual_list;
505 kal_int16 snr;
506 kal_int16 real_snr;
507} mpal_rr_neighbor_bsic_ind_struct;
508
509typedef struct {
510 LOCAL_PARA_HDR
511 kal_uint16 arfcn;
512 kal_uint8 bsic_valid;
513 kal_uint8 bsic;
514 kal_uint8 burst_access_id;
515 kal_int32 frame_offset;
516 kal_int32 ebit_offset;
517} mpal_rr_cell_bsic_ind_struct;
518
519typedef struct {
520 LOCAL_PARA_HDR
521 kal_uint8 list_ref;
522 kal_uint8 list_len;
523 kal_uint16 arfcn_list[33];
524 kal_int16 nc_meas_in_qdbm[33];
525} mpal_rr_nc_measurement_ind_struct;
526
527#ifdef __PKT_EXT_MEAS__
528typedef struct {
529 LOCAL_PARA_HDR
530 kal_uint8 list_len;
531 kal_uint16 arfcn_list[32];
532 kal_uint8 ext_meas_in_rxlev[32];
533} mpal_rr_pkt_ext_measurement_ind_struct;
534#endif /*__PKT_EXT_MEAS__*/
535
536typedef struct {
537 LOCAL_PARA_HDR
538 kal_uint8 carrier_ref;
539 kal_uint8 valid_meas_ts;
540 kal_int16 ss_sample[8];
541 kal_uint8 int_meas_freq;
542 kal_uint32 frame_number;
543} mpal_rr_int_measurement_ind_struct;
544
545typedef struct{
546 LOCAL_PARA_HDR
547 kal_bool is_all_tbf_rel;
548 kal_uint8 ul_tbf_bitmap;
549 kal_uint8 dl_tbf_bitmap;
550}mpal_rr_pdtch_disconn_cnf_struct;
551
552typedef struct {
553 LOCAL_PARA_HDR
554 kal_uint8 transition_id_ul[MAX_TBF_NUM];
555 kal_uint8 transition_id_dl[MAX_TBF_NUM];
556 kal_uint8 ul_tbf_bitmap;
557 kal_uint8 dl_tbf_bitmap;
558} mpal_rr_pdtch_connect_ind_struct;
559
560typedef struct {
561 LOCAL_PARA_HDR
562 kal_uint32 frame_no;
563 kal_uint16 arfcn;
564 ch_quality_rep_struct ch_qual_rep;
565 kal_uint8 no_dl_radio_blks;
566 //kal_uint8 dl_radio_blks_size;
567 dl_radio_blk_struct dl_radio_blks[4];
568 #ifdef __EGPRS_MODE__
569 kal_uint8 out_of_mem;
570 kal_uint16 dsp_vq[MAX_TBF_NUM];
571 #endif
572
573 kal_uint8 is_ul_blk_conflict; /* only used in G2.0+ */
574 kal_uint8 is_rts_info_valid;
575 ready_to_send_ind_struct rts_info;
576 kal_uint8 dl_mTBFtid[MAX_TBF_NUM];
577
578#ifdef __MONITOR_PAGE_DURING_TRANSFER__
579 /* Provide next pch frame number for MAC to enhance ps performance during PS transfer*/
580 kal_uint32 next_pch_fn;
581#endif /*end of __MONITOR_PAGE_DURING_TRANSFER__*/
582
583#ifndef __MTK_TARGET__
584 kal_uint8 pack_data[23];
585#endif
586
587 /* Yu-Po: 20140430 add for report transmit power to upper layer*/
588 kal_uint16 current_tx_power_in_dbm[8];
589
590} mpal_rr_transfer_data_ind_struct;
591
592#ifdef __PS_L1_DC_ARCH__
593#ifndef __MTK_TARGET__
594typedef struct
595{
596 LOCAL_PARA_HDR
597 kal_uint8 source;
598 /* U1 part */
599 PrePacketUplinkSpecDescription ppusDes;
600
601 /* U2 part */
602 mpal_l1i_rts_information_struct RTSInfo;
603}mpal_dc_debug_ind_struct;
604
605typedef struct
606{
607 LOCAL_PARA_HDR
608 kal_uint32 tail;
609 kal_uint32 head;
610 kal_uint32 num_of_rrbp_in_mpal_queue;
611 kal_uint32 mpal_rrbp[4];
612 kal_uint32 mpal_min_rrbp_fn;
613}mpal_dc_debug_min_rrbp_ind_struct;
614#endif
615#endif
616
617#if (!defined(__MTK_TARGET__)) && (defined (__GERAN_RTTI__) || defined(__GERAN_FANR__))
618#include "mph_cnst.h"
619#include "mph_types.h"
620#include "mph_cs_def.h"
621#include "mph_cs_msg.h"
622#include "mph_ps_def.h"
623#include "mph_ps_msg.h"
624
625typedef struct {
626 LOCAL_PARA_HDR
627 mphp_packet_downlink_struct ptr_pkt_dl;
628 mph_rx_multislot_data_struct rx_data[4];
629}mpal_rr_transfer_data_notice_ind_struct;
630#endif
631
632typedef struct {
633 LOCAL_PARA_HDR
634 kal_uint8 is_successful;
635} mpal_rr_ccch_rrbp_cnf_struct;
636#if 0
637/* under construction !*/
638/* under construction !*/
639/* under construction !*/
640/* under construction !*/
641#endif
642typedef struct {
643 LOCAL_PARA_HDR
644 kal_uint8 is_successful;
645} mpal_rr_deactivate_cnf_struct;
646
647typedef struct {
648 LOCAL_PARA_HDR
649 kal_bool success;
650} mpal_rr_set_rat_service_cnf_struct;
651
652#ifdef __PS_SERVICE__
653#endif /* end of __PS_SERVICE__ */
654
655typedef struct {
656 LOCAL_PARA_HDR
657 kal_uint8 pch_data[23];
658} mpal_rr_detect_paging_block_callback_req_struct;
659
660/******************************************************************************/
661/* Multi-mode Standby GSM inter-RAT process */
662/******************************************************************************/
663
664#if defined(__UMTS_RAT__) || defined(__LTE_RAT__)
665#include "gas_eas_enums.h"
666
667#define STANDBY_GSM_MEAS_MAX_CELL_NUM (32)
668
669typedef struct {
670 LOCAL_PARA_HDR
671 kal_uint8 list_ref;
672 kal_uint8 list_len;
673 kal_int16 arfcn_list[STANDBY_GSM_MEAS_MAX_CELL_NUM];
674 kal_int16 rla_in_quarter_dbm[STANDBY_GSM_MEAS_MAX_CELL_NUM];
675 kal_uint32 bsic_reconfirm_para;
676#ifdef UNIT_TEST
677 kal_uint32 time_stamp;
678#endif /* UNIT_TEST */
679 kal_bool is_not_all_arfcn_measured;
680} mpal_rr_standby_gsm_meas_ind_struct;
681
682#if defined(__23G_PRI_RESEL_SUPPORT__) || defined(__LTE_RAT__)
683typedef struct {
684 LOCAL_PARA_HDR
685 kal_uint8 list_ref;
686 kal_uint8 list_len;
687 kal_int16 arfcn_list[STANDBY_GSM_MEAS_MAX_CELL_NUM];
688 kal_int16 rla_in_quarter_dbm[STANDBY_GSM_MEAS_MAX_CELL_NUM];
689#ifdef UNIT_TEST
690 kal_uint32 time_stamp;
691#endif /* UNIT_TEST */
692} mpal_rr_standby_gsm_prio_meas_ind_struct;
693#endif /* defined(__23G_PRI_RESEL_SUPPORT__) || || defined(__LTE_RAT__) */
694
695typedef struct {
696 LOCAL_PARA_HDR
697 kal_uint16 arfcn;
698 kal_bool bsic_valid;
699 kal_uint8 bsic;
700 kal_uint32 frame_offset;
701 kal_uint32 ebit_offset;
702 kal_uint32 time_stamp;
703} mpal_rr_standby_gsm_bsic_ind_struct;
704
705typedef struct {
706 LOCAL_PARA_HDR
707} mpal_rr_inter_rat_handover_cnf_struct;
708
709#ifdef __LTE_RAT__
710typedef struct {
711 LOCAL_PARA_HDR
712 kal_uint8 scan_id;
713 kal_uint16 arfcn;
714 kal_int16 power_sum_in_quarter_dbm;
715} mpal_rr_standby_gsm_report_cgi_search_rf_cnf_struct;
716
717typedef struct {
718 LOCAL_PARA_HDR
719 kal_uint8 bsic_tid;
720 kal_uint16 arfcn;
721 kal_bool bsic_valid;
722 kal_int8 bsic;
723 kal_int32 frame_offset;
724 kal_int32 ebit_offset;
725} mpal_rr_standby_gsm_report_cgi_bsic_ind_struct;
726#endif /* __LTE_RAT__ */
727#endif /* defined(__UMTS_RAT__) || defined(__LTE_RAT__) */
728
729#endif /* _MPAL2RR_STRUCT_H */