Unverified Commit 944c517b authored by Viorel Suman's avatar Viorel Suman Committed by Mark Brown
Browse files

ASoC: fsl_audmix: make clock and output src write only



"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: default avatarViorel Suman <viorel.suman@nxp.com>
Acked-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/1600104274-13110-1-git-send-email-viorel.suman@oss.nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8d9a14fc
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -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]),