ASoC: SOF: Add two new fields to struct snd_sof_widget

Add two new fields, instance_id and module_info to struct
snd_sof_widget. instance_id for widgets will be assigned when they are
set up in the DSP and reset when the widgets are freed. module_info is
used to save information the firmware provides about each module in its
manifest.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20220426171743.171061-8-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Ranjani Sridharan 2022-04-26 10:17:39 -07:00 committed by Mark Brown
parent d77d779554
commit 36cbc9df3f
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -330,7 +330,12 @@ struct snd_sof_widget {
int complete;
int use_count; /* use_count will be protected by the PCM mutex held by the core */
int core;
int id;
int id; /* id is the DAPM widget type */
/*
* Instance ID is set dynamically when the widget gets set up in the FW. It should be
* unique for each module type across all pipelines. This will not be used in SOF_IPC.
*/
int instance_id;
/*
* Flag indicating if the widget should be set up dynamically when a PCM is opened.
@ -345,6 +350,7 @@ struct snd_sof_widget {
struct snd_soc_dapm_widget *widget;
struct list_head list; /* list in sdev widget list */
struct snd_sof_widget *pipe_widget;
void *module_info;
const guid_t uuid;