aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-11-05 02:06:08 -0500
committerTakashi Iwai <tiwai@suse.de>2008-11-05 02:09:10 -0500
commit13c947444f4355293b49f83b809f178393a0a4d9 (patch)
treeb8434308b8a81a846a640d0784b87597ca2c5d04
parentbeb0b9cf78b56b0f30f5defe62b7b9712cd02a50 (diff)
ALSA: hda - Add ASUS V1Sn support
Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633. 1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO device. 2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an added digital out. Signed-off-by: Tristan Aston <astrotris@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt1
-rw-r--r--sound/pci/hda/patch_realtek.c19
2 files changed, 19 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index fa8e9fadfaf4..f6594549bf5d 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -940,6 +940,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
940 lenovo Lenovo 3000 C200 940 lenovo Lenovo 3000 C200
941 dallas Dallas laptops 941 dallas Dallas laptops
942 hp HP TX1000 942 hp HP TX1000
943 asus-v1s ASUS V1Sn
943 auto auto-config reading BIOS (default) 944 auto auto-config reading BIOS (default)
944 945
945 CMI9880 946 CMI9880
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index e727e48a48e3..15779d8c7564 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -153,6 +153,7 @@ enum {
153enum { 153enum {
154 ALC660VD_3ST, 154 ALC660VD_3ST,
155 ALC660VD_3ST_DIG, 155 ALC660VD_3ST_DIG,
156 ALC660VD_ASUS_V1S,
156 ALC861VD_3ST, 157 ALC861VD_3ST,
157 ALC861VD_3ST_DIG, 158 ALC861VD_3ST_DIG,
158 ALC861VD_6ST_DIG, 159 ALC861VD_6ST_DIG,
@@ -13842,6 +13843,7 @@ static void alc861vd_dallas_unsol_event(struct hda_codec *codec, unsigned int re
13842static const char *alc861vd_models[ALC861VD_MODEL_LAST] = { 13843static const char *alc861vd_models[ALC861VD_MODEL_LAST] = {
13843 [ALC660VD_3ST] = "3stack-660", 13844 [ALC660VD_3ST] = "3stack-660",
13844 [ALC660VD_3ST_DIG] = "3stack-660-digout", 13845 [ALC660VD_3ST_DIG] = "3stack-660-digout",
13846 [ALC660VD_ASUS_V1S] = "asus-v1s",
13845 [ALC861VD_3ST] = "3stack", 13847 [ALC861VD_3ST] = "3stack",
13846 [ALC861VD_3ST_DIG] = "3stack-digout", 13848 [ALC861VD_3ST_DIG] = "3stack-digout",
13847 [ALC861VD_6ST_DIG] = "6stack-digout", 13849 [ALC861VD_6ST_DIG] = "6stack-digout",
@@ -13856,7 +13858,7 @@ static struct snd_pci_quirk alc861vd_cfg_tbl[] = {
13856 SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_HP), 13858 SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_HP),
13857 SND_PCI_QUIRK(0x1043, 0x12e2, "Asus z35m", ALC660VD_3ST), 13859 SND_PCI_QUIRK(0x1043, 0x12e2, "Asus z35m", ALC660VD_3ST),
13858 SND_PCI_QUIRK(0x1043, 0x1339, "Asus G1", ALC660VD_3ST), 13860 SND_PCI_QUIRK(0x1043, 0x1339, "Asus G1", ALC660VD_3ST),
13859 SND_PCI_QUIRK(0x1043, 0x1633, "Asus V1Sn", ALC861VD_LENOVO), 13861 SND_PCI_QUIRK(0x1043, 0x1633, "Asus V1Sn", ALC660VD_ASUS_V1S),
13860 SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS", ALC660VD_3ST_DIG), 13862 SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS", ALC660VD_3ST_DIG),
13861 SND_PCI_QUIRK(0x10de, 0x03f0, "Realtek ALC660 demo", ALC660VD_3ST), 13863 SND_PCI_QUIRK(0x10de, 0x03f0, "Realtek ALC660 demo", ALC660VD_3ST),
13862 SND_PCI_QUIRK(0x1179, 0xff00, "Toshiba A135", ALC861VD_LENOVO), 13864 SND_PCI_QUIRK(0x1179, 0xff00, "Toshiba A135", ALC861VD_LENOVO),
@@ -13963,6 +13965,21 @@ static struct alc_config_preset alc861vd_presets[] = {
13963 .unsol_event = alc861vd_dallas_unsol_event, 13965 .unsol_event = alc861vd_dallas_unsol_event,
13964 .init_hook = alc861vd_dallas_automute, 13966 .init_hook = alc861vd_dallas_automute,
13965 }, 13967 },
13968 [ALC660VD_ASUS_V1S] = {
13969 .mixers = { alc861vd_lenovo_mixer },
13970 .init_verbs = { alc861vd_volume_init_verbs,
13971 alc861vd_3stack_init_verbs,
13972 alc861vd_eapd_verbs,
13973 alc861vd_lenovo_unsol_verbs },
13974 .num_dacs = ARRAY_SIZE(alc660vd_dac_nids),
13975 .dac_nids = alc660vd_dac_nids,
13976 .dig_out_nid = ALC861VD_DIGOUT_NID,
13977 .num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes),
13978 .channel_mode = alc861vd_3stack_2ch_modes,
13979 .input_mux = &alc861vd_capture_source,
13980 .unsol_event = alc861vd_lenovo_unsol_event,
13981 .init_hook = alc861vd_lenovo_automute,
13982 },
13966}; 13983};
13967 13984
13968/* 13985/*