aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Crash <mike@mikecrash.com>2007-06-25 06:12:51 -0400
committerJaroslav Kysela <perex@suse.cz>2007-07-20 05:11:37 -0400
commit6963f84c428ecd31780c97224004c2462b0664f7 (patch)
treed6bd0167304e2e92e55869c722d7ca2311967ff5
parente65365de5ba280e058bd6b8b80c8790253268887 (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.txt1
-rw-r--r--sound/pci/hda/patch_realtek.c17
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 */
123enum { 123enum {
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 */
9988static const char *alc861vd_models[ALC861VD_MODEL_LAST] = { 9989static 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] = {
9998static struct snd_pci_quirk alc861vd_cfg_tbl[] = { 10000static 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,