at v5.2 2.1 kB view raw
1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 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 */ 22struct sof_ipc_dma_trace_params { 23 struct sof_ipc_cmd_hdr hdr; 24 struct sof_ipc_host_buffer buffer; 25 uint32_t stream_tag; 26} __packed; 27 28/* DMA for Trace params info - SOF_IPC_DEBUG_DMA_PARAMS */ 29struct sof_ipc_dma_trace_posn { 30 struct sof_ipc_reply rhdr; 31 uint32_t host_offset; /* Offset of DMA host buffer */ 32 uint32_t overflow; /* overflow bytes if any */ 33 uint32_t messages; /* total trace messages */ 34} __packed; 35 36/* 37 * Commom debug 38 */ 39 40/* 41 * SOF panic codes 42 */ 43#define SOF_IPC_PANIC_MAGIC 0x0dead000 44#define SOF_IPC_PANIC_MAGIC_MASK 0x0ffff000 45#define SOF_IPC_PANIC_CODE_MASK 0x00000fff 46#define SOF_IPC_PANIC_MEM (SOF_IPC_PANIC_MAGIC | 0x0) 47#define SOF_IPC_PANIC_WORK (SOF_IPC_PANIC_MAGIC | 0x1) 48#define SOF_IPC_PANIC_IPC (SOF_IPC_PANIC_MAGIC | 0x2) 49#define SOF_IPC_PANIC_ARCH (SOF_IPC_PANIC_MAGIC | 0x3) 50#define SOF_IPC_PANIC_PLATFORM (SOF_IPC_PANIC_MAGIC | 0x4) 51#define SOF_IPC_PANIC_TASK (SOF_IPC_PANIC_MAGIC | 0x5) 52#define SOF_IPC_PANIC_EXCEPTION (SOF_IPC_PANIC_MAGIC | 0x6) 53#define SOF_IPC_PANIC_DEADLOCK (SOF_IPC_PANIC_MAGIC | 0x7) 54#define SOF_IPC_PANIC_STACK (SOF_IPC_PANIC_MAGIC | 0x8) 55#define SOF_IPC_PANIC_IDLE (SOF_IPC_PANIC_MAGIC | 0x9) 56#define SOF_IPC_PANIC_WFI (SOF_IPC_PANIC_MAGIC | 0xa) 57#define SOF_IPC_PANIC_ASSERT (SOF_IPC_PANIC_MAGIC | 0xb) 58 59/* panic info include filename and line number */ 60struct sof_ipc_panic_info { 61 struct sof_ipc_hdr hdr; 62 uint32_t code; /* SOF_IPC_PANIC_ */ 63 char filename[SOF_TRACE_FILENAME_SIZE]; 64 uint32_t linenum; 65} __packed; 66 67#endif