Sound Open Firmware
Loading...
Searching...
No Matches

Host-DSP IPC trace DMA configuration, filtering, and panic descriptors. More...

Include dependency graph for trace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sof_ipc_dma_trace_params
 Legacy host DMA trace parameters payload (SOF_IPC_TRACE_DMA_PARAMS). More...
 
struct  sof_ipc_dma_trace_params_ext
 Extended host DMA trace parameters payload (SOF_IPC_TRACE_DMA_PARAMS_EXT). More...
 
struct  sof_ipc_dma_trace_posn
 DMA trace circular buffer position report sent to host (SOF_IPC_TRACE_DMA_POSITION). More...
 
struct  sof_ipc_trace_filter_elem
 part of sof_ipc_trace_filter, ABI3.17 More...
 
struct  sof_ipc_trace_filter
 Runtime tracing filtration data - SOF_IPC_TRACE_FILTER_UPDATE, ABI3.17. More...
 
struct  sof_ipc_panic_info
 DSP panic crash dump descriptor reported to host. More...
 

Macros

#define SOF_TRACE_FILENAME_SIZE   32
 Maximum filename string length embedded in panic reports.
 
#define SOF_IPC_TRACE_FILTER_ELEM_SET_LEVEL   0x01
 trace level for selected components
 
#define SOF_IPC_TRACE_FILTER_ELEM_BY_UUID   0x02
 filter by uuid key
 
#define SOF_IPC_TRACE_FILTER_ELEM_BY_COMP   0x03
 filter by component id
 
#define SOF_IPC_TRACE_FILTER_ELEM_BY_PIPE   0x04
 filter by pipeline
 
#define SOF_IPC_TRACE_FILTER_ELEM_TYPE_MASK   0x7F
 filter element type mask
 
#define SOF_IPC_TRACE_FILTER_ELEM_FIN   0x80
 mark last filter in set
 
SOF Panic Codes

Firmware panic identifiers written to mailboxes or reported upon crash.

#define SOF_IPC_PANIC_MAGIC   0x0dead000
 Magic pattern identifying valid panic packet.
 
#define SOF_IPC_PANIC_MAGIC_MASK   0x0ffff000
 Mask isolating panic magic pattern.
 
#define SOF_IPC_PANIC_CODE_MASK   0x00000fff
 Mask isolating specific panic category.
 
#define SOF_IPC_PANIC_MEM   (SOF_IPC_PANIC_MAGIC | 0x0)
 Memory allocation exhaustion panic.
 
#define SOF_IPC_PANIC_WORK   (SOF_IPC_PANIC_MAGIC | 0x1)
 Scheduling task failure panic.
 
#define SOF_IPC_PANIC_IPC   (SOF_IPC_PANIC_MAGIC | 0x2)
 Host IPC transport failure panic.
 
#define SOF_IPC_PANIC_ARCH   (SOF_IPC_PANIC_MAGIC | 0x3)
 Architecture exception panic.
 
#define SOF_IPC_PANIC_PLATFORM   (SOF_IPC_PANIC_MAGIC | 0x4)
 Platform device driver panic.
 
#define SOF_IPC_PANIC_TASK   (SOF_IPC_PANIC_MAGIC | 0x5)
 Real-time task deadline panic.
 
#define SOF_IPC_PANIC_EXCEPTION   (SOF_IPC_PANIC_MAGIC | 0x6)
 Unhandled CPU exception panic.
 
#define SOF_IPC_PANIC_DEADLOCK   (SOF_IPC_PANIC_MAGIC | 0x7)
 Multicore spinlock deadlock panic.
 
#define SOF_IPC_PANIC_STACK   (SOF_IPC_PANIC_MAGIC | 0x8)
 Stack guard overflow panic.
 
#define SOF_IPC_PANIC_IDLE   (SOF_IPC_PANIC_MAGIC | 0x9)
 Idle power state transition panic.
 
#define SOF_IPC_PANIC_WFI   (SOF_IPC_PANIC_MAGIC | 0xa)
 Wait-For-Interrupt lockup panic.
 
#define SOF_IPC_PANIC_ASSERT   (SOF_IPC_PANIC_MAGIC | 0xb)
 Assertion failure panic.
 

Detailed Description

Host-DSP IPC trace DMA configuration, filtering, and panic descriptors.

