]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
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 | |
5 | Patch-mainline: | |
6 | References: bnc#467597 | |
7 | ||
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. | |
10 | ||
11 | Reference: Novell bnc#467597 | |
12 | https://bugzilla.novell.com/show_bug.cgi?id=467597 | |
13 | ||
14 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | |
15 | ||
16 | --- | |
17 | Documentation/sound/alsa/ALSA-Configuration.txt | 1 + | |
18 | sound/pci/hda/patch_sigmatel.c | 10 +++++++++- | |
19 | 2 files changed, 10 insertions(+), 1 deletion(-) | |
20 | ||
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) | |
28 | ||
29 | STAC9220/9221 | |
30 | ref Reference board | |
31 | --- a/sound/pci/hda/patch_sigmatel.c | |
32 | +++ b/sound/pci/hda/patch_sigmatel.c | |
33 | @@ -66,6 +66,7 @@ enum { | |
34 | STAC_9205_DELL_M42, | |
35 | STAC_9205_DELL_M43, | |
36 | STAC_9205_DELL_M44, | |
37 | + STAC_9205_EAPD, | |
38 | STAC_9205_MODELS | |
39 | }; | |
40 | ||
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, | |
46 | }; | |
47 | ||
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", | |
54 | }; | |
55 | ||
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), | |
60 | + /* Dell */ | |
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), | |
68 | + /* Gateway */ | |
69 | + SND_PCI_QUIRK(0x107b, 0x0565, "Gateway T1616", STAC_9205_EAPD), | |
70 | {} /* terminator */ | |
71 | }; | |
72 | ||
73 | @@ -5076,7 +5082,9 @@ static int patch_stac9205(struct hda_cod | |
74 | ||
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; | |
82 | ||
83 | switch (spec->board_config){ |