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) 2019-2021 Intel Corporation. All rights reserved.
7  * Author: Cezary Rojewski <cezary.rojewski@intel.com>
8  */
9 
10 #ifndef __SOF_PROBES_H
11 #define __SOF_PROBES_H
12 
13 #include <sound/compress_driver.h>
14 #include <sound/sof/header.h>
15 
16 struct snd_sof_dev;
17 
18 #define SOF_PROBE_INVALID_NODE_ID UINT_MAX
19 
20 struct sof_probe_point_desc {
21 	unsigned int buffer_id;
22 	unsigned int purpose;
23 	unsigned int stream_tag;
24 } __packed;
25 
26 int sof_ipc_probe_points_info(struct snd_sof_dev *sdev,
27 			      struct sof_probe_point_desc **desc,
28 			      size_t *num_desc);
29 int sof_ipc_probe_points_add(struct snd_sof_dev *sdev,
30 			     struct sof_probe_point_desc *desc,
31 			     size_t num_desc);
32 int sof_ipc_probe_points_remove(struct snd_sof_dev *sdev,
33 				unsigned int *buffer_id, size_t num_buffer_id);
34 
35 extern struct snd_soc_cdai_ops sof_probe_compr_ops;
36 extern const struct snd_compress_ops sof_probe_compressed_ops;
37 
38 #endif
39