]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk
Move xen patchset to new version's subdir.
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / alsa-hda-gateway-t1616-quirk
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk
new file mode 100644 (file)
index 0000000..8347154
--- /dev/null
@@ -0,0 +1,83 @@
+From d9a4268ee92ba1a2355c892a3add1fa66856b510 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 22 Jan 2009 17:40:18 +0100
+Subject: ALSA: hda - Add quirk for Gateway T1616 laptop
+Patch-mainline: 
+References: bnc#467597
+
+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>
+
+---
+ Documentation/sound/alsa/ALSA-Configuration.txt |    1 +
+ sound/pci/hda/patch_sigmatel.c                  |   10 +++++++++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+--- a/Documentation/sound/alsa/ALSA-Configuration.txt
++++ b/Documentation/sound/alsa/ALSA-Configuration.txt
+@@ -1037,6 +1037,7 @@ Prior to version 0.9.0rc4 options had a 
+         dell-m42      Dell (unknown)
+         dell-m43      Dell Precision
+         dell-m44      Dell Inspiron
++        eapd          Keep EAPD on (e.g. Gateway T1616)
+       STAC9220/9221
+         ref           Reference board
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -66,6 +66,7 @@ enum {
+       STAC_9205_DELL_M42,
+       STAC_9205_DELL_M43,
+       STAC_9205_DELL_M44,
++      STAC_9205_EAPD,
+       STAC_9205_MODELS
+ };
+@@ -2226,6 +2227,7 @@ static unsigned int *stac9205_brd_tbl[ST
+       [STAC_9205_DELL_M42] = dell_9205_m42_pin_configs,
+       [STAC_9205_DELL_M43] = dell_9205_m43_pin_configs,
+       [STAC_9205_DELL_M44] = dell_9205_m44_pin_configs,
++      [STAC_9205_EAPD] = NULL,
+ };
+ static const char *stac9205_models[STAC_9205_MODELS] = {
+@@ -2233,12 +2235,14 @@ static const char *stac9205_models[STAC_
+       [STAC_9205_DELL_M42] = "dell-m42",
+       [STAC_9205_DELL_M43] = "dell-m43",
+       [STAC_9205_DELL_M44] = "dell-m44",
++      [STAC_9205_EAPD] = "eapd",
+ };
+ static struct snd_pci_quirk stac9205_cfg_tbl[] = {
+       /* SigmaTel reference board */
+       SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
+                     "DFI LanParty", STAC_9205_REF),
++      /* Dell */
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f1,
+                     "unknown Dell", STAC_9205_DELL_M42),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f2,
+@@ -2269,6 +2273,8 @@ static struct snd_pci_quirk stac9205_cfg
+                     "Dell Inspiron", STAC_9205_DELL_M44),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0228,
+                     "Dell Vostro 1500", STAC_9205_DELL_M42),
++      /* Gateway */
++      SND_PCI_QUIRK(0x107b, 0x0565, "Gateway T1616", STAC_9205_EAPD),
+       {} /* terminator */
+ };
+@@ -5076,7 +5082,9 @@ static int patch_stac9205(struct hda_cod
+       spec->aloopback_mask = 0x40;
+       spec->aloopback_shift = 0;
+-      spec->eapd_switch = 1;
++      /* Turn on/off EAPD per HP plugging */
++      if (spec->board_config != STAC_9205_EAPD)
++              spec->eapd_switch = 1;
+       spec->multiout.dac_nids = spec->dac_nids;
+       
+       switch (spec->board_config){