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

ASoC: davinci-evm: Switch to use .dai_fmt of snd_soc_dai_link(s)

Specify the dai formats to use within the snd_soc_dai_link structures. In
this way we can remove the code dealing with the dai format configuration
from the machin driver.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 7b6a7729
...@@ -33,8 +33,6 @@ struct snd_soc_card_drvdata_davinci { ...@@ -33,8 +33,6 @@ struct snd_soc_card_drvdata_davinci {
unsigned sysclk; unsigned sysclk;
}; };
#define AUDIO_FORMAT (SND_SOC_DAIFMT_DSP_B | \
SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_IB_NF)
static int evm_hw_params(struct snd_pcm_substream *substream, static int evm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params) struct snd_pcm_hw_params *params)
{ {
...@@ -47,16 +45,6 @@ static int evm_hw_params(struct snd_pcm_substream *substream, ...@@ -47,16 +45,6 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
unsigned sysclk = ((struct snd_soc_card_drvdata_davinci *) unsigned sysclk = ((struct snd_soc_card_drvdata_davinci *)
snd_soc_card_get_drvdata(soc_card))->sysclk; snd_soc_card_get_drvdata(soc_card))->sysclk;
/* set codec DAI configuration */
ret = snd_soc_dai_set_fmt(codec_dai, AUDIO_FORMAT);
if (ret < 0)
return ret;
/* set cpu DAI configuration */
ret = snd_soc_dai_set_fmt(cpu_dai, AUDIO_FORMAT);
if (ret < 0)
return ret;
/* set the codec system clock */ /* set the codec system clock */
ret = snd_soc_dai_set_sysclk(codec_dai, 0, sysclk, SND_SOC_CLOCK_OUT); ret = snd_soc_dai_set_sysclk(codec_dai, 0, sysclk, SND_SOC_CLOCK_OUT);
if (ret < 0) if (ret < 0)
...@@ -70,24 +58,10 @@ static int evm_hw_params(struct snd_pcm_substream *substream, ...@@ -70,24 +58,10 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
return 0; return 0;
} }
static int evm_spdif_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
/* set cpu DAI configuration */
return snd_soc_dai_set_fmt(cpu_dai, AUDIO_FORMAT);
}
static struct snd_soc_ops evm_ops = { static struct snd_soc_ops evm_ops = {
.hw_params = evm_hw_params, .hw_params = evm_hw_params,
}; };
static struct snd_soc_ops evm_spdif_ops = {
.hw_params = evm_spdif_hw_params,
};
/* davinci-evm machine dapm widgets */ /* davinci-evm machine dapm widgets */
static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = { static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = {
SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_HP("Headphone Jack", NULL),
...@@ -164,6 +138,8 @@ static struct snd_soc_dai_link dm6446_evm_dai = { ...@@ -164,6 +138,8 @@ static struct snd_soc_dai_link dm6446_evm_dai = {
.platform_name = "davinci-mcbsp", .platform_name = "davinci-mcbsp",
.init = evm_aic3x_init, .init = evm_aic3x_init,
.ops = &evm_ops, .ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}; };
static struct snd_soc_dai_link dm355_evm_dai = { static struct snd_soc_dai_link dm355_evm_dai = {
...@@ -175,6 +151,8 @@ static struct snd_soc_dai_link dm355_evm_dai = { ...@@ -175,6 +151,8 @@ static struct snd_soc_dai_link dm355_evm_dai = {
.platform_name = "davinci-mcbsp.1", .platform_name = "davinci-mcbsp.1",
.init = evm_aic3x_init, .init = evm_aic3x_init,
.ops = &evm_ops, .ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}; };
static struct snd_soc_dai_link dm365_evm_dai = { static struct snd_soc_dai_link dm365_evm_dai = {
...@@ -183,10 +161,12 @@ static struct snd_soc_dai_link dm365_evm_dai = { ...@@ -183,10 +161,12 @@ static struct snd_soc_dai_link dm365_evm_dai = {
.stream_name = "AIC3X", .stream_name = "AIC3X",
.cpu_dai_name = "davinci-mcbsp", .cpu_dai_name = "davinci-mcbsp",
.codec_dai_name = "tlv320aic3x-hifi", .codec_dai_name = "tlv320aic3x-hifi",
.init = evm_aic3x_init,
.codec_name = "tlv320aic3x-codec.1-0018", .codec_name = "tlv320aic3x-codec.1-0018",
.ops = &evm_ops,
.platform_name = "davinci-mcbsp", .platform_name = "davinci-mcbsp",
.init = evm_aic3x_init,
.ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
#elif defined(CONFIG_SND_DM365_VOICE_CODEC) #elif defined(CONFIG_SND_DM365_VOICE_CODEC)
.name = "Voice Codec - CQ93VC", .name = "Voice Codec - CQ93VC",
.stream_name = "CQ93", .stream_name = "CQ93",
...@@ -207,6 +187,8 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = { ...@@ -207,6 +187,8 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = {
.codec_name = "tlv320aic3x-codec.0-001a", .codec_name = "tlv320aic3x-codec.0-001a",
.init = evm_aic3x_init, .init = evm_aic3x_init,
.ops = &evm_ops, .ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}, },
{ {
.name = "McASP", .name = "McASP",
...@@ -215,7 +197,8 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = { ...@@ -215,7 +197,8 @@ static struct snd_soc_dai_link dm6467_evm_dai[] = {
.codec_dai_name = "dit-hifi", .codec_dai_name = "dit-hifi",
.codec_name = "spdif_dit", .codec_name = "spdif_dit",
.platform_name = "davinci-mcasp.1", .platform_name = "davinci-mcasp.1",
.ops = &evm_spdif_ops, .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}, },
}; };
...@@ -228,6 +211,8 @@ static struct snd_soc_dai_link da830_evm_dai = { ...@@ -228,6 +211,8 @@ static struct snd_soc_dai_link da830_evm_dai = {
.platform_name = "davinci-mcasp.1", .platform_name = "davinci-mcasp.1",
.init = evm_aic3x_init, .init = evm_aic3x_init,
.ops = &evm_ops, .ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}; };
static struct snd_soc_dai_link da850_evm_dai = { static struct snd_soc_dai_link da850_evm_dai = {
...@@ -239,6 +224,8 @@ static struct snd_soc_dai_link da850_evm_dai = { ...@@ -239,6 +224,8 @@ static struct snd_soc_dai_link da850_evm_dai = {
.platform_name = "davinci-mcasp.0", .platform_name = "davinci-mcasp.0",
.init = evm_aic3x_init, .init = evm_aic3x_init,
.ops = &evm_ops, .ops = &evm_ops,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}; };
/* davinci dm6446 evm audio machine driver */ /* davinci dm6446 evm audio machine driver */
...@@ -335,6 +322,8 @@ static struct snd_soc_dai_link evm_dai_tlv320aic3x = { ...@@ -335,6 +322,8 @@ static struct snd_soc_dai_link evm_dai_tlv320aic3x = {
.codec_dai_name = "tlv320aic3x-hifi", .codec_dai_name = "tlv320aic3x-hifi",
.ops = &evm_ops, .ops = &evm_ops,
.init = evm_aic3x_init, .init = evm_aic3x_init,
.dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM |
SND_SOC_DAIFMT_IB_NF,
}; };
static const struct of_device_id davinci_evm_dt_ids[] = { static const struct of_device_id davinci_evm_dt_ids[] = {
......
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