OSDN Git Service

ASoC: SOF: Add two new fields to struct snd_sof_widget
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Tue, 26 Apr 2022 17:17:39 +0000 (10:17 -0700)
committerMark Brown <broonie@kernel.org>
Fri, 29 Apr 2022 12:06:01 +0000 (13:06 +0100)
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>
sound/soc/sof/sof-audio.h

index 7502103..5af47f5 100644 (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;