|
@@ -196,6 +196,9 @@ static void parse_user_hints(struct hda_codec *codec)
|
|
|
val = snd_hda_get_bool_hint(codec, "hp_mic_detect");
|
|
|
if (val >= 0)
|
|
|
spec->suppress_hp_mic_detect = !val;
|
|
|
+ val = snd_hda_get_bool_hint(codec, "vmaster");
|
|
|
+ if (val >= 0)
|
|
|
+ spec->suppress_vmaster = !val;
|
|
|
|
|
|
if (!snd_hda_get_int_hint(codec, "mixer_nid", &val))
|
|
|
spec->mixer_nid = val;
|
|
@@ -5033,7 +5036,7 @@ int snd_hda_gen_build_controls(struct hda_codec *codec)
|
|
|
}
|
|
|
|
|
|
/* if we have no master control, let's create it */
|
|
|
- if (!spec->no_analog &&
|
|
|
+ if (!spec->no_analog && !spec->suppress_vmaster &&
|
|
|
!snd_hda_find_mixer_ctl(codec, "Master Playback Volume")) {
|
|
|
err = snd_hda_add_vmaster(codec, "Master Playback Volume",
|
|
|
spec->vmaster_tlv, slave_pfxs,
|
|
@@ -5041,7 +5044,7 @@ int snd_hda_gen_build_controls(struct hda_codec *codec)
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
}
|
|
|
- if (!spec->no_analog &&
|
|
|
+ if (!spec->no_analog && !spec->suppress_vmaster &&
|
|
|
!snd_hda_find_mixer_ctl(codec, "Master Playback Switch")) {
|
|
|
err = __snd_hda_add_vmaster(codec, "Master Playback Switch",
|
|
|
NULL, slave_pfxs,
|