aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index d8dfafeab80e..1a563a2fbbec 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -992,7 +992,7 @@ static struct hda_verb stac9205_core_init[] = {
992 } 992 }
993 993
994static struct snd_kcontrol_new stac9200_mixer[] = { 994static struct snd_kcontrol_new stac9200_mixer[] = {
995 HDA_CODEC_VOLUME("Master Playback Volume", 0xb, 0, HDA_OUTPUT), 995 HDA_CODEC_VOLUME_MIN_MUTE("Master Playback Volume", 0xb, 0, HDA_OUTPUT),
996 HDA_CODEC_MUTE("Master Playback Switch", 0xb, 0, HDA_OUTPUT), 996 HDA_CODEC_MUTE("Master Playback Switch", 0xb, 0, HDA_OUTPUT),
997 HDA_CODEC_VOLUME("Capture Volume", 0x0a, 0, HDA_OUTPUT), 997 HDA_CODEC_VOLUME("Capture Volume", 0x0a, 0, HDA_OUTPUT),
998 HDA_CODEC_MUTE("Capture Switch", 0x0a, 0, HDA_OUTPUT), 998 HDA_CODEC_MUTE("Capture Switch", 0x0a, 0, HDA_OUTPUT),
@@ -1020,7 +1020,7 @@ static struct snd_kcontrol_new stac92hd71bxx_loopback[] = {
1020}; 1020};
1021 1021
1022static struct snd_kcontrol_new stac925x_mixer[] = { 1022static struct snd_kcontrol_new stac925x_mixer[] = {
1023 HDA_CODEC_VOLUME("Master Playback Volume", 0x0e, 0, HDA_OUTPUT), 1023 HDA_CODEC_VOLUME_MIN_MUTE("Master Playback Volume", 0xe, 0, HDA_OUTPUT),
1024 HDA_CODEC_MUTE("Master Playback Switch", 0x0e, 0, HDA_OUTPUT), 1024 HDA_CODEC_MUTE("Master Playback Switch", 0x0e, 0, HDA_OUTPUT),
1025 { } /* end */ 1025 { } /* end */
1026}; 1026};
@@ -1144,6 +1144,8 @@ static int stac92xx_build_controls(struct hda_codec *codec)
1144 HDA_OUTPUT, vmaster_tlv); 1144 HDA_OUTPUT, vmaster_tlv);
1145 /* correct volume offset */ 1145 /* correct volume offset */
1146 vmaster_tlv[2] += vmaster_tlv[3] * spec->volume_offset; 1146 vmaster_tlv[2] += vmaster_tlv[3] * spec->volume_offset;
1147 /* minimum value is actually mute */
1148 vmaster_tlv[3] |= 0x1000;
1147 err = snd_hda_add_vmaster(codec, "Master Playback Volume", 1149 err = snd_hda_add_vmaster(codec, "Master Playback Volume",
1148 vmaster_tlv, slave_vols); 1150 vmaster_tlv, slave_vols);
1149 if (err < 0) 1151 if (err < 0)