Commit d8a15e5f authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: SOF: pipelines: Harmonize all functions to use struct snd_sof_dev

First thing the pipelines function which have "struct device *dev" as
parameter do is:
struct snd_sof_dev *sdev = dev_get_drvdata(dev);

and in all cases the passed dev is actually coming from sdev->dev.

Skip this steps and pass directly the sdev to all pipelines related
functions as few of them already does this.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20211006111651.10027-1-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent ec626334
...@@ -157,7 +157,7 @@ static int sof_resume(struct device *dev, bool runtime_resume) ...@@ -157,7 +157,7 @@ static int sof_resume(struct device *dev, bool runtime_resume)
} }
/* restore pipelines */ /* restore pipelines */
ret = sof_set_up_pipelines(sdev->dev, false); ret = sof_set_up_pipelines(sdev, false);
if (ret < 0) { if (ret < 0) {
dev_err(sdev->dev, dev_err(sdev->dev,
"error: failed to restore pipeline after resume %d\n", "error: failed to restore pipeline after resume %d\n",
...@@ -208,7 +208,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) ...@@ -208,7 +208,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend)
if (target_state == SOF_DSP_PM_D0) if (target_state == SOF_DSP_PM_D0)
goto suspend; goto suspend;
sof_tear_down_pipelines(dev, false); sof_tear_down_pipelines(sdev, false);
/* release trace */ /* release trace */
snd_sof_release_trace(sdev); snd_sof_release_trace(sdev);
......
...@@ -203,7 +203,7 @@ int sof_widget_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget) ...@@ -203,7 +203,7 @@ int sof_widget_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
break; break;
case snd_soc_dapm_scheduler: case snd_soc_dapm_scheduler:
pipeline = swidget->private; pipeline = swidget->private;
ret = sof_load_pipeline_ipc(sdev->dev, pipeline, &r); ret = sof_load_pipeline_ipc(sdev, pipeline, &r);
break; break;
default: default:
hdr = swidget->private; hdr = swidget->private;
...@@ -428,7 +428,7 @@ int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, in ...@@ -428,7 +428,7 @@ int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, in
if (pipe_widget->complete) if (pipe_widget->complete)
continue; continue;
pipe_widget->complete = snd_sof_complete_pipeline(sdev->dev, pipe_widget); pipe_widget->complete = snd_sof_complete_pipeline(sdev, pipe_widget);
if (pipe_widget->complete < 0) { if (pipe_widget->complete < 0) {
ret = pipe_widget->complete; ret = pipe_widget->complete;
goto widget_free; goto widget_free;
...@@ -593,9 +593,8 @@ const struct sof_ipc_pipe_new *snd_sof_pipeline_find(struct snd_sof_dev *sdev, ...@@ -593,9 +593,8 @@ const struct sof_ipc_pipe_new *snd_sof_pipeline_find(struct snd_sof_dev *sdev,
return NULL; return NULL;
} }
int sof_set_up_pipelines(struct device *dev, bool verify) int sof_set_up_pipelines(struct snd_sof_dev *sdev, bool verify)
{ {
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
struct snd_sof_widget *swidget; struct snd_sof_widget *swidget;
struct snd_sof_route *sroute; struct snd_sof_route *sroute;
int ret; int ret;
...@@ -654,7 +653,7 @@ int sof_set_up_pipelines(struct device *dev, bool verify) ...@@ -654,7 +653,7 @@ int sof_set_up_pipelines(struct device *dev, bool verify)
continue; continue;
swidget->complete = swidget->complete =
snd_sof_complete_pipeline(dev, swidget); snd_sof_complete_pipeline(sdev, swidget);
break; break;
default: default:
break; break;
...@@ -668,9 +667,8 @@ int sof_set_up_pipelines(struct device *dev, bool verify) ...@@ -668,9 +667,8 @@ int sof_set_up_pipelines(struct device *dev, bool verify)
* This function doesn't free widgets during suspend. It only resets the set up status for all * This function doesn't free widgets during suspend. It only resets the set up status for all
* routes and use_count for all widgets. * routes and use_count for all widgets.
*/ */
int sof_tear_down_pipelines(struct device *dev, bool verify) int sof_tear_down_pipelines(struct snd_sof_dev *sdev, bool verify)
{ {
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
struct snd_sof_widget *swidget; struct snd_sof_widget *swidget;
struct snd_sof_route *sroute; struct snd_sof_route *sroute;
int ret; int ret;
......
...@@ -181,10 +181,10 @@ void snd_sof_control_notify(struct snd_sof_dev *sdev, ...@@ -181,10 +181,10 @@ void snd_sof_control_notify(struct snd_sof_dev *sdev,
* be freed by snd_soc_unregister_component, * be freed by snd_soc_unregister_component,
*/ */
int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file); int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file);
int snd_sof_complete_pipeline(struct device *dev, int snd_sof_complete_pipeline(struct snd_sof_dev *sdev,
struct snd_sof_widget *swidget); struct snd_sof_widget *swidget);
int sof_load_pipeline_ipc(struct device *dev, int sof_load_pipeline_ipc(struct snd_sof_dev *sdev,
struct sof_ipc_pipe_new *pipeline, struct sof_ipc_pipe_new *pipeline,
struct sof_ipc_comp_reply *r); struct sof_ipc_comp_reply *r);
int sof_pipeline_core_enable(struct snd_sof_dev *sdev, int sof_pipeline_core_enable(struct snd_sof_dev *sdev,
...@@ -246,8 +246,8 @@ int snd_sof_ipc_set_get_comp_data(struct snd_sof_control *scontrol, ...@@ -246,8 +246,8 @@ int snd_sof_ipc_set_get_comp_data(struct snd_sof_control *scontrol,
int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_params *params); int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_params *params);
/* PM */ /* PM */
int sof_set_up_pipelines(struct device *dev, bool verify); int sof_set_up_pipelines(struct snd_sof_dev *sdev, bool verify);
int sof_tear_down_pipelines(struct device *dev, bool verify); int sof_tear_down_pipelines(struct snd_sof_dev *sdev, bool verify);
int sof_set_hw_params_upon_resume(struct device *dev); int sof_set_hw_params_upon_resume(struct device *dev);
bool snd_sof_stream_suspend_ignored(struct snd_sof_dev *sdev); bool snd_sof_stream_suspend_ignored(struct snd_sof_dev *sdev);
bool snd_sof_dsp_only_d0i3_compatible_stream_active(struct snd_sof_dev *sdev); bool snd_sof_dsp_only_d0i3_compatible_stream_active(struct snd_sof_dev *sdev);
......
...@@ -1690,11 +1690,10 @@ static int sof_widget_load_pcm(struct snd_soc_component *scomp, int index, ...@@ -1690,11 +1690,10 @@ static int sof_widget_load_pcm(struct snd_soc_component *scomp, int index,
/* /*
* Pipeline Topology * Pipeline Topology
*/ */
int sof_load_pipeline_ipc(struct device *dev, int sof_load_pipeline_ipc(struct snd_sof_dev *sdev,
struct sof_ipc_pipe_new *pipeline, struct sof_ipc_pipe_new *pipeline,
struct sof_ipc_comp_reply *r) struct sof_ipc_comp_reply *r)
{ {
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
int ret = sof_core_enable(sdev, pipeline->core); int ret = sof_core_enable(sdev, pipeline->core);
if (ret < 0) if (ret < 0)
...@@ -1703,7 +1702,7 @@ int sof_load_pipeline_ipc(struct device *dev, ...@@ -1703,7 +1702,7 @@ int sof_load_pipeline_ipc(struct device *dev,
ret = sof_ipc_tx_message(sdev->ipc, pipeline->hdr.cmd, pipeline, ret = sof_ipc_tx_message(sdev->ipc, pipeline->hdr.cmd, pipeline,
sizeof(*pipeline), r, sizeof(*r)); sizeof(*pipeline), r, sizeof(*r));
if (ret < 0) if (ret < 0)
dev_err(dev, "error: load pipeline ipc failure\n"); dev_err(sdev->dev, "error: load pipeline ipc failure\n");
return ret; return ret;
} }
...@@ -3382,15 +3381,14 @@ static int sof_route_load(struct snd_soc_component *scomp, int index, ...@@ -3382,15 +3381,14 @@ static int sof_route_load(struct snd_soc_component *scomp, int index,
return ret; return ret;
} }
int snd_sof_complete_pipeline(struct device *dev, int snd_sof_complete_pipeline(struct snd_sof_dev *sdev,
struct snd_sof_widget *swidget) struct snd_sof_widget *swidget)
{ {
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
struct sof_ipc_pipe_ready ready; struct sof_ipc_pipe_ready ready;
struct sof_ipc_reply reply; struct sof_ipc_reply reply;
int ret; int ret;
dev_dbg(dev, "tplg: complete pipeline %s id %d\n", dev_dbg(sdev->dev, "tplg: complete pipeline %s id %d\n",
swidget->widget->name, swidget->comp_id); swidget->widget->name, swidget->comp_id);
memset(&ready, 0, sizeof(ready)); memset(&ready, 0, sizeof(ready));
...@@ -3469,13 +3467,13 @@ static int sof_complete(struct snd_soc_component *scomp) ...@@ -3469,13 +3467,13 @@ static int sof_complete(struct snd_soc_component *scomp)
/* verify topology components loading including dynamic pipelines */ /* verify topology components loading including dynamic pipelines */
if (sof_core_debug & SOF_DBG_VERIFY_TPLG) { if (sof_core_debug & SOF_DBG_VERIFY_TPLG) {
ret = sof_set_up_pipelines(scomp->dev, true); ret = sof_set_up_pipelines(sdev, true);
if (ret < 0) { if (ret < 0) {
dev_err(sdev->dev, "error: topology verification failed %d\n", ret); dev_err(sdev->dev, "error: topology verification failed %d\n", ret);
return ret; return ret;
} }
ret = sof_tear_down_pipelines(scomp->dev, true); ret = sof_tear_down_pipelines(sdev, true);
if (ret < 0) { if (ret < 0) {
dev_err(sdev->dev, "error: topology tear down pipelines failed %d\n", ret); dev_err(sdev->dev, "error: topology tear down pipelines failed %d\n", ret);
return ret; return ret;
...@@ -3483,7 +3481,7 @@ static int sof_complete(struct snd_soc_component *scomp) ...@@ -3483,7 +3481,7 @@ static int sof_complete(struct snd_soc_component *scomp)
} }
/* set up static pipelines */ /* set up static pipelines */
return sof_set_up_pipelines(scomp->dev, false); return sof_set_up_pipelines(sdev, false);
} }
/* manifest - optional to inform component of manifest */ /* manifest - optional to inform component of manifest */
......
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