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

ASoC: ti: j721e-evm: Convert the audio domain IDs to enum

Convert the J721E_AUDIO_DOMAIN_* from defines to enum to make it possible
to extend the number of domains in the future.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20210717122820.1467-4-peter.ujfalusi@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent d9dbe1f9
...@@ -23,8 +23,11 @@ ...@@ -23,8 +23,11 @@
*/ */
#define J721E_CODEC_CONF_COUNT 5 #define J721E_CODEC_CONF_COUNT 5
#define J721E_AUDIO_DOMAIN_CPB 0 enum j721e_audio_domain_id {
#define J721E_AUDIO_DOMAIN_IVI 1 J721E_AUDIO_DOMAIN_CPB = 0,
J721E_AUDIO_DOMAIN_IVI,
J721E_AUDIO_DOMAIN_LAST,
};
#define J721E_CLK_PARENT_48000 0 #define J721E_CLK_PARENT_48000 0
#define J721E_CLK_PARENT_44100 1 #define J721E_CLK_PARENT_44100 1
...@@ -78,7 +81,7 @@ struct j721e_priv { ...@@ -78,7 +81,7 @@ struct j721e_priv {
u32 pll_rates[2]; u32 pll_rates[2];
unsigned int hsdiv_rates[2]; unsigned int hsdiv_rates[2];
struct j721e_audio_domain audio_domains[2]; struct j721e_audio_domain audio_domains[J721E_AUDIO_DOMAIN_LAST];
struct mutex mutex; struct mutex mutex;
}; };
...@@ -199,9 +202,8 @@ static int j721e_configure_refclk(struct j721e_priv *priv, ...@@ -199,9 +202,8 @@ static int j721e_configure_refclk(struct j721e_priv *priv,
if (priv->hsdiv_rates[domain->parent_clk_id] != scki) { if (priv->hsdiv_rates[domain->parent_clk_id] != scki) {
dev_dbg(priv->dev, dev_dbg(priv->dev,
"%s configuration for %u Hz: %s, %dxFS (SCKI: %u Hz)\n", "domain%u configuration for %u Hz: %s, %dxFS (SCKI: %u Hz)\n",
audio_domain == J721E_AUDIO_DOMAIN_CPB ? "CPB" : "IVI", audio_domain, rate,
rate,
clk_id == J721E_CLK_PARENT_48000 ? "PLL4" : "PLL15", clk_id == J721E_CLK_PARENT_48000 ? "PLL4" : "PLL15",
ratios_for_pcm3168a[i], scki); ratios_for_pcm3168a[i], scki);
...@@ -263,10 +265,11 @@ static int j721e_audio_startup(struct snd_pcm_substream *substream) ...@@ -263,10 +265,11 @@ static int j721e_audio_startup(struct snd_pcm_substream *substream)
domain->active++; domain->active++;
if (priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].rate) for (i = 0; i < J721E_AUDIO_DOMAIN_LAST; i++) {
active_rate = priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].rate; active_rate = priv->audio_domains[i].rate;
else if (active_rate)
active_rate = priv->audio_domains[J721E_AUDIO_DOMAIN_IVI].rate; break;
}
if (active_rate) if (active_rate)
ret = snd_pcm_hw_constraint_single(substream->runtime, ret = snd_pcm_hw_constraint_single(substream->runtime,
...@@ -819,7 +822,7 @@ static int j721e_soc_probe(struct platform_device *pdev) ...@@ -819,7 +822,7 @@ static int j721e_soc_probe(struct platform_device *pdev)
struct snd_soc_card *card; struct snd_soc_card *card;
const struct of_device_id *match; const struct of_device_id *match;
struct j721e_priv *priv; struct j721e_priv *priv;
int link_cnt, conf_cnt, ret; int link_cnt, conf_cnt, ret, i;
if (!node) { if (!node) {
dev_err(&pdev->dev, "of node is missing.\n"); dev_err(&pdev->dev, "of node is missing.\n");
...@@ -843,8 +846,9 @@ static int j721e_soc_probe(struct platform_device *pdev) ...@@ -843,8 +846,9 @@ static int j721e_soc_probe(struct platform_device *pdev)
if (!priv->dai_links) if (!priv->dai_links)
return -ENOMEM; return -ENOMEM;
priv->audio_domains[J721E_AUDIO_DOMAIN_CPB].parent_clk_id = -1; for (i = 0; i < J721E_AUDIO_DOMAIN_LAST; i++)
priv->audio_domains[J721E_AUDIO_DOMAIN_IVI].parent_clk_id = -1; priv->audio_domains[i].parent_clk_id = -1;
priv->dev = &pdev->dev; priv->dev = &pdev->dev;
card = &priv->card; card = &priv->card;
card->dev = &pdev->dev; card->dev = &pdev->dev;
......
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