diff options
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 |
1 files changed, 9 insertions, 1 deletions
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){ |