blob: ec9850d55650e592f3c0d803b05f3ea6e886944b [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) 2007
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 * ratdm_rabm_struct.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 * MONZA
44 *
45 * Description:
46 * --------------------------------------------------------
47 *
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 10 28 2016 ravitej.ballakur
57 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
58 * Fux for UESIM TC 13_4_2_1 and merge of MASE CBr changes.
59 *
60 * 09 26 2016 ravitej.ballakur
61 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
62 * Merging 2G and WCDMA RATDM and PDCP changes from merge_CBr.
63 *
64 * 08 03 2016 ravitej.ballakur
65 * [MOLY00195360] [3G][RATDM][PDCP] - Gen93 3G RATDM and PDCP code modification for new HW and MCU Archi
66 * 3G RATDM and PDCP changes.
67 *
68 * 02 13 2015 head.hsu
69 * [MOLY00091822] RATDM reorganization
70 * FDD/TDD RABM/PDCP checkin
71 *
72 * 12 12 2014 tc.chang
73 * [MOLY00087434] [Universal Bin] Check in.
74 * FDD RABM
75 *
76 * 05 29 2014 yungfu.chen
77 * [MOLY00067176] SERVICE REQUEST change design
78 *
79 * 01 21 2014 wcpuser_integrator
80 * [MOLY00054475] SGLTE option rename
81 * .
82 *
83 * 10 18 2013 johnson.liu
84 * [MOLY00041595] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
85 * .
86 *
87 * 09 26 2013 yungfu.chen
88 * [MOLY00038877] remove MAX_EXT_PDP_CONTEXT/MAX_INT_PDP_CONTEXT usage of RATDM code
89 * .
90 *
91 * 01 22 2013 jl.hsiao
92 * [MOLY00009170] LTE Multimode Merge to MOLY
93 * .
94 *
95 * 12 07 2012 andrew.wu
96 * [MOLY00007098] LOCAL_PARA_HDR/PEER_BUF_HDR modification
97 * LOCAL_PARA_HDR/PEER_BUF_HDR modification
98 *
99 * 09 17 2012 jl.hsiao
100 * [MOLY00003699] [RATDM] Multimode code check-in
101 * .
102 *
103 * 05 21 2012 johnson.liu
104 * removed!
105 * .
106 *
107 * 05 19 2012 johnson.liu
108 * removed!
109 * .
110 *
111 * 02 07 2012 andrew.wu
112 * removed!
113 * Integration change.
114 *
115 * 01 24 2011 max.yin
116 * removed!
117 * .
118 *
119 * 01 21 2011 max.yin
120 * removed!
121 * .
122 *
123 * 01 03 2011 max.yin
124 * removed!
125 * .
126 *
127 * 12 31 2010 max.yin
128 * removed!
129 * .
130 *
131 * 12 16 2010 jl.hsiao
132 * removed!
133 * .
134 *
135 * 12 14 2010 jl.hsiao
136 * removed!
137 * .
138 *
139 * 10 18 2010 jl.hsiao
140 * removed!
141 * .
142 *
143 * removed!
144 * removed!
145 *
146 *
147 * removed!
148 * removed!
149 *
150 *
151 * removed!
152 * removed!
153 *
154 *
155 * removed!
156 * removed!
157 *
158 *
159 * removed!
160 * removed!
161 * Add copyright header.
162 *
163 * removed!
164 * removed!
165 * add to source control recursely
166 *
167 * removed!
168 * removed!
169 *
170 *
171 * removed!
172 * removed!
173 *
174 *
175 * removed!
176 * removed!
177 *
178 *
179 * removed!
180 * removed!
181 *
182 *
183 * removed!
184 * removed!
185 *
186 *
187 * removed!
188 * removed!
189 *
190 *
191 * removed!
192 * removed!
193 * Add ratcm_rabm_retransmit_ind_struct
194 *
195 * removed!
196 * removed!
197 *
198 *
199 ******************************************************************************/
200
201#ifndef _RATDM_RABM_STRUCT_H
202#define _RATDM_RABM_STRUCT_H
203
204#include "flc2_config.h"
205#include "mcd_l3_inc_gprs_struct.h"
206#include "ps_ratdm_struct.h"
207#include "l3_inc_enums.h"
208#include "ps_public_enum.h"
209#include "kal_general_types.h"
210#include "uas_common_enums.h"
211#include "kal_public_defs.h"
212#include "mmi_l3_enums.h"
213#include "ratdm_export_api.h"
214
215typedef kal_uint16 tPdcpSeqNumber;
216typedef kal_uint8 tRabmNsapi;
217typedef kal_uint32 tRabmContextsNum;
218
219typedef enum
220{
221 TRAFFIC_CLASS_UNKNOWN,
222 TRAFFIC_CLASS_CONVERSATIONAL,
223 TRAFFIC_CLASS_STREAMING,
224 TRAFFIC_CLASS_INTERACTIVE,
225 TRAFFIC_CLASS_BACKGROUND
226} tTrafficClass;
227
228typedef enum
229{
230 RATDM_RABM_INVALID_CAUSE,
231 //RABM_SUSPEND_RATDM_BY_PDCP_FLC,
232 //RABM_RESUME_RATDM_BY_PDCP_FLC,
233 RABM_RESUME_RATDM_BY_FLC_PDCP_NOT_EXIST,
234 RABM_SUSPEND_RATDM_BY_PDCP_RELOC,
235 RABM_RESUME_RATDM_BY_PDCP_RELOC,
236 RABM_SUSPEND_RATDM_BY_NRT_RAB_REEST,
237 RABM_RESUME_RATDM_BY_NRT_RAB_REEST_SUCCESS,
238 RABM_RESUME_RATDM_BY_NRT_RAB_REEST_FAIL,
239 RABM_RESUME_RATDM_BY_SR_SUCCESS_RAB_NOT_ESTABLISHED,
240 RABM_TRIGGER_RATDM_RETRANSMIT_BY_RLC_RESET,
241 RABM_TRIGGER_RATDM_RETRANSMIT_BY_RLC_REESTABLISH,
242 RATDM_DEACTIVATE_RABM_BY_REGULAR,
243 RATDM_DEACTIVATE_RABM_BY_RAT_CHANGE,
244 RATDM_RABM_TOTAL_CAUSE
245} tRatcmRabmCause;
246
247typedef struct
248{
249 tRabmNsapi Nsapi;
250 flc2_pool_id_enum dl_pool_id;
251 qos_struct qos_negotiated;
252 tPdcpSeqNumber SendSeqNumber;
253 tPdcpSeqNumber ReceiveSeqNumber;
254#ifdef __USE_LEGACY_23G_DATAPATH__
255 kal_uint8 context_id; // originally in tcm_ratdm_config_req_struct
256#endif
257 module_type module_id; // originally in tcm_ratdm_config_req_struct
258} tRabmActReqPara;
259
260/* RATDM_RABM_ACTIVATE_REQ */
261typedef struct {
262 LOCAL_PARA_HDR
263 kal_bool RAT_Change;
264 kal_uint8 NoOfContexts;
265 tRabmActReqPara RabmContexts[RABM_MAX_PS_RABS];
266#ifndef __USE_LEGACY_23G_DATAPATH__
267 kal_bool loopback;
268#endif
269} ratdm_rabm_activate_req_struct;
270
271/* RATDM_RABM_ACTIVATE_CNF */
272typedef struct {
273 LOCAL_PARA_HDR
274 kal_uint8 NoOfContexts;
275 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
276} ratdm_rabm_activate_cnf_struct;
277
278/* RATDM_RABM_ACTIVATE_IND */
279typedef struct {
280 LOCAL_PARA_HDR
281 kal_uint8 NoOfContexts;
282 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
283} ratdm_rabm_activate_ind_struct;
284
285/* RATDM_RABM_ACTIVATE_RSP */
286typedef struct {
287 LOCAL_PARA_HDR
288 kal_uint8 Nsapi;
289 kal_bool is_successful;
290} ratdm_rabm_activate_rsp_struct;
291
292/* RATDM_RABM_DEACTIVATE_REQ */
293typedef struct {
294 LOCAL_PARA_HDR
295 kal_uint8 Cause;
296 kal_uint8 NoOfContexts;
297 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
298} ratdm_rabm_deactivate_req_struct;
299
300typedef ratdm_rabm_deactivate_req_struct ratdm_rabm_deactivate_cnf_struct;
301
302/* RATDM_RABM_DEACTIVATE_IND */
303typedef struct {
304 LOCAL_PARA_HDR
305 kal_uint8 NoOfContexts;
306 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
307 kal_uint8 Cause[RABM_MAX_PS_RABS];
308} ratdm_rabm_deactivate_ind_struct;
309
310/* RATDM_RABM_MODIFY_REQ */
311typedef struct {
312 LOCAL_PARA_HDR
313 kal_uint8 Nsapi;
314 kal_uint8 TrafficClass;
315 kal_bool DeliveryOfErrorSdus;
316} ratdm_rabm_modify_req_struct;
317
318/* RATDM_RABM_MODIFY_CNF */
319typedef struct {
320 LOCAL_PARA_HDR
321 kal_uint8 Nsapi;
322} ratdm_rabm_modify_cnf_struct;
323
324/* RATDM_RABM_RESUME_REQ */
325typedef struct {
326 LOCAL_PARA_HDR
327} ratdm_rabm_resume_req_struct;
328
329/* RATDM_RABM_REESTABLISH_IND */
330typedef struct {
331 LOCAL_PARA_HDR
332#ifdef __REL7__
333 kal_uint16 ul_data_status; //24.008 clause 10.5.7.7 MSB: NSAPI15
334#endif
335} ratdm_rabm_reestablish_ind_struct;
336
337/* RATDM_RABM_REESTABLISH_RSP */
338typedef struct {
339 LOCAL_PARA_HDR
340 kal_bool Result;
341
342#ifdef __REL7__
343 kal_uint16 ul_data_status; //24.008 clause 10.5.7.7 MSB: NSAPI15
344#endif
345} ratdm_rabm_reestablish_rsp_struct;
346
347#if 0
348/* under construction !*/
349/* under construction !*/
350/* under construction !*/
351/* under construction !*/
352/* under construction !*/
353/* under construction !*/
354/* under construction !*/
355#endif
356
357/* RATDM_RABM_DATA_CNF */
358typedef struct {
359 LOCAL_PARA_HDR
360 kal_uint8 nsapi;
361 kal_uint16 npdu_num; /* The send sequence number this data conf refers to */
362} ratdm_rabm_data_cnf_struct;
363
364#if 0
365/* under construction !*/
366/* under construction !*/
367/* under construction !*/
368/* under construction !*/
369/* under construction !*/
370/* under construction !*/
371/* under construction !*/
372#endif
373
374/* RATDM_RABM_SUSPEND_DATA_PLANE_IND */
375typedef struct {
376 LOCAL_PARA_HDR
377 tRatcmRabmCause cause;
378 kal_uint8 NoOfContexts;
379 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
380} ratdm_rabm_suspend_data_plane_ind_struct;
381
382/* RATDM_RABM_RESUME_DATA_PLANE_IND */
383typedef struct {
384 LOCAL_PARA_HDR
385 kal_bool is_need_retransmit; /* Jeff Wu 2006-04-02: New */
386 tRatcmRabmCause cause;
387 kal_uint8 NoOfContexts;
388 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
389 kal_uint16 RetransmitFromSN[RABM_MAX_PS_RABS];
390} ratdm_rabm_resume_data_plane_ind_struct;
391
392/* RATDM_RABM_PDCP_RELOC_IND */
393typedef struct {
394 LOCAL_PARA_HDR
395 kal_uint8 NoOfContexts;
396 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
397 kal_uint16 UtranNextReceiveSN[RABM_MAX_PS_RABS];
398} ratdm_rabm_pdcp_reloc_ind_struct;
399
400typedef struct {
401 LOCAL_PARA_HDR
402 kal_uint8 Nsapi;
403 kal_uint16 RetransmitFromSN;
404 tRatcmRabmCause cause;
405} ratdm_rabm_retransmit_ind_struct;
406
407/* RATDM-RABM-RAB-RELEASE-IND */
408typedef struct {
409 LOCAL_PARA_HDR
410} ratdm_rabm_rab_release_ind_struct;
411
412/* MSG_ID_RATDM_RABM_RAB_STATUS_IND */
413typedef struct {
414 LOCAL_PARA_HDR
415 kal_uint8 Nsapi;
416 kal_bool need_data_cnf;
417} ratdm_rabm_rb_config_ind_struct;
418
419typedef ps_data_req_struct ratdm_rabm_data_req_struct;
420typedef ps_data_ind_struct ratdm_rabm_data_ind_struct;
421#ifdef __HSDPA_SUPPORT__
422/* MSG_ID_RATDM_RABM_RAB_CAPABILITY_IND */
423typedef struct {
424 LOCAL_PARA_HDR
425 kal_uint8 NoOfContexts;
426 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
427 data_speed_activate_enum Capability[RABM_MAX_PS_RABS];
428} ratdm_rabm_rab_capability_ind_struct;
429#endif
430
431#if 0
432/* under construction !*/
433/* under construction !*/
434/* under construction !*/
435/* under construction !*/
436/* under construction !*/
437/* under construction !*/
438#endif
439
440#if 0
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447/* under construction !*/
448#endif
449
450/* RATDM_RABM_RAT_ENTER_REQ */
451typedef struct {
452 LOCAL_PARA_HDR
453 tRabmActReqPara RabmContexts;
454} ratdm_rabm_rat_enter_req_struct;
455
456/* RATDM_RABM_RAT_LEAVE_REQ */
457typedef struct {
458 LOCAL_PARA_HDR
459 kal_uint8 NoOfContexts;
460 kal_uint8 Nsapi[RABM_MAX_PS_RABS];
461} ratdm_rabm_rat_leave_req_struct;
462
463/* RATDM_RABM_RAT_READY_IND */
464typedef struct {
465 LOCAL_PARA_HDR
466 kal_uint8 Nsapi;
467} ratdm_rabm_rat_ready_ind_struct;
468
469/* PS statistics */
470typedef struct {
471 kal_uint8 nsapi;
472 kal_uint8 result;
473} single_nsapi_info_struct;
474
475#if 0
476/* under construction !*/
477/* under construction !*/
478/* under construction !*/
479/* under construction !*/
480#endif
481
482#if 0
483/* under construction !*/
484/* under construction !*/
485/* under construction !*/
486/* under construction !*/
487/* under construction !*/
488/* under construction !*/
489/* under construction !*/
490/* under construction !*/
491/* under construction !*/
492#endif
493
494#if 0
495/* under construction !*/
496/* under construction !*/
497/* under construction !*/
498/* under construction !*/
499/* under construction !*/
500/* under construction !*/
501/* under construction !*/
502/* under construction !*/
503/* under construction !*/
504#endif
505
506typedef struct {
507 kal_uint8 nsapi;
508 kal_uint8 context_id;
509 kal_bool reset_tx;
510 kal_bool reset_rx;
511} single_nsapi_reset_cmd_struct;
512
513typedef struct {
514 LOCAL_PARA_HDR
515 kal_uint8 src_id;
516 kal_uint8 serial_num;
517 kal_uint8 total_nsapi;
518 single_nsapi_reset_cmd_struct reset_cmd[PS_TOT_CONTEXT+1];
519} ratdm_pdcp_reset_statistics_req_struct;
520
521typedef struct {
522 LOCAL_PARA_HDR
523 kal_uint8 src_id;
524 kal_uint8 serial_num;
525 kal_uint8 total_nsapi;
526 single_nsapi_reset_cmd_struct reset_cmd[PS_TOT_CONTEXT+1];
527 single_nsapi_info_struct reset_result[PS_TOT_CONTEXT+1];
528} ratdm_pdcp_reset_statistics_rsp_struct;
529
530#if 0
531/* under construction !*/
532/* under construction !*/
533/* under construction !*/
534/* under construction !*/
535/* under construction !*/
536#endif
537
538#if 0
539/* under construction !*/
540/* under construction !*/
541/* under construction !*/
542/* under construction !*/
543/* under construction !*/
544#endif
545
546#if 0
547/* under construction !*/
548/* under construction !*/
549/* under construction !*/
550/* under construction !*/
551/* under construction !*/
552#endif
553typedef struct {
554 LOCAL_PARA_HDR
555 ratdm_dlvr_data_t data;
556} ratdm_ps_dscr_data_93_ind_struct;
557#endif /* _RATDM_RABM_STRUCT_H */