mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
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: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20211006111651.10027-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ec626334ea
commit
d8a15e5fca
@ -157,7 +157,7 @@ static int sof_resume(struct device *dev, bool runtime_resume)
|
||||
}
|
||||
|
||||
/* restore pipelines */
|
||||
ret = sof_set_up_pipelines(sdev->dev, false);
|
||||
ret = sof_set_up_pipelines(sdev, false);
|
||||
if (ret < 0) {
|
||||
dev_err(sdev->dev,
|
||||
"error: failed to restore pipeline after resume %d\n",
|
||||
@ -208,7 +208,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend)
|
||||
if (target_state == SOF_DSP_PM_D0)
|
||||
goto suspend;
|
||||
|
||||
sof_tear_down_pipelines(dev, false);
|
||||
sof_tear_down_pipelines(sdev, false);
|
||||
|
||||
/* release trace */
|
||||
snd_sof_release_trace(sdev);
|
||||
|
@ -203,7 +203,7 @@ int sof_widget_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
|
||||
break;
|
||||
case snd_soc_dapm_scheduler:
|
||||
pipeline = swidget->private;
|
||||
ret = sof_load_pipeline_ipc(sdev->dev, pipeline, &r);
|
||||
ret = sof_load_pipeline_ipc(sdev, pipeline, &r);
|
||||
break;
|
||||
default:
|
||||
hdr = swidget->private;
|
||||
@ -428,7 +428,7 @@ int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, in
|
||||
if (pipe_widget->complete)
|
||||
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) {
|
||||
ret = pipe_widget->complete;
|
||||
goto widget_free;
|
||||
@ -593,9 +593,8 @@ const struct sof_ipc_pipe_new *snd_sof_pipeline_find(struct snd_sof_dev *sdev,
|
||||
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_route *sroute;
|
||||
int ret;
|
||||
@ -654,7 +653,7 @@ int sof_set_up_pipelines(struct device *dev, bool verify)
|
||||
continue;
|
||||
|
||||
swidget->complete =
|
||||
snd_sof_complete_pipeline(dev, swidget);
|
||||
snd_sof_complete_pipeline(sdev, swidget);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -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
|
||||
* 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_route *sroute;
|
||||
int ret;
|
||||
|
@ -181,10 +181,10 @@ void snd_sof_control_notify(struct snd_sof_dev *sdev,
|
||||
* be freed by snd_soc_unregister_component,
|
||||
*/
|
||||
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);
|
||||
|
||||
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_comp_reply *r);
|
||||
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,
|
||||
int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_params *params);
|
||||
|
||||
/* PM */
|
||||
int sof_set_up_pipelines(struct device *dev, bool verify);
|
||||
int sof_tear_down_pipelines(struct device *dev, bool verify);
|
||||
int sof_set_up_pipelines(struct snd_sof_dev *sdev, bool verify);
|
||||
int sof_tear_down_pipelines(struct snd_sof_dev *sdev, bool verify);
|
||||
int sof_set_hw_params_upon_resume(struct device *dev);
|
||||
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);
|
||||
|
@ -1690,11 +1690,10 @@ err:
|
||||
/*
|
||||
* 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_comp_reply *r)
|
||||
{
|
||||
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
|
||||
int ret = sof_core_enable(sdev, pipeline->core);
|
||||
|
||||
if (ret < 0)
|
||||
@ -1703,7 +1702,7 @@ int sof_load_pipeline_ipc(struct device *dev,
|
||||
ret = sof_ipc_tx_message(sdev->ipc, pipeline->hdr.cmd, pipeline,
|
||||
sizeof(*pipeline), r, sizeof(*r));
|
||||
if (ret < 0)
|
||||
dev_err(dev, "error: load pipeline ipc failure\n");
|
||||
dev_err(sdev->dev, "error: load pipeline ipc failure\n");
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -3382,15 +3381,14 @@ err:
|
||||
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_dev *sdev = dev_get_drvdata(dev);
|
||||
struct sof_ipc_pipe_ready ready;
|
||||
struct sof_ipc_reply reply;
|
||||
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);
|
||||
|
||||
memset(&ready, 0, sizeof(ready));
|
||||
@ -3469,13 +3467,13 @@ static int sof_complete(struct snd_soc_component *scomp)
|
||||
|
||||
/* verify topology components loading including dynamic pipelines */
|
||||
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) {
|
||||
dev_err(sdev->dev, "error: topology verification failed %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = sof_tear_down_pipelines(scomp->dev, true);
|
||||
ret = sof_tear_down_pipelines(sdev, true);
|
||||
if (ret < 0) {
|
||||
dev_err(sdev->dev, "error: topology tear down pipelines failed %d\n", ret);
|
||||
return ret;
|
||||
@ -3483,7 +3481,7 @@ static int sof_complete(struct snd_soc_component *scomp)
|
||||
}
|
||||
|
||||
/* 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 */
|
||||
|
Loading…
Reference in New Issue
Block a user