Commit 463a809b authored by Ranjani Sridharan's avatar Ranjani Sridharan Committed by Mark Brown

ASoC: SOF: clarify use of widget complete flag

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: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220426171743.171061-11-ranjani.sridharan@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent a5ba725e
...@@ -58,8 +58,6 @@ int sof_widget_free(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget) ...@@ -58,8 +58,6 @@ int sof_widget_free(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
err = ret; err = ret;
} }
swidget->complete = 0;
/* /*
* free the scheduler widget (same as pipe_widget) associated with the current swidget. * free the scheduler widget (same as pipe_widget) associated with the current swidget.
* skip for static pipelines * skip for static pipelines
...@@ -68,6 +66,7 @@ int sof_widget_free(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget) ...@@ -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); ret = sof_widget_free(sdev, swidget->pipe_widget);
if (ret < 0 && !err) if (ret < 0 && !err)
err = ret; err = ret;
swidget->pipe_widget->complete = 0;
} }
if (!err) if (!err)
......
...@@ -327,6 +327,10 @@ struct snd_sof_widget { ...@@ -327,6 +327,10 @@ struct snd_sof_widget {
struct snd_soc_component *scomp; struct snd_soc_component *scomp;
int comp_id; int comp_id;
int pipeline_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 complete;
int use_count; /* use_count will be protected by the PCM mutex held by the core */ int use_count; /* use_count will be protected by the PCM mutex held by the core */
int core; int core;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment