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:
@@ -590,12 +590,12 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
|
|||||||
else
|
else
|
||||||
nid = codec->slave_dig_outs[smux_idx - 1];
|
nid = codec->slave_dig_outs[smux_idx - 1];
|
||||||
if (spec->cur_smux[smux_idx] == smux->num_items - 1)
|
if (spec->cur_smux[smux_idx] == smux->num_items - 1)
|
||||||
val = AMP_OUT_MUTE;
|
val = HDA_AMP_MUTE;
|
||||||
else
|
else
|
||||||
val = AMP_OUT_UNMUTE;
|
val = 0;
|
||||||
/* un/mute SPDIF out */
|
/* un/mute SPDIF out */
|
||||||
snd_hda_codec_write_cache(codec, nid, 0,
|
snd_hda_codec_amp_stereo(codec, nid, HDA_OUTPUT, 0,
|
||||||
AC_VERB_SET_AMP_GAIN_MUTE, val);
|
HDA_AMP_MUTE, val);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user