]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.drivers/alsa-hda-gateway-t1616-quirk
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / alsa-hda-gateway-t1616-quirk
CommitLineData
2cb7cef9
BS
1From d9a4268ee92ba1a2355c892a3add1fa66856b510 Mon Sep 17 00:00:00 2001
2From: Takashi Iwai <tiwai@suse.de>
3Date: Thu, 22 Jan 2009 17:40:18 +0100
4Subject: ALSA: hda - Add quirk for Gateway T1616 laptop
5Patch-mainline:
6References: bnc#467597
7
8Gateway T1616 laptop needs EAPD always on while the current STAC9205
9code turns off per HP plug. Added a new model "eapd" to keep it on.
10
11Reference: Novell bnc#467597
12 https://bugzilla.novell.com/show_bug.cgi?id=467597
13
14Signed-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){