0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __SOUND_SOC_SOF_IPC4_PRIV_H
0010 #define __SOUND_SOC_SOF_IPC4_PRIV_H
0011
0012 #include <linux/idr.h>
0013 #include <sound/sof/ext_manifest4.h>
0014 #include "sof-priv.h"
0015
0016
0017
0018
0019
0020
0021
0022
0023 struct sof_ipc4_fw_data {
0024 u32 manifest_fw_hdr_offset;
0025 int num_fw_modules;
0026 void *fw_modules;
0027 void *nhlt;
0028 };
0029
0030
0031
0032
0033
0034
0035
0036
0037 struct sof_ipc4_fw_module {
0038 struct sof_man4_module man4_module_entry;
0039 struct ida m_ida;
0040 u32 bss_size;
0041 void *private;
0042 };
0043
0044 extern const struct sof_ipc_fw_loader_ops ipc4_loader_ops;
0045 extern const struct sof_ipc_tplg_ops ipc4_tplg_ops;
0046 extern const struct sof_ipc_tplg_control_ops tplg_ipc4_control_ops;
0047 extern const struct sof_ipc_pcm_ops ipc4_pcm_ops;
0048
0049 int sof_ipc4_set_pipeline_state(struct snd_sof_dev *sdev, u32 id, u32 state);
0050
0051 #endif