Re: [PATCH 22/56] ASoC: sunxi: Update to use set_fmt_new callback

Samuel Holland
2022-05-19T23:40:41Z

On 5/19/22 10:42 AM, Charles Keepax wrote:
> 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>
> ---
> sound/soc/sunxi/sun4i-i2s.c | 20 ++++++++++----------
> sound/soc/sunxi/sun8i-codec.c | 8 ++++----
> 2 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
> index 7047f71629ab3..872838d3e0a94 100644
> --- a/sound/soc/sunxi/sun4i-i2s.c
> +++ b/sound/soc/sunxi/sun4i-i2s.c
> @@ -702,13 +702,13 @@ static int sun4i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s,
> SUN4I_I2S_FMT0_FMT_MASK, val);
>
> /* DAI clock master masks */
> - 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:
> /* BCLK and LRCLK master */
> val = SUN4I_I2S_CTRL_MODE_MASTER;
> break;
>
> - case SND_SOC_DAIFMT_CBM_CFM:
> + case SND_SOC_DAIFMT_BC_FC:
> /* BCLK and LRCLK slave */
> val = SUN4I_I2S_CTRL_MODE_SLAVE;
> break;
> @@ -802,13 +802,13 @@ static int sun8i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s,
> SUN8I_I2S_TX_CHAN_OFFSET(offset));
>
> /* DAI clock master masks */
> - 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:
> /* BCLK and LRCLK master */
> val = SUN8I_I2S_CTRL_BCLK_OUT | SUN8I_I2S_CTRL_LRCK_OUT;
> break;
>
> - case SND_SOC_DAIFMT_CBM_CFM:
> + case SND_SOC_DAIFMT_BC_FC:
> /* BCLK and LRCLK slave */
> val = 0;
> break;
> @@ -909,13 +909,13 @@ static int sun50i_h6_i2s_set_soc_fmt(const struct sun4i_i2s *i2s,
> SUN50I_H6_I2S_TX_CHAN_SEL_OFFSET(offset));
>
> /* DAI clock master masks */
> - 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:
> /* BCLK and LRCLK master */
> val = SUN8I_I2S_CTRL_BCLK_OUT | SUN8I_I2S_CTRL_LRCK_OUT;
> break;
>
> - case SND_SOC_DAIFMT_CBM_CFM:
> + case SND_SOC_DAIFMT_BC_FC:
> /* BCLK and LRCLK slave */
> val = 0;
> break;
> @@ -1081,7 +1081,7 @@ static int sun4i_i2s_set_tdm_slot(struct snd_soc_dai *dai,
>
> static const struct snd_soc_dai_ops sun4i_i2s_dai_ops = {
> .hw_params = sun4i_i2s_hw_params,
> - .set_fmt = sun4i_i2s_set_fmt,
> + .set_fmt_new = sun4i_i2s_set_fmt,
> .set_sysclk = sun4i_i2s_set_sysclk,
> .set_tdm_slot = sun4i_i2s_set_tdm_slot,
> .trigger = sun4i_i2s_trigger,
> diff --git a/sound/soc/sunxi/sun8i-codec.c b/sound/soc/sunxi/sun8i-codec.c
> index 0bea2162f68d9..6e9ef948d6621 100644
> --- a/sound/soc/sunxi/sun8i-codec.c
> +++ b/sound/soc/sunxi/sun8i-codec.c
> @@ -286,11 +286,11 @@ static int sun8i_codec_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
> u32 dsp_format, format, invert, value;
>
> /* clock masters */
> - switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
> - case SND_SOC_DAIFMT_CBS_CFS: /* Codec slave, DAI master */
> + switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
> + case SND_SOC_DAIFMT_BP_FP: /* Codec slave, DAI master */

This is a codec driver, and it is only ever used on the codec end of a link, so
I would not expect it to be changed.

Regards,
Samuel

> value = 0x1;
> break;
> - case SND_SOC_DAIFMT_CBM_CFM: /* Codec Master, DAI slave */
> + case SND_SOC_DAIFMT_BC_FC: /* Codec Master, DAI slave */
> value = 0x0;
> break;
> default:
> @@ -630,7 +630,7 @@ static int sun8i_codec_hw_free(struct snd_pcm_substream *substream,
> }
>
> static const struct snd_soc_dai_ops sun8i_codec_dai_ops = {
> - .set_fmt = sun8i_codec_set_fmt,
> + .set_fmt_new = sun8i_codec_set_fmt,
> .set_tdm_slot = sun8i_codec_set_tdm_slot,
> .startup = sun8i_codec_startup,
> .hw_params = sun8i_codec_hw_params,
>