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

Samuel Holland samuel at sholland.org
Thu May 19 16:40:11 PDT 2022


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 at 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,
> 




More information about the linux-amlogic mailing list