3dc0d70917
Add a new client driver for probes support and move all the probes-related code from the core to the client driver. The probes client driver registers a component driver with one CPU DAI driver for extraction and creates a new sound card with one DUMMY DAI link with a dummy codec that will be used for extracting audio data from specific points in the audio pipeline. The probes debugfs ops are based on the initial implementation by Cezary Rojewski and have been moved out of the SOF core into the client driver making it easier to maintain. This change will make it easier for the probes functionality to be added for all platforms without having the need to modify the existing(15+) machine drivers. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20220210150525.30756-10-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
32 lines
1.0 KiB
C
32 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#ifndef __SOF_CLIENT_PROBES_H
|
|
#define __SOF_CLIENT_PROBES_H
|
|
|
|
struct snd_compr_stream;
|
|
struct snd_compr_tstamp;
|
|
struct snd_compr_params;
|
|
struct sof_client_dev;
|
|
struct snd_soc_dai;
|
|
|
|
/*
|
|
* Callbacks used on platforms where the control for audio is split between
|
|
* DSP and host, like HDA.
|
|
*/
|
|
struct sof_probes_host_ops {
|
|
int (*assign)(struct sof_client_dev *cdev, struct snd_compr_stream *cstream,
|
|
struct snd_soc_dai *dai, u32 *stream_id);
|
|
int (*free)(struct sof_client_dev *cdev, struct snd_compr_stream *cstream,
|
|
struct snd_soc_dai *dai);
|
|
int (*set_params)(struct sof_client_dev *cdev, struct snd_compr_stream *cstream,
|
|
struct snd_compr_params *params,
|
|
struct snd_soc_dai *dai);
|
|
int (*trigger)(struct sof_client_dev *cdev, struct snd_compr_stream *cstream,
|
|
int cmd, struct snd_soc_dai *dai);
|
|
int (*pointer)(struct sof_client_dev *cdev, struct snd_compr_stream *cstream,
|
|
struct snd_compr_tstamp *tstamp,
|
|
struct snd_soc_dai *dai);
|
|
};
|
|
|
|
#endif
|