Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6-microblaze.git] / include / sound / sof / debug.h
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 };
23
24 /** ABI3.18 */
25 struct sof_ipc_dbg_mem_usage_elem {
26         uint32_t zone;          /**< see sof_ipc_dbg_mem_zone */
27         uint32_t id;            /**< heap index within zone */
28         uint32_t used;          /**< number of bytes used in zone */
29         uint32_t free;          /**< number of bytes free to use within zone */
30         uint32_t reserved;      /**< for future use */
31 } __packed;
32
33 /** ABI3.18 */
34 struct sof_ipc_dbg_mem_usage {
35         struct sof_ipc_reply rhdr;                      /**< generic IPC reply header */
36         uint32_t reserved[4];                           /**< reserved for future use */
37         uint32_t num_elems;                             /**< elems[] counter */
38         struct sof_ipc_dbg_mem_usage_elem elems[];      /**< memory usage information */
39 } __packed;
40
41 #endif