forked from Minki/linux
ASoC: SOF: Introduce IPC-specific PCM ops
Introduce the IPC-specific PCM ops that will be used to abstract the PCM related IPC's. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220317175044.1752400-12-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
67ec2a0916
commit
967885ee45
@ -45,6 +45,23 @@ struct snd_sof_dai_config_data {
|
||||
int dai_data; /* contains DAI-specific information */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sof_ipc_pcm_ops - IPC-specific PCM ops
|
||||
* @hw_params: Function pointer for hw_params
|
||||
* @hw_free: Function pointer for hw_free
|
||||
* @trigger: Function pointer for trigger
|
||||
* @dai_link_fixup: Function pointer for DAI link fixup
|
||||
*/
|
||||
struct sof_ipc_pcm_ops {
|
||||
int (*hw_params)(struct snd_soc_component *component, struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *params,
|
||||
struct snd_sof_platform_stream_params *platform_params);
|
||||
int (*hw_free)(struct snd_soc_component *component, struct snd_pcm_substream *substream);
|
||||
int (*trigger)(struct snd_soc_component *component, struct snd_pcm_substream *substream,
|
||||
int cmd);
|
||||
int (*dai_link_fixup)(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_params *params);
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sof_ipc_tplg_control_ops - IPC-specific ops for topology kcontrol IO
|
||||
*/
|
||||
|
@ -371,15 +371,18 @@ struct sof_ipc_pm_ops {
|
||||
};
|
||||
|
||||
struct sof_ipc_tplg_ops;
|
||||
struct sof_ipc_pcm_ops;
|
||||
|
||||
/**
|
||||
* struct sof_ipc_ops - IPC-specific ops
|
||||
* @tplg: Pointer to IPC-specific topology ops
|
||||
* @pm: Pointer to PM ops
|
||||
* @pcm: Pointer to PCM ops
|
||||
*/
|
||||
struct sof_ipc_ops {
|
||||
const struct sof_ipc_tplg_ops *tplg;
|
||||
const struct sof_ipc_pm_ops *pm;
|
||||
const struct sof_ipc_pcm_ops *pcm;
|
||||
};
|
||||
|
||||
/* SOF generic IPC data */
|
||||
|
Loading…
Reference in New Issue
Block a user