Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13c94744 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

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: default avatarTristan Aston <astrotris@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent beb0b9cf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -940,6 +940,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
	  lenovo	Lenovo 3000 C200
	  dallas	Dallas laptops
	  hp		HP TX1000
	  asus-v1s	ASUS V1Sn
	  auto		auto-config reading BIOS (default)

	CMI9880
+18 −1
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ enum {
enum {
	ALC660VD_3ST,
	ALC660VD_3ST_DIG,
	ALC660VD_ASUS_V1S,
	ALC861VD_3ST,
	ALC861VD_3ST_DIG,
	ALC861VD_6ST_DIG,
@@ -13842,6 +13843,7 @@ static void alc861vd_dallas_unsol_event(struct hda_codec *codec, unsigned int re
static const char *alc861vd_models[ALC861VD_MODEL_LAST] = {
	[ALC660VD_3ST]		= "3stack-660",
	[ALC660VD_3ST_DIG]	= "3stack-660-digout",
	[ALC660VD_ASUS_V1S]	= "asus-v1s",
	[ALC861VD_3ST]		= "3stack",
	[ALC861VD_3ST_DIG]	= "3stack-digout",
	[ALC861VD_6ST_DIG]	= "6stack-digout",
@@ -13856,7 +13858,7 @@ static struct snd_pci_quirk alc861vd_cfg_tbl[] = {
	SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_HP),
	SND_PCI_QUIRK(0x1043, 0x12e2, "Asus z35m", ALC660VD_3ST),
	SND_PCI_QUIRK(0x1043, 0x1339, "Asus G1", ALC660VD_3ST),
	SND_PCI_QUIRK(0x1043, 0x1633, "Asus V1Sn", ALC861VD_LENOVO),
	SND_PCI_QUIRK(0x1043, 0x1633, "Asus V1Sn", ALC660VD_ASUS_V1S),
	SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS", ALC660VD_3ST_DIG),
	SND_PCI_QUIRK(0x10de, 0x03f0, "Realtek ALC660 demo", ALC660VD_3ST),
	SND_PCI_QUIRK(0x1179, 0xff00, "Toshiba A135", ALC861VD_LENOVO),
@@ -13963,6 +13965,21 @@ static struct alc_config_preset alc861vd_presets[] = {
		.unsol_event = alc861vd_dallas_unsol_event,
		.init_hook = alc861vd_dallas_automute,
	},
	[ALC660VD_ASUS_V1S] = {
		.mixers = { alc861vd_lenovo_mixer },
		.init_verbs = { alc861vd_volume_init_verbs,
				alc861vd_3stack_init_verbs,
				alc861vd_eapd_verbs,
				alc861vd_lenovo_unsol_verbs },
		.num_dacs = ARRAY_SIZE(alc660vd_dac_nids),
		.dac_nids = alc660vd_dac_nids,
		.dig_out_nid = ALC861VD_DIGOUT_NID,
		.num_channel_mode = ARRAY_SIZE(alc861vd_3stack_2ch_modes),
		.channel_mode = alc861vd_3stack_2ch_modes,
		.input_mux = &alc861vd_capture_source,
		.unsol_event = alc861vd_lenovo_unsol_event,
		.init_hook = alc861vd_lenovo_automute,
	},
};
/*