blob: d525e8411dfad229e9c34a1013bbad02676db920 [file] [log] [blame]
Dixon Peterson0181d662013-01-07 19:27:35 -08001/* Copyright (c) 2008-2013, The Linux Foundation. All rights reserved.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002 *
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 1
17#define LOG_MASKS_TYPE 2
18#define EVENT_MASKS_TYPE 4
19#define PKT_TYPE 8
20#define DEINIT_TYPE 16
Shalabh Jain84e30342012-10-16 16:16:08 -070021#define USER_SPACE_DATA_TYPE 32
Shalabh Jain1c99e4c2012-03-26 18:47:59 -070022#define DCI_DATA_TYPE 64
Ravi Aravamudhan72c55282013-03-20 19:29:01 -070023#define CALLBACK_DATA_TYPE 128
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070024#define USB_MODE 1
25#define MEMORY_DEVICE_MODE 2
26#define NO_LOGGING_MODE 3
Shalabh Jain69890aa2011-10-10 12:59:16 -070027#define UART_MODE 4
Dixon Peterson625ee652012-06-21 22:03:49 -070028#define SOCKET_MODE 5
Shalabh Jain84e30342012-10-16 16:16:08 -070029#define CALLBACK_MODE 6
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070030/* different values that go in for diag_data_type */
31#define DATA_TYPE_EVENT 0
32#define DATA_TYPE_F3 1
33#define DATA_TYPE_LOG 2
34#define DATA_TYPE_RESPONSE 3
35
36/* Different IOCTL values */
37#define DIAG_IOCTL_COMMAND_REG 0
38#define DIAG_IOCTL_SWITCH_LOGGING 7
39#define DIAG_IOCTL_GET_DELAYED_RSP_ID 8
40#define DIAG_IOCTL_LSM_DEINIT 9
Shalabh Jain1c99e4c2012-03-26 18:47:59 -070041#define DIAG_IOCTL_DCI_INIT 20
42#define DIAG_IOCTL_DCI_DEINIT 21
43#define DIAG_IOCTL_DCI_SUPPORT 22
44#define DIAG_IOCTL_DCI_REG 23
Shalabh Jain16794902012-09-14 10:56:49 -070045#define DIAG_IOCTL_DCI_STREAM_INIT 24
Shalabh Jaina1c69a42012-10-23 12:51:30 -070046#define DIAG_IOCTL_DCI_HEALTH_STATS 25
Mohit Aggarwal3aa45862013-03-05 18:37:58 +053047#define DIAG_IOCTL_DCI_LOG_STATUS 26
48#define DIAG_IOCTL_DCI_EVENT_STATUS 27
49#define DIAG_IOCTL_DCI_CLEAR_LOGS 28
50#define DIAG_IOCTL_DCI_CLEAR_EVENTS 29
Dixon Peterson70170f72012-11-05 20:25:11 -080051#define DIAG_IOCTL_REMOTE_DEV 32
Ravi Aravamudhan6a2da562013-06-17 16:01:34 -070052#define DIAG_IOCTL_VOTE_REAL_TIME 33
53#define DIAG_IOCTL_GET_REAL_TIME 34
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070054
Dixon Petersonb4618a42012-02-29 18:56:31 -080055/* PC Tools IDs */
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070056#define APQ8060_TOOLS_ID 4062
57#define AO8960_TOOLS_ID 4064
Shalabh Jainfb8e3c12011-10-19 17:29:42 -070058#define APQ8064_TOOLS_ID 4072
Dixon Petersonb4618a42012-02-29 18:56:31 -080059#define MSM8625_TOOLS_ID 4075
Shalabh Jaina7557842012-02-01 20:25:03 +053060#define MSM8930_TOOLS_ID 4076
61#define MSM8630_TOOLS_ID 4077
62#define MSM8230_TOOLS_ID 4078
63#define APQ8030_TOOLS_ID 4079
64#define MSM8627_TOOLS_ID 4080
65#define MSM8227_TOOLS_ID 4081
Dixon Petersona2dd7352012-05-21 17:37:10 -070066#define MSM8974_TOOLS_ID 4083
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070067
68#define MSG_MASK_0 (0x00000001)
69#define MSG_MASK_1 (0x00000002)
70#define MSG_MASK_2 (0x00000004)
71#define MSG_MASK_3 (0x00000008)
72#define MSG_MASK_4 (0x00000010)
73#define MSG_MASK_5 (0x00000020)
74#define MSG_MASK_6 (0x00000040)
75#define MSG_MASK_7 (0x00000080)
76#define MSG_MASK_8 (0x00000100)
77#define MSG_MASK_9 (0x00000200)
78#define MSG_MASK_10 (0x00000400)
79#define MSG_MASK_11 (0x00000800)
80#define MSG_MASK_12 (0x00001000)
81#define MSG_MASK_13 (0x00002000)
82#define MSG_MASK_14 (0x00004000)
83#define MSG_MASK_15 (0x00008000)
84#define MSG_MASK_16 (0x00010000)
85#define MSG_MASK_17 (0x00020000)
86#define MSG_MASK_18 (0x00040000)
87#define MSG_MASK_19 (0x00080000)
88#define MSG_MASK_20 (0x00100000)
89#define MSG_MASK_21 (0x00200000)
90#define MSG_MASK_22 (0x00400000)
91#define MSG_MASK_23 (0x00800000)
92#define MSG_MASK_24 (0x01000000)
93#define MSG_MASK_25 (0x02000000)
94#define MSG_MASK_26 (0x04000000)
95#define MSG_MASK_27 (0x08000000)
96#define MSG_MASK_28 (0x10000000)
97#define MSG_MASK_29 (0x20000000)
98#define MSG_MASK_30 (0x40000000)
99#define MSG_MASK_31 (0x80000000)
100
101/* These masks are to be used for support of all legacy messages in the sw.
102The user does not need to remember the names as they will be embedded in
103the appropriate macros. */
104#define MSG_LEGACY_LOW MSG_MASK_0
105#define MSG_LEGACY_MED MSG_MASK_1
106#define MSG_LEGACY_HIGH MSG_MASK_2
107#define MSG_LEGACY_ERROR MSG_MASK_3
108#define MSG_LEGACY_FATAL MSG_MASK_4
109
110/* Legacy Message Priorities */
111#define MSG_LVL_FATAL (MSG_LEGACY_FATAL)
112#define MSG_LVL_ERROR (MSG_LEGACY_ERROR | MSG_LVL_FATAL)
113#define MSG_LVL_HIGH (MSG_LEGACY_HIGH | MSG_LVL_ERROR)
114#define MSG_LVL_MED (MSG_LEGACY_MED | MSG_LVL_HIGH)
115#define MSG_LVL_LOW (MSG_LEGACY_LOW | MSG_LVL_MED)
116
117#define MSG_LVL_NONE 0
118
119/* This needs to be modified manually now, when we add
120 a new RANGE of SSIDs to the msg_mask_tbl */
Shalabh Jain44b79b72012-06-15 13:39:27 -0700121#define MSG_MASK_TBL_CNT 24
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700122#define EVENT_LAST_ID 0x09CB
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700123
124#define MSG_SSID_0 0
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700125#define MSG_SSID_0_LAST 97
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700126#define MSG_SSID_1 500
127#define MSG_SSID_1_LAST 506
128#define MSG_SSID_2 1000
129#define MSG_SSID_2_LAST 1007
130#define MSG_SSID_3 2000
131#define MSG_SSID_3_LAST 2008
132#define MSG_SSID_4 3000
Shalabh Jain321c8b52012-02-22 12:37:06 -0800133#define MSG_SSID_4_LAST 3014
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700134#define MSG_SSID_5 4000
135#define MSG_SSID_5_LAST 4010
136#define MSG_SSID_6 4500
137#define MSG_SSID_6_LAST 4526
138#define MSG_SSID_7 4600
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700139#define MSG_SSID_7_LAST 4614
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700140#define MSG_SSID_8 5000
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700141#define MSG_SSID_8_LAST 5030
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700142#define MSG_SSID_9 5500
Shalabh Jain321c8b52012-02-22 12:37:06 -0800143#define MSG_SSID_9_LAST 5516
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700144#define MSG_SSID_10 6000
Ravi Aravamudhanfebd62a2013-02-04 18:57:32 -0800145#define MSG_SSID_10_LAST 6080
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700146#define MSG_SSID_11 6500
147#define MSG_SSID_11_LAST 6521
148#define MSG_SSID_12 7000
149#define MSG_SSID_12_LAST 7003
150#define MSG_SSID_13 7100
151#define MSG_SSID_13_LAST 7111
152#define MSG_SSID_14 7200
153#define MSG_SSID_14_LAST 7201
154#define MSG_SSID_15 8000
155#define MSG_SSID_15_LAST 8000
156#define MSG_SSID_16 8500
157#define MSG_SSID_16_LAST 8523
158#define MSG_SSID_17 9000
159#define MSG_SSID_17_LAST 9008
160#define MSG_SSID_18 9500
161#define MSG_SSID_18_LAST 9509
Shalabh Jain321c8b52012-02-22 12:37:06 -0800162#define MSG_SSID_19 10200
163#define MSG_SSID_19_LAST 10210
164#define MSG_SSID_20 10251
165#define MSG_SSID_20_LAST 10255
166#define MSG_SSID_21 10300
167#define MSG_SSID_21_LAST 10300
168#define MSG_SSID_22 10350
Ravi Aravamudhanfebd62a2013-02-04 18:57:32 -0800169#define MSG_SSID_22_LAST 10374
Shalabh Jain44b79b72012-06-15 13:39:27 -0700170#define MSG_SSID_23 0xC000
171#define MSG_SSID_23_LAST 0xC063
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700172
173struct diagpkt_delay_params {
174 void *rsp_ptr;
175 int size;
176 int *num_bytes_ptr;
177};
178
179static const uint32_t msg_bld_masks_0[] = {
180 MSG_LVL_LOW,
181 MSG_LVL_MED,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700182 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700183 MSG_LVL_ERROR,
184 MSG_LVL_LOW,
185 MSG_LVL_MED,
186 MSG_LVL_MED,
187 MSG_LVL_HIGH,
188 MSG_LVL_ERROR,
189 MSG_LVL_LOW,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700190 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700191 MSG_LVL_ERROR,
192 MSG_LVL_MED,
193 MSG_LVL_MED,
194 MSG_LVL_MED,
195 MSG_LVL_HIGH,
196 MSG_LVL_HIGH,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700197 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700198 MSG_LVL_LOW,
199 MSG_LVL_ERROR,
200 MSG_LVL_LOW,
201 MSG_LVL_MED,
202 MSG_LVL_MED,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700203 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700204 MSG_LVL_MED,
205 MSG_LVL_LOW,
206 MSG_LVL_MED,
207 MSG_LVL_MED,
208 MSG_LVL_MED,
209 MSG_LVL_MED,
210 MSG_LVL_MED|MSG_MASK_7 | \
211 MSG_MASK_8|MSG_MASK_9|MSG_MASK_10|MSG_MASK_11|MSG_MASK_12 | \
212 MSG_MASK_13|MSG_MASK_14|MSG_MASK_15|MSG_MASK_16 | \
213 MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20|MSG_MASK_21,
214 MSG_LVL_MED|MSG_MASK_5 | \
215 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
216 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14| \
217 MSG_MASK_15|MSG_MASK_16|MSG_MASK_17,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700218 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700219 MSG_LVL_MED,
220 MSG_LVL_HIGH,
221 MSG_LVL_HIGH,
222 MSG_LVL_HIGH,
223 MSG_LVL_HIGH,
224 MSG_LVL_MED,
225 MSG_LVL_MED,
226 MSG_LVL_MED|MSG_MASK_5 | \
227 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8,
228 MSG_LVL_LOW,
229 MSG_LVL_LOW,
230 MSG_LVL_HIGH,
231 MSG_LVL_HIGH,
232 MSG_LVL_HIGH,
233 MSG_LVL_MED,
234 MSG_LVL_MED|MSG_MASK_5 | \
235 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
236 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15| \
237 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20| \
238 MSG_MASK_21|MSG_MASK_22|MSG_MASK_23|MSG_MASK_24|MSG_MASK_25,
239 MSG_LVL_MED|MSG_MASK_5 | \
240 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10,
241 MSG_LVL_MED,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700242 MSG_LVL_LOW,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700243 MSG_LVL_LOW,
244 MSG_LVL_MED,
245 MSG_LVL_LOW,
246 MSG_LVL_LOW,
247 MSG_LVL_LOW,
248 MSG_LVL_HIGH,
249 MSG_LVL_LOW,
250 MSG_LVL_LOW,
251 MSG_LVL_LOW | MSG_MASK_5 | \
252 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
253 MSG_LVL_LOW | MSG_MASK_5 | \
254 MSG_MASK_6,
255 MSG_LVL_MED,
256 MSG_LVL_MED,
257 MSG_LVL_LOW,
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_LVL_LOW,
263 MSG_LVL_MED,
264 MSG_LVL_LOW,
265 MSG_LVL_LOW,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800266 MSG_LVL_LOW,
267 MSG_LVL_HIGH,
268 MSG_LVL_HIGH,
269 MSG_LVL_LOW,
270 MSG_LVL_LOW,
271 MSG_LVL_LOW,
272 MSG_LVL_LOW,
273 MSG_LVL_LOW,
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700274 MSG_LVL_HIGH | MSG_MASK_21,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800275 MSG_LVL_HIGH,
276 MSG_LVL_LOW,
277 MSG_LVL_LOW,
278 MSG_LVL_LOW,
279 MSG_LVL_LOW,
280 MSG_LVL_LOW,
281 MSG_LVL_LOW,
282 MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
283 MSG_LVL_MED,
284 MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
285 MSG_LVL_LOW,
286 MSG_LVL_MED,
Shalabh Jainc00dd9b2012-06-23 14:34:18 -0700287 MSG_LVL_LOW,
Ravi Aravamudhan3c3442e2013-03-05 09:37:25 -0800288 MSG_LVL_LOW,
289 MSG_LVL_LOW,
Dixon Peterson434f1952013-05-07 17:01:47 -0700290 MSG_LVL_LOW,
Ravi Aravamudhan1f0dc1d2013-04-12 13:55:55 -0700291 MSG_LVL_LOW,
292 MSG_LVL_LOW,
293 MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700294 MSG_LVL_MED,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700295};
296
297static const uint32_t msg_bld_masks_1[] = {
298 MSG_LVL_MED,
299 MSG_LVL_HIGH,
300 MSG_LVL_HIGH,
301 MSG_LVL_LOW,
302 MSG_LVL_HIGH,
303 MSG_LVL_HIGH,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800304 MSG_LVL_HIGH
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700305};
306
307static const uint32_t msg_bld_masks_2[] = {
308 MSG_LVL_MED,
309 MSG_LVL_MED,
310 MSG_LVL_MED,
311 MSG_LVL_MED,
312 MSG_LVL_MED,
313 MSG_LVL_MED|MSG_MASK_5,
314 MSG_LVL_MED,
315 MSG_LVL_MED
316};
317
318static const uint32_t msg_bld_masks_3[] = {
319 MSG_LVL_MED,
320 MSG_LVL_MED,
321 MSG_LVL_MED,
322 MSG_LVL_MED,
323 MSG_LVL_MED,
324 MSG_LVL_MED,
325 MSG_LVL_MED,
326 MSG_LVL_MED,
327 MSG_LVL_MED
328};
329
330static const uint32_t msg_bld_masks_4[] = {
331 MSG_LVL_HIGH,
332 MSG_LVL_HIGH,
333 MSG_LVL_HIGH,
334 MSG_LVL_HIGH,
335 MSG_LVL_HIGH,
336 MSG_LVL_HIGH,
337 MSG_LVL_HIGH,
338 MSG_LVL_HIGH,
339 MSG_LVL_HIGH,
340 MSG_LVL_HIGH,
341 MSG_LVL_HIGH,
342 MSG_LVL_HIGH,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800343 MSG_LVL_HIGH,
344 MSG_LVL_LOW,
345 MSG_LVL_LOW
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700346};
347
348static const uint32_t msg_bld_masks_5[] = {
349 MSG_LVL_HIGH,
350 MSG_LVL_MED,
351 MSG_LVL_HIGH,
352 MSG_LVL_MED,
353 MSG_LVL_MED,
354 MSG_LVL_MED,
355 MSG_LVL_MED,
356 MSG_LVL_MED,
357 MSG_LVL_MED,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800358 MSG_LVL_MED|MSG_LVL_MED|MSG_MASK_5|MSG_MASK_6|MSG_MASK_7| \
359 MSG_MASK_8|MSG_MASK_9,
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700360 MSG_LVL_MED
361};
362
363static const uint32_t msg_bld_masks_6[] = {
364 MSG_LVL_MED,
365 MSG_LVL_MED,
366 MSG_LVL_MED,
367 MSG_LVL_MED,
368 MSG_LVL_MED,
369 MSG_LVL_MED,
370 MSG_LVL_MED,
371 MSG_LVL_LOW,
372 MSG_LVL_LOW,
373 MSG_LVL_LOW,
374 MSG_LVL_LOW,
375 MSG_LVL_LOW,
376 MSG_LVL_LOW,
377 MSG_LVL_LOW,
378 MSG_LVL_LOW,
379 MSG_LVL_LOW,
380 MSG_LVL_LOW,
381 MSG_LVL_LOW,
382 MSG_LVL_LOW,
383 MSG_LVL_LOW,
384 MSG_LVL_LOW,
385 MSG_LVL_LOW,
386 MSG_LVL_LOW,
387 MSG_LVL_LOW,
388 MSG_LVL_LOW,
389 MSG_LVL_LOW,
390 MSG_LVL_LOW
391};
392
393static const uint32_t msg_bld_masks_7[] = {
394 MSG_LVL_MED,
395 MSG_LVL_MED,
396 MSG_LVL_MED,
397 MSG_LVL_MED,
398 MSG_LVL_MED,
399 MSG_LVL_MED,
400 MSG_LVL_MED,
401 MSG_LVL_MED,
402 MSG_LVL_MED,
403 MSG_LVL_MED,
404 MSG_LVL_MED,
405 MSG_LVL_MED,
Shalabh Jainc00dd9b2012-06-23 14:34:18 -0700406 MSG_LVL_LOW,
Ravi Aravamudhan635a43c2013-06-28 14:29:18 -0700407 MSG_LVL_LOW,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800408 MSG_LVL_LOW
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700409};
410
411static const uint32_t msg_bld_masks_8[] = {
412 MSG_LVL_MED,
413 MSG_LVL_MED,
414 MSG_LVL_MED,
415 MSG_LVL_MED,
416 MSG_LVL_MED,
417 MSG_LVL_MED,
418 MSG_LVL_MED,
419 MSG_LVL_MED,
420 MSG_LVL_MED,
421 MSG_LVL_MED,
422 MSG_LVL_MED,
423 MSG_LVL_MED,
424 MSG_LVL_MED,
425 MSG_LVL_MED,
426 MSG_LVL_MED,
427 MSG_LVL_MED,
428 MSG_LVL_LOW,
429 MSG_LVL_LOW,
430 MSG_LVL_LOW,
431 MSG_LVL_MED,
432 MSG_LVL_MED,
433 MSG_LVL_MED,
434 MSG_LVL_MED,
435 MSG_LVL_MED,
436 MSG_LVL_MED,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800437 MSG_LVL_MED,
438 MSG_LVL_MED,
439 MSG_LVL_MED,
440 MSG_LVL_MED,
Ravi Aravamudhan1da08f22013-06-21 12:09:33 -0700441 MSG_LVL_MED,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800442 MSG_LVL_MED
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700443};
444
445static const uint32_t msg_bld_masks_9[] = {
446 MSG_LVL_MED|MSG_MASK_5,
447 MSG_LVL_MED|MSG_MASK_5,
448 MSG_LVL_MED|MSG_MASK_5,
449 MSG_LVL_MED|MSG_MASK_5,
450 MSG_LVL_MED|MSG_MASK_5,
451 MSG_LVL_MED|MSG_MASK_5,
452 MSG_LVL_MED|MSG_MASK_5,
453 MSG_LVL_MED|MSG_MASK_5,
454 MSG_LVL_MED|MSG_MASK_5,
455 MSG_LVL_MED|MSG_MASK_5,
456 MSG_LVL_MED|MSG_MASK_5,
457 MSG_LVL_MED|MSG_MASK_5,
458 MSG_LVL_MED|MSG_MASK_5,
459 MSG_LVL_MED|MSG_MASK_5,
460 MSG_LVL_MED|MSG_MASK_5,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800461 MSG_LVL_MED|MSG_MASK_5,
462 MSG_LVL_MED|MSG_MASK_5
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700463};
464
465static const uint32_t msg_bld_masks_10[] = {
466 MSG_LVL_MED,
467 MSG_LVL_ERROR,
468 MSG_LVL_LOW,
469 MSG_LVL_LOW|MSG_MASK_5 | \
470 MSG_MASK_6|MSG_MASK_7|MSG_MASK_8|MSG_MASK_9|MSG_MASK_10| \
471 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15| \
472 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20| \
473 MSG_MASK_21|MSG_MASK_22,
474 MSG_LVL_LOW|MSG_MASK_5,
475 MSG_LVL_LOW,
476 MSG_LVL_LOW,
477 MSG_LVL_LOW,
478 MSG_LVL_LOW,
479 MSG_LVL_LOW,
480 MSG_LVL_LOW,
481 MSG_LVL_LOW,
482 MSG_LVL_LOW,
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,
503 MSG_LVL_MED,
504 MSG_LVL_HIGH,
505 MSG_LVL_LOW,
506 MSG_LVL_LOW,
507 MSG_LVL_LOW|MSG_MASK_5,
508 MSG_LVL_LOW|MSG_MASK_0 | MSG_MASK_1 | MSG_MASK_2 | \
509 MSG_MASK_3 | MSG_MASK_4 | MSG_MASK_5 | MSG_MASK_6,
510 MSG_LVL_HIGH,
511 MSG_LVL_LOW,
512 MSG_LVL_LOW,
513 MSG_LVL_LOW,
514 MSG_LVL_LOW,
515 MSG_LVL_LOW,
516 MSG_LVL_LOW,
517 MSG_LVL_LOW,
518 MSG_LVL_LOW,
519 MSG_LVL_LOW,
520 MSG_LVL_LOW,
521 MSG_LVL_LOW,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800522 MSG_LVL_LOW,
523 MSG_LVL_MED,
524 MSG_LVL_MED,
525 MSG_LVL_MED,
526 MSG_LVL_MED,
527 MSG_LVL_MED,
528 MSG_LVL_MED,
529 MSG_LVL_MED,
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,
Ravi Aravamudhanfebd62a2013-02-04 18:57:32 -0800543 MSG_LVL_LOW,
544 MSG_LVL_LOW,
545 MSG_LVL_LOW,
546 MSG_LVL_LOW,
547 MSG_LVL_LOW,
548 MSG_LVL_LOW,
549 MSG_LVL_LOW,
550 MSG_LVL_LOW,
Shalabh Jain321c8b52012-02-22 12:37:06 -0800551 MSG_LVL_LOW
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700552};
553
554static const uint32_t msg_bld_masks_11[] = {
555 MSG_LVL_LOW,
556 MSG_LVL_LOW,
557 MSG_LVL_LOW,
558 MSG_LVL_LOW,
559 MSG_LVL_LOW,
560 MSG_LVL_LOW,
561 MSG_LVL_LOW,
562 MSG_LVL_LOW,
563 MSG_LVL_LOW,
564 MSG_LVL_LOW,
565 MSG_LVL_LOW,
566 MSG_LVL_LOW,
567 MSG_LVL_LOW,
568 MSG_LVL_LOW,
569 MSG_LVL_LOW,
570 MSG_LVL_LOW,
571 MSG_LVL_LOW,
572 MSG_LVL_LOW,
573 MSG_LVL_LOW,
574 MSG_LVL_LOW,
575 MSG_LVL_LOW,
576 MSG_LVL_LOW,
577};
578
579static const uint32_t msg_bld_masks_12[] = {
580 MSG_LVL_MED,
581 MSG_LVL_MED,
582 MSG_LVL_MED,
583 MSG_LVL_MED,
584};
585
586static const uint32_t msg_bld_masks_13[] = {
587 MSG_LVL_MED,
588 MSG_LVL_MED,
589 MSG_LVL_MED,
590 MSG_LVL_MED,
591 MSG_LVL_MED,
592 MSG_LVL_MED,
593 MSG_LVL_MED,
594 MSG_LVL_MED,
595 MSG_LVL_MED,
596 MSG_LVL_MED,
597 MSG_LVL_MED,
598 MSG_LVL_MED,
599};
600
601static const uint32_t msg_bld_masks_14[] = {
602 MSG_LVL_MED,
603 MSG_LVL_MED,
604};
605
606static const uint32_t msg_bld_masks_15[] = {
607 MSG_LVL_MED
608};
609
610static const uint32_t msg_bld_masks_16[] = {
611 MSG_LVL_LOW,
612 MSG_LVL_LOW,
613 MSG_LVL_LOW,
614 MSG_LVL_LOW,
615 MSG_LVL_LOW,
616 MSG_LVL_LOW,
617 MSG_LVL_LOW,
618 MSG_LVL_LOW,
619 MSG_LVL_LOW,
620 MSG_LVL_LOW,
621 MSG_LVL_LOW,
622 MSG_LVL_LOW,
623 MSG_LVL_LOW,
624 MSG_LVL_LOW,
625 MSG_LVL_LOW,
626 MSG_LVL_LOW,
627 MSG_LVL_LOW,
628 MSG_LVL_LOW,
629 MSG_LVL_LOW,
630 MSG_LVL_LOW,
631 MSG_LVL_LOW,
632 MSG_LVL_LOW,
633 MSG_LVL_LOW,
634 MSG_LVL_LOW,
635};
636
637static const uint32_t msg_bld_masks_17[] = {
638 MSG_LVL_MED,
639 MSG_LVL_MED,
640 MSG_LVL_MED,
641 MSG_LVL_MED | MSG_MASK_6 | \
642 MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9,
643 MSG_LVL_MED | MSG_MASK_5 | \
644 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9 | \
645 MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 | MSG_MASK_13 | \
646 MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 | MSG_MASK_17,
647 MSG_LVL_MED,
648 MSG_LVL_MED | MSG_MASK_5 | \
649 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9 | \
650 MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 | MSG_MASK_13 | \
651 MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 | MSG_MASK_17 | \
652 MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20 | MSG_MASK_21 | \
653 MSG_MASK_22,
654 MSG_LVL_MED,
655 MSG_LVL_MED,
656};
657
658static const uint32_t msg_bld_masks_18[] = {
659 MSG_LVL_LOW,
660 MSG_LVL_LOW | MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 | \
661 MSG_MASK_11|MSG_MASK_12|MSG_MASK_13|MSG_MASK_14|MSG_MASK_15 | \
662 MSG_MASK_16|MSG_MASK_17|MSG_MASK_18|MSG_MASK_19|MSG_MASK_20,
663 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6,
664 MSG_LVL_LOW | MSG_MASK_5,
665 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6,
666 MSG_LVL_LOW,
667 MSG_LVL_LOW | MSG_MASK_5 | \
668 MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9,
669 MSG_LVL_LOW,
670 MSG_LVL_LOW,
671 MSG_LVL_LOW
672};
673
Shalabh Jain321c8b52012-02-22 12:37:06 -0800674static const uint32_t msg_bld_masks_19[] = {
675 MSG_LVL_LOW,
676 MSG_LVL_LOW,
677 MSG_LVL_LOW,
678 MSG_LVL_LOW,
679 MSG_LVL_LOW,
680 MSG_LVL_LOW,
681 MSG_LVL_LOW,
682 MSG_LVL_LOW,
683 MSG_LVL_LOW,
684 MSG_LVL_LOW,
685 MSG_LVL_LOW
686};
687
688static const uint32_t msg_bld_masks_20[] = {
689 MSG_LVL_LOW,
690 MSG_LVL_LOW,
691 MSG_LVL_LOW,
692 MSG_LVL_LOW,
693 MSG_LVL_LOW
694};
695
696static const uint32_t msg_bld_masks_21[] = {
697 MSG_LVL_HIGH
698};
699
700static const uint32_t msg_bld_masks_22[] = {
Dixon Peterson826d7792012-11-11 21:06:04 -0800701 MSG_LVL_LOW,
702 MSG_LVL_LOW,
703 MSG_LVL_LOW,
704 MSG_LVL_LOW,
705 MSG_LVL_LOW,
706 MSG_LVL_LOW,
707 MSG_LVL_LOW,
708 MSG_LVL_LOW,
709 MSG_LVL_LOW,
710 MSG_LVL_LOW,
711 MSG_LVL_LOW,
Ravi Aravamudhanfebd62a2013-02-04 18:57:32 -0800712 MSG_LVL_LOW,
713 MSG_LVL_LOW,
714 MSG_LVL_LOW,
715 MSG_LVL_LOW,
716 MSG_LVL_LOW,
717 MSG_LVL_LOW,
718 MSG_LVL_LOW,
719 MSG_LVL_LOW,
720 MSG_LVL_LOW,
721 MSG_LVL_LOW,
722 MSG_LVL_LOW,
723 MSG_LVL_LOW,
724 MSG_LVL_LOW,
Dixon Peterson826d7792012-11-11 21:06:04 -0800725 MSG_LVL_LOW
Shalabh Jain321c8b52012-02-22 12:37:06 -0800726};
727
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700728/* LOG CODES */
Ravi Aravamudhanbbcb99f2013-11-06 19:43:03 -0800729static const uint32_t log_code_last_tbl[] = {
730 0x0, /* EQUIP ID 0 */
731 0x182F, /* EQUIP ID 1 */
732 0x0, /* EQUIP ID 2 */
733 0x0, /* EQUIP ID 3 */
734 0x4910, /* EQUIP ID 4 */
735 0x5420, /* EQUIP ID 5 */
736 0x0, /* EQUIP ID 6 */
737 0x74FF, /* EQUIP ID 7 */
738 0x0, /* EQUIP ID 8 */
739 0x0, /* EQUIP ID 9 */
740 0xA38A, /* EQUIP ID 10 */
741 0xB201, /* EQUIP ID 11 */
742 0x0, /* EQUIP ID 12 */
743 0x0, /* EQUIP ID 13 */
744 0x0, /* EQUIP ID 14 */
745 0x0, /* EQUIP ID 15 */
746};
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700747
Ravi Aravamudhanbbcb99f2013-11-06 19:43:03 -0800748#define LOG_GET_ITEM_NUM(xx_code) (xx_code & 0x0FFF)
749#define LOG_GET_EQUIP_ID(xx_code) ((xx_code & 0xF000) >> 12)
750#define LOG_ITEMS_TO_SIZE(num_items) ((num_items+7)/8)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700751
752#endif