ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.c

The amp switch of SPDIF outputs have to be cached in the amp cache
instead of codec cache.  Otherwise it conflicts with the IEC958
playback switch control in hda_codec.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2008-12-01 11:42:09 +01:00
parent 36adba1fc7
commit c9b46f9144

View File

@ -590,12 +590,12 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
else
nid = codec->slave_dig_outs[smux_idx - 1];
if (spec->cur_smux[smux_idx] == smux->num_items - 1)
val = AMP_OUT_MUTE;
val = HDA_AMP_MUTE;
else
val = AMP_OUT_UNMUTE;
val = 0;
/* un/mute SPDIF out */
snd_hda_codec_write_cache(codec, nid, 0,
AC_VERB_SET_AMP_GAIN_MUTE, val);
snd_hda_codec_amp_stereo(codec, nid, HDA_OUTPUT, 0,
HDA_AMP_MUTE, val);
}
return 0;
}