#ifndef __INCLUDE_SOUND_SOF_IPC4_HEADER_H__
#define __INCLUDE_SOUND_SOF_IPC4_HEADER_H__
#include <linux/types.h>
#include <uapi/sound/sof/abi.h>
#define SOF_IPC4_MSG_MAX_SIZE …
struct sof_ipc4_msg { … };
struct sof_ipc4_tuple { … } __packed;
enum sof_ipc4_msg_target { … };
enum sof_ipc4_global_msg { … };
enum sof_ipc4_msg_dir { … };
enum sof_ipc4_pipeline_state { … };
#define SOF_IPC4_MSG_TARGET_SHIFT …
#define SOF_IPC4_MSG_TARGET_MASK …
#define SOF_IPC4_MSG_TARGET(x) …
#define SOF_IPC4_MSG_IS_MODULE_MSG(x) …
#define SOF_IPC4_MSG_DIR_SHIFT …
#define SOF_IPC4_MSG_DIR_MASK …
#define SOF_IPC4_MSG_DIR(x) …
#define SOF_IPC4_MSG_TYPE_SHIFT …
#define SOF_IPC4_MSG_TYPE_MASK …
#define SOF_IPC4_MSG_TYPE_SET(x) …
#define SOF_IPC4_MSG_TYPE_GET(x) …
#define SOF_IPC4_GLB_PIPE_INSTANCE_SHIFT …
#define SOF_IPC4_GLB_PIPE_INSTANCE_MASK …
#define SOF_IPC4_GLB_PIPE_INSTANCE_ID(x) …
#define SOF_IPC4_GLB_PIPE_PRIORITY_SHIFT …
#define SOF_IPC4_GLB_PIPE_PRIORITY_MASK …
#define SOF_IPC4_GLB_PIPE_PRIORITY(x) …
#define SOF_IPC4_GLB_PIPE_MEM_SIZE_SHIFT …
#define SOF_IPC4_GLB_PIPE_MEM_SIZE_MASK …
#define SOF_IPC4_GLB_PIPE_MEM_SIZE(x) …
#define SOF_IPC4_GLB_PIPE_EXT_LP_SHIFT …
#define SOF_IPC4_GLB_PIPE_EXT_LP_MASK …
#define SOF_IPC4_GLB_PIPE_EXT_LP(x) …
#define SOF_IPC4_GLB_PIPE_EXT_CORE_ID_SHIFT …
#define SOF_IPC4_GLB_PIPE_EXT_CORE_ID_MASK …
#define SOF_IPC4_GLB_PIPE_EXT_CORE_ID(x) …
#define SOF_IPC4_GLB_PIPE_STATE_ID_SHIFT …
#define SOF_IPC4_GLB_PIPE_STATE_ID_MASK …
#define SOF_IPC4_GLB_PIPE_STATE_ID(x) …
#define SOF_IPC4_GLB_PIPE_STATE_SHIFT …
#define SOF_IPC4_GLB_PIPE_STATE_MASK …
#define SOF_IPC4_GLB_PIPE_STATE(x) …
#define SOF_IPC4_GLB_PIPE_STATE_EXT_MULTI …
#define SOF_IPC4_GLB_LOAD_LIBRARY_LIB_ID_SHIFT …
#define SOF_IPC4_GLB_LOAD_LIBRARY_LIB_ID(x) …
#define SOF_IPC4_GLB_CHAIN_DMA_HOST_ID_SHIFT …
#define SOF_IPC4_GLB_CHAIN_DMA_HOST_ID_MASK …
#define SOF_IPC4_GLB_CHAIN_DMA_HOST_ID(x) …
#define SOF_IPC4_GLB_CHAIN_DMA_LINK_ID_SHIFT …
#define SOF_IPC4_GLB_CHAIN_DMA_LINK_ID_MASK …
#define SOF_IPC4_GLB_CHAIN_DMA_LINK_ID(x) …
#define SOF_IPC4_GLB_CHAIN_DMA_ALLOCATE_SHIFT …
#define SOF_IPC4_GLB_CHAIN_DMA_ALLOCATE_MASK …
#define SOF_IPC4_GLB_CHAIN_DMA_ALLOCATE(x) …
#define SOF_IPC4_GLB_CHAIN_DMA_ENABLE_SHIFT …
#define SOF_IPC4_GLB_CHAIN_DMA_ENABLE_MASK …
#define SOF_IPC4_GLB_CHAIN_DMA_ENABLE(x) …
#define SOF_IPC4_GLB_CHAIN_DMA_SCS_SHIFT …
#define SOF_IPC4_GLB_CHAIN_DMA_SCS_MASK …
#define SOF_IPC4_GLB_CHAIN_DMA_SCS(x) …
#define SOF_IPC4_GLB_EXT_CHAIN_DMA_FIFO_SIZE_SHIFT …
#define SOF_IPC4_GLB_EXT_CHAIN_DMA_FIFO_SIZE_MASK …
#define SOF_IPC4_GLB_EXT_CHAIN_DMA_FIFO_SIZE(x) …
enum sof_ipc4_channel_config { … };
enum sof_ipc4_interleaved_style { … };
enum sof_ipc4_sample_type { … };
struct sof_ipc4_audio_format { … } __packed __aligned(…);
#define SOF_IPC4_AUDIO_FORMAT_CFG_CHANNELS_COUNT_SHIFT …
#define SOF_IPC4_AUDIO_FORMAT_CFG_CHANNELS_COUNT_MASK …
#define SOF_IPC4_AUDIO_FORMAT_CFG_CHANNELS_COUNT(x) …
#define SOF_IPC4_AUDIO_FORMAT_CFG_V_BIT_DEPTH_SHIFT …
#define SOF_IPC4_AUDIO_FORMAT_CFG_V_BIT_DEPTH_MASK …
#define SOF_IPC4_AUDIO_FORMAT_CFG_V_BIT_DEPTH(x) …
#define SOF_IPC4_AUDIO_FORMAT_CFG_SAMPLE_TYPE_SHIFT …
#define SOF_IPC4_AUDIO_FORMAT_CFG_SAMPLE_TYPE_MASK …
#define SOF_IPC4_AUDIO_FORMAT_CFG_SAMPLE_TYPE(x) …
enum sof_ipc4_module_type { … };
struct sof_ipc4_base_module_cfg { … } __packed __aligned(…);
#define SOF_IPC4_MOD_INSTANCE_SHIFT …
#define SOF_IPC4_MOD_INSTANCE_MASK …
#define SOF_IPC4_MOD_INSTANCE(x) …
#define SOF_IPC4_MOD_ID_SHIFT …
#define SOF_IPC4_MOD_ID_MASK …
#define SOF_IPC4_MOD_ID(x) …
#define SOF_IPC4_MOD_EXT_PARAM_SIZE_SHIFT …
#define SOF_IPC4_MOD_EXT_PARAM_SIZE_MASK …
#define SOF_IPC4_MOD_EXT_PARAM_SIZE(x) …
#define SOF_IPC4_MOD_EXT_PPL_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_PPL_ID_MASK …
#define SOF_IPC4_MOD_EXT_PPL_ID(x) …
#define SOF_IPC4_MOD_EXT_CORE_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_CORE_ID_MASK …
#define SOF_IPC4_MOD_EXT_CORE_ID(x) …
#define SOF_IPC4_MOD_EXT_DOMAIN_SHIFT …
#define SOF_IPC4_MOD_EXT_DOMAIN_MASK …
#define SOF_IPC4_MOD_EXT_DOMAIN(x) …
#define SOF_IPC4_MOD_EXT_DST_MOD_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_DST_MOD_ID_MASK …
#define SOF_IPC4_MOD_EXT_DST_MOD_ID(x) …
#define SOF_IPC4_MOD_EXT_DST_MOD_INSTANCE_SHIFT …
#define SOF_IPC4_MOD_EXT_DST_MOD_INSTANCE_MASK …
#define SOF_IPC4_MOD_EXT_DST_MOD_INSTANCE(x) …
#define SOF_IPC4_MOD_EXT_DST_MOD_QUEUE_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_DST_MOD_QUEUE_ID_MASK …
#define SOF_IPC4_MOD_EXT_DST_MOD_QUEUE_ID(x) …
#define SOF_IPC4_MOD_EXT_SRC_MOD_QUEUE_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_SRC_MOD_QUEUE_ID_MASK …
#define SOF_IPC4_MOD_EXT_SRC_MOD_QUEUE_ID(x) …
#define MOD_ENABLE_LOG …
#define MOD_SYSTEM_TIME …
#define SOF_IPC4_MOD_EXT_MSG_SIZE_SHIFT …
#define SOF_IPC4_MOD_EXT_MSG_SIZE_MASK …
#define SOF_IPC4_MOD_EXT_MSG_SIZE(x) …
#define SOF_IPC4_MOD_EXT_MSG_PARAM_ID_SHIFT …
#define SOF_IPC4_MOD_EXT_MSG_PARAM_ID_MASK …
#define SOF_IPC4_MOD_EXT_MSG_PARAM_ID(x) …
#define SOF_IPC4_MOD_EXT_MSG_LAST_BLOCK_SHIFT …
#define SOF_IPC4_MOD_EXT_MSG_LAST_BLOCK_MASK …
#define SOF_IPC4_MOD_EXT_MSG_LAST_BLOCK(x) …
#define SOF_IPC4_MOD_EXT_MSG_FIRST_BLOCK_SHIFT …
#define SOF_IPC4_MOD_EXT_MSG_FIRST_BLOCK_MASK …
#define SOF_IPC4_MOD_EXT_MSG_FIRST_BLOCK(x) …
#define SOF_IPC4_MOD_INIT_BASEFW_MOD_ID …
#define SOF_IPC4_MOD_INIT_BASEFW_INSTANCE_ID …
enum sof_ipc4_base_fw_params { … };
enum sof_ipc4_fw_config_params { … };
struct sof_ipc4_fw_version { … } __packed;
struct sof_ipc4_dx_state_info { … } __packed __aligned(…);
#define SOF_IPC4_REPLY_STATUS …
#define SOF_IPC4_MSG_IS_NOTIFICATION(x) …
#define SOF_IPC4_NOTIFICATION_TYPE_SHIFT …
#define SOF_IPC4_NOTIFICATION_TYPE_MASK …
#define SOF_IPC4_NOTIFICATION_TYPE_GET(x) …
#define SOF_IPC4_LOG_CORE_SHIFT …
#define SOF_IPC4_LOG_CORE_MASK …
#define SOF_IPC4_LOG_CORE_GET(x) …
enum sof_ipc4_notification_type { … };
struct sof_ipc4_notify_resource_data { … } __packed __aligned(…);
#define SOF_IPC4_DEBUG_DESCRIPTOR_SIZE …
#define SOF_IPC4_MAX_DEBUG_SLOTS …
#define SOF_IPC4_DEBUG_SLOT_SIZE …
#define SOF_IPC4_DEBUG_SLOT_UNUSED …
#define SOF_IPC4_DEBUG_SLOT_CRITICAL_LOG …
#define SOF_IPC4_DEBUG_SLOT_DEBUG_LOG …
#define SOF_IPC4_DEBUG_SLOT_GDB_STUB …
#define SOF_IPC4_DEBUG_SLOT_TELEMETRY …
#define SOF_IPC4_DEBUG_SLOT_BROKEN …
struct sof_ipc4_notify_module_data { … } __packed __aligned(…);
#define SOF_IPC4_NOTIFY_MODULE_EVENTID_ALSA_MAGIC_MASK …
#define SOF_IPC4_NOTIFY_MODULE_EVENTID_ALSA_MAGIC_VAL …
#define SOF_IPC4_NOTIFY_MODULE_EVENTID_ALSA_PARAMID_MASK …
#endif