FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/L1/dyn_dwl_cfile/l1_dyn_dwl_afunc.c @ 1034:405b5469abc4 default tip
top README: repository change notice
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 12 Jun 2016 19:06:34 +0000 |
parents | 48969469d961 |
children |
rev | line source |
---|---|
925
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 /************* Revision Controle System Header ************* |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 * GSM Layer 1 software |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 * L1_DYN_DWL_AFUNC.C |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 * |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 * Filename l1_dyn_dwl_afunc.c |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 * Copyright 2004 (C) Texas Instruments |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 * |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 ************* Revision Controle System Header *************/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 |
927
48969469d961
gsm-fw: l1_dyn_dwl code compiles and links
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
925
diff
changeset
|
10 #include "config.h" |
925
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 #include "l1_confg.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 #include "l1_types.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 #include "sys_types.h" |
927
48969469d961
gsm-fw: l1_dyn_dwl code compiles and links
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
925
diff
changeset
|
14 #include "../../gpf/inc/cust_os.h" |
925
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 #include "l1_macro.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
16 #include "l1_const.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
17 #if TESTMODE |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
18 #include "l1tm_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
19 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
20 #if (AUDIO_TASK == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
21 #include "l1audio_const.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
22 #include "l1audio_cust.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
23 #include "l1audio_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
24 #include "l1audio_signa.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
25 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 #if (L1_GTT == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
27 #include "l1gtt_const.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
28 #include "l1gtt_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
29 #include "l1gtt_signa.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
30 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
31 #if (L1_DYN_DSP_DWNLD == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
32 #include "l1_dyn_dwl_msgty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
33 #include "l1_dyn_dwl_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
34 #include "l1_dyn_dwl_proto.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
35 #include "l1_dyn_dwl_const.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
36 #endif //L1_DYN_DSP_DWNLD |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
37 #if (L1_MP3 == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
38 #include "l1mp3_signa.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
39 #include "l1mp3_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
40 #endif //L1_MP3 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
41 #if (L1_MIDI == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
42 #include "l1midi_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
43 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
44 #if (L1_AAC == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
45 #include "l1aac_signa.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
46 #include "l1aac_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
47 #endif //L1_AAC |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
48 #include "l1_defty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
49 #include "l1_varex.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
50 #include "l1_msgty.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
51 #include "l1_proto.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
52 #include "l1_signa.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
53 #include <string.h> |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
54 #include <stdio.h> |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
55 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
56 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
57 #if (TRACE_TYPE == 1) ||(TRACE_TYPE == 4) || (TRACE_TYPE == 7) || (TESTMODE) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
58 #include "l1_trace.h" |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
59 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
60 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
61 #if (L1_DYN_DSP_DWNLD == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
62 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
63 extern const BOOL primitives_to_patch_matrix[][MAX_NUM_OF_PATCH_IDS]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
64 extern const BOOL incompatibility_matrix[][MAX_NUM_OF_PATCH_IDS]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
65 extern const BOOL semaphore_matrix[][MAX_NUM_OF_SEMAPHORES]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
66 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
67 /* table reconstructed from disassembly of TCS211 binary object */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
68 const T_SIGNAL_PATCH signal_patch_array[NUM_OF_DYN_DWNLD_PRIMITIVES] = |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
69 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
70 {L1C_STOP_DEDICATED_DONE, 0}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
71 #if (L1_GTT == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
72 {MMI_GTT_START_REQ, 1}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
73 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
74 {MPHC_IMMED_ASSIGN_REQ, 2}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
75 #if (MELODY_E2 == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
76 {MMI_MELODY0_E2_START_REQ, 3}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
77 {MMI_MELODY1_E2_START_REQ, 4}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
78 {L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON, 5}, |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
79 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
80 }; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
81 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
82 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
83 /* |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
84 * LoCosto version of L1 has a function called l1_check_flag_for_download_area() |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
85 * here. TCS211 binary object has l1_handle_particular_cases_for_TCS211() |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
86 * instead. We are going to reconstruct the TCS211 function based on |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
87 * disassembly, using the LoCosto version as our starting point. |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
88 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
89 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
90 void l1_handle_particular_cases_for_TCS211(UWORD32 msg_code, BOOL *return_flag) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
91 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
92 switch(msg_code) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
93 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
94 /* from disassembly */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
95 case MPHC_IMMED_ASSIGN_REQ: /* 0x0033 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
96 /* code at 0x8e */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
97 l1a.dyn_dwnld.dedicated_stop_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
98 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
99 case L1C_STOP_DEDICATED_DONE: /* 0x0081 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
100 /* code at 0x86 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
101 l1a.dyn_dwnld.dedicated_stop_flag = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
102 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
103 #if (MELODY_E2 == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
104 case MMI_MELODY0_E2_START_REQ: /* 0x182E */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
105 /* code at 0x6c */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
106 l1a.dyn_dwnld.melody0_E2_flag_activated = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
107 if (l1a.dyn_dwnld.melody1_E2_flag_activated == TRUE) { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
108 /* code at 0x80 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
109 *return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
110 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
111 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
112 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
113 case MMI_MELODY1_E2_START_REQ: /* 0x1832 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
114 /* code at 0x56 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
115 l1a.dyn_dwnld.melody1_E2_flag_activated = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
116 if (l1a.dyn_dwnld.melody0_E2_flag_activated == TRUE) { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
117 /* code at 0x80 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
118 *return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
119 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
120 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
121 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
122 case L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON: /* 0x1866 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
123 /* code at 0x3e */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
124 if (l1a.dyn_dwnld.melody0_E2_flag_activated == TRUE || |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
125 l1a.dyn_dwnld.melody1_E2_flag_activated == TRUE) { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
126 /* code at 0x80 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
127 *return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
128 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
129 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
130 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
131 case L1_MELODY0_E2_STOP_CON: /* 0x1867 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
132 /* code at 0x36 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
133 l1a.dyn_dwnld.melody0_E2_flag_activated = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
134 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
135 case L1_MELODY1_E2_STOP_CON: /* 0x1868 */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
136 /* code at 0x2e */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
137 l1a.dyn_dwnld.melody1_E2_flag_activated = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
138 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
139 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
140 default: |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
141 return; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
142 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
143 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
144 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
145 /*------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
146 /* l1_does_the_incoming_primitive_trigger_dynamic_dwnld */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
147 /*------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
148 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
149 /* Parameters : Signal Code of the message, delay flag */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
150 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
151 /* Return : TRUE if the primitive triggers a dynamic download, FALSE in the other case */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
152 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
153 /* Description : Check if the primitive triggers a dynamic download; if yes it return TRUE, otherwise FALSE */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
154 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
155 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
156 /*------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
157 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
158 BOOL l1_does_the_incoming_primitive_trigger_dynamic_dwnld(UWORD32 msg_code, BOOL delay_flag) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
159 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
160 BOOL return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
161 UWORD16 i; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
162 for (i=0;i<l1a.dyn_dwnld.num_of_primitives;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
163 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
164 if(msg_code == signal_patch_array[i].primitive) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
165 return_flag = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
166 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
167 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
168 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
169 l1_handle_particular_cases_for_TCS211(msg_code, &return_flag); |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
170 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
171 return return_flag; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
172 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
173 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
174 /*---------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
175 /* l1_lookup_primitive_patch_matrix */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
176 /*---------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
177 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
178 /* Parameters : Signal Code of the message, patch_id vector */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
179 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
180 /* Return : number of patches to download, patch ids vectore (by reference) */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
181 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
182 /* Description : Retrieves the patch ids to be downloaded and number of patches to download */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
183 /* Patch ID is retrieved via look-up in primitives to patch ID matrix */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
184 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
185 /*---------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
186 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
187 UWORD16 l1_lookup_primitive_patch_matrix(UWORD32 msg_code, UWORD16* patch_id_p) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
188 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
189 UWORD16 j; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
190 UWORD16 counter=0; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
191 UWORD16 msg_code_id=0 ;//omaps00090550 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
192 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
193 // Check if one of the messages belongs to the set of primitves which triggers a dynamic download and saves its index |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
194 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
195 #if 0 // LoCosto-ism not present in TCS211 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
196 if (!((l1a.state[L1A_GTT_STATE] == 0) || (l1a.state[L1A_GTT_STATE] == 1))) // TTY ON |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
197 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
198 if(msg_code == MMI_TCH_VOCODER_CFG_REQ) // AND Current_message == VOCODER |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
199 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
200 // Dont do anything |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
201 return 0; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
202 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
203 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
204 #endif |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
205 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
206 for (j=0;j<NUM_OF_DYN_DWNLD_PRIMITIVES;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
207 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
208 if (msg_code == signal_patch_array[j].primitive) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
209 msg_code_id = signal_patch_array[j].msg_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
210 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
211 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
212 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
213 // Compute the number of elements to be downloaded and their ids |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
214 for (j=0; j<MAX_NUM_OF_PATCH_IDS; j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
215 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
216 patch_id_p[j]=0xFFFF; //omaps00090550 ; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
217 if(primitives_to_patch_matrix[msg_code_id][j] == 1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
218 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
219 patch_id_p[counter++]=j; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
220 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
221 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
222 return counter; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
223 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
224 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
225 /*------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
226 /* l1_is_patch_already_installed */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
227 /*------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
228 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
229 /* Parameters : patch id */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
230 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
231 /* Return : TRUE patch is already installed, FALSE otherwise */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
232 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
233 /* Description : Check if the selected patch id is already installed or not*/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
234 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
235 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
236 /*------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
237 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
238 BOOL l1_is_patch_already_installed (UWORD16 patch_id) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
239 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
240 UWORD16 i=0; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
241 while(i<l1a.dyn_dwnld.num_patches_installed) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
242 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
243 if(l1a.dyn_dwnld.patch_id[i]==patch_id) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
244 break; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
245 else |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
246 i++; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
247 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
248 if(i<l1a.dyn_dwnld.num_patches_installed) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
249 return TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
250 else |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
251 return FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
252 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
253 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
254 /*----------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
255 /* l1_is_patch_id_in_uninstall_set */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
256 /*----------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
257 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
258 /* Parameters : patch id, uninstall address vector, num of uninstall elements */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
259 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
260 /* Return : TRUE patch is in the set, FALSE otherwise */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
261 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
262 /* Description : Check if the selected patch id is in the uninstall set or not */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
263 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
264 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
265 /*----------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
266 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
267 BOOL l1_is_patch_id_in_uninstall_set (UWORD16 patch_id, UWORD16 *uninstall_patch_vect, UWORD16 num_of_uninstall_elem) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
268 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
269 UWORD16 i; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
270 for (i=0;i<num_of_uninstall_elem;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
271 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
272 if(patch_id==uninstall_patch_vect[i]) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
273 return TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
274 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
275 return FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
276 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
277 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
278 /*--------------------------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
279 /* l1_manage_patch_incompatibilty */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
280 /*--------------------------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
281 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
282 /* Parameters : num of patch to download, num of uninstalled elements (pointer), uninstall vect */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
283 /* Return : TRUE if there is some patch to uninstall, FALSE otherwise. By reference, num of patches to uninstall and their IDs */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
284 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
285 /* Description : Check if some patch must be uninstalled: in case, retrieves the number of patch to uninstall and their IDs */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
286 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
287 /*--------------------------------------------------------------------------------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
288 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
289 BOOL l1_manage_patch_incompatibilty(UWORD16 num_of_patch_id_to_dwnld, UWORD16 *num_of_uninstall_elem, UWORD16 *uninstall_patch_id_vect) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
290 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
291 UWORD16 i,j; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
292 UWORD16 patch_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
293 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
294 // Reset values passed by reference |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
295 *num_of_uninstall_elem=0; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
296 for(j=0;j<MAX_NUM_OF_PATCH_IDS;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
297 uninstall_patch_id_vect[j]=0xFFFF; //omaps00090550 ; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
298 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
299 // First cycle: for all the patches that must be downloaded |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
300 for(i=0;i<num_of_patch_id_to_dwnld;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
301 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
302 patch_id=l1a.dyn_dwnld.next_patch_id[i]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
303 // Check all incompatibilities |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
304 for(j=0;j<MAX_NUM_OF_PATCH_IDS;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
305 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
306 // If patch ID j is incompatible with selected patch id that must be downloaded |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
307 if(incompatibility_matrix[patch_id][j]==1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
308 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
309 // If patch j is already installed and not yet in the uninstall set |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
310 if((l1_is_patch_already_installed(j) == TRUE) && (l1_is_patch_id_in_uninstall_set(j,uninstall_patch_id_vect,(*num_of_uninstall_elem))==FALSE)) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
311 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
312 // Add patch j in the uninstall set and increase number of uninstall elements |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
313 uninstall_patch_id_vect[*num_of_uninstall_elem]=j; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
314 (*num_of_uninstall_elem)++; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
315 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
316 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
317 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
318 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
319 if(*num_of_uninstall_elem==0) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
320 return TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
321 else |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
322 return FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
323 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
324 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
325 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
326 /* l1_set_semaphores_for_all_state_machines_involved */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
327 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
328 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
329 /* Parameters : num of patches to download, */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
330 /* Return : none */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
331 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
332 /* Description : Set semaphores for the state machines impacted */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
333 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
334 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
335 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
336 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
337 void l1_set_semaphores_for_all_state_machines_involved(UWORD16 num_of_patch_id_to_dwnld, UWORD16* next_patch_id) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
338 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
339 UWORD16 i,j, patch_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
340 for (i=0;i<num_of_patch_id_to_dwnld;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
341 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
342 patch_id = next_patch_id[i]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
343 for(j=0;j<MAX_NUM_OF_SEMAPHORES;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
344 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
345 if(semaphore_matrix[patch_id][j]==1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
346 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
347 l1a.dyn_dwnld.semaphore_vect[j]=RED; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
348 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
349 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
350 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
351 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
352 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
353 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
354 /* l1_update_semaphores_for_all_state_machines */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
355 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
356 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
357 /* Parameters : num of patches to download, */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
358 /* Return : none */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
359 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
360 /* Description : Update semaphores for the state machines impacted */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
361 /* (DELAY case) */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
362 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
363 /*----------------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
364 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
365 void l1_update_semaphores_for_all_state_machines(UWORD16 num_of_patch_id_to_dwnld) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
366 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
367 /* In case of delay the patch which is DELAYED may have been be already installed*/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
368 /* The semaphores that have been raised during the previous dynamic download */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
369 /* for that patch must be updated */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
370 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
371 UWORD16 i,j, patch_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
372 for(j=0;j<MAX_NUM_OF_SEMAPHORES;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
373 l1a.dyn_dwnld.semaphore_vect[j] = GREEN; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
374 for (i=0;i<num_of_patch_id_to_dwnld;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
375 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
376 patch_id = l1a.dyn_dwnld.next_patch_id[i]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
377 for(j=0;j<MAX_NUM_OF_SEMAPHORES;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
378 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
379 if(semaphore_matrix[patch_id][j]==1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
380 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
381 l1a.dyn_dwnld.semaphore_vect[j]=RED; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
382 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
383 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
384 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
385 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
386 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
387 /*-------------------------------------------------------*/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
388 /* l1_reset_semaphores */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
389 /*-------------------------------------------------------*/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
390 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
391 /* Parameters : none */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
392 /* Return : */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
393 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
394 /* Description : Reset semaphores only for the state machines related to the currently downloaded patches */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
395 /* In fact, because of delay, some semaphores can be set for patch that will be downloaded in the follwoing step */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
396 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
397 /*-------------------------------------------------------*/ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
398 void l1_reset_semaphores() |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
399 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
400 UWORD16 i,j, patch_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
401 for (i=0;i<l1a.dyn_dwnld.num_of_elem_to_copy;i++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
402 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
403 patch_id = l1a.dyn_dwnld.next_patch_id[i]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
404 for(j=0;j<MAX_NUM_OF_SEMAPHORES;j++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
405 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
406 if(semaphore_matrix[patch_id][j]==1) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
407 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
408 l1a.dyn_dwnld.semaphore_vect[j]=GREEN; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
409 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
410 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
411 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
412 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
413 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
414 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
415 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
416 /* l1_push_Primitive */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
417 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
418 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
419 /* Parameters : primitive ID */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
420 /* Return : TRUE if push is successful, FALSE otherwise */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
421 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
422 /* Description : Push primitive ID into DELAY FIFO */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
423 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
424 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
425 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
426 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
427 BOOL l1_push_Primitive(UWORD32 primitive_id) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
428 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
429 UWORD32 num_elem = l1a.dyn_dwnld.waiting_patch_fifo.num_of_elem; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
430 BOOL return_flag = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
431 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
432 if(num_elem >= MAX_NUM_OF_PATCH_IDS) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
433 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
434 return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
435 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
436 else |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
437 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
438 l1a.dyn_dwnld.waiting_patch_fifo.signal_code_vect[num_elem++] = primitive_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
439 l1a.dyn_dwnld.waiting_patch_fifo.num_of_elem = num_elem; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
440 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
441 return return_flag; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
442 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
443 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
444 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
445 /* l1_pop_Primitive */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
446 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
447 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
448 /* Parameters : primitive ID (pointer) */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
449 /* Return : TRUE if pop is successful, FALSE otherwise */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
450 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
451 /* Description : Pop primitive from DELAY FIFO */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
452 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
453 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
454 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
455 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
456 BOOL l1_pop_Primitive(UWORD32 *p_primitive) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
457 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
458 UWORD32 primitive_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
459 UWORD8 ind; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
460 UWORD32 num_elem = l1a.dyn_dwnld.waiting_patch_fifo.num_of_elem; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
461 BOOL return_flag = TRUE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
462 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
463 if(num_elem <= 0) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
464 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
465 return_flag = FALSE; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
466 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
467 else |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
468 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
469 primitive_id = l1a.dyn_dwnld.waiting_patch_fifo.signal_code_vect[0]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
470 for (ind = 0;ind<num_elem-1;ind++) |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
471 l1a.dyn_dwnld.waiting_patch_fifo.signal_code_vect[ind] = l1a.dyn_dwnld.waiting_patch_fifo.signal_code_vect[ind+1]; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
472 l1a.dyn_dwnld.waiting_patch_fifo.signal_code_vect[num_elem-1] = 0; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
473 l1a.dyn_dwnld.waiting_patch_fifo.num_of_elem = num_elem-1; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
474 *p_primitive = primitive_id; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
475 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
476 return return_flag; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
477 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
478 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
479 /* l1_check_Fifo_Primitive */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
480 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
481 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
482 /* Parameters : none */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
483 /* Return : Number of elements in the FIFO */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
484 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
485 /* Description : Return number of elements in the FIFO */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
486 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
487 /* */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
488 /*---------------------------------------------------------- */ |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
489 |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
490 UWORD32 l1_check_Fifo_Primitive() |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
491 { |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
492 return l1a.dyn_dwnld.waiting_patch_fifo.num_of_elem; |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
493 } |
c56ba3363aa3
gsm-fw: l1_dyn_dwl code imported from tcs211-l1-reconst
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
494 #endif // L1_DYN_DSP_DWNLD == 1 |