diff options
author | Charles Chin <Charles.Chin@idt.com> | 2011-11-02 02:56:58 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-11-02 02:56:58 -0400 |
commit | ad5d8755116b431f0709c745ee17cb567a478d43 (patch) | |
tree | 47c51609dec2f4576ac7dc5bca4a00e3b1259f99 /sound/pci | |
parent | 35c11777b906042eca9e6f1c03e464726c7faa07 (diff) |
ALSA: hda - Add support for 92HD65 / 92HD66 family of codecs
These codecs have SPDIF-in, which is new to the 92HD83xxx compatible
families, so a bit of logic is added to support them.
Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index e826ff75548b..5961e727b2cf 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -5657,7 +5657,11 @@ again: | |||
5657 | } | 5657 | } |
5658 | #endif | 5658 | #endif |
5659 | 5659 | ||
5660 | err = stac92xx_parse_auto_config(codec, 0x1d, 0); | 5660 | /* 92HD65/66 series has S/PDIF-IN */ |
5661 | if (codec->vendor_id >= 0x111d76e8 && codec->vendor_id <= 0x111d76f3) | ||
5662 | err = stac92xx_parse_auto_config(codec, 0x1d, 0x22); | ||
5663 | else | ||
5664 | err = stac92xx_parse_auto_config(codec, 0x1d, 0); | ||
5661 | if (!err) { | 5665 | if (!err) { |
5662 | if (spec->board_config < 0) { | 5666 | if (spec->board_config < 0) { |
5663 | printk(KERN_WARNING "hda_codec: No auto-config is " | 5667 | printk(KERN_WARNING "hda_codec: No auto-config is " |
@@ -6547,6 +6551,18 @@ static const struct hda_codec_preset snd_hda_preset_sigmatel[] = { | |||
6547 | { .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx}, | 6551 | { .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx}, |
6548 | { .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx}, | 6552 | { .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx}, |
6549 | { .id = 0x111d76e7, .name = "92HD90BXX", .patch = patch_stac92hd83xxx}, | 6553 | { .id = 0x111d76e7, .name = "92HD90BXX", .patch = patch_stac92hd83xxx}, |
6554 | { .id = 0x111d76e8, .name = "92HD66B1X5", .patch = patch_stac92hd83xxx}, | ||
6555 | { .id = 0x111d76e9, .name = "92HD66B2X5", .patch = patch_stac92hd83xxx}, | ||
6556 | { .id = 0x111d76ea, .name = "92HD66B3X5", .patch = patch_stac92hd83xxx}, | ||
6557 | { .id = 0x111d76eb, .name = "92HD66C1X5", .patch = patch_stac92hd83xxx}, | ||
6558 | { .id = 0x111d76ec, .name = "92HD66C2X5", .patch = patch_stac92hd83xxx}, | ||
6559 | { .id = 0x111d76ed, .name = "92HD66C3X5", .patch = patch_stac92hd83xxx}, | ||
6560 | { .id = 0x111d76ee, .name = "92HD66B1X3", .patch = patch_stac92hd83xxx}, | ||
6561 | { .id = 0x111d76ef, .name = "92HD66B2X3", .patch = patch_stac92hd83xxx}, | ||
6562 | { .id = 0x111d76f0, .name = "92HD66B3X3", .patch = patch_stac92hd83xxx}, | ||
6563 | { .id = 0x111d76f1, .name = "92HD66C1X3", .patch = patch_stac92hd83xxx}, | ||
6564 | { .id = 0x111d76f2, .name = "92HD66C2X3", .patch = patch_stac92hd83xxx}, | ||
6565 | { .id = 0x111d76f3, .name = "92HD66C3/65", .patch = patch_stac92hd83xxx}, | ||
6550 | {} /* terminator */ | 6566 | {} /* terminator */ |
6551 | }; | 6567 | }; |
6552 | 6568 | ||