xref: /openbmc/linux/include/sound/sof/debug.h (revision 85250a24)
1 /* SPDX-License-Identifier: (GPL-2.0-only 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) 2020 Intel Corporation. All rights reserved.
7  *
8  * Author: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
9  */
10 
11 #ifndef __INCLUDE_SOUND_SOF_DEBUG_H__
12 #define __INCLUDE_SOUND_SOF_DEBUG_H__
13 
14 #include <sound/sof/header.h>
15 
16 /** ABI3.18 */
17 enum sof_ipc_dbg_mem_zone {
18 	SOF_IPC_MEM_ZONE_SYS		= 0,	/**< System zone */
19 	SOF_IPC_MEM_ZONE_SYS_RUNTIME	= 1,	/**< System-runtime zone */
20 	SOF_IPC_MEM_ZONE_RUNTIME	= 2,	/**< Runtime zone */
21 	SOF_IPC_MEM_ZONE_BUFFER		= 3,	/**< Buffer zone */
22 	SOF_IPC_MEM_ZONE_RUNTIME_SHARED	= 4,	/**< System runtime zone */
23 	SOF_IPC_MEM_ZONE_SYS_SHARED	= 5,	/**< System shared zone */
24 };
25 
26 /** ABI3.18 */
27 struct sof_ipc_dbg_mem_usage_elem {
28 	uint32_t zone;		/**< see sof_ipc_dbg_mem_zone */
29 	uint32_t id;		/**< heap index within zone */
30 	uint32_t used;		/**< number of bytes used in zone */
31 	uint32_t free;		/**< number of bytes free to use within zone */
32 	uint32_t reserved;	/**< for future use */
33 } __packed;
34 
35 /** ABI3.18 */
36 struct sof_ipc_dbg_mem_usage {
37 	struct sof_ipc_reply rhdr;			/**< generic IPC reply header */
38 	uint32_t reserved[4];				/**< reserved for future use */
39 	uint32_t num_elems;				/**< elems[] counter */
40 	struct sof_ipc_dbg_mem_usage_elem elems[];	/**< memory usage information */
41 } __packed;
42 
43 #endif
44