ASoC: fsl: Update to use set_fmt_new callback
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 19 May 2022 15:42:30 +0000 (16:42 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2022 11:33:32 +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>
Link: https://lore.kernel.org/r/20220519154318.2153729-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_audmix.c
sound/soc/fsl/fsl_esai.c
sound/soc/fsl/fsl_mqs.c
sound/soc/fsl/fsl_sai.c
sound/soc/fsl/fsl_ssi.c
sound/soc/fsl/imx-audmix.c
sound/soc/fsl/imx-card.c

index 6dbb8c99f62688af4719421dde405c797fa9d670..c580dcb9a4cfe0730cc96369abf142bfc17a52ec 100644 (file)
@@ -259,8 +259,8 @@ static int fsl_audmix_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 
        /* For playback the AUDMIX is consumer, and for record is provider */
        switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-       case SND_SOC_DAIFMT_CBP_CFP:
-       case SND_SOC_DAIFMT_CBC_CFC:
+       case SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_BP_FP:
                break;
        default:
                return -EINVAL;
@@ -317,7 +317,7 @@ static int fsl_audmix_dai_trigger(struct snd_pcm_substream *substream, int cmd,
 }
 
 static const struct snd_soc_dai_ops fsl_audmix_dai_ops = {
-       .set_fmt      = fsl_audmix_dai_set_fmt,
+       .set_fmt_new  = fsl_audmix_dai_set_fmt,
        .trigger      = fsl_audmix_dai_trigger,
 };
 
index 1a2bdf8e76f00bae0025f8182a8b510eb922c304..572bdaee73eb6abdac6a1173d75487605aa2a74f 100644 (file)
@@ -480,16 +480,16 @@ static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 
        /* DAI clock provider masks */
        switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-       case SND_SOC_DAIFMT_CBP_CFP:
+       case SND_SOC_DAIFMT_BC_FC:
                esai_priv->consumer_mode = true;
                break;
-       case SND_SOC_DAIFMT_CBC_CFP:
+       case SND_SOC_DAIFMT_BP_FC:
                xccr |= ESAI_xCCR_xCKD;
                break;
-       case SND_SOC_DAIFMT_CBP_CFC:
+       case SND_SOC_DAIFMT_BC_FP:
                xccr |= ESAI_xCCR_xFSD;
                break;
-       case SND_SOC_DAIFMT_CBC_CFC:
+       case SND_SOC_DAIFMT_BP_FP:
                xccr |= ESAI_xCCR_xFSD | ESAI_xCCR_xCKD;
                break;
        default:
@@ -790,7 +790,7 @@ static const struct snd_soc_dai_ops fsl_esai_dai_ops = {
        .trigger = fsl_esai_trigger,
        .hw_params = fsl_esai_hw_params,
        .set_sysclk = fsl_esai_set_dai_sysclk,
-       .set_fmt = fsl_esai_set_dai_fmt,
+       .set_fmt_new = fsl_esai_set_dai_fmt,
        .set_tdm_slot = fsl_esai_set_dai_tdm_slot,
 };
 
index ceaecbe3a25e4abf727c9bd2349611d2d9045e44..371d441b1dbef1bea1f301ad9ef73efb6fbf51cc 100644 (file)
@@ -103,7 +103,7 @@ static int fsl_mqs_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
        }
 
        switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-       case SND_SOC_DAIFMT_CBC_CFC:
+       case SND_SOC_DAIFMT_BP_FP:
                break;
        default:
                return -EINVAL;
