diff options
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 6 |
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 | ||
994 | static struct snd_kcontrol_new stac9200_mixer[] = { | 994 | static 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 | ||
1022 | static struct snd_kcontrol_new stac925x_mixer[] = { | 1022 | static 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) |