]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk
Disable build of xen kernel.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / alsa-hda-gateway-t1616-quirk
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){