On Mon, Sep 14, 2020 at 08:24:34PM +0300, Viorel Suman (OSS) wrote:
> From: Viorel Suman <viorel.su...@nxp.com>
> 
> "alsactl -f state.conf store/restore" sequence fails because setting
> "mixing clock source" and "output source" requires active TDM clock
> being started for configuration propagation. Make these two controls
> write only so that their values are not stored at "alsactl store".
> 
> Signed-off-by: Viorel Suman <viorel.su...@nxp.com>

Acked-by: Nicolin Chen <nicoleots...@gmail.com>

> ---
>  sound/soc/fsl/fsl_audmix.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/soc/fsl/fsl_audmix.c b/sound/soc/fsl/fsl_audmix.c
> index a447baf..7ad5925 100644
> --- a/sound/soc/fsl/fsl_audmix.c
> +++ b/sound/soc/fsl/fsl_audmix.c
> @@ -199,10 +199,18 @@ static int fsl_audmix_put_out_src(struct snd_kcontrol 
> *kcontrol,
>  
>  static const struct snd_kcontrol_new fsl_audmix_snd_controls[] = {
>       /* FSL_AUDMIX_CTR controls */
> -     SOC_ENUM_EXT("Mixing Clock Source", fsl_audmix_enum[0],
> -                  snd_soc_get_enum_double, fsl_audmix_put_mix_clk_src),
> -     SOC_ENUM_EXT("Output Source", fsl_audmix_enum[1],
> -                  snd_soc_get_enum_double, fsl_audmix_put_out_src),
> +     {       .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> +             .name = "Mixing Clock Source",
> +             .info = snd_soc_info_enum_double,
> +             .access = SNDRV_CTL_ELEM_ACCESS_WRITE,
> +             .put = fsl_audmix_put_mix_clk_src,
> +             .private_value = (unsigned long)&fsl_audmix_enum[0] },
> +     {       .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> +             .name = "Output Source",
> +             .info = snd_soc_info_enum_double,
> +             .access = SNDRV_CTL_ELEM_ACCESS_WRITE,
> +             .put = fsl_audmix_put_out_src,
> +             .private_value = (unsigned long)&fsl_audmix_enum[1] },
>       SOC_ENUM("Output Width", fsl_audmix_enum[2]),
>       SOC_ENUM("Frame Rate Diff Error", fsl_audmix_enum[3]),
>       SOC_ENUM("Clock Freq Diff Error", fsl_audmix_enum[4]),
> -- 
> 2.7.4
> 

Reply via email to