@@ -152,7 +152,7 @@ static const struct snd_soc_dai_ops fsl_mqs_dai_ops = {
        .startup = fsl_mqs_startup,
        .shutdown = fsl_mqs_shutdown,
        .hw_params = fsl_mqs_hw_params,
-       .set_fmt = fsl_mqs_set_dai_fmt,
+       .set_fmt_new = fsl_mqs_set_dai_fmt,
 };
 
 static struct snd_soc_dai_driver fsl_mqs_dai = {
index fa950dde5310960bf209cde6e88d528a78ec1ea7..3edd302eb5c228e7d13582945443cd5b5b29886e 100644 (file)
@@ -292,19 +292,19 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
 
        /* DAI clock provider masks */
        switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-       case SND_SOC_DAIFMT_CBC_CFC:
+       case SND_SOC_DAIFMT_BP_FP:
                val_cr2 |= FSL_SAI_CR2_BCD_MSTR;
                val_cr4 |= FSL_SAI_CR4_FSD_MSTR;
                sai->is_consumer_mode = false;
                break;
-       case SND_SOC_DAIFMT_CBP_CFP:
+       case SND_SOC_DAIFMT_BC_FC:
                sai->is_consumer_mode = true;
                break;
-       case SND_SOC_DAIFMT_CBC_CFP:
+       case SND_SOC_DAIFMT_BP_FC:
                val_cr2 |= FSL_SAI_CR2_BCD_MSTR;
                sai->is_consumer_mode = false;
                break;
-       case SND_SOC_DAIFMT_CBP_CFC:
+       case SND_SOC_DAIFMT_BC_FP:
                val_cr4 |= FSL_SAI_CR4_FSD_MSTR;
                sai->is_consumer_mode = true;
                break;
@@ -704,7 +704,7 @@ static int fsl_sai_startup(struct snd_pcm_substream *substream,
 static const struct snd_soc_dai_ops fsl_sai_pcm_dai_ops = {
        .set_bclk_ratio = fsl_sai_set_dai_bclk_ratio,
        .set_sysclk     = fsl_sai_set_dai_sysclk,
-       .set_fmt        = fsl_sai_set_dai_fmt,
+       .set_fmt_new    = fsl_sai_set_dai_fmt,
        .set_tdm_slot   = fsl_sai_set_dai_tdm_slot,
        .hw_params      = fsl_sai_hw_params,
        .hw_free        = fsl_sai_hw_free,
index 84cb36d9dfea93e2a24b8300b0037f4b7cc24bbe..32e4cf37c20291225bb64103a390e5debfa05ab7 100644 (file)
@@ -93,7 +93,7 @@
  */
 #define FSLSSI_AC97_DAIFMT \
        (SND_SOC_DAIFMT_AC97 | \
-        SND_SOC_DAIFMT_CBM_CFS | \
+        SND_SOC_DAIFMT_BC_FP | \
         SND_SOC_DAIFMT_NB_NF)
 
 #define FSLSSI_SIER_DBG_RX_FLAGS \
@@ -358,13 +358,13 @@ static bool fsl_ssi_is_ac97(struct fsl_ssi *ssi)
 static bool fsl_ssi_is_i2s_clock_provider(struct fsl_ssi *ssi)
 {
        return (ssi->dai_fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) ==
-               SND_SOC_DAIFMT_CBC_CFC;
+               SND_SOC_DAIFMT_BP_FP;
 }
 
-static bool fsl_ssi_is_i2s_cbp_cfc(struct fsl_ssi *ssi)
+static bool fsl_ssi_is_i2s_bc_fp(struct fsl_ssi *ssi)
 {
        return (ssi->dai_fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) ==
-               SND_SOC_DAIFMT_CBP_CFC;
+               SND_SOC_DAIFMT_BC_FP;
 }
 
 /**
@@ -847,7 +847,7 @@ static int fsl_ssi_hw_params(struct snd_pcm_substream *substream,
                u8 i2s_net = ssi->i2s_net;
 
                /* Normal + Network mode to send 16-bit data in 32-bit frames */
-               if (fsl_ssi_is_i2s_cbp_cfc(ssi) && sample_size == 16)
+               if (fsl_ssi_is_i2s_bc_fp(ssi) && sample_size == 16)
                        i2s_net = SSI_SCR_I2S_MODE_NORMAL | SSI_SCR_NET;
 
                /* Use Normal mode to send mono data at 1st slot of 2 slots */
@@ -920,17 +920,17 @@ static int _fsl_ssi_set_dai_fmt(struct fsl_ssi *ssi, unsigned int fmt)
        switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
        case SND_SOC_DAIFMT_I2S:
                switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-               case SND_SOC_DAIFMT_CBC_CFC:
+               case SND_SOC_DAIFMT_BP_FP:
                        if (IS_ERR(ssi->baudclk)) {
                                dev_err(ssi->dev,
                                        "missing baudclk for master mode\n");
                                return -EINVAL;
                        }
                        fallthrough;
-               case SND_SOC_DAIFMT_CBP_CFC:
+               case SND_SOC_DAIFMT_BC_FP:
                        ssi->i2s_net |= SSI_SCR_I2S_MODE_MASTER;
                        break;
-               case SND_SOC_DAIFMT_CBP_CFP:
+               case SND_SOC_DAIFMT_BC_FC:
                        ssi->i2s_net |= SSI_SCR_I2S_MODE_SLAVE;
                        break;
                default:
@@ -992,15 +992,15 @@ static int _fsl_ssi_set_dai_fmt(struct fsl_ssi *ssi, unsigned int fmt)
 
        /* DAI clock provider masks */
        switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
-       case SND_SOC_DAIFMT_CBC_CFC:
+       case SND_SOC_DAIFMT_BP_FP:
                /* Output bit and frame sync clocks */
                strcr |= SSI_STCR_TFDIR | SSI_STCR_TXDIR;
                scr |= SSI_SCR_SYS_CLK_EN;
                break;
-       case SND_SOC_DAIFMT_CBP_CFP:
+       case SND_SOC_DAIFMT_BC_FC:
                /* Input bit or frame sync clocks */
                break;
-       case SND_SOC_DAIFMT_CBP_CFC:
+       case SND_SOC_DAIFMT_BC_FP:
                /* Input bit clock but output frame sync clock */
                strcr |= SSI_STCR_TFDIR;
                break;
@@ -1156,7 +1156,7 @@ static const struct snd_soc_dai_ops fsl_ssi_dai_ops = {
        .shutdown = fsl_ssi_shutdown,
        .hw_params = fsl_ssi_hw_params,
        .hw_free = fsl_ssi_hw_free,
-       .set_fmt = fsl_ssi_set_dai_fmt,
+       .set_fmt_new = fsl_ssi_set_dai_fmt,
        .set_tdm_slot = fsl_ssi_set_dai_tdm_slot,
        .trigger = fsl_ssi_trigger,
 };
index 502fe1b522aba7420aeee0ccc1fa8425b2f8ba1e..1292a845c42446797de09105d49d953998d9752c 100644 (file)
@@ -81,7 +81,7 @@ static int imx_audmix_fe_hw_params(struct snd_pcm_substream *substream,
        int ret, dir;
 
        /* For playback the AUDMIX is consumer, and for record is provider */
-       fmt |= tx ? SND_SOC_DAIFMT_CBC_CFC : SND_SOC_DAIFMT_CBP_CFP;
+       fmt |= tx ? SND_SOC_DAIFMT_BP_FP : SND_SOC_DAIFMT_BC_FC;
        dir  = tx ? SND_SOC_CLOCK_OUT : SND_SOC_CLOCK_IN;
 
        /* set DAI configuration */
@@ -122,7 +122,7 @@ static int imx_audmix_be_hw_params(struct snd_pcm_substream *substream,
                return 0;
 
        /* For playback the AUDMIX is consumer */
-       fmt |= SND_SOC_DAIFMT_CBP_CFP;
+       fmt |= SND_SOC_DAIFMT_BC_FC;
 
        /* set AUDMIX DAI configuration */
        ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0), fmt);
index 6f8efd838fcc87ced7a7758f7955b52de7bc911f..1797d777b1b8706268dd715a36b639c198b34251 100644 (file)
@@ -317,7 +317,7 @@ static int imx_aif_hw_params(struct snd_pcm_substream *substream,
                }
        }
 
-       ret = snd_soc_dai_set_fmt(cpu_dai, fmt);
+       ret = snd_soc_dai_set_fmt(cpu_dai, snd_soc_daifmt_clock_provider_flipped(fmt));
        if (ret && ret != -ENOTSUPP) {
                dev_err(dev, "failed to set cpu dai fmt: %d\n", ret);
                return ret;