diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 13:21:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 13:21:52 -0400 |
commit | 0ad79ed34c909205184cb85e855cdf3e17a6eac8 (patch) | |
tree | a3cdabb6ed6bc0ccb48ba5d867d64018ec3d4278 | |
parent | 9d037a777695993ec7437e5f451647dea7919d4c (diff) | |
parent | 46724c2e023cb7ba5cd5000dee6481f0a15ebed9 (diff) |
Merge branch 'for-linus' of git://github.com/tiwai/sound
* 'for-linus' of git://github.com/tiwai/sound:
ALSA: HDA: Add support for IDT 92HD93
ALSA: hda/realtek - Fix auto-mute with HP+LO configuration
-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}, |