Commit | Line | Data |
---|---|---|
dc3bf49e | 1 | /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ |
53e0c72d LG |
2 | /* |
3 | * This file is provided under a dual BSD/GPLv2 license. When using or | |
4 | * redistributing this file, you may do so under either license. | |
5 | * | |
6 | * Copyright(c) 2018 Intel Corporation. All rights reserved. | |
7 | */ | |
8 | ||
9 | #ifndef __INCLUDE_SOUND_SOF_TRACE_H__ | |
10 | #define __INCLUDE_SOUND_SOF_TRACE_H__ | |
11 | ||
12 | #include <sound/sof/header.h> | |
13 | #include <sound/sof/stream.h> | |
14 | ||
15 | /* | |
16 | * DMA for Trace | |
17 | */ | |
18 | ||
19 | #define SOF_TRACE_FILENAME_SIZE 32 | |
20 | ||
21 | /* DMA for Trace params info - SOF_IPC_DEBUG_DMA_PARAMS */ | |
e3adc949 | 22 | /* Deprecated - use sof_ipc_dma_trace_params_ext */ |
53e0c72d LG |
23 | struct sof_ipc_dma_trace_params { |
24 | struct sof_ipc_cmd_hdr hdr; | |
25 | struct sof_ipc_host_buffer buffer; | |
26 | uint32_t stream_tag; | |
27 | } __packed; | |
28 | ||
e3adc949 B |
29 | /* DMA for Trace params info - SOF_IPC_DEBUG_DMA_PARAMS_EXT */ |
30 | struct sof_ipc_dma_trace_params_ext { | |
31 | struct sof_ipc_cmd_hdr hdr; | |
32 | struct sof_ipc_host_buffer buffer; | |
33 | uint32_t stream_tag; | |
34 | uint64_t timestamp_ns; /* in nanosecond */ | |
35 | uint32_t reserved[8]; | |
36 | } __packed; | |
37 | ||
53e0c72d LG |
38 | /* DMA for Trace params info - SOF_IPC_DEBUG_DMA_PARAMS */ |
39 | struct sof_ipc_dma_trace_posn { | |
40 | struct sof_ipc_reply rhdr; | |
41 | uint32_t host_offset; /* Offset of DMA host buffer */ | |
42 | uint32_t overflow; /* overflow bytes if any */ | |
43 | uint32_t messages; /* total trace messages */ | |
44 | } __packed; | |
45 | ||
46 | /* | |
47 | * Commom debug | |
48 | */ | |
49 | ||
50 | /* | |
51 | * SOF panic codes | |
52 | */ | |
53 | #define SOF_IPC_PANIC_MAGIC 0x0dead000 | |
54 | #define SOF_IPC_PANIC_MAGIC_MASK 0x0ffff000 | |
55 | #define SOF_IPC_PANIC_CODE_MASK 0x00000fff | |
56 | #define SOF_IPC_PANIC_MEM (SOF_IPC_PANIC_MAGIC | 0x0) | |
57 | #define SOF_IPC_PANIC_WORK (SOF_IPC_PANIC_MAGIC | 0x1) | |
58 | #define SOF_IPC_PANIC_IPC (SOF_IPC_PANIC_MAGIC | 0x2) | |
59 | #define SOF_IPC_PANIC_ARCH (SOF_IPC_PANIC_MAGIC | 0x3) | |
60 | #define SOF_IPC_PANIC_PLATFORM (SOF_IPC_PANIC_MAGIC | 0x4) | |
61 | #define SOF_IPC_PANIC_TASK (SOF_IPC_PANIC_MAGIC | 0x5) | |
62 | #define SOF_IPC_PANIC_EXCEPTION (SOF_IPC_PANIC_MAGIC | 0x6) | |
63 | #define SOF_IPC_PANIC_DEADLOCK (SOF_IPC_PANIC_MAGIC | 0x7) | |
64 | #define SOF_IPC_PANIC_STACK (SOF_IPC_PANIC_MAGIC | 0x8) | |
65 | #define SOF_IPC_PANIC_IDLE (SOF_IPC_PANIC_MAGIC | 0x9) | |
66 | #define SOF_IPC_PANIC_WFI (SOF_IPC_PANIC_MAGIC | 0xa) | |
67 | #define SOF_IPC_PANIC_ASSERT (SOF_IPC_PANIC_MAGIC | 0xb) | |
68 | ||
b943f798 PLB |
69 | /* panic info include filename and line number |
70 | * filename array will not include null terminator if fully filled | |
71 | */ | |
53e0c72d LG |
72 | struct sof_ipc_panic_info { |
73 | struct sof_ipc_hdr hdr; | |
74 | uint32_t code; /* SOF_IPC_PANIC_ */ | |
75 | char filename[SOF_TRACE_FILENAME_SIZE]; | |
76 | uint32_t linenum; | |
77 | } __packed; | |
78 | ||
79 | #endif |