On Mon, Sep 14, 2020 at 08:24:34PM +0300, Viorel Suman (OSS) wrote:
From: Viorel Suman viorel.suman@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.suman@nxp.com
Acked-by: Nicolin Chen nicoleotsuka@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,
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]),.private_value = (unsigned long)&fsl_audmix_enum[1] },
-- 2.7.4