OSDN Git Service

drivers: leds: Import Xiaomi changes
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / include / linux / diagchar.h
1 /* Copyright (c) 2008-2019, The Linux Foundation. All rights reserved.
2  *
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License version 2 and
5  * only version 2 as published by the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  */
12
13 #ifndef DIAGCHAR_SHARED
14 #define DIAGCHAR_SHARED
15
16 #define MSG_MASKS_TYPE          0x00000001
17 #define LOG_MASKS_TYPE          0x00000002
18 #define EVENT_MASKS_TYPE        0x00000004
19 #define PKT_TYPE                0x00000008
20 #define DEINIT_TYPE             0x00000010
21 #define USER_SPACE_DATA_TYPE    0x00000020
22 #define DCI_DATA_TYPE           0x00000040
23 #define USER_SPACE_RAW_DATA_TYPE        0x00000080
24 #define DCI_LOG_MASKS_TYPE      0x00000100
25 #define DCI_EVENT_MASKS_TYPE    0x00000200
26 #define DCI_PKT_TYPE            0x00000400
27 #define HDLC_SUPPORT_TYPE       0x00001000
28
29 #define USB_MODE                        1
30 #define MEMORY_DEVICE_MODE              2
31 #define NO_LOGGING_MODE                 3
32 #define UART_MODE                       4
33 #define SOCKET_MODE                     5
34 #define CALLBACK_MODE                   6
35
36 /* different values that go in for diag_data_type */
37
38 #define DATA_TYPE_EVENT                 0
39 #define DATA_TYPE_F3                    1
40 #define DATA_TYPE_LOG                   2
41 #define DATA_TYPE_RESPONSE              3
42 #define DATA_TYPE_DELAYED_RESPONSE      4
43 #define DATA_TYPE_DCI_LOG               0x00000100
44 #define DATA_TYPE_DCI_EVENT             0x00000200
45
46 /* Different IOCTL values */
47 #define DIAG_IOCTL_COMMAND_REG          0
48 #define DIAG_IOCTL_COMMAND_DEREG        1
49 #define DIAG_IOCTL_SWITCH_LOGGING       7
50 #define DIAG_IOCTL_GET_DELAYED_RSP_ID   8
51 #define DIAG_IOCTL_LSM_DEINIT           9
52 #define DIAG_IOCTL_DCI_INIT             20
53 #define DIAG_IOCTL_DCI_DEINIT           21
54 #define DIAG_IOCTL_DCI_SUPPORT          22
55 #define DIAG_IOCTL_DCI_REG              23
56 #define DIAG_IOCTL_DCI_STREAM_INIT      24
57 #define DIAG_IOCTL_DCI_HEALTH_STATS     25
58 #define DIAG_IOCTL_DCI_LOG_STATUS       26
59 #define DIAG_IOCTL_DCI_EVENT_STATUS     27
60 #define DIAG_IOCTL_DCI_CLEAR_LOGS       28
61 #define DIAG_IOCTL_DCI_CLEAR_EVENTS     29
62 #define DIAG_IOCTL_REMOTE_DEV           32
63 #define DIAG_IOCTL_VOTE_REAL_TIME       33
64 #define DIAG_IOCTL_GET_REAL_TIME        34
65 #define DIAG_IOCTL_PERIPHERAL_BUF_CONFIG        35
66 #define DIAG_IOCTL_PERIPHERAL_BUF_DRAIN         36
67 #define DIAG_IOCTL_REGISTER_CALLBACK    37
68 #define DIAG_IOCTL_HDLC_TOGGLE  38
69 #define DIAG_IOCTL_QUERY_PD_LOGGING     39
70
71 /* PC Tools IDs */
72 #define APQ8060_TOOLS_ID        4062
73 #define AO8960_TOOLS_ID         4064
74 #define APQ8064_TOOLS_ID        4072
75 #define MSM8625_TOOLS_ID        4075
76 #define MSM8930_TOOLS_ID        4076
77 #define MSM8630_TOOLS_ID        4077
78 #define MSM8230_TOOLS_ID        4078
79 #define APQ8030_TOOLS_ID        4079
80 #define MSM8627_TOOLS_ID        4080
81 #define MSM8227_TOOLS_ID        4081
82 #define MSM8974_TOOLS_ID        4083
83 #define APQ8074_TOOLS_ID        4090
84 #define MSM8916_TOOLS_ID        4094
85 #define APQ8084_TOOLS_ID        4095
86 #define MSM8994_TOOLS_ID        4097
87 #define MSM8939_TOOLS_ID        4103
88 #define APQ8026_TOOLS_ID        4104
89 #define MSM8909_TOOLS_ID        4108
90 #define MSM8992_TOOLS_ID        4111
91 #define MSM8952_TOOLS_ID        4110
92 #define MSM_8996_TOOLS_ID       4112
93
94 #define MSG_MASK_0                      (0x00000001)
95 #define MSG_MASK_1                      (0x00000002)
96 #define MSG_MASK_2                      (0x00000004)
97 #define MSG_MASK_3                      (0x00000008)
98 #define MSG_MASK_4                      (0x00000010)
99 #define MSG_MASK_5                      (0x00000020)
100 #define MSG_MASK_6                      (0x00000040)
101 #define MSG_MASK_7                      (0x00000080)
102 #define MSG_MASK_8                      (0x00000100)
103 #define MSG_MASK_9                      (0x00000200)
104 #define MSG_MASK_10                     (0x00000400)
105 #define MSG_MASK_11                     (0x00000800)
106 #define MSG_MASK_12                     (0x00001000)
107 #define MSG_MASK_13                     (0x00002000)
108 #define MSG_MASK_14                     (0x00004000)
109 #define MSG_MASK_15                     (0x00008000)
110 #define MSG_MASK_16                     (0x00010000)
111 #define MSG_MASK_17                     (0x00020000)
112 #define MSG_MASK_18                     (0x00040000)
113 #define MSG_MASK_19                     (0x00080000)
114 #define MSG_MASK_20                     (0x00100000)
115 #define MSG_MASK_21                     (0x00200000)
116 #define MSG_MASK_22                     (0x00400000)
117 #define MSG_MASK_23                     (0x00800000)
118 #define MSG_MASK_24                     (0x01000000)
119 #define MSG_MASK_25                     (0x02000000)
120 #define MSG_MASK_26                     (0x04000000)
121 #define MSG_MASK_27                     (0x08000000)
122 #define MSG_MASK_28                     (0x10000000)
123 #define MSG_MASK_29                     (0x20000000)
124 #define MSG_MASK_30                     (0x40000000)
125 #define MSG_MASK_31                     (0x80000000)
126
127 /*  These masks are to be used for support of all legacy messages in the sw.
128 The user does not need to remember the names as they will be embedded in
129 the appropriate macros. */
130 #define MSG_LEGACY_LOW                  MSG_MASK_0
131 #define MSG_LEGACY_MED                  MSG_MASK_1
132 #define MSG_LEGACY_HIGH                 MSG_MASK_2
133 #define MSG_LEGACY_ERROR                MSG_MASK_3
134 #define MSG_LEGACY_FATAL                MSG_MASK_4
135
136 /* Legacy Message Priorities */
137 #define MSG_LVL_FATAL                   (MSG_LEGACY_FATAL)
138 #define MSG_LVL_ERROR                   (MSG_LEGACY_ERROR | MSG_LVL_FATAL)
139 #define MSG_LVL_HIGH                    (MSG_LEGACY_HIGH | MSG_LVL_ERROR)
140 #define MSG_LVL_MED                     (MSG_LEGACY_MED | MSG_LVL_HIGH)
141 #define MSG_LVL_LOW                     (MSG_LEGACY_LOW | MSG_LVL_MED)
142
143 #define MSG_LVL_NONE                    0
144
145 /* This needs to be modified manually now, when we add
146  a new RANGE of SSIDs to the msg_mask_tbl */
147 #define MSG_MASK_TBL_CNT                26
148 #define APPS_EVENT_LAST_ID              0xCB4
149
150 #define MSG_SSID_0                      0
151 #define MSG_SSID_0_LAST                 130
152 #define MSG_SSID_1                      500
153 #define MSG_SSID_1_LAST                 506
154 #define MSG_SSID_2                      1000
155 #define MSG_SSID_2_LAST                 1007
156 #define MSG_SSID_3                      2000
157 #define MSG_SSID_3_LAST                 2008
158 #define MSG_SSID_4                      3000
159 #define MSG_SSID_4_LAST                 3014
160 #define MSG_SSID_5                      4000
161 #define MSG_SSID_5_LAST                 4010
162 #define MSG_SSID_6                      4500
163 #define MSG_SSID_6_LAST                 4584
164 #define MSG_SSID_7                      4600
165 #define MSG_SSID_7_LAST                 4616
166 #define MSG_SSID_8                      5000
167 #define MSG_SSID_8_LAST                 5036
168 #define MSG_SSID_9                      5500
169 #define MSG_SSID_9_LAST                 5517
170 #define MSG_SSID_10                     6000
171 #define MSG_SSID_10_LAST                6081
172 #define MSG_SSID_11                     6500
173 #define MSG_SSID_11_LAST                6521
174 #define MSG_SSID_12                     7000
175 #define MSG_SSID_12_LAST                7003
176 #define MSG_SSID_13                     7100
177 #define MSG_SSID_13_LAST                7111
178 #define MSG_SSID_14                     7200
179 #define MSG_SSID_14_LAST                7201
180 #define MSG_SSID_15                     8000
181 #define MSG_SSID_15_LAST                8000
182 #define MSG_SSID_16                     8500
183 #define MSG_SSID_16_LAST                8532
184 #define MSG_SSID_17                     9000
185 #define MSG_SSID_17_LAST                9008
186 #define MSG_SSID_18                     9500
187 #define MSG_SSID_18_LAST                9521
188 #define MSG_SSID_19                     10200
189 #define MSG_SSID_19_LAST                10210
190 #define MSG_SSID_20                     10251
191 #define MSG_SSID_20_LAST                10255
192 #define MSG_SSID_21                     10300
193 #define MSG_SSID_21_LAST                10300
194 #define MSG_SSID_22                     10350
195 #define MSG_SSID_22_LAST                10377
196 #define MSG_SSID_23                     10400
197 #define MSG_SSID_23_LAST                10416
198 #define MSG_SSID_24                     10500
199 #define MSG_SSID_24_LAST                10505
200 #define MSG_SSID_25                     0xC000
201 #define MSG_SSID_25_LAST                0xC063
202
203 static const uint32_t msg_bld_masks_0[] = {
204         MSG_LVL_LOW,
205         MSG_LVL_MED,
206         MSG_LVL_LOW,
207         MSG_LVL_ERROR,
208         MSG_LVL_LOW,
209         MSG_LVL_LOW,
210         MSG_LVL_MED,
211         MSG_LVL_HIGH,
212         MSG_LVL_ERROR,
213         MSG_LVL_LOW,
214         MSG_LVL_LOW,
215         MSG_LVL_ERROR,
216         MSG_LVL_MED,
217         MSG_LVL_MED,
218         MSG_LVL_MED,
219         MSG_LVL_HIGH,
220         MSG_LVL_HIGH,
221         MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
222         MSG_LVL_LOW,
223         MSG_LVL_ERROR,
224         MSG_LVL_LOW,
225         MSG_LVL_MED,
226         MSG_LVL_MED,
227         MSG_LVL_LOW,
228         MSG_LVL_MED,
229         MSG_LVL_LOW,
230         MSG_LVL_MED,
231         MSG_LVL_MED,
232         MSG_LVL_MED,
233         MSG_LVL_MED,
234         MSG_LVL_MED|MSG_MASK_7 | \
235                 MSG_MASK_8|MSG_MASK_9|MSG_MASK_10|MSG_MASK_11|MSG_MASK_12 | \
236                 MSG_MASK_13|MSG_MASK_14|MSG_MASK_15|MSG_MASK_16 | \
237                 MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20|MSG_MASK_21,
238         MSG_LVL_MED|MSG_MASK_5 | \
239                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
240                 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14| \
241                 MSG_MASK_15|MSG_MASK_16|MSG_MASK_17,
242         MSG_LVL_LOW,
243         MSG_LVL_MED,
244         MSG_LVL_HIGH,
245         MSG_LVL_HIGH,
246         MSG_LVL_HIGH,
247         MSG_LVL_HIGH,
248         MSG_LVL_MED,
249         MSG_LVL_MED,
250         MSG_LVL_MED|MSG_MASK_5 | \
251                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8,
252         MSG_LVL_LOW,
253         MSG_LVL_LOW,
254         MSG_LVL_HIGH,
255         MSG_LVL_HIGH,
256         MSG_LVL_HIGH,
257         MSG_LVL_MED,
258         MSG_LVL_MED|MSG_MASK_5 | \
259                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
260                 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15| \
261                 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20| \
262                 MSG_MASK_21|MSG_MASK_22|MSG_MASK_23|MSG_MASK_24|MSG_MASK_25,
263         MSG_LVL_MED|MSG_MASK_5 | \
264                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10,
265         MSG_LVL_MED,
266         MSG_LVL_LOW,
267         MSG_LVL_MED,
268         MSG_LVL_MED,
269         MSG_LVL_LOW,
270         MSG_LVL_LOW,
271         MSG_LVL_LOW,
272         MSG_LVL_HIGH,
273         MSG_LVL_LOW,
274         MSG_LVL_LOW,
275         MSG_LVL_LOW | MSG_MASK_5 | \
276                 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
277         MSG_LVL_LOW | MSG_MASK_5 | \
278                 MSG_MASK_6,
279         MSG_LVL_MED,
280         MSG_LVL_MED,
281         MSG_LVL_LOW,
282         MSG_LVL_MED | MSG_MASK_5 | \
283                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
284                 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15 | \
285                 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20,
286         MSG_LVL_LOW,
287         MSG_LVL_MED,
288         MSG_LVL_LOW,
289         MSG_LVL_LOW,
290         MSG_LVL_LOW,
291         MSG_LVL_HIGH,
292         MSG_LVL_HIGH,
293         MSG_LVL_LOW,
294         MSG_LVL_LOW,
295         MSG_LVL_LOW,
296         MSG_LVL_LOW,
297         MSG_LVL_LOW,
298         MSG_LVL_HIGH | MSG_MASK_21,
299         MSG_LVL_HIGH,
300         MSG_LVL_LOW,
301         MSG_LVL_LOW,
302         MSG_LVL_LOW,
303         MSG_LVL_LOW,
304         MSG_LVL_LOW,
305         MSG_LVL_LOW,
306         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
307         MSG_LVL_LOW,
308         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
309         MSG_LVL_LOW,
310         MSG_LVL_MED,
311         MSG_LVL_LOW,
312         MSG_LVL_LOW,
313         MSG_LVL_LOW,
314         MSG_LVL_LOW,
315         MSG_LVL_LOW,
316         MSG_LVL_LOW,
317         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
318         MSG_LVL_MED,
319         MSG_LVL_HIGH,
320         MSG_LVL_MED,
321         MSG_LVL_HIGH,
322         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
323         MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR,
324         MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR,
325         MSG_LVL_MED|MSG_LVL_HIGH,
326         MSG_LVL_MED|MSG_LVL_HIGH,
327         MSG_LVL_LOW,
328         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
329         MSG_LVL_HIGH,
330         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
331         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
332         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
333         MSG_LVL_LOW,
334         MSG_LVL_MED,
335         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
336         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
337         MSG_LVL_MED,
338         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
339         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
340         MSG_LVL_MED,
341         MSG_LVL_MED,
342         MSG_LVL_HIGH,
343         MSG_LVL_LOW,
344         MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
345         MSG_LVL_HIGH,
346         MSG_LVL_LOW,
347         MSG_LVL_MED,
348         MSG_LVL_MED,
349         MSG_LVL_HIGH,
350         MSG_LVL_HIGH
351 };
352
353 static const uint32_t msg_bld_masks_1[] = {
354         MSG_LVL_MED,
355         MSG_LVL_HIGH,
356         MSG_LVL_HIGH,
357         MSG_LVL_LOW,
358         MSG_LVL_HIGH,
359         MSG_LVL_HIGH,
360         MSG_LVL_HIGH
361 };
362
363 static const uint32_t msg_bld_masks_2[] = {
364         MSG_LVL_MED,
365         MSG_LVL_MED,
366         MSG_LVL_MED,
367         MSG_LVL_MED,
368         MSG_LVL_MED,
369         MSG_LVL_MED|MSG_MASK_5,
370         MSG_LVL_MED,
371         MSG_LVL_MED
372 };
373
374 static const uint32_t msg_bld_masks_3[] = {
375         MSG_LVL_MED,
376         MSG_LVL_MED,
377         MSG_LVL_MED,
378         MSG_LVL_MED,
379         MSG_LVL_MED,
380         MSG_LVL_MED|MSG_MASK_5|MSG_MASK_6|MSG_MASK_7|
381                         MSG_MASK_8|MSG_MASK_9|MSG_MASK_10,
382         MSG_LVL_MED,
383         MSG_LVL_MED,
384         MSG_LVL_MED
385 };
386
387 static const uint32_t msg_bld_masks_4[] = {
388         MSG_LVL_HIGH,
389         MSG_LVL_HIGH,
390         MSG_LVL_HIGH,
391         MSG_LVL_HIGH,
392         MSG_LVL_HIGH,
393         MSG_LVL_HIGH,
394         MSG_LVL_HIGH,
395         MSG_LVL_HIGH,
396         MSG_LVL_HIGH,
397         MSG_LVL_HIGH,
398         MSG_LVL_HIGH,
399         MSG_LVL_HIGH,
400         MSG_LVL_HIGH,
401         MSG_LVL_LOW,
402         MSG_LVL_LOW
403 };
404
405 static const uint32_t msg_bld_masks_5[] = {
406         MSG_LVL_HIGH,
407         MSG_LVL_MED,
408         MSG_LVL_HIGH,
409         MSG_LVL_MED,
410         MSG_LVL_MED,
411         MSG_LVL_MED,
412         MSG_LVL_MED,
413         MSG_LVL_MED,
414         MSG_LVL_MED,
415         MSG_LVL_MED|MSG_LVL_MED|MSG_MASK_5|MSG_MASK_6|MSG_MASK_7| \
416                 MSG_MASK_8|MSG_MASK_9,
417         MSG_LVL_MED
418 };
419
420 static const uint32_t msg_bld_masks_6[] = {
421         MSG_LVL_LOW | MSG_MASK_5,
422         MSG_LVL_LOW | MSG_MASK_5,
423         MSG_LVL_LOW | MSG_MASK_5,
424         MSG_LVL_LOW | MSG_MASK_5,
425         MSG_LVL_LOW | MSG_MASK_5,
426         MSG_LVL_LOW | MSG_MASK_5,
427         MSG_LVL_LOW | MSG_MASK_5,
428         MSG_LVL_LOW | MSG_MASK_5,
429         MSG_LVL_LOW | MSG_MASK_5,
430         MSG_LVL_LOW | MSG_MASK_5,
431         MSG_LVL_LOW | MSG_MASK_5,
432         MSG_LVL_LOW | MSG_MASK_5,
433         MSG_LVL_LOW | MSG_MASK_5,
434         MSG_LVL_LOW | MSG_MASK_5,
435         MSG_LVL_LOW | MSG_MASK_5,
436         MSG_LVL_LOW | MSG_MASK_5,
437         MSG_LVL_LOW | MSG_MASK_5,
438         MSG_LVL_LOW | MSG_MASK_5,
439         MSG_LVL_LOW | MSG_MASK_5,
440         MSG_LVL_LOW | MSG_MASK_5,
441         MSG_LVL_LOW | MSG_MASK_5,
442         MSG_LVL_LOW | MSG_MASK_5,
443         MSG_LVL_LOW | MSG_MASK_5,
444         MSG_LVL_LOW | MSG_MASK_5,
445         MSG_LVL_LOW | MSG_MASK_5,
446         MSG_LVL_LOW | MSG_MASK_5,
447         MSG_LVL_LOW | MSG_MASK_5,
448         MSG_LVL_LOW | MSG_MASK_5,
449         MSG_LVL_LOW | MSG_MASK_5,
450         MSG_LVL_LOW | MSG_MASK_5,
451         MSG_LVL_LOW | MSG_MASK_5,
452         MSG_LVL_LOW | MSG_MASK_5,
453         MSG_LVL_LOW | MSG_MASK_5,
454         MSG_LVL_LOW | MSG_MASK_5,
455         MSG_LVL_LOW | MSG_MASK_5,
456         MSG_LVL_LOW | MSG_MASK_5,
457         MSG_LVL_LOW | MSG_MASK_5,
458         MSG_LVL_LOW | MSG_MASK_5,
459         MSG_LVL_LOW | MSG_MASK_5,
460         MSG_LVL_LOW | MSG_MASK_5,
461         MSG_LVL_LOW | MSG_MASK_5,
462         MSG_LVL_LOW | MSG_MASK_5,
463         MSG_LVL_LOW | MSG_MASK_5,
464         MSG_LVL_LOW | MSG_MASK_5,
465         MSG_LVL_LOW | MSG_MASK_5,
466         MSG_LVL_LOW | MSG_MASK_5,
467         MSG_LVL_LOW | MSG_MASK_5,
468         MSG_LVL_LOW | MSG_MASK_5,
469         MSG_LVL_LOW | MSG_MASK_5,
470         MSG_LVL_LOW | MSG_MASK_5,
471         MSG_LVL_LOW | MSG_MASK_5,
472         MSG_LVL_LOW | MSG_MASK_5,
473         MSG_LVL_LOW | MSG_MASK_5,
474         MSG_LVL_LOW | MSG_MASK_5,
475         MSG_LVL_LOW | MSG_MASK_5,
476         MSG_LVL_LOW | MSG_MASK_5,
477         MSG_LVL_LOW | MSG_MASK_5,
478         MSG_LVL_LOW | MSG_MASK_5,
479         MSG_LVL_LOW | MSG_MASK_5,
480         MSG_LVL_LOW | MSG_MASK_5,
481         MSG_LVL_LOW | MSG_MASK_5,
482         MSG_LVL_LOW | MSG_MASK_5,
483         MSG_LVL_LOW | MSG_MASK_5,
484         MSG_LVL_LOW | MSG_MASK_5,
485         MSG_LVL_LOW | MSG_MASK_5,
486         MSG_LVL_LOW | MSG_MASK_5,
487         MSG_LVL_LOW | MSG_MASK_5,
488         MSG_LVL_LOW | MSG_MASK_5,
489         MSG_LVL_LOW | MSG_MASK_5,
490         MSG_LVL_LOW | MSG_MASK_5,
491         MSG_LVL_LOW | MSG_MASK_5,
492         MSG_LVL_LOW | MSG_MASK_5,
493         MSG_LVL_LOW | MSG_MASK_5,
494         MSG_LVL_LOW | MSG_MASK_5,
495         MSG_LVL_LOW | MSG_MASK_5,
496         MSG_LVL_LOW | MSG_MASK_5,
497         MSG_LVL_LOW | MSG_MASK_5,
498         MSG_LVL_LOW | MSG_MASK_5,
499         MSG_LVL_LOW | MSG_MASK_5,
500         MSG_LVL_LOW | MSG_MASK_5,
501         MSG_LVL_LOW | MSG_MASK_5,
502         MSG_LVL_LOW | MSG_MASK_5,
503         MSG_LVL_LOW | MSG_MASK_5,
504         MSG_LVL_LOW | MSG_MASK_5,
505         MSG_LVL_LOW | MSG_MASK_5,
506 };
507
508 static const uint32_t msg_bld_masks_7[] = {
509         MSG_LVL_MED,
510         MSG_LVL_MED,
511         MSG_LVL_MED,
512         MSG_LVL_MED,
513         MSG_LVL_MED,
514         MSG_LVL_MED,
515         MSG_LVL_MED,
516         MSG_LVL_MED,
517         MSG_LVL_MED,
518         MSG_LVL_MED,
519         MSG_LVL_MED,
520         MSG_LVL_MED,
521         MSG_LVL_LOW,
522         MSG_LVL_LOW,
523         MSG_LVL_LOW,
524         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
525         MSG_LVL_FATAL,
526         MSG_LVL_LOW
527 };
528
529 static const uint32_t msg_bld_masks_8[] = {
530         MSG_LVL_MED,
531         MSG_LVL_MED,
532         MSG_LVL_MED,
533         MSG_LVL_MED,
534         MSG_LVL_MED,
535         MSG_LVL_MED,
536         MSG_LVL_MED,
537         MSG_LVL_MED,
538         MSG_LVL_MED,
539         MSG_LVL_MED,
540         MSG_LVL_MED,
541         MSG_LVL_MED,
542         MSG_LVL_MED,
543         MSG_LVL_MED,
544         MSG_LVL_MED,
545         MSG_LVL_MED,
546         MSG_LVL_MED,
547         MSG_LVL_MED,
548         MSG_LVL_MED,
549         MSG_LVL_MED,
550         MSG_LVL_MED,
551         MSG_LVL_MED,
552         MSG_LVL_MED,
553         MSG_LVL_MED,
554         MSG_LVL_MED,
555         MSG_LVL_MED,
556         MSG_LVL_MED,
557         MSG_LVL_MED,
558         MSG_LVL_MED,
559         MSG_LVL_MED,
560         MSG_LVL_MED,
561         MSG_LVL_MED,
562         MSG_LVL_MED,
563         MSG_LVL_MED,
564         MSG_LVL_MED,
565         MSG_LVL_MED,
566         MSG_LVL_HIGH
567 };
568
569 static const uint32_t msg_bld_masks_9[] = {
570         MSG_LVL_MED | MSG_MASK_5,
571         MSG_LVL_MED | MSG_MASK_5,
572         MSG_LVL_MED | MSG_MASK_5,
573         MSG_LVL_MED | MSG_MASK_5,
574         MSG_LVL_MED | MSG_MASK_5,
575         MSG_LVL_MED | MSG_MASK_5,
576         MSG_LVL_MED | MSG_MASK_5,
577         MSG_LVL_MED | MSG_MASK_5,
578         MSG_LVL_MED | MSG_MASK_5,
579         MSG_LVL_MED | MSG_MASK_5,
580         MSG_LVL_MED | MSG_MASK_5,
581         MSG_LVL_MED | MSG_MASK_5,
582         MSG_LVL_MED | MSG_MASK_5,
583         MSG_LVL_MED | MSG_MASK_5,
584         MSG_LVL_MED | MSG_MASK_5,
585         MSG_LVL_MED | MSG_MASK_5,
586         MSG_LVL_MED | MSG_MASK_5,
587         MSG_LVL_LOW
588 };
589
590 static const uint32_t msg_bld_masks_10[] =  {
591         MSG_LVL_MED,
592         MSG_LVL_ERROR,
593         MSG_LVL_LOW,
594         MSG_LVL_LOW|MSG_MASK_5 | \
595                 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
596                 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15| \
597                 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20| \
598                 MSG_MASK_21|MSG_MASK_22,
599         MSG_LVL_LOW|MSG_MASK_5,
600         MSG_LVL_LOW,
601         MSG_LVL_LOW,
602         MSG_LVL_LOW,
603         MSG_LVL_LOW,
604         MSG_LVL_LOW,
605         MSG_LVL_LOW,
606         MSG_LVL_LOW,
607         MSG_LVL_LOW,
608         MSG_LVL_LOW|MSG_MASK_5,
609         MSG_LVL_LOW|MSG_MASK_5,
610         MSG_LVL_LOW|MSG_MASK_5,
611         MSG_LVL_LOW|MSG_MASK_5,
612         MSG_LVL_LOW|MSG_MASK_5,
613         MSG_LVL_LOW|MSG_MASK_5,
614         MSG_LVL_LOW|MSG_MASK_5,
615         MSG_LVL_LOW|MSG_MASK_5,
616         MSG_LVL_LOW|MSG_MASK_5,
617         MSG_LVL_LOW|MSG_MASK_5,
618         MSG_LVL_LOW|MSG_MASK_5,
619         MSG_LVL_LOW|MSG_MASK_5,
620         MSG_LVL_LOW|MSG_MASK_5,
621         MSG_LVL_LOW|MSG_MASK_5,
622         MSG_LVL_LOW|MSG_MASK_5,
623         MSG_LVL_LOW|MSG_MASK_5,
624         MSG_LVL_LOW|MSG_MASK_5,
625         MSG_LVL_LOW|MSG_MASK_5,
626         MSG_LVL_LOW|MSG_MASK_5,
627         MSG_LVL_LOW,
628         MSG_LVL_MED,
629         MSG_LVL_HIGH,
630         MSG_LVL_LOW,
631         MSG_LVL_LOW,
632         MSG_LVL_LOW|MSG_MASK_5,
633         MSG_LVL_LOW|MSG_MASK_0 | MSG_MASK_1 | MSG_MASK_2 | \
634                 MSG_MASK_3 | MSG_MASK_4 | MSG_MASK_5 | MSG_MASK_6,
635         MSG_LVL_HIGH,
636         MSG_LVL_LOW,
637         MSG_LVL_LOW,
638         MSG_LVL_LOW,
639         MSG_LVL_LOW,
640         MSG_LVL_LOW,
641         MSG_LVL_LOW,
642         MSG_LVL_LOW,
643         MSG_LVL_LOW,
644         MSG_LVL_LOW,
645         MSG_LVL_LOW,
646         MSG_LVL_LOW,
647         MSG_LVL_LOW,
648         MSG_LVL_MED,
649         MSG_LVL_MED,
650         MSG_LVL_MED,
651         MSG_LVL_MED,
652         MSG_LVL_MED,
653         MSG_LVL_MED,
654         MSG_LVL_MED,
655         MSG_LVL_MED,
656         MSG_LVL_MED,
657         MSG_LVL_MED,
658         MSG_LVL_MED,
659         MSG_LVL_MED,
660         MSG_LVL_MED,
661         MSG_LVL_MED,
662         MSG_LVL_MED,
663         MSG_LVL_MED,
664         MSG_LVL_MED,
665         MSG_LVL_MED,
666         MSG_LVL_MED,
667         MSG_LVL_MED,
668         MSG_LVL_LOW,
669         MSG_LVL_MED,
670         MSG_LVL_MED,
671         MSG_LVL_MED,
672         MSG_LVL_MED,
673         MSG_LVL_MED,
674         MSG_LVL_MED,
675         MSG_LVL_MED,
676         MSG_LVL_MED,
677         MSG_LVL_MED
678 };
679
680 static const uint32_t msg_bld_masks_11[] = {
681         MSG_LVL_LOW,
682         MSG_LVL_LOW,
683         MSG_LVL_LOW,
684         MSG_LVL_LOW,
685         MSG_LVL_LOW,
686         MSG_LVL_LOW,
687         MSG_LVL_LOW,
688         MSG_LVL_LOW,
689         MSG_LVL_LOW,
690         MSG_LVL_LOW,
691         MSG_LVL_LOW,
692         MSG_LVL_LOW,
693         MSG_LVL_LOW,
694         MSG_LVL_LOW,
695         MSG_LVL_LOW,
696         MSG_LVL_LOW,
697         MSG_LVL_LOW,
698         MSG_LVL_LOW,
699         MSG_LVL_LOW,
700         MSG_LVL_LOW,
701         MSG_LVL_LOW,
702         MSG_LVL_LOW,
703 };
704
705 static const uint32_t msg_bld_masks_12[] = {
706         MSG_LVL_MED,
707         MSG_LVL_MED,
708         MSG_LVL_MED,
709         MSG_LVL_MED,
710 };
711
712 static const uint32_t msg_bld_masks_13[] = {
713         MSG_LVL_MED,
714         MSG_LVL_MED,
715         MSG_LVL_MED,
716         MSG_LVL_MED,
717         MSG_LVL_MED,
718         MSG_LVL_MED,
719         MSG_LVL_MED,
720         MSG_LVL_MED,
721         MSG_LVL_MED,
722         MSG_LVL_MED,
723         MSG_LVL_MED,
724         MSG_LVL_MED,
725 };
726
727 static const uint32_t msg_bld_masks_14[] = {
728         MSG_LVL_MED,
729         MSG_LVL_MED,
730 };
731
732 static const uint32_t msg_bld_masks_15[] = {
733         MSG_LVL_MED
734 };
735
736 static const uint32_t msg_bld_masks_16[] = {
737         MSG_LVL_LOW,
738         MSG_LVL_LOW,
739         MSG_LVL_LOW,
740         MSG_LVL_LOW,
741         MSG_LVL_LOW,
742         MSG_LVL_LOW,
743         MSG_LVL_LOW,
744         MSG_LVL_LOW,
745         MSG_LVL_LOW,
746         MSG_LVL_LOW,
747         MSG_LVL_LOW,
748         MSG_LVL_LOW,
749         MSG_LVL_LOW,
750         MSG_LVL_LOW,
751         MSG_LVL_LOW,
752         MSG_LVL_LOW,
753         MSG_LVL_LOW,
754         MSG_LVL_LOW,
755         MSG_LVL_LOW,
756         MSG_LVL_LOW,
757         MSG_LVL_LOW,
758         MSG_LVL_LOW,
759         MSG_LVL_LOW,
760         MSG_LVL_LOW,
761         MSG_LVL_LOW,
762         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
763                 MSG_LVL_FATAL,
764         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
765                 MSG_LVL_FATAL,
766         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
767                 MSG_LVL_FATAL,
768         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
769                 MSG_LVL_FATAL,
770         MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
771                 MSG_LVL_FATAL,
772         MSG_LVL_MED,
773         MSG_LVL_MED,
774         MSG_LVL_LOW
775 };
776
777 static const uint32_t msg_bld_masks_17[] =  {
778         MSG_LVL_MED,
779         MSG_LVL_MED,
780         MSG_LVL_MED,
781         MSG_LVL_MED | MSG_MASK_6 | \
782                 MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9,
783         MSG_LVL_MED | MSG_MASK_5 | \
784                 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9 | \
785                 MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 | MSG_MASK_13 | \
786                 MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 | MSG_MASK_17,
787         MSG_LVL_MED,
788         MSG_LVL_MED | MSG_MASK_5 | \
789                 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9 | \
790                 MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 | MSG_MASK_13 | \
791                 MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 | MSG_MASK_17 | \
792                 MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20 | MSG_MASK_21 | \
793                 MSG_MASK_22,
794         MSG_LVL_MED,
795         MSG_LVL_MED,
796 };
797
798 static const uint32_t msg_bld_masks_18[] = {
799         MSG_LVL_LOW,
800         MSG_LVL_MED | MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 |
801                 MSG_MASK_12 | MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 |
802                 MSG_MASK_16 | MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 |
803                 MSG_MASK_20,
804         MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6,
805         MSG_LVL_MED | MSG_MASK_5,
806         MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6,
807         MSG_LVL_LOW,
808         MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
809                 MSG_MASK_9,
810         MSG_LVL_LOW,
811         MSG_LVL_LOW,
812         MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
813                 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
814                 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
815                 MSG_MASK_20 | MSG_MASK_21 | MSG_MASK_22,
816         MSG_LVL_LOW
817 };
818
819 static const uint32_t msg_bld_masks_19[] = {
820         MSG_LVL_LOW,
821         MSG_LVL_LOW,
822         MSG_LVL_LOW,
823         MSG_LVL_LOW,
824         MSG_LVL_LOW,
825         MSG_LVL_LOW,
826         MSG_LVL_LOW,
827         MSG_LVL_LOW,
828         MSG_LVL_LOW,
829         MSG_LVL_LOW,
830         MSG_LVL_LOW
831 };
832
833 static const uint32_t msg_bld_masks_20[] = {
834         MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 |
835         MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 |
836         MSG_MASK_12,
837         MSG_LVL_LOW,
838         MSG_LVL_LOW,
839         MSG_LVL_LOW,
840         MSG_LVL_LOW
841 };
842
843 static const uint32_t msg_bld_masks_21[] = {
844         MSG_LVL_HIGH
845 };
846
847 static const uint32_t msg_bld_masks_22[] = {
848         MSG_LVL_LOW,
849         MSG_LVL_LOW,
850         MSG_LVL_LOW,
851         MSG_LVL_LOW,
852         MSG_LVL_LOW,
853         MSG_LVL_LOW,
854         MSG_LVL_LOW,
855         MSG_LVL_LOW,
856         MSG_LVL_LOW,
857         MSG_LVL_LOW,
858         MSG_LVL_LOW,
859         MSG_LVL_LOW,
860         MSG_LVL_LOW,
861         MSG_LVL_LOW,
862         MSG_LVL_LOW,
863         MSG_LVL_LOW,
864         MSG_LVL_LOW,
865         MSG_LVL_LOW,
866         MSG_LVL_LOW,
867         MSG_LVL_LOW,
868         MSG_LVL_LOW,
869         MSG_LVL_LOW,
870         MSG_LVL_LOW,
871         MSG_LVL_LOW,
872         MSG_LVL_LOW,
873         MSG_LVL_LOW,
874         MSG_LVL_LOW,
875         MSG_LVL_LOW
876 };
877
878 static const uint32_t msg_bld_masks_23[] = {
879         MSG_LVL_LOW,
880         MSG_LVL_LOW,
881         MSG_LVL_LOW,
882         MSG_LVL_LOW,
883         MSG_LVL_LOW,
884         MSG_LVL_LOW,
885         MSG_LVL_LOW,
886         MSG_LVL_LOW,
887         MSG_LVL_LOW,
888         MSG_LVL_LOW,
889         MSG_LVL_LOW,
890         MSG_LVL_LOW,
891         MSG_LVL_LOW,
892         MSG_LVL_LOW,
893         MSG_LVL_LOW,
894         MSG_LVL_LOW,
895         MSG_LVL_LOW
896 };
897
898 static const uint32_t msg_bld_masks_24[] = {
899         MSG_LVL_HIGH,
900         MSG_LVL_HIGH,
901         MSG_LVL_HIGH,
902         MSG_LVL_HIGH,
903         MSG_LVL_HIGH,
904         MSG_LVL_HIGH
905 };
906
907 static const uint32_t msg_bld_masks_25[] = {
908         MSG_LVL_LOW
909 };
910
911 /* LOG CODES */
912 static const uint32_t log_code_last_tbl[] = {
913         0x0,    /* EQUIP ID 0 */
914         0x1CB2, /* EQUIP ID 1 */
915         0x0,    /* EQUIP ID 2 */
916         0x0,    /* EQUIP ID 3 */
917         0x4910, /* EQUIP ID 4 */
918         0x5420, /* EQUIP ID 5 */
919         0x0,    /* EQUIP ID 6 */
920         0x74FF, /* EQUIP ID 7 */
921         0x0,    /* EQUIP ID 8 */
922         0x0,    /* EQUIP ID 9 */
923         0xA38A, /* EQUIP ID 10 */
924         0xB9FF, /* EQUIP ID 11 */
925         0x0,    /* EQUIP ID 12 */
926         0xD1FF, /* EQUIP ID 13 */
927         0x0,    /* EQUIP ID 14 */
928         0x0,    /* EQUIP ID 15 */
929 };
930
931 #define LOG_GET_ITEM_NUM(xx_code)       (xx_code & 0x0FFF)
932 #define LOG_GET_EQUIP_ID(xx_code)       ((xx_code & 0xF000) >> 12)
933 #define LOG_ITEMS_TO_SIZE(num_items)    ((num_items+7)/8)
934 #define LOG_SIZE_TO_ITEMS(size)         ((8*size) - 7)
935 #define EVENT_COUNT_TO_BYTES(count)     ((count/8) + 1)
936
937 #endif