diff options
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 9 | ||||
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 7cabd7317163..0503c999e7d3 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -168,7 +168,7 @@ struct alc_spec { | |||
| 168 | unsigned int auto_mic_valid_imux:1; /* valid imux for auto-mic */ | 168 | unsigned int auto_mic_valid_imux:1; /* valid imux for auto-mic */ |
| 169 | unsigned int automute:1; /* HP automute enabled */ | 169 | unsigned int automute:1; /* HP automute enabled */ |
| 170 | unsigned int detect_line:1; /* Line-out detection enabled */ | 170 | unsigned int detect_line:1; /* Line-out detection enabled */ |
| 171 | unsigned int automute_lines:1; /* automute line-out as well */ | 171 | unsigned int automute_lines:1; /* automute line-out as well; NOP when automute_hp_lo isn't set */ |
| 172 | unsigned int automute_hp_lo:1; /* both HP and LO available */ | 172 | unsigned int automute_hp_lo:1; /* both HP and LO available */ |
| 173 | 173 | ||
| 174 | /* other flags */ | 174 | /* other flags */ |
| @@ -551,7 +551,7 @@ static void update_speakers(struct hda_codec *codec) | |||
| 551 | if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0] || | 551 | if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0] || |
| 552 | spec->autocfg.line_out_pins[0] == spec->autocfg.speaker_pins[0]) | 552 | spec->autocfg.line_out_pins[0] == spec->autocfg.speaker_pins[0]) |
| 553 | return; | 553 | return; |
| 554 | if (!spec->automute_lines || !spec->automute) | 554 | if (!spec->automute || (spec->automute_hp_lo && !spec->automute_lines)) |
| 555 | on = 0; | 555 | on = 0; |
| 556 | else | 556 | else |
| 557 | on = spec->jack_present; | 557 | on = spec->jack_present; |
| @@ -803,7 +803,7 @@ static int alc_automute_mode_get(struct snd_kcontrol *kcontrol, | |||
| 803 | unsigned int val; | 803 | unsigned int val; |
| 804 | if (!spec->automute) | 804 | if (!spec->automute) |
| 805 | val = 0; | 805 | val = 0; |
| 806 | else if (!spec->automute_lines) | 806 | else if (!spec->automute_hp_lo || !spec->automute_lines) |
| 807 | val = 1; | 807 | val = 1; |
| 808 | else | 808 | else |
| 809 | val = 2; | 809 | val = 2; |
| @@ -824,7 +824,8 @@ static int alc_automute_mode_put(struct snd_kcontrol *kcontrol, | |||
| 824 | spec->automute = 0; | 824 | spec->automute = 0; |
| 825 | break; | 825 | break; |
| 826 | case 1: | 826 | case 1: |
| 827 | if (spec->automute && !spec->automute_lines) | 827 | if (spec->automute && |
| 828 | (!spec->automute_hp_lo || !spec->automute_lines)) | ||
| 828 | return 0; | 829 | return 0; |
| 829 | spec->automute = 1; | 830 | spec->automute = 1; |
| 830 | spec->automute_lines = 0; | 831 | spec->automute_lines = 0; |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 5145b663ef6e..1b7c11432aa7 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -6573,6 +6573,7 @@ static const struct hda_codec_preset snd_hda_preset_sigmatel[] = { | |||
| 6573 | { .id = 0x111d76cc, .name = "92HD89F3", .patch = patch_stac92hd73xx }, | 6573 | { .id = 0x111d76cc, .name = "92HD89F3", .patch = patch_stac92hd73xx }, |
| 6574 | { .id = 0x111d76cd, .name = "92HD89F2", .patch = patch_stac92hd73xx }, | 6574 | { .id = 0x111d76cd, .name = "92HD89F2", .patch = patch_stac92hd73xx }, |
| 6575 | { .id = 0x111d76ce, .name = "92HD89F1", .patch = patch_stac92hd73xx }, | 6575 | { .id = 0x111d76ce, .name = "92HD89F1", .patch = patch_stac92hd73xx }, |
| 6576 | { .id = 0x111d76df, .name = "92HD93BXX", .patch = patch_stac92hd83xxx}, | ||
| 6576 | { .id = 0x111d76e0, .name = "92HD91BXX", .patch = patch_stac92hd83xxx}, | 6577 | { .id = 0x111d76e0, .name = "92HD91BXX", .patch = patch_stac92hd83xxx}, |
| 6577 | { .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx}, | 6578 | { .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx}, |
| 6578 | { .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx}, | 6579 | { .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx}, |
