diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-01-22 11:40:18 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-01-22 11:41:14 -0500 |
commit | d9a4268ee92ba1a2355c892a3add1fa66856b510 (patch) | |
tree | 99850586393b9f598ce2e207ba0b6a7ea6a544b6 | |
parent | eda6829394cd1755c145583bd506ac244201a2c4 (diff) |
ALSA: hda - Add quirk for Gateway %1616 laptop
Gateway T1616 laptop needs EAPD always on while the current STAC9205
code turns off per HP plug. Added a new model "eapd" to keep it on.
Reference: Novell bnc#467597
https://bugzilla.novell.com/show_bug.cgi?id=467597
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | Documentation/sound/alsa/HD-Audio-Models.txt | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index 75914bcdce72..ef6b22e25412 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -285,6 +285,7 @@ STAC9205/9254 | |||
285 | dell-m42 Dell (unknown) | 285 | dell-m42 Dell (unknown) |
286 | dell-m43 Dell Precision | 286 | dell-m43 Dell Precision |
287 | dell-m44 Dell Inspiron | 287 | dell-m44 Dell Inspiron |
288 | eapd Keep EAPD on (e.g. Gateway T1616) | ||
288 | 289 | ||
289 | STAC9220/9221 | 290 | STAC9220/9221 |
290 | ============= | 291 | ============= |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 3f85731055c0..ed2fa431b03f 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -66,6 +66,7 @@ enum { | |||
66 | STAC_9205_DELL_M42, | 66 | STAC_9205_DELL_M42, |
67 | STAC_9205_DELL_M43, | 67 | STAC_9205_DELL_M43, |
68 | STAC_9205_DELL_M44, | 68 | STAC_9205_DELL_M44, |
69 | STAC_9205_EAPD, | ||
69 | STAC_9205_MODELS | 70 | STAC_9205_MODELS |
70 | }; | 71 | }; |
71 | 72 | ||
@@ -2240,6 +2241,7 @@ static unsigned int *stac9205_brd_tbl[STAC_9205_MODELS] = { | |||
2240 | [STAC_9205_DELL_M42] = dell_9205_m42_pin_configs, | 2241 | [STAC_9205_DELL_M42] = dell_9205_m42_pin_configs, |
2241 | [STAC_9205_DELL_M43] = dell_9205_m43_pin_configs, | 2242 | [STAC_9205_DELL_M43] = dell_9205_m43_pin_configs, |
2242 | [STAC_9205_DELL_M44] = dell_9205_m44_pin_configs, | 2243 | [STAC_9205_DELL_M44] = dell_9205_m44_pin_configs, |
2244 | [STAC_9205_EAPD] = NULL, | ||
2243 | }; | 2245 | }; |
2244 | 2246 | ||
2245 | static const char *stac9205_models[STAC_9205_MODELS] = { | 2247 | static const char *stac9205_models[STAC_9205_MODELS] = { |
@@ -2247,12 +2249,14 @@ static const char *stac9205_models[STAC_9205_MODELS] = { | |||
2247 | [STAC_9205_DELL_M42] = "dell-m42", | 2249 | [STAC_9205_DELL_M42] = "dell-m42", |
2248 | [STAC_9205_DELL_M43] = "dell-m43", | 2250 | [STAC_9205_DELL_M43] = "dell-m43", |
2249 | [STAC_9205_DELL_M44] = "dell-m44", | 2251 | [STAC_9205_DELL_M44] = "dell-m44", |
2252 | [STAC_9205_EAPD] = "eapd", | ||
2250 | }; | 2253 | }; |
2251 | 2254 | ||
2252 | static struct snd_pci_quirk stac9205_cfg_tbl[] = { | 2255 | static struct snd_pci_quirk stac9205_cfg_tbl[] = { |
2253 | /* SigmaTel reference board */ | 2256 | /* SigmaTel reference board */ |
2254 | SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, | 2257 | SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, |
2255 | "DFI LanParty", STAC_9205_REF), | 2258 | "DFI LanParty", STAC_9205_REF), |
2259 | /* Dell */ | ||
2256 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f1, | 2260 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f1, |
2257 | "unknown Dell", STAC_9205_DELL_M42), | 2261 | "unknown Dell", STAC_9205_DELL_M42), |
2258 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f2, | 2262 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f2, |
@@ -2283,6 +2287,8 @@ static struct snd_pci_quirk stac9205_cfg_tbl[] = { | |||
2283 | "Dell Inspiron", STAC_9205_DELL_M44), | 2287 | "Dell Inspiron", STAC_9205_DELL_M44), |
2284 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0228, | 2288 | SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0228, |
2285 | "Dell Vostro 1500", STAC_9205_DELL_M42), | 2289 | "Dell Vostro 1500", STAC_9205_DELL_M42), |
2290 | /* Gateway */ | ||
2291 | SND_PCI_QUIRK(0x107b, 0x0565, "Gateway T1616", STAC_9205_EAPD), | ||
2286 | {} /* terminator */ | 2292 | {} /* terminator */ |
2287 | }; | 2293 | }; |
2288 | 2294 | ||
@@ -5320,7 +5326,9 @@ static int patch_stac9205(struct hda_codec *codec) | |||
5320 | 5326 | ||
5321 | spec->aloopback_mask = 0x40; | 5327 | spec->aloopback_mask = 0x40; |
5322 | spec->aloopback_shift = 0; | 5328 | spec->aloopback_shift = 0; |
5323 | spec->eapd_switch = 1; | 5329 | /* Turn on/off EAPD per HP plugging */ |
5330 | if (spec->board_config != STAC_9205_EAPD) | ||
5331 | spec->eapd_switch = 1; | ||
5324 | spec->multiout.dac_nids = spec->dac_nids; | 5332 | spec->multiout.dac_nids = spec->dac_nids; |
5325 | 5333 | ||
5326 | switch (spec->board_config){ | 5334 | switch (spec->board_config){ |