ASoC: SOF: clarify use of widget complete flag
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Tue, 26 Apr 2022 17:17:42 +0000 (10:17 -0700)
committerMark Brown <broonie@kernel.org>
Fri, 29 Apr 2022 12:06:04 +0000 (13:06 +0100)
Currently, the complete flag is used only for the snd_soc_dapm_scheduler
type widgets to indicate that the pipeline has been set up. All other
widgets do not need it. Add a comment to clarify its usage and set the
complete flag to false only for the scheduler widget in
sof_widget_free().

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220426171743.171061-11-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-audio.c
sound/soc/sof/sof-audio.h

index b2da078..791d245 100644 (file)
@@ -58,8 +58,6 @@ int sof_widget_free(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
                        err = ret;
        }
 
-       swidget->complete = 0;
-
        /*
         * free the scheduler widget (same as pipe_widget) associated with the current swidget.
         * skip for static pipelines
@@ -68,6 +66,7 @@ int sof_widget_free(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
                ret = sof_widget_free(sdev, swidget->pipe_widget);
                if (ret < 0 && !err)
                        err = ret;
+               swidget->pipe_widget->complete = 0;
        }
 
        if (!err)
index bf75913..4dbee02 100644 (file)
@@ -327,6 +327,10 @@ struct snd_sof_widget {
        struct snd_soc_component *scomp;
        int comp_id;
        int pipeline_id;
+       /*
+        * complete flag is used to indicate that pipeline set up is complete for scheduler type
+        * widgets. It is unused for all other widget types.
+        */
        int complete;
        int use_count; /* use_count will be protected by the PCM mutex held by the core */
        int core;