ASoC: ux500: Update to use set_fmt_new callback
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 19 May 2022 15:42:48 +0000 (16:42 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2022 11:33:51 +0000 (12:33 +0100)
As part of updating the core to directly tell drivers if they are clock
provider or consumer update this CPU side driver to use the new direct
callback.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220519154318.2153729-27-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ux500/ux500_msp_dai.c

index 21052378a32eb305a750dc3b99410f7b24bd310e..cd6c4bdf5041d026db756b97e90e9e88165f458e 100644 (file)
@@ -191,8 +191,8 @@ static int setup_clocking(struct snd_soc_dai *dai,
                return -EINVAL;
        }
 
-       switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-       case SND_SOC_DAIFMT_CBM_CFM:
+       switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+       case SND_SOC_DAIFMT_BC_FC:
                dev_dbg(dai->dev, "%s: Codec is master.\n", __func__);
 
                msp_config->iodelay = 0x20;
@@ -204,7 +204,7 @@ static int setup_clocking(struct snd_soc_dai *dai,
 
                break;
 
-       case SND_SOC_DAIFMT_CBS_CFS:
+       case SND_SOC_DAIFMT_BP_FP:
                dev_dbg(dai->dev, "%s: Codec is slave.\n", __func__);
 
                msp_config->tx_clk_sel = TX_CLK_SEL_SRG;
@@ -328,15 +328,15 @@ static int setup_msp_config(struct snd_pcm_substream *substream,
        dev_dbg(dai->dev, "%s: rate: %u, channels: %d.\n", __func__,
                runtime->rate, runtime->channels);
        switch (fmt &
-               (SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_MASTER_MASK)) {
-       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS:
+               (SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK)) {
+       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_BP_FP:
                dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__);
 
                msp_config->default_protdesc = 1;
                msp_config->protocol = MSP_I2S_PROTOCOL;
                break;
 
-       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_BC_FC:
                dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__);
 
                msp_config->data_size = MSP_DATA_BITS_16;
@@ -348,10 +348,10 @@ static int setup_msp_config(struct snd_pcm_substream *substream,
 
                break;
 
-       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_CBM_CFM:
-       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_BC_FC:
                dev_dbg(dai->dev, "%s: PCM format.\n", __func__);
 
                msp_config->data_size = MSP_DATA_BITS_16;
@@ -477,7 +477,7 @@ static int ux500_msp_dai_prepare(struct snd_pcm_substream *substream,
        }
 
        /* Set OPP-level */
-       if ((drvdata->fmt & SND_SOC_DAIFMT_MASTER_MASK) &&
+       if ((drvdata->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) &&
                (drvdata->msp->f_bitclk > 19200000)) {
                /* If the bit-clock is higher than 19.2MHz, Vape should be
                 * run in 100% OPP. Only when bit-clock is used (MSP master)
@@ -544,13 +544,13 @@ static int ux500_msp_dai_set_dai_fmt(struct snd_soc_dai *dai,
        dev_dbg(dai->dev, "%s: MSP %d: Enter.\n", __func__, dai->id);
 
        switch (fmt & (SND_SOC_DAIFMT_FORMAT_MASK |
-               SND_SOC_DAIFMT_MASTER_MASK)) {
-       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM:
-       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM:
-       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_CBS_CFS:
-       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_CBM_CFM:
+               SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK)) {
+       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_BP_FP:
+       case SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_BC_FC:
                break;
 
        default:
@@ -707,7 +707,7 @@ static int ux500_msp_dai_probe(struct snd_soc_dai *dai)
 static const struct snd_soc_dai_ops ux500_msp_dai_ops[] = {
        {
                .set_sysclk = ux500_msp_dai_set_dai_sysclk,
-               .set_fmt = ux500_msp_dai_set_dai_fmt,
+               .set_fmt_new = ux500_msp_dai_set_dai_fmt,
                .set_tdm_slot = ux500_msp_dai_set_tdm_slot,
                .startup = ux500_msp_dai_startup,
                .shutdown = ux500_msp_dai_shutdown,