mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-07 14:32:23 +00:00
ASoC: pxa: Update to use set_fmt_new callback
As part of updating the core to directly tell drivers if they are clock provider or consumer update these CPU side drivers to use the new direct callback. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-17-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f3c0064f1f
commit
84c5b47c8c
@ -91,13 +91,13 @@ static int magician_playback_hw_params(struct snd_pcm_substream *substream,
|
||||
|
||||
/* set codec DAI configuration */
|
||||
ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_MSB |
|
||||
SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
|
||||
SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_BC_FC);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* set cpu DAI configuration */
|
||||
ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_DSP_A |
|
||||
SND_SOC_DAIFMT_NB_IF | SND_SOC_DAIFMT_CBS_CFS);
|
||||
SND_SOC_DAIFMT_NB_IF | SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -129,14 +129,14 @@ static int magician_capture_hw_params(struct snd_pcm_substream *substream,
|
||||
/* set codec DAI configuration */
|
||||
ret = snd_soc_dai_set_fmt(codec_dai,
|
||||
SND_SOC_DAIFMT_MSB | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS);
|
||||
SND_SOC_DAIFMT_BC_FC);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* set cpu DAI configuration */
|
||||
ret = snd_soc_dai_set_fmt(cpu_dai,
|
||||
SND_SOC_DAIFMT_MSB | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
@ -171,11 +171,11 @@ static int mmp_sspa_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
sspa->sp = SSPA_SP_WEN | SSPA_SP_S_RST | SSPA_SP_FFLUSH;
|
||||
sspa->ctrl = 0;
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
sspa->sp |= SSPA_SP_MSL;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
@ -346,7 +346,7 @@ static const struct snd_soc_dai_ops mmp_sspa_dai_ops = {
|
||||
.hw_params = mmp_sspa_hw_params,
|
||||
.set_sysclk = mmp_sspa_set_dai_sysclk,
|
||||
.set_pll = mmp_sspa_set_dai_pll,
|
||||
.set_fmt = mmp_sspa_set_dai_fmt,
|
||||
.set_fmt_new = mmp_sspa_set_dai_fmt,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_driver mmp_sspa_dai = {
|
||||
|
@ -372,10 +372,10 @@ static int pxa_ssp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
{
|
||||
struct ssp_priv *priv = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
case SND_SOC_DAIFMT_BC_FP:
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
@ -432,14 +432,14 @@ static int pxa_ssp_configure_dai_fmt(struct ssp_priv *priv)
|
||||
|
||||
sscr1 |= SSCR1_RxTresh(8) | SSCR1_TxTresh(7);
|
||||
|
||||
switch (priv->dai_fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
switch (priv->dai_fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
sscr1 |= SSCR1_SCLKDIR | SSCR1_SFRMDIR | SSCR1_SCFR;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
case SND_SOC_DAIFMT_BC_FP:
|
||||
sscr1 |= SSCR1_SCLKDIR | SSCR1_SCFR;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
@ -484,9 +484,9 @@ static int pxa_ssp_configure_dai_fmt(struct ssp_priv *priv)
|
||||
pxa_ssp_write_reg(ssp, SSCR1, sscr1);
|
||||
pxa_ssp_write_reg(ssp, SSPSP, sspsp);
|
||||
|
||||
switch (priv->dai_fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
switch (priv->dai_fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
case SND_SOC_DAIFMT_BC_FP:
|
||||
scfr = pxa_ssp_read_reg(ssp, SSCR1) | SSCR1_SCFR;
|
||||
pxa_ssp_write_reg(ssp, SSCR1, scfr);
|
||||
|
||||
@ -824,7 +824,7 @@ static const struct snd_soc_dai_ops pxa_ssp_dai_ops = {
|
||||
.trigger = pxa_ssp_trigger,
|
||||
.hw_params = pxa_ssp_hw_params,
|
||||
.set_sysclk = pxa_ssp_set_dai_sysclk,
|
||||
.set_fmt = pxa_ssp_set_dai_fmt,
|
||||
.set_fmt_new = pxa_ssp_set_dai_fmt,
|
||||
.set_tdm_slot = pxa_ssp_set_dai_tdm_slot,
|
||||
.set_tristate = pxa_ssp_set_dai_tristate,
|
||||
};
|
||||
|
@ -129,11 +129,11 @@ static int pxa2xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
break;
|
||||
}
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
pxa_i2s.master = 1;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
case SND_SOC_DAIFMT_BC_FP:
|
||||
pxa_i2s.master = 0;
|
||||
break;
|
||||
default:
|
||||
@ -333,7 +333,7 @@ static const struct snd_soc_dai_ops pxa_i2s_dai_ops = {
|
||||
.shutdown = pxa2xx_i2s_shutdown,
|
||||
.trigger = pxa2xx_i2s_trigger,
|
||||
.hw_params = pxa2xx_i2s_hw_params,
|
||||
.set_fmt = pxa2xx_i2s_set_dai_fmt,
|
||||
.set_fmt_new = pxa2xx_i2s_set_dai_fmt,
|
||||
.set_sysclk = pxa2xx_i2s_set_dai_sysclk,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user