OSDN Git Service

ASoC: SOF: pcm: Move the call to snd_sof_pcm_platform_hw_params()
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Tue, 26 Apr 2022 17:17:36 +0000 (10:17 -0700)
committerMark Brown <broonie@kernel.org>
Fri, 29 Apr 2022 12:05:57 +0000 (13:05 +0100)
IPC4 requires the platform_params be passed when invoking
sof_pcm_setup_connected_widgets(). So move the call to
snd_sof_pcm_platform_hw_params() before calling
sof_pcm_setup_connected_widgets(). This has no functional impact.

sof_pcm_setup_connected_widgets will be modified in the follow up
patches to accept the platform params as an argument.

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-5-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pcm.c

index 6242327..2d21e53 100644 (file)
@@ -150,6 +150,12 @@ static int sof_pcm_hw_params(struct snd_soc_component *component,
        dev_dbg(component->dev, "pcm: hw params stream %d dir %d\n",
                spcm->pcm.pcm_id, substream->stream);
 
+       ret = snd_sof_pcm_platform_hw_params(sdev, substream, params, &platform_params);
+       if (ret < 0) {
+               dev_err(component->dev, "platform hw params failed\n");
+               return ret;
+       }
+
        /* if this is a repeated hw_params without hw_free, skip setting up widgets */
        if (!spcm->stream[substream->stream].list) {
                ret = sof_pcm_setup_connected_widgets(sdev, rtd, spcm, substream->stream);
@@ -166,12 +172,6 @@ static int sof_pcm_hw_params(struct snd_soc_component *component,
                        return ret;
        }
 
-       ret = snd_sof_pcm_platform_hw_params(sdev, substream, params, &platform_params);
-       if (ret < 0) {
-               dev_err(component->dev, "platform hw params failed\n");
-               return ret;
-       }
-
        if (pcm_ops->hw_params) {
                ret = pcm_ops->hw_params(component, substream, params, &platform_params);
                if (ret < 0)