diff options
author | Mike Crash <mike@mikecrash.com> | 2007-06-25 06:12:51 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-07-20 05:11:37 -0400 |
commit | 6963f84c428ecd31780c97224004c2462b0664f7 (patch) | |
tree | d6bd0167304e2e92e55869c722d7ca2311967ff5 | |
parent | e65365de5ba280e058bd6b8b80c8790253268887 (diff) |
[ALSA] hda: support for S/PDIF out on ASUS M2V
Added support for S/PDIF digital output on ASUS M2V motheboard - added
new model '3stack-660-digout' and ALC660VD_3ST_DIG
Signed-off-by: Mike Crash <mike@mikecrash.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 4d47f3f19631..b967dc850c60 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -863,6 +863,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
863 | 3stack-dig 3-jack with SPDIF OUT | 863 | 3stack-dig 3-jack with SPDIF OUT |
864 | 6stack-dig 6-jack with SPDIF OUT | 864 | 6stack-dig 6-jack with SPDIF OUT |
865 | 3stack-660 3-jack (for ALC660VD) | 865 | 3stack-660 3-jack (for ALC660VD) |
866 | 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD) | ||
866 | lenovo Lenovo 3000 C200 | 867 | lenovo Lenovo 3000 C200 |
867 | auto auto-config reading BIOS (default) | 868 | auto auto-config reading BIOS (default) |
868 | 869 | ||
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 9c5c3cfa5ec7..4bff20f76b08 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -122,6 +122,7 @@ enum { | |||
122 | /* ALC861-VD models */ | 122 | /* ALC861-VD models */ |
123 | enum { | 123 | enum { |
124 | ALC660VD_3ST, | 124 | ALC660VD_3ST, |
125 | ALC660VD_3ST_DIG, | ||
125 | ALC861VD_3ST, | 126 | ALC861VD_3ST, |
126 | ALC861VD_3ST_DIG, | 127 | ALC861VD_3ST_DIG, |
127 | ALC861VD_6ST_DIG, | 128 | ALC861VD_6ST_DIG, |
@@ -9987,6 +9988,7 @@ static void alc861vd_dallas_unsol_event(struct hda_codec *codec, unsigned int re | |||
9987 | */ | 9988 | */ |
9988 | static const char *alc861vd_models[ALC861VD_MODEL_LAST] = { | 9989 | static const char *alc861vd_models[ALC861VD_MODEL_LAST] = { |
9989 | [ALC660VD_3ST] = "3stack-660", | 9990 | [ALC660VD_3ST] = "3stack-660", |
9991 | [ALC660VD_3ST_DIG]= "3stack-660-digout", | ||
9990 | [ALC861VD_3ST] = "3stack", | 9992 | [ALC861VD_3ST] = "3stack", |
9991 | [ALC861VD_3ST_DIG] = "3stack-digout", | 9993 | [ALC861VD_3ST_DIG] = "3stack-digout", |
9992 | [ALC861VD_6ST_DIG] = "6stack-digout", | 9994 | [ALC861VD_6ST_DIG] = "6stack-digout", |
@@ -9998,7 +10000,7 @@ static const char *alc861vd_models[ALC861VD_MODEL_LAST] = { | |||
9998 | static struct snd_pci_quirk alc861vd_cfg_tbl[] = { | 10000 | static struct snd_pci_quirk alc861vd_cfg_tbl[] = { |
9999 | SND_PCI_QUIRK(0x1043, 0x12e2, "Asus z35m", ALC660VD_3ST), | 10001 | SND_PCI_QUIRK(0x1043, 0x12e2, "Asus z35m", ALC660VD_3ST), |
10000 | SND_PCI_QUIRK(0x1043, 0x1339, "Asus G1", ALC660VD_3ST), | 10002 | SND_PCI_QUIRK(0x1043, 0x1339, "Asus G1", ALC660VD_3ST), |
10001 | SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS", ALC660VD_3ST), | 10003 | SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS", ALC660VD_3ST_DIG), |
10002 | SND_PCI_QUIRK(0x10de, 0x03f0, "Realtek ALC660 demo", ALC660VD_3ST), | 10004 | SND_PCI_QUIRK(0x10de, 0x03f0, "Realtek ALC660 demo", ALC660VD_3ST), |
10003 | SND_PCI_QUIRK(0x1019, 0xa88d, "Realtek ALC660 demo", ALC660VD_3ST), | 10005 | SND_PCI_QUIRK(0x1019, 0xa88d, "Realtek ALC660 demo", ALC660VD_3ST), |
10004 | 10006 | ||
@@ -10023,6 +10025,19 @@ static struct alc_config_preset alc861vd_presets[] = { | |||
10023 | .channel_mode = alc861vd_3stack_2ch_modes, | 10025 | .channel_mode = alc861vd_3stack_2ch_modes, |
10024 | .input_mux = &alc861vd_capture_source, | 10026 | .input_mux = &alc861vd_capture_source, |
10025 | }, | 10027 | }, |
10028 | [ALC660VD_3ST_DIG] = { | ||
10029 | .mixers = { alc861vd_3st_mixer }, | ||
10030 | .init_verbs = { alc861vd_volume_init_verbs, | ||
10031 | alc861vd_3stack_init_verbs }, | ||
10032 | .num_dacs = ARRAY_SIZE(alc660vd_dac_nids), | ||
10033 | .dac_nids = alc660vd_dac_nids, | ||
10034 | .dig_out_nid = ALC861VD_DIGOUT_NID, | ||
10035 | .num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids), | ||
10036 | .adc_nids = alc861vd_adc_nids, | ||
10037 | .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes), | ||
10038 | .channel_mode = alc861vd_3stack_2ch_modes, | ||
10039 | .input_mux = &alc861vd_capture_source, | ||
10040 | }, | ||
10026 | [ALC861VD_3ST] = { | 10041 | [ALC861VD_3ST] = { |
10027 | .mixers = { alc861vd_3st_mixer }, | 10042 | .mixers = { alc861vd_3st_mixer }, |
10028 | .init_verbs = { alc861vd_volume_init_verbs, | 10043 | .init_verbs = { alc861vd_volume_init_verbs, |