1 From d9a4268ee92ba1a2355c892a3add1fa66856b510 Mon Sep 17 00:00:00 2001
2 From: Takashi Iwai <tiwai@suse.de>
3 Date: Thu, 22 Jan 2009 17:40:18 +0100
4 Subject: ALSA: hda - Add quirk for Gateway T1616 laptop
8 Gateway T1616 laptop needs EAPD always on while the current STAC9205
9 code turns off per HP plug. Added a new model "eapd" to keep it on.
11 Reference: Novell bnc#467597
12 https://bugzilla.novell.com/show_bug.cgi?id=467597
14 Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 Documentation/sound/alsa/ALSA-Configuration.txt | 1 +
18 sound/pci/hda/patch_sigmatel.c | 10 +++++++++-
19 2 files changed, 10 insertions(+), 1 deletion(-)
21 --- a/Documentation/sound/alsa/ALSA-Configuration.txt
22 +++ b/Documentation/sound/alsa/ALSA-Configuration.txt
23 @@ -1037,6 +1037,7 @@ Prior to version 0.9.0rc4 options had a
24 dell-m42 Dell (unknown)
25 dell-m43 Dell Precision
26 dell-m44 Dell Inspiron
27 + eapd Keep EAPD on (e.g. Gateway T1616)
31 --- a/sound/pci/hda/patch_sigmatel.c
32 +++ b/sound/pci/hda/patch_sigmatel.c
33 @@ -66,6 +66,7 @@ enum {
41 @@ -2226,6 +2227,7 @@ static unsigned int *stac9205_brd_tbl[ST
42 [STAC_9205_DELL_M42] = dell_9205_m42_pin_configs,
43 [STAC_9205_DELL_M43] = dell_9205_m43_pin_configs,
44 [STAC_9205_DELL_M44] = dell_9205_m44_pin_configs,
45 + [STAC_9205_EAPD] = NULL,
48 static const char *stac9205_models[STAC_9205_MODELS] = {
49 @@ -2233,12 +2235,14 @@ static const char *stac9205_models[STAC_
50 [STAC_9205_DELL_M42] = "dell-m42",
51 [STAC_9205_DELL_M43] = "dell-m43",
52 [STAC_9205_DELL_M44] = "dell-m44",
53 + [STAC_9205_EAPD] = "eapd",
56 static struct snd_pci_quirk stac9205_cfg_tbl[] = {
57 /* SigmaTel reference board */
58 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
59 "DFI LanParty", STAC_9205_REF),
61 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f1,
62 "unknown Dell", STAC_9205_DELL_M42),
63 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f2,
64 @@ -2269,6 +2273,8 @@ static struct snd_pci_quirk stac9205_cfg
65 "Dell Inspiron", STAC_9205_DELL_M44),
66 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0228,
67 "Dell Vostro 1500", STAC_9205_DELL_M42),
69 + SND_PCI_QUIRK(0x107b, 0x0565, "Gateway T1616", STAC_9205_EAPD),
73 @@ -5076,7 +5082,9 @@ static int patch_stac9205(struct hda_cod
75 spec->aloopback_mask = 0x40;
76 spec->aloopback_shift = 0;
77 - spec->eapd_switch = 1;
78 + /* Turn on/off EAPD per HP plugging */
79 + if (spec->board_config != STAC_9205_EAPD)
80 + spec->eapd_switch = 1;
81 spec->multiout.dac_nids = spec->dac_nids;
83 switch (spec->board_config){