mirror of
https://github.com/torvalds/linux.git
synced 2026-04-25 18:12:26 -04:00
ASoC: SOF: Generic probe compress operations
Define system-agnostic probe compress flow which serves as a base for actual, hardware-dependent implementations. As per firmware spec, maximum of one extraction stream is allowed, while for injection, there can be plenty. Apart from probe_pointer, all probe compress operations are mandatory. Copy operation is defined as unified as its flow should be shared across all SOF systems. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200218143924.10565-6-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
f3b433e469
commit
e145e9af23
@@ -170,6 +170,27 @@ struct snd_sof_dsp_ops {
|
||||
snd_pcm_uframes_t (*pcm_pointer)(struct snd_sof_dev *sdev,
|
||||
struct snd_pcm_substream *substream); /* optional */
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_PROBES)
|
||||
/* Except for probe_pointer, all probe ops are mandatory */
|
||||
int (*probe_assign)(struct snd_sof_dev *sdev,
|
||||
struct snd_compr_stream *cstream,
|
||||
struct snd_soc_dai *dai); /* mandatory */
|
||||
int (*probe_free)(struct snd_sof_dev *sdev,
|
||||
struct snd_compr_stream *cstream,
|
||||
struct snd_soc_dai *dai); /* mandatory */
|
||||
int (*probe_set_params)(struct snd_sof_dev *sdev,
|
||||
struct snd_compr_stream *cstream,
|
||||
struct snd_compr_params *params,
|
||||
struct snd_soc_dai *dai); /* mandatory */
|
||||
int (*probe_trigger)(struct snd_sof_dev *sdev,
|
||||
struct snd_compr_stream *cstream, int cmd,
|
||||
struct snd_soc_dai *dai); /* mandatory */
|
||||
int (*probe_pointer)(struct snd_sof_dev *sdev,
|
||||
struct snd_compr_stream *cstream,
|
||||
struct snd_compr_tstamp *tstamp,
|
||||
struct snd_soc_dai *dai); /* optional */
|
||||
#endif
|
||||
|
||||
/* host read DSP stream data */
|
||||
void (*ipc_msg_data)(struct snd_sof_dev *sdev,
|
||||
struct snd_pcm_substream *substream,
|
||||
@@ -405,6 +426,10 @@ struct snd_sof_dev {
|
||||
wait_queue_head_t waitq;
|
||||
int code_loading;
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_PROBES)
|
||||
unsigned int extractor_stream_tag;
|
||||
#endif
|
||||
|
||||
/* DMA for Trace */
|
||||
struct snd_dma_buffer dmatb;
|
||||
struct snd_dma_buffer dmatp;
|
||||
|
||||
Reference in New Issue
Block a user