ASoC: ti: Update to use set_fmt_new callback
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 19 May 2022 15:42:47 +0000 (16:42 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2022 11:33:50 +0000 (12:33 +0100)
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>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20220519154318.2153729-26-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/davinci-i2s.c
sound/soc/ti/davinci-mcasp.c
sound/soc/ti/omap-mcbsp.c

index 0363a088d2e00058d9f96bb62e4aad7b57742f5f..c7368d52966889e90516bd364259f873b076f571 100644 (file)
@@ -230,15 +230,15 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
        dev->fmt = fmt;
        /* set master/slave audio interface */
-       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:
                /* cpu is master */
                pcr = DAVINCI_MCBSP_PCR_FSXM |
                        DAVINCI_MCBSP_PCR_FSRM |
                        DAVINCI_MCBSP_PCR_CLKXM |
                        DAVINCI_MCBSP_PCR_CLKRM;
                break;
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FP:
                pcr = DAVINCI_MCBSP_PCR_FSRM | DAVINCI_MCBSP_PCR_FSXM;
                /*
                 * Selection of the clock input pin that is the
@@ -260,7 +260,7 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
                }
 
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_BC_FC:
                /* codec is master */
                pcr = 0;
                break;
@@ -395,12 +395,12 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
                davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SPCR_REG, spcr);
        }
 
-       master = dev->fmt & SND_SOC_DAIFMT_MASTER_MASK;
+       master = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK;
        fmt = params_format(params);
        mcbsp_word_length = asp_word_length[fmt];
 
        switch (master) {
-       case SND_SOC_DAIFMT_CBS_CFS:
+       case SND_SOC_DAIFMT_BP_FP:
                freq = clk_get_rate(dev->clk);
                srgr = DAVINCI_MCBSP_SRGR_FSGM |
                       DAVINCI_MCBSP_SRGR_CLKSM;
@@ -426,7 +426,7 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
                clk_div &= 0xFF;
                srgr |= clk_div;
                break;
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FP:
                srgr = DAVINCI_MCBSP_SRGR_FSGM;
                clk_div = dev->clk_div - 1;
                srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length * 8 - 1);
@@ -434,7 +434,7 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
                clk_div &= 0xFF;
                srgr |= clk_div;
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_BC_FC:
                /* Clock and frame sync given from external sources */
                i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS);
                srgr = DAVINCI_MCBSP_SRGR_FSGM;
