| From ad5d8755116b431f0709c745ee17cb567a478d43 Mon Sep 17 00:00:00 2001 |
| From: Charles Chin <Charles.Chin@idt.com> |
| Date: Wed, 2 Nov 2011 07:56:58 +0100 |
| Subject: ALSA: hda - Add support for 92HD65 / 92HD66 family of codecs |
| |
| From: Charles Chin <Charles.Chin@idt.com> |
| |
| commit ad5d8755116b431f0709c745ee17cb567a478d43 upstream. |
| |
| 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> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/hda/patch_sigmatel.c | 18 +++++++++++++++++- |
| 1 file changed, 17 insertions(+), 1 deletion(-) |
| |
| --- a/sound/pci/hda/patch_sigmatel.c |
| +++ b/sound/pci/hda/patch_sigmatel.c |
| @@ -5653,7 +5653,11 @@ again: |
| } |
| #endif |
| |
| - err = stac92xx_parse_auto_config(codec, 0x1d, 0); |
| + /* 92HD65/66 series has S/PDIF-IN */ |
| + if (codec->vendor_id >= 0x111d76e8 && codec->vendor_id <= 0x111d76f3) |
| + err = stac92xx_parse_auto_config(codec, 0x1d, 0x22); |
| + else |
| + err = stac92xx_parse_auto_config(codec, 0x1d, 0); |
| if (!err) { |
| if (spec->board_config < 0) { |
| printk(KERN_WARNING "hda_codec: No auto-config is " |
| @@ -6543,6 +6547,18 @@ static const struct hda_codec_preset snd |
| { .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx}, |
| { .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx}, |
| { .id = 0x111d76e7, .name = "92HD90BXX", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76e8, .name = "92HD66B1X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76e9, .name = "92HD66B2X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76ea, .name = "92HD66B3X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76eb, .name = "92HD66C1X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76ec, .name = "92HD66C2X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76ed, .name = "92HD66C3X5", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76ee, .name = "92HD66B1X3", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76ef, .name = "92HD66B2X3", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76f0, .name = "92HD66B3X3", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76f1, .name = "92HD66C1X3", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76f2, .name = "92HD66C2X3", .patch = patch_stac92hd83xxx}, |
| + { .id = 0x111d76f3, .name = "92HD66C3/65", .patch = patch_stac92hd83xxx}, |
| {} /* terminator */ |
| }; |
| |