Macro Definition Documentation

◆ SOF_IPC_PANIC_ARCH

#define SOF_IPC_PANIC_ARCH   (SOF_IPC_PANIC_MAGIC | 0x3)

Architecture exception panic.

◆ SOF_IPC_PANIC_ASSERT

#define SOF_IPC_PANIC_ASSERT   (SOF_IPC_PANIC_MAGIC | 0xb)

Assertion failure panic.

◆ SOF_IPC_PANIC_CODE_MASK

#define SOF_IPC_PANIC_CODE_MASK   0x00000fff

Mask isolating specific panic category.

◆ SOF_IPC_PANIC_DEADLOCK

#define SOF_IPC_PANIC_DEADLOCK   (SOF_IPC_PANIC_MAGIC | 0x7)

Multicore spinlock deadlock panic.

◆ SOF_IPC_PANIC_EXCEPTION

#define SOF_IPC_PANIC_EXCEPTION   (SOF_IPC_PANIC_MAGIC | 0x6)

Unhandled CPU exception panic.

◆ SOF_IPC_PANIC_IDLE

#define SOF_IPC_PANIC_IDLE   (SOF_IPC_PANIC_MAGIC | 0x9)

Idle power state transition panic.

◆ SOF_IPC_PANIC_IPC

#define SOF_IPC_PANIC_IPC   (SOF_IPC_PANIC_MAGIC | 0x2)

Host IPC transport failure panic.

◆ SOF_IPC_PANIC_MAGIC

#define SOF_IPC_PANIC_MAGIC   0x0dead000

Magic pattern identifying valid panic packet.

◆ SOF_IPC_PANIC_MAGIC_MASK

#define SOF_IPC_PANIC_MAGIC_MASK   0x0ffff000

Mask isolating panic magic pattern.

◆ SOF_IPC_PANIC_MEM

#define SOF_IPC_PANIC_MEM   (SOF_IPC_PANIC_MAGIC | 0x0)

Memory allocation exhaustion panic.

◆ SOF_IPC_PANIC_PLATFORM

#define SOF_IPC_PANIC_PLATFORM   (SOF_IPC_PANIC_MAGIC | 0x4)

Platform device driver panic.

◆ SOF_IPC_PANIC_STACK

#define SOF_IPC_PANIC_STACK   (SOF_IPC_PANIC_MAGIC | 0x8)

Stack guard overflow panic.

◆ SOF_IPC_PANIC_TASK

#define SOF_IPC_PANIC_TASK   (SOF_IPC_PANIC_MAGIC | 0x5)

Real-time task deadline panic.

◆ SOF_IPC_PANIC_WFI

#define SOF_IPC_PANIC_WFI   (SOF_IPC_PANIC_MAGIC | 0xa)

Wait-For-Interrupt lockup panic.

◆ SOF_IPC_PANIC_WORK

#define SOF_IPC_PANIC_WORK   (SOF_IPC_PANIC_MAGIC | 0x1)

Scheduling task failure panic.

◆ SOF_IPC_TRACE_FILTER_ELEM_BY_COMP

#define SOF_IPC_TRACE_FILTER_ELEM_BY_COMP   0x03

filter by component id

◆ SOF_IPC_TRACE_FILTER_ELEM_BY_PIPE

#define SOF_IPC_TRACE_FILTER_ELEM_BY_PIPE   0x04

filter by pipeline

◆ SOF_IPC_TRACE_FILTER_ELEM_BY_UUID

#define SOF_IPC_TRACE_FILTER_ELEM_BY_UUID   0x02

filter by uuid key

◆ SOF_IPC_TRACE_FILTER_ELEM_FIN

#define SOF_IPC_TRACE_FILTER_ELEM_FIN   0x80

mark last filter in set

◆ SOF_IPC_TRACE_FILTER_ELEM_SET_LEVEL

#define SOF_IPC_TRACE_FILTER_ELEM_SET_LEVEL   0x01

trace level for selected components

◆ SOF_IPC_TRACE_FILTER_ELEM_TYPE_MASK

#define SOF_IPC_TRACE_FILTER_ELEM_TYPE_MASK   0x7F

filter element type mask

◆ SOF_TRACE_FILENAME_SIZE

#define SOF_TRACE_FILENAME_SIZE   32

Maximum filename string length embedded in panic reports.