1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
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.
6 * Copyright(c) 2021 Intel Corporation. All rights reserved.
9 #ifndef __SOUND_SOC_SOF_IPC3_PRIV_H
10 #define __SOUND_SOC_SOF_IPC3_PRIV_H
14 /* IPC3 specific ops */
15 extern const struct sof_ipc_pcm_ops ipc3_pcm_ops;
16 extern const struct sof_ipc_tplg_ops ipc3_tplg_ops;
17 extern const struct sof_ipc_tplg_control_ops tplg_ipc3_control_ops;
18 extern const struct sof_ipc_fw_loader_ops ipc3_loader_ops;
19 extern const struct sof_ipc_fw_tracing_ops ipc3_dtrace_ops;
21 /* helpers for fw_ready and ext_manifest parsing */
22 int sof_ipc3_get_ext_windows(struct snd_sof_dev *sdev,
23 const struct sof_ipc_ext_data_hdr *ext_hdr);
24 int sof_ipc3_get_cc_info(struct snd_sof_dev *sdev,
25 const struct sof_ipc_ext_data_hdr *ext_hdr);
26 int sof_ipc3_validate_fw_version(struct snd_sof_dev *sdev);
28 /* dtrace position update */
29 int ipc3_dtrace_posn_update(struct snd_sof_dev *sdev,
30 struct sof_ipc_dma_trace_posn *posn);