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