root/include/sound/sof/trace.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: (GPL-2.0 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 */
  22 /* Deprecated - use sof_ipc_dma_trace_params_ext */
  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 
  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 
  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 
  69 /* panic info include filename and line number
  70  * filename array will not include null terminator if fully filled
  71  */
  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

/* [<][>][^][v][top][bottom][index][help] */