@@ -473,15 +473,15 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
                        fmt = double_fmt[fmt];
                }
                switch (master) {
-               case SND_SOC_DAIFMT_CBS_CFS:
-               case SND_SOC_DAIFMT_CBS_CFM:
+               case SND_SOC_DAIFMT_BP_FP:
+               case SND_SOC_DAIFMT_BP_FC:
                        rcr |= DAVINCI_MCBSP_RCR_RFRLEN2(0);
                        xcr |= DAVINCI_MCBSP_XCR_XFRLEN2(0);
                        rcr |= DAVINCI_MCBSP_RCR_RPHASE;
                        xcr |= DAVINCI_MCBSP_XCR_XPHASE;
                        break;
-               case SND_SOC_DAIFMT_CBM_CFM:
-               case SND_SOC_DAIFMT_CBM_CFS:
+               case SND_SOC_DAIFMT_BC_FC:
+               case SND_SOC_DAIFMT_BC_FP:
                        rcr |= DAVINCI_MCBSP_RCR_RFRLEN2(element_cnt - 1);
                        xcr |= DAVINCI_MCBSP_XCR_XFRLEN2(element_cnt - 1);
                        break;
@@ -492,13 +492,13 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
        mcbsp_word_length = asp_word_length[fmt];
 
        switch (master) {
-       case SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_CBS_CFM:
+       case SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_BP_FC:
                rcr |= DAVINCI_MCBSP_RCR_RFRLEN1(0);
                xcr |= DAVINCI_MCBSP_XCR_XFRLEN1(0);
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_BC_FP:
                rcr |= DAVINCI_MCBSP_RCR_RFRLEN1(element_cnt - 1);
                xcr |= DAVINCI_MCBSP_XCR_XFRLEN1(element_cnt - 1);
                break;
@@ -606,7 +606,7 @@ static const struct snd_soc_dai_ops davinci_i2s_dai_ops = {
        .prepare        = davinci_i2s_prepare,
        .trigger        = davinci_i2s_trigger,
        .hw_params      = davinci_i2s_hw_params,
-       .set_fmt        = davinci_i2s_set_dai_fmt,
+       .set_fmt_new    = davinci_i2s_set_dai_fmt,
        .set_clkdiv     = davinci_i2s_dai_set_clkdiv,
 
 };
index 377be2e2b6ee7d10b9bf7f3f67c3644b80c14d37..961bac69636528eac83168d683c367415834c483 100644 (file)
@@ -492,8 +492,8 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
        mcasp_mod_bits(mcasp, DAVINCI_MCASP_RXFMT_REG, FSRDLY(data_delay),
                       FSRDLY(3));
 
-       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:
                /* codec is clock and frame slave */
                mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
                mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -510,7 +510,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
                mcasp->bclk_master = 1;
                break;
-       case SND_SOC_DAIFMT_CBS_CFM:
+       case SND_SOC_DAIFMT_BP_FC:
                /* codec is clock slave and frame master */
                mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
                mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -527,7 +527,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
                mcasp->bclk_master = 1;
                break;
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FP:
                /* codec is clock master and frame slave */
                mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
                mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -544,7 +544,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
                mcasp->bclk_master = 0;
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_BC_FC:
                /* codec is clock and frame master */
                mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
                mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -1620,7 +1620,7 @@ static const struct snd_soc_dai_ops davinci_mcasp_dai_ops = {
        .trigger        = davinci_mcasp_trigger,
        .delay          = davinci_mcasp_delay,
        .hw_params      = davinci_mcasp_hw_params,
-       .set_fmt        = davinci_mcasp_set_dai_fmt,
+       .set_fmt_new    = davinci_mcasp_set_dai_fmt,
        .set_clkdiv     = davinci_mcasp_set_clkdiv,
        .set_sysclk     = davinci_mcasp_set_sysclk,
        .set_tdm_slot   = davinci_mcasp_set_tdm_slot,
index 4479d74f0a458f4045c968d2be59dac25e5bfaf8..5bfb56d4ff844737c87a8f96ad4de04e7ce99416 100644 (file)
@@ -1036,8 +1036,8 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
 
        /* In McBSP master modes, FRAME (i.e. sample rate) is generated
         * by _counting_ BCLKs. Calculate frame size in BCLKs */
-       master = mcbsp->fmt & SND_SOC_DAIFMT_MASTER_MASK;
-       if (master ==   SND_SOC_DAIFMT_CBS_CFS) {
+       master = mcbsp->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK;
+       if (master == SND_SOC_DAIFMT_BP_FP) {
                div = mcbsp->clk_div ? mcbsp->clk_div : 1;
                framesize = (mcbsp->in_freq / div) / params_rate(params);
 
@@ -1136,20 +1136,20 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
                return -EINVAL;
        }
 
-       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:
                /* McBSP master. Set FS and bit clocks as outputs */
                regs->pcr0      |= FSXM | FSRM |
                                   CLKXM | CLKRM;
                /* Sample rate generator drives the FS */
                regs->srgr2     |= FSGM;
                break;
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FP:
                /* McBSP slave. FS clock as output */
                regs->srgr2     |= FSGM;
                regs->pcr0      |= FSXM | FSRM;
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_BC_FC:
                /* McBSP slave */
                break;
        default:
@@ -1271,7 +1271,7 @@ static const struct snd_soc_dai_ops mcbsp_dai_ops = {
        .trigger        = omap_mcbsp_dai_trigger,
        .delay          = omap_mcbsp_dai_delay,
        .hw_params      = omap_mcbsp_dai_hw_params,
-       .set_fmt        = omap_mcbsp_dai_set_dai_fmt,
+       .set_fmt_new    = omap_mcbsp_dai_set_dai_fmt,
        .set_clkdiv     = omap_mcbsp_dai_set_clkdiv,
        .set_sysclk     = omap_mcbsp_dai_set_dai_sysclk,
 };