xref: /openbmc/linux/include/sound/sof/debug.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
15b10b629SKarol Trzcinski /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
25b10b629SKarol Trzcinski /*
35b10b629SKarol Trzcinski  * This file is provided under a dual BSD/GPLv2 license.  When using or
45b10b629SKarol Trzcinski  * redistributing this file, you may do so under either license.
55b10b629SKarol Trzcinski  *
65b10b629SKarol Trzcinski  * Copyright(c) 2020 Intel Corporation. All rights reserved.
75b10b629SKarol Trzcinski  *
85b10b629SKarol Trzcinski  * Author: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
95b10b629SKarol Trzcinski  */
105b10b629SKarol Trzcinski 
115b10b629SKarol Trzcinski #ifndef __INCLUDE_SOUND_SOF_DEBUG_H__
125b10b629SKarol Trzcinski #define __INCLUDE_SOUND_SOF_DEBUG_H__
135b10b629SKarol Trzcinski 
145b10b629SKarol Trzcinski #include <sound/sof/header.h>
155b10b629SKarol Trzcinski 
165b10b629SKarol Trzcinski /** ABI3.18 */
175b10b629SKarol Trzcinski enum sof_ipc_dbg_mem_zone {
185b10b629SKarol Trzcinski 	SOF_IPC_MEM_ZONE_SYS		= 0,	/**< System zone */
195b10b629SKarol Trzcinski 	SOF_IPC_MEM_ZONE_SYS_RUNTIME	= 1,	/**< System-runtime zone */
205b10b629SKarol Trzcinski 	SOF_IPC_MEM_ZONE_RUNTIME	= 2,	/**< Runtime zone */
215b10b629SKarol Trzcinski 	SOF_IPC_MEM_ZONE_BUFFER		= 3,	/**< Buffer zone */
22*60ded273SKarol Trzcinski 	SOF_IPC_MEM_ZONE_RUNTIME_SHARED	= 4,	/**< System runtime zone */
23*60ded273SKarol Trzcinski 	SOF_IPC_MEM_ZONE_SYS_SHARED	= 5,	/**< System shared zone */
245b10b629SKarol Trzcinski };
255b10b629SKarol Trzcinski 
265b10b629SKarol Trzcinski /** ABI3.18 */
275b10b629SKarol Trzcinski struct sof_ipc_dbg_mem_usage_elem {
285b10b629SKarol Trzcinski 	uint32_t zone;		/**< see sof_ipc_dbg_mem_zone */
295b10b629SKarol Trzcinski 	uint32_t id;		/**< heap index within zone */
305b10b629SKarol Trzcinski 	uint32_t used;		/**< number of bytes used in zone */
315b10b629SKarol Trzcinski 	uint32_t free;		/**< number of bytes free to use within zone */
325b10b629SKarol Trzcinski 	uint32_t reserved;	/**< for future use */
335b10b629SKarol Trzcinski } __packed;
345b10b629SKarol Trzcinski 
355b10b629SKarol Trzcinski /** ABI3.18 */
365b10b629SKarol Trzcinski struct sof_ipc_dbg_mem_usage {
375b10b629SKarol Trzcinski 	struct sof_ipc_reply rhdr;			/**< generic IPC reply header */
385b10b629SKarol Trzcinski 	uint32_t reserved[4];				/**< reserved for future use */
395b10b629SKarol Trzcinski 	uint32_t num_elems;				/**< elems[] counter */
405b10b629SKarol Trzcinski 	struct sof_ipc_dbg_mem_usage_elem elems[];	/**< memory usage information */
415b10b629SKarol Trzcinski } __packed;
425b10b629SKarol Trzcinski 
435b10b629SKarol Trzcinski #endif
44