]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
alsa patches for .27
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 10 Dec 2008 00:16:19 +0000 (16:16 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 10 Dec 2008 00:16:19 +0000 (16:16 -0800)
22 files changed:
queue-2.6.27/alsa-hda-add-a-quirk-for-another-acer-aspire.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-a-quirk-for-dell-studio-15.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-a-quirk-for-medion-md96630.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-alc887-support.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-another-hp-model-6730s-for-ad1884a.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-another-hp-model-for-ad1884a.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-model-for-toshiba-l305-laptop.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-support-for-ecs-pc-chips-boards-with-sigmatel-codecs.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-add-support-of-alc272.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-appletv-support.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-fix-alc269-capture-source.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-fix-another-alc889a.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-fix-sound-on-nec-versa-s9100.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-fixed-hp_nid-dac-for-dell_m6.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-hda_proc-fix-printf-format-specifier.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-make-the-hp-elitebook-8530p-use-ad1884a-model-laptop.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-mark-dell-studio-1535-quirk.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-no-headphone-as-line-out-swich-without-line-outs.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-patch_analog-fix-spdif-output-on-ad1989b.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-patch_analog-quirk-for-asus-p5q-premium-pro-boards.patch [new file with mode: 0644]
queue-2.6.27/alsa-hda-restore-default-pin-configs-for-realtek-codecs.patch [new file with mode: 0644]
queue-2.6.27/series

diff --git a/queue-2.6.27/alsa-hda-add-a-quirk-for-another-acer-aspire.patch b/queue-2.6.27/alsa-hda-add-a-quirk-for-another-acer-aspire.patch
new file mode 100644 (file)
index 0000000..45f35d7
--- /dev/null
@@ -0,0 +1,29 @@
+From 69e50282b726bab75c8050c4836dc89b7eb7bf1a Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 3 Nov 2008 10:07:43 +0100
+Subject: ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 69e50282b726bab75c8050c4836dc89b7eb7bf1a upstream
+
+Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883
+codec.  Reported in Novell bnc#426935:
+    https://bugzilla.novell.com/show_bug.cgi?id=426935
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -8013,6 +8013,7 @@ static const char *alc883_models[ALC883_
+ static struct snd_pci_quirk alc883_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG),
+       SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE),
++      SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_ACER_ASPIRE),
+       SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE),
+       SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE),
+       SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), 
diff --git a/queue-2.6.27/alsa-hda-add-a-quirk-for-dell-studio-15.patch b/queue-2.6.27/alsa-hda-add-a-quirk-for-dell-studio-15.patch
new file mode 100644 (file)
index 0000000..1f30d4e
--- /dev/null
@@ -0,0 +1,28 @@
+From b0fc5e043401df4cd243352f1030c4d23e767347 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 21 Nov 2008 08:37:03 +0100
+Subject: ALSA: hda - Add a quirk for Dell Studio 15
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit b0fc5e043401df4cd243352f1030c4d23e767347 upstream
+
+Added the matching model=dell-m6 for Dell Studio 15 laptop.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -1324,6 +1324,8 @@ static struct snd_pci_quirk stac92hd73xx
+                               "unknown Dell", STAC_DELL_M6),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0271,
+                               "unknown Dell", STAC_DELL_M6),
++      SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f,
++                              "Dell Studio 15", STAC_DELL_M6),
+       {} /* terminator */
+ };
diff --git a/queue-2.6.27/alsa-hda-add-a-quirk-for-medion-md96630.patch b/queue-2.6.27/alsa-hda-add-a-quirk-for-medion-md96630.patch
new file mode 100644 (file)
index 0000000..922da6f
--- /dev/null
@@ -0,0 +1,30 @@
+From 959973b92d3ba235edfa5dcb5df1be1e5d1deba2 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 5 Nov 2008 11:30:56 +0100
+Subject: ALSA: hda - Add a quirk for MEDION MD96630
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 959973b92d3ba235edfa5dcb5df1be1e5d1deba2 upstream
+
+Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
+with ALC888 codec.
+Reference: Novell bnc#412548
+       https://bugzilla.novell.com/show_bug.cgi?id=412528
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -8064,6 +8064,7 @@ static struct snd_pci_quirk alc883_cfg_t
+       SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+       SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+       SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
++      SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
+       SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
+       SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
+       SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
diff --git a/queue-2.6.27/alsa-hda-add-alc887-support.patch b/queue-2.6.27/alsa-hda-add-alc887-support.patch
new file mode 100644 (file)
index 0000000..9389943
--- /dev/null
@@ -0,0 +1,28 @@
+From a385a52925398e53bedf1a8b30a9a3e002569f27 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Wed, 15 Oct 2008 11:20:21 +0200
+Subject: ALSA: hda - Add ALC887 support
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit a385a52925398e53bedf1a8b30a9a3e002569f27 upstream
+
+Added ALC887 support.  It's almost compatible with ALC883/888.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -14965,6 +14965,7 @@ struct hda_codec_preset snd_hda_preset_r
+       { .id = 0x10ec0885, .rev = 0x100103, .name = "ALC889A",
+         .patch = patch_alc882 }, /* should be patch_alc883() in future */
+       { .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
++      { .id = 0x10ec0887, .name = "ALC887", .patch = patch_alc883 },
+       { .id = 0x10ec0888, .name = "ALC888", .patch = patch_alc883 },
+       { .id = 0x10ec0889, .name = "ALC889", .patch = patch_alc883 },
+       {} /* terminator */
diff --git a/queue-2.6.27/alsa-hda-add-another-hp-model-6730s-for-ad1884a.patch b/queue-2.6.27/alsa-hda-add-another-hp-model-6730s-for-ad1884a.patch
new file mode 100644 (file)
index 0000000..edae8db
--- /dev/null
@@ -0,0 +1,29 @@
+From 65b92e5cbc8acd14ea83190b4d016f765dce6075 Mon Sep 17 00:00:00 2001
+From: Michel Marti <mma@objectxp.com>
+Date: Sat, 8 Nov 2008 11:33:32 +0100
+Subject: ALSA: hda - Add another HP model (6730s) for AD1884A
+
+From: Michel Marti <mma@objectxp.com>
+
+commit 65b92e5cbc8acd14ea83190b4d016f765dce6075 upstream
+
+Added model=laptop for another HP machine (103c:3614) with AD1884A
+codec.
+
+Signed-off-by: Michel Marti <mma@objectxp.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3848,6 +3848,7 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
+       SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
++      SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
+       SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+       {}
+ };
diff --git a/queue-2.6.27/alsa-hda-add-another-hp-model-for-ad1884a.patch b/queue-2.6.27/alsa-hda-add-another-hp-model-for-ad1884a.patch
new file mode 100644 (file)
index 0000000..f07a3c2
--- /dev/null
@@ -0,0 +1,27 @@
+From 5695ff44160e62d9193c0201706853bcfe2a077f Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 28 Oct 2008 15:39:26 +0100
+Subject: ALSA: hda - Add another HP model for AD1884A
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 5695ff44160e62d9193c0201706853bcfe2a077f upstream
+
+Added a quirk entry for another HP mobile device with AD1884A codec.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3847,6 +3847,7 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
++      SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
+       SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+       {}
+ };
diff --git a/queue-2.6.27/alsa-hda-add-model-for-toshiba-l305-laptop.patch b/queue-2.6.27/alsa-hda-add-model-for-toshiba-l305-laptop.patch
new file mode 100644 (file)
index 0000000..6c5d257
--- /dev/null
@@ -0,0 +1,30 @@
+From 2346d0cde544179a8d235375f1bfbca5c141a31b Mon Sep 17 00:00:00 2001
+From: Travis Place <wishie@wishie.net>
+Date: Mon, 1 Sep 2008 08:24:00 +0200
+Subject: ALSA: hda - Add model for Toshiba L305 laptop
+
+From: Travis Place <wishie@wishie.net>
+
+commit 2346d0cde544179a8d235375f1bfbca5c141a31b upstream
+
+Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
+laptop, so it automatically uses the ALC268_TOSHIBA quirk.
+
+Signed-off-by: Travis Place <wishie@wishie.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -10806,6 +10806,7 @@ static struct snd_pci_quirk alc268_cfg_t
+       SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST),
+       SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA),
+       SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA),
++      SND_PCI_QUIRK(0x1179, 0xff64, "TOSHIBA L305", ALC268_TOSHIBA),
+       SND_PCI_QUIRK(0x14c0, 0x0025, "COMPAL IFL90/JFL-92", ALC268_TOSHIBA),
+       SND_PCI_QUIRK(0x152d, 0x0763, "Diverse (CPR2000)", ALC268_ACER),
+       SND_PCI_QUIRK(0x152d, 0x0771, "Quanta IL1", ALC267_QUANTA_IL1),
diff --git a/queue-2.6.27/alsa-hda-add-support-for-ecs-pc-chips-boards-with-sigmatel-codecs.patch b/queue-2.6.27/alsa-hda-add-support-for-ecs-pc-chips-boards-with-sigmatel-codecs.patch
new file mode 100644 (file)
index 0000000..9e8b008
--- /dev/null
@@ -0,0 +1,93 @@
+From 8c650087992f1d7a3a7be2e632f4e85a52d20619 Mon Sep 17 00:00:00 2001
+From: Mauro Carvalho Chehab <mchehab@infradead.org>
+Date: Mon, 4 Aug 2008 10:39:59 -0300
+Subject: ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
+
+From: Mauro Carvalho Chehab <mchehab@infradead.org>
+
+commit 8c650087992f1d7a3a7be2e632f4e85a52d20619 upstream
+
+Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
+(www.cdibrasil.com.br/) for sponsoring this development.
+
+Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c |   35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -105,6 +105,7 @@ enum {
+       STAC_MACBOOK_PRO_V2,
+       STAC_IMAC_INTEL,
+       STAC_IMAC_INTEL_20,
++      STAC_ECS_202,
+       STAC_922X_DELL_D81,
+       STAC_922X_DELL_D82,
+       STAC_922X_DELL_M81,
+@@ -1478,6 +1479,11 @@ static unsigned int intel_mac_v5_pin_con
+       0x400000fc, 0x400000fb,
+ };
++static unsigned int ecs202_pin_configs[10] = {
++      0x0221401f, 0x02a19020, 0x01a19020, 0x01114010,
++      0x408000f0, 0x01813022, 0x074510a0, 0x40c400f1,
++      0x9037012e, 0x40e000f2,
++};
+ static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
+       [STAC_D945_REF] = ref922x_pin_configs,
+@@ -1496,6 +1502,7 @@ static unsigned int *stac922x_brd_tbl[ST
+       [STAC_MACBOOK_PRO_V2] = intel_mac_v3_pin_configs,
+       [STAC_IMAC_INTEL] = intel_mac_v2_pin_configs,
+       [STAC_IMAC_INTEL_20] = intel_mac_v3_pin_configs,
++      [STAC_ECS_202] = ecs202_pin_configs,
+       [STAC_922X_DELL_D81] = dell_922x_d81_pin_configs,
+       [STAC_922X_DELL_D82] = dell_922x_d82_pin_configs,       
+       [STAC_922X_DELL_M81] = dell_922x_m81_pin_configs,
+@@ -1519,6 +1526,7 @@ static const char *stac922x_models[STAC_
+       [STAC_MACBOOK_PRO_V2]   = "macbook-pro",
+       [STAC_IMAC_INTEL] = "imac-intel",
+       [STAC_IMAC_INTEL_20] = "imac-intel-20",
++      [STAC_ECS_202] = "ecs202",
+       [STAC_922X_DELL_D81] = "dell-d81",
+       [STAC_922X_DELL_D82] = "dell-d82",
+       [STAC_922X_DELL_M81] = "dell-m81",
+@@ -1605,6 +1613,33 @@ static struct snd_pci_quirk stac922x_cfg
+                     "unknown Dell", STAC_922X_DELL_D81),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d7,
+                     "Dell XPS M1210", STAC_922X_DELL_M82),
++      /* ECS/PC Chips boards */
++      SND_PCI_QUIRK(0x1019, 0x2144,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2608,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2633,
++                    "ECS/PC chips P17G/1333", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2811,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2812,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2813,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2814,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2815,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2816,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2817,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2818,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2819,
++                    "ECS/PC chips", STAC_ECS_202),
++      SND_PCI_QUIRK(0x1019, 0x2820,
++                    "ECS/PC chips", STAC_ECS_202),
+       {} /* terminator */
+ };
diff --git a/queue-2.6.27/alsa-hda-add-support-of-alc272.patch b/queue-2.6.27/alsa-hda-add-support-of-alc272.patch
new file mode 100644 (file)
index 0000000..ebc9f02
--- /dev/null
@@ -0,0 +1,38 @@
+From 01afd41f55524e8378601dbf33b858d8dd4b3f31 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Wed, 15 Oct 2008 11:22:09 +0200
+Subject: ALSA: hda - Add support of ALC272
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 01afd41f55524e8378601dbf33b858d8dd4b3f31 upstream
+
+Added the support of ALC272 codec.  It's almost compatible with ALC663.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -14910,6 +14910,9 @@ static int patch_alc662(struct hda_codec
+       if (codec->vendor_id == 0x10ec0663) {
+               spec->stream_name_analog = "ALC663 Analog";
+               spec->stream_name_digital = "ALC663 Digital";
++      } else if (codec->vendor_id == 0x10ec0272) {
++              spec->stream_name_analog = "ALC272 Analog";
++              spec->stream_name_digital = "ALC272 Digital";
+       } else {
+               spec->stream_name_analog = "ALC662 Analog";
+               spec->stream_name_digital = "ALC662 Digital";
+@@ -14947,6 +14950,7 @@ struct hda_codec_preset snd_hda_preset_r
+       { .id = 0x10ec0267, .name = "ALC267", .patch = patch_alc268 },
+       { .id = 0x10ec0268, .name = "ALC268", .patch = patch_alc268 },
+       { .id = 0x10ec0269, .name = "ALC269", .patch = patch_alc269 },
++      { .id = 0x10ec0272, .name = "ALC272", .patch = patch_alc662 },
+       { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
+         .patch = patch_alc861 },
+       { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd },
diff --git a/queue-2.6.27/alsa-hda-appletv-support.patch b/queue-2.6.27/alsa-hda-appletv-support.patch
new file mode 100644 (file)
index 0000000..b0d8059
--- /dev/null
@@ -0,0 +1,29 @@
+From f3911c5ab93e4295938b2013104d2986ea601454 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Sat, 27 Sep 2008 09:13:45 +0200
+Subject: ALSA: hda: appletv support
+
+From: Peter Korsgaard <jacmet@sunsite.dk>
+
+commit f3911c5ab93e4295938b2013104d2986ea601454 upstream
+
+The AppleTV needs the same handling as the 24" iMac.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6555,6 +6555,7 @@ static int patch_alc882(struct hda_codec
+                       board_config = ALC885_MACPRO;
+                       break;
+               case 0x106b1000: /* iMac 24 */
++              case 0x106b2800: /* AppleTV */
+                       board_config = ALC885_IMAC24;
+                       break;
+               case 0x106b00a1: /* Macbook (might be wrong - PCI SSID?) */
diff --git a/queue-2.6.27/alsa-hda-fix-alc269-capture-source.patch b/queue-2.6.27/alsa-hda-fix-alc269-capture-source.patch
new file mode 100644 (file)
index 0000000..50757d6
--- /dev/null
@@ -0,0 +1,55 @@
+From e01bf5091f044011823aefa1882eb3fba0434918 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 21 Aug 2008 16:25:07 +0200
+Subject: ALSA: hda - Fix ALC269 capture source
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit e01bf5091f044011823aefa1882eb3fba0434918 upstream
+
+ALC269 capture source wasn't properly set up.
+It's an independent MUX (0x23), not a source of ADC.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -11038,6 +11038,14 @@ static hda_nid_t alc269_adc_nids[1] = {
+       0x08,
+ };
++static hda_nid_t alc269_capsrc_nids[1] = {
++      0x23,
++};
++
++/* NOTE: ADC2 (0x07) is connected from a recording *MIXER* (0x24),
++ *       not a mux!
++ */
++
+ static struct hda_input_mux alc269_eeepc_dmic_capture_source = {
+       .num_items = 2,
+       .items = {
+@@ -11404,6 +11412,10 @@ static int alc269_parse_auto_config(stru
+       spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
+       spec->num_mux_defs = 1;
+       spec->input_mux = &spec->private_imux;
++      /* set default input source */
++      snd_hda_codec_write_cache(codec, alc269_capsrc_nids[0],
++                                0, AC_VERB_SET_CONNECT_SEL,
++                                spec->input_mux->items[0].index);
+       err = alc_auto_add_mic_boost(codec);
+       if (err < 0)
+@@ -11536,6 +11548,7 @@ static int patch_alc269(struct hda_codec
+       spec->adc_nids = alc269_adc_nids;
+       spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids);
++      spec->capsrc_nids = alc269_capsrc_nids;
+       codec->patch_ops = alc_patch_ops;
+       if (board_config == ALC269_AUTO)
diff --git a/queue-2.6.27/alsa-hda-fix-another-alc889a.patch b/queue-2.6.27/alsa-hda-fix-another-alc889a.patch
new file mode 100644 (file)
index 0000000..8ce2ac5
--- /dev/null
@@ -0,0 +1,40 @@
+From 669faba27f2f7b04b9228d20e30e7f584f0becd5 Mon Sep 17 00:00:00 2001
+From: Clive Messer <clive@vacuumtube.org.uk>
+Date: Tue, 30 Sep 2008 15:49:13 +0200
+Subject: ALSA: hda - Fix another ALC889A (rev 0x100101)
+
+From: Clive Messer <clive@vacuumtube.org.uk>
+
+commit 669faba27f2f7b04b9228d20e30e7f584f0becd5 upstream
+
+ALC889A hardware (id 0x10ec0885 rev 0x100101) to use patch_alc883
+
+Signed-off-by: Clive Messer <clive@vacuumtube.org.uk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6565,7 +6565,8 @@ static int patch_alc882(struct hda_codec
+                       break;
+               default:
+                       /* ALC889A is handled better as ALC888-compatible */
+-                      if (codec->revision_id == 0x100103) {
++                      if (codec->revision_id == 0x100101 ||
++                          codec->revision_id == 0x100103) {
+                               alc_free(codec);
+                               return patch_alc883(codec);
+                       }
+@@ -14959,6 +14960,8 @@ struct hda_codec_preset snd_hda_preset_r
+       { .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 },
+       { .id = 0x10ec0882, .name = "ALC882", .patch = patch_alc882 },
+       { .id = 0x10ec0883, .name = "ALC883", .patch = patch_alc883 },
++      { .id = 0x10ec0885, .rev = 0x100101, .name = "ALC889A",
++        .patch = patch_alc882 }, /* should be patch_alc883() in future */
+       { .id = 0x10ec0885, .rev = 0x100103, .name = "ALC889A",
+         .patch = patch_alc882 }, /* should be patch_alc883() in future */
+       { .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
diff --git a/queue-2.6.27/alsa-hda-fix-sound-on-nec-versa-s9100.patch b/queue-2.6.27/alsa-hda-fix-sound-on-nec-versa-s9100.patch
new file mode 100644 (file)
index 0000000..d51918e
--- /dev/null
@@ -0,0 +1,107 @@
+From e8f9ae2a4a0654e7798b8c0ae956e3f0fdc23c8d Mon Sep 17 00:00:00 2001
+From: Pascal Terjan <pterjan@mandriva.com>
+Date: Mon, 4 Aug 2008 14:36:05 +0200
+Subject: ALSA: hda - Fix sound on NEC Versa S9100
+
+From: Pascal Terjan <pterjan@mandriva.com>
+
+commit e8f9ae2a4a0654e7798b8c0ae956e3f0fdc23c8d upstream
+
+This patch adds sound support for NEC Versa S9100
+With it, we get sound on the internal speaker and headphone (with
+automute working) while there is no sound by default.
+External mic also works fine but I don't know if there is an internal
+one (if there is an internal mic it does not work currently), and I
+had to send back the hardware.
+
+Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |   48 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -100,6 +100,7 @@ enum {
+       ALC262_BENQ_T31,
+       ALC262_ULTRA,
+       ALC262_LENOVO_3000,
++      ALC262_NEC,
+       ALC262_AUTO,
+       ALC262_MODEL_LAST /* last tag */
+ };
+@@ -8948,6 +8949,41 @@ static void alc262_hippo1_unsol_event(st
+ }
+ /*
++ * nec model
++ *  0x15 = headphone
++ *  0x16 = internal speaker
++ *  0x18 = external mic
++ */
++
++static struct snd_kcontrol_new alc262_nec_mixer[] = {
++      HDA_CODEC_VOLUME_MONO("Speaker Playback Volume", 0x0e, 1, 0x0, HDA_OUTPUT),
++      HDA_CODEC_MUTE_MONO("Speaker Playback Switch", 0x16, 0, 0x0, HDA_OUTPUT),
++
++      HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
++      HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
++      HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
++
++      HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0d, 0x0, HDA_OUTPUT),
++      HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT),
++      { } /* end */
++};
++
++static struct hda_verb alc262_nec_verbs[] = {
++      /* Unmute Speaker */
++      {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
++
++      /* Headphone */
++      {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
++      {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
++
++      /* External mic to headphone */
++      {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
++      /* External mic to speaker */
++      {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
++      {}
++};
++
++/*
+  * fujitsu model
+  *  0x14 = headphone/spdif-out, 0x15 = internal speaker,
+  *  0x1b = port replicator headphone out
+@@ -9731,11 +9767,13 @@ static const char *alc262_models[ALC262_
+       [ALC262_SONY_ASSAMD]    = "sony-assamd",
+       [ALC262_ULTRA]          = "ultra",
+       [ALC262_LENOVO_3000]    = "lenovo-3000",
++      [ALC262_NEC]            = "nec",
+       [ALC262_AUTO]           = "auto",
+ };
+ static struct snd_pci_quirk alc262_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x1002, 0x437b, "Hippo", ALC262_HIPPO),
++      SND_PCI_QUIRK(0x1033, 0x8895, "NEC Versa S9100", ALC262_NEC),
+       SND_PCI_QUIRK(0x103c, 0x12fe, "HP xw9400", ALC262_HP_BPC),
+       SND_PCI_QUIRK(0x103c, 0x12ff, "HP xw4550", ALC262_HP_BPC),
+       SND_PCI_QUIRK(0x103c, 0x1306, "HP xw8600", ALC262_HP_BPC),
+@@ -9946,6 +9984,16 @@ static struct alc_config_preset alc262_p
+               .input_mux = &alc262_fujitsu_capture_source,
+               .unsol_event = alc262_lenovo_3000_unsol_event,
+       },
++      [ALC262_NEC] = {
++              .mixers = { alc262_nec_mixer },
++              .init_verbs = { alc262_nec_verbs },
++              .num_dacs = ARRAY_SIZE(alc262_dac_nids),
++              .dac_nids = alc262_dac_nids,
++              .hp_nid = 0x03,
++              .num_channel_mode = ARRAY_SIZE(alc262_modes),
++              .channel_mode = alc262_modes,
++              .input_mux = &alc262_capture_source,
++      },
+ };
+ static int patch_alc262(struct hda_codec *codec)
diff --git a/queue-2.6.27/alsa-hda-fixed-hp_nid-dac-for-dell_m6.patch b/queue-2.6.27/alsa-hda-fixed-hp_nid-dac-for-dell_m6.patch
new file mode 100644 (file)
index 0000000..527d284
--- /dev/null
@@ -0,0 +1,33 @@
+From f7cf0a7ce56eb91752fa441cff2669f8d61d4e5e Mon Sep 17 00:00:00 2001
+From: Matthew Ranostay <mranostay@embeddedalley.com>
+Date: Sat, 13 Sep 2008 10:36:58 -0400
+Subject: ALSA: hda: fixed hp_nid DAC for DELL_M6
+
+From: Matthew Ranostay <mranostay@embeddedalley.com>
+
+commit f7cf0a7ce56eb91752fa441cff2669f8d61d4e5e upstream
+
+This patch sets the HP out not used by the "Headphone to Line Out" switch to the
+hp_nid.
+
+Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -548,8 +548,8 @@ static struct hda_verb dell_eq_core_init
+       { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
+       /* setup audio connections */
+       { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
+-      { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
+-      { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02},
++      { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x02},
++      { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x01},
+       /* setup adcs to point to mixer */
+       { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b},
+       { 0x21, AC_VERB_SET_CONNECT_SEL, 0x0b},
diff --git a/queue-2.6.27/alsa-hda-hda_proc-fix-printf-format-specifier.patch b/queue-2.6.27/alsa-hda-hda_proc-fix-printf-format-specifier.patch
new file mode 100644 (file)
index 0000000..cfaec12
--- /dev/null
@@ -0,0 +1,33 @@
+From 0481f4534910e644626a3607b2a1a979420a2d05 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sat, 13 Sep 2008 16:54:57 -0700
+Subject: ALSA: HDA: hda_proc: Fix printf format specifier
+
+From: Robin H. Johnson <robbat2@gentoo.org>
+
+commit 0481f4534910e644626a3607b2a1a979420a2d05 upstream.
+
+The Pincap output had a typod format specifier, leading to an extraneous "08"
+in the output, which is a reserved bit of the Vref field, and was really
+confused :-).
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/hda/hda_proc.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/hda_proc.c
++++ b/sound/pci/hda/hda_proc.c
+@@ -216,7 +216,7 @@ static void print_pin_caps(struct snd_in
+       unsigned int caps, val;
+       caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
+-      snd_iprintf(buffer, "  Pincap 0x08%x:", caps);
++      snd_iprintf(buffer, "  Pincap 0x%08x:", caps);
+       if (caps & AC_PINCAP_IN)
+               snd_iprintf(buffer, " IN");
+       if (caps & AC_PINCAP_OUT)
diff --git a/queue-2.6.27/alsa-hda-make-the-hp-elitebook-8530p-use-ad1884a-model-laptop.patch b/queue-2.6.27/alsa-hda-make-the-hp-elitebook-8530p-use-ad1884a-model-laptop.patch
new file mode 100644 (file)
index 0000000..cd47d83
--- /dev/null
@@ -0,0 +1,30 @@
+From 254248313aed7e6ff295ca21a82ca989b1f69c16 Mon Sep 17 00:00:00 2001
+From: Travis Place <wishie@wishie.net>
+Date: Mon, 10 Nov 2008 17:56:23 +0100
+Subject: ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
+
+From: Travis Place <wishie@wishie.net>
+
+commit 254248313aed7e6ff295ca21a82ca989b1f69c16 upstream
+
+Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
+(IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
+Playback and Capture confirmed working.
+
+Signed-off-by: Travis Place <wishie@wishie.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3848,6 +3848,7 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+       SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
+       SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
++      SND_PCI_QUIRK(0x103c, 0x30e7, "HP EliteBook 8530p", AD1884A_LAPTOP),
+       SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
+       SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+       {}
diff --git a/queue-2.6.27/alsa-hda-mark-dell-studio-1535-quirk.patch b/queue-2.6.27/alsa-hda-mark-dell-studio-1535-quirk.patch
new file mode 100644 (file)
index 0000000..c746e7a
--- /dev/null
@@ -0,0 +1,29 @@
+From c65574abad288d7123bd49e7906fa53b7e420239 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 21 Nov 2008 18:01:44 +0100
+Subject: ALSA: hda - mark Dell studio 1535 quirk
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit c65574abad288d7123bd49e7906fa53b7e420239 upstream
+
+Fixed the quirk string for Dell studio 1535 (the product name wasn't
+published at the time the patch was made).
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -1311,7 +1311,7 @@ static struct snd_pci_quirk stac92hd73xx
+       SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
+                               "DFI LanParty", STAC_92HD73XX_REF),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0254,
+-                              "unknown Dell", STAC_DELL_M6),
++                              "Dell Studio 1535", STAC_DELL_M6),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0255,
+                               "unknown Dell", STAC_DELL_M6),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0256,
diff --git a/queue-2.6.27/alsa-hda-no-headphone-as-line-out-swich-without-line-outs.patch b/queue-2.6.27/alsa-hda-no-headphone-as-line-out-swich-without-line-outs.patch
new file mode 100644 (file)
index 0000000..c9cb655
--- /dev/null
@@ -0,0 +1,30 @@
+From 95026623da32848bc93fbfb472dc8737487df450 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 24 Nov 2008 07:51:11 +0100
+Subject: ALSA: hda - No 'Headphone as Line-out' swich without line-outs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 95026623da32848bc93fbfb472dc8737487df450 upstream
+
+STAC/IDT driver creates "Headphone as Line-Out" switch even if there
+is no line-out pins on the machine.  For devices only with headpohnes
+and speaker-outs, this switch shouldn't be created.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -2505,7 +2505,7 @@ static int stac92xx_auto_create_multi_ou
+               }
+       }
+-      if (cfg->hp_outs > 1) {
++      if (cfg->hp_outs > 1 && cfg->line_out_type == AUTO_PIN_LINE_OUT) {
+               err = stac92xx_add_control(spec,
+                       STAC_CTL_WIDGET_HP_SWITCH,
+                       "Headphone as Line Out Switch", 0);
diff --git a/queue-2.6.27/alsa-hda-patch_analog-fix-spdif-output-on-ad1989b.patch b/queue-2.6.27/alsa-hda-patch_analog-fix-spdif-output-on-ad1989b.patch
new file mode 100644 (file)
index 0000000..46f4c7c
--- /dev/null
@@ -0,0 +1,36 @@
+From e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sat, 13 Sep 2008 16:55:00 -0700
+Subject: ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
+
+From: Robin H. Johnson <robbat2@gentoo.org>
+
+commit e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6 upstream
+
+The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
+actually work. Also initialize the HDMI SPDIF at the same time.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -2247,8 +2247,12 @@ static struct hda_verb ad1988_spdif_init
+ /* AD1989 has no ADC -> SPDIF route */
+ static struct hda_verb ad1989_spdif_init_verbs[] = {
+-      /* SPDIF out pin */
++      /* SPDIF-1 out pin */
++      {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+       {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
++      /* SPDIF-2/HDMI out pin */
++      {0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++      {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
+       { }
+ };
diff --git a/queue-2.6.27/alsa-hda-patch_analog-quirk-for-asus-p5q-premium-pro-boards.patch b/queue-2.6.27/alsa-hda-patch_analog-quirk-for-asus-p5q-premium-pro-boards.patch
new file mode 100644 (file)
index 0000000..79fb7ad
--- /dev/null
@@ -0,0 +1,30 @@
+From f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@orbis-terrarum.net>
+Date: Sat, 13 Sep 2008 16:55:01 -0700
+Subject: ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
+
+From: Robin H. Johnson <robbat2@orbis-terrarum.net>
+
+commit f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3 upstream
+
+Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
+on their Asus P5Q Premium and Pro boards.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -2872,6 +2872,7 @@ static struct snd_pci_quirk ad1988_cfg_t
+       SND_PCI_QUIRK(0x1043, 0x81ec, "Asus P5B-DLX", AD1988_6STACK_DIG),
+       SND_PCI_QUIRK(0x1043, 0x81f6, "Asus M2N-SLI", AD1988_6STACK_DIG),
+       SND_PCI_QUIRK(0x1043, 0x8277, "Asus P5K-E/WIFI-AP", AD1988_6STACK_DIG),
++      SND_PCI_QUIRK(0x1043, 0x8311, "Asus P5Q-Premium/Pro", AD1988_6STACK_DIG),
+       {}
+ };
diff --git a/queue-2.6.27/alsa-hda-restore-default-pin-configs-for-realtek-codecs.patch b/queue-2.6.27/alsa-hda-restore-default-pin-configs-for-realtek-codecs.patch
new file mode 100644 (file)
index 0000000..439e34c
--- /dev/null
@@ -0,0 +1,180 @@
+From e044c39ae258678d6ebb09fccb2a0fdf7ec51847 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 27 Oct 2008 16:56:24 +0100
+Subject: ALSA: hda - Restore default pin configs for realtek codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit e044c39ae258678d6ebb09fccb2a0fdf7ec51847 upstream
+
+Some machines have broken BIOS resume that doesn't restore the default
+pin configuration properly, which results in a wrong detection of HP
+pin.  This causes a silent speaker output due to missing HP detection.
+Related bug: Novell bug#406101
+       https://bugzilla.novell.com/show_bug.cgi?id=406101
+
+This patch fixes the issue by saving/restoring the default pin configs
+by the driver itself.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c |   77 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -292,6 +292,13 @@ struct alc_spec {
+       /* for PLL fix */
+       hda_nid_t pll_nid;
+       unsigned int pll_coef_idx, pll_coef_bit;
++
++#ifdef SND_HDA_NEEDS_RESUME
++#define ALC_MAX_PINS  16
++      unsigned int num_pins;
++      hda_nid_t pin_nids[ALC_MAX_PINS];
++      unsigned int pin_cfgs[ALC_MAX_PINS];
++#endif
+ };
+ /*
+@@ -2723,6 +2730,64 @@ static void alc_free(struct hda_codec *c
+       codec->spec = NULL; /* to be sure */
+ }
++#ifdef SND_HDA_NEEDS_RESUME
++static void store_pin_configs(struct hda_codec *codec)
++{
++      struct alc_spec *spec = codec->spec;
++      hda_nid_t nid, end_nid;
++
++      end_nid = codec->start_nid + codec->num_nodes;
++      for (nid = codec->start_nid; nid < end_nid; nid++) {
++              unsigned int wid_caps = get_wcaps(codec, nid);
++              unsigned int wid_type =
++                      (wid_caps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
++              if (wid_type != AC_WID_PIN)
++                      continue;
++              if (spec->num_pins >= ARRAY_SIZE(spec->pin_nids))
++                      break;
++              spec->pin_nids[spec->num_pins] = nid;
++              spec->pin_cfgs[spec->num_pins] =
++                      snd_hda_codec_read(codec, nid, 0,
++                                         AC_VERB_GET_CONFIG_DEFAULT, 0);
++              spec->num_pins++;
++      }
++}
++
++static void resume_pin_configs(struct hda_codec *codec)
++{
++      struct alc_spec *spec = codec->spec;
++      int i;
++
++      for (i = 0; i < spec->num_pins; i++) {
++              hda_nid_t pin_nid = spec->pin_nids[i];
++              unsigned int pin_config = spec->pin_cfgs[i];
++              snd_hda_codec_write(codec, pin_nid, 0,
++                                  AC_VERB_SET_CONFIG_DEFAULT_BYTES_0,
++                                  pin_config & 0x000000ff);
++              snd_hda_codec_write(codec, pin_nid, 0,
++                                  AC_VERB_SET_CONFIG_DEFAULT_BYTES_1,
++                                  (pin_config & 0x0000ff00) >> 8);
++              snd_hda_codec_write(codec, pin_nid, 0,
++                                  AC_VERB_SET_CONFIG_DEFAULT_BYTES_2,
++                                  (pin_config & 0x00ff0000) >> 16);
++              snd_hda_codec_write(codec, pin_nid, 0,
++                                  AC_VERB_SET_CONFIG_DEFAULT_BYTES_3,
++                                  pin_config >> 24);
++      }
++}
++
++static int alc_resume(struct hda_codec *codec)
++{
++      resume_pin_configs(codec);
++      codec->patch_ops.init(codec);
++      snd_hda_codec_resume_amp(codec);
++      snd_hda_codec_resume_cache(codec);
++      return 0;
++}
++#else
++#define store_pin_configs(codec)
++#endif
++
+ /*
+  */
+ static struct hda_codec_ops alc_patch_ops = {
+@@ -2731,6 +2796,9 @@ static struct hda_codec_ops alc_patch_op
+       .init = alc_init,
+       .free = alc_free,
+       .unsol_event = alc_unsol_event,
++#ifdef SND_HDA_NEEDS_RESUME
++      .resume = alc_resume,
++#endif
+ #ifdef CONFIG_SND_HDA_POWER_SAVE
+       .check_power_status = alc_check_power_status,
+ #endif
+@@ -3777,6 +3845,7 @@ static int alc880_parse_auto_config(stru
+       spec->num_mux_defs = 1;
+       spec->input_mux = &spec->private_imux;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -5125,6 +5194,7 @@ static int alc260_parse_auto_config(stru
+       }
+       spec->num_mixers++;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -9731,6 +9801,7 @@ static int alc262_parse_auto_config(stru
+       if (err < 0)
+               return err;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -10762,6 +10833,7 @@ static int alc268_parse_auto_config(stru
+       if (err < 0)
+               return err;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -11427,6 +11499,7 @@ static int alc269_parse_auto_config(stru
+       spec->mixers[spec->num_mixers] = alc269_capture_mixer;
+       spec->num_mixers++;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -12495,6 +12568,7 @@ static int alc861_parse_auto_config(stru
+       spec->mixers[spec->num_mixers] = alc861_capture_mixer;
+       spec->num_mixers++;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -13606,6 +13680,7 @@ static int alc861vd_parse_auto_config(st
+       if (err < 0)
+               return err;
++      store_pin_configs(codec);
+       return 1;
+ }
+@@ -14853,6 +14928,8 @@ static int alc662_parse_auto_config(stru
+       spec->mixers[spec->num_mixers] = alc662_capture_mixer;
+       spec->num_mixers++;
++
++      store_pin_configs(codec);
+       return 1;
+ }
index 4b6bd21db5418d3045dc156250c4a5c5d3068e6b..299efd3688a4610d12928315d950c30071c05623 100644 (file)
@@ -41,3 +41,24 @@ usb-storage-updates-unusual_devs-entry-for-the-nokia-6300.patch
 usb-storage-update-unusual_devs-entries-for-nokia-5300-and-5310.patch
 usb-storage-unusual_devs-entry-for-mio-c520-gps.patch
 usb-usb-storage-unusual_devs-entry-for-nikon-d2h.patch
+alsa-hda-hda_proc-fix-printf-format-specifier.patch
+alsa-hda-fix-sound-on-nec-versa-s9100.patch
+alsa-hda-add-support-for-ecs-pc-chips-boards-with-sigmatel-codecs.patch
+alsa-hda-fix-alc269-capture-source.patch
+alsa-hda-add-model-for-toshiba-l305-laptop.patch
+alsa-hda-fixed-hp_nid-dac-for-dell_m6.patch
+alsa-hda-patch_analog-fix-spdif-output-on-ad1989b.patch
+alsa-hda-patch_analog-quirk-for-asus-p5q-premium-pro-boards.patch
+alsa-hda-appletv-support.patch
+alsa-hda-fix-another-alc889a.patch
+alsa-hda-add-alc887-support.patch
+alsa-hda-add-support-of-alc272.patch
+alsa-hda-restore-default-pin-configs-for-realtek-codecs.patch
+alsa-hda-add-another-hp-model-for-ad1884a.patch
+alsa-hda-add-a-quirk-for-another-acer-aspire.patch
+alsa-hda-add-a-quirk-for-medion-md96630.patch
+alsa-hda-add-another-hp-model-6730s-for-ad1884a.patch
+alsa-hda-make-the-hp-elitebook-8530p-use-ad1884a-model-laptop.patch
+alsa-hda-add-a-quirk-for-dell-studio-15.patch
+alsa-hda-no-headphone-as-line-out-swich-without-line-outs.patch
+alsa-hda-mark-dell-studio-1535-quirk.patch