]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
ASoC: SOF: pcm: Update rate/channels for SAI/ESAI DAIs
authorDaniel Baluta <daniel.baluta@nxp.com>
Mon, 20 Jul 2020 07:20:46 +0000 (10:20 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 22 Jul 2020 11:45:02 +0000 (12:45 +0100)
Fixup BE DAI links rate/channels parameters to match any values
from topology.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200720072046.8152-8-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pcm.c

index 22fe9d5e932bc69e9258df35a200486465ccd692..5cfd2611b25283a614626e57f26a414dc541b7ef 100644 (file)
@@ -718,17 +718,25 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
                /* do nothing for ALH dai_link */
                break;
        case SOF_DAI_IMX_ESAI:
+               rate->min = dai->dai_config->esai.fsync_rate;
+               rate->max = dai->dai_config->esai.fsync_rate;
                channels->min = dai->dai_config->esai.tdm_slots;
                channels->max = dai->dai_config->esai.tdm_slots;
 
+               dev_dbg(component->dev,
+                       "rate_min: %d rate_max: %d\n", rate->min, rate->max);
                dev_dbg(component->dev,
                        "channels_min: %d channels_max: %d\n",
                        channels->min, channels->max);
                break;
        case SOF_DAI_IMX_SAI:
+               rate->min = dai->dai_config->sai.fsync_rate;
+               rate->max = dai->dai_config->sai.fsync_rate;
                channels->min = dai->dai_config->sai.tdm_slots;
                channels->max = dai->dai_config->sai.tdm_slots;
 
+               dev_dbg(component->dev,
+                       "rate_min: %d rate_max: %d\n", rate->min, rate->max);
                dev_dbg(component->dev,
                        "channels_min: %d channels_max: %d\n",
                        channels->min, channels->max);