--- /dev/null
+From a6c47a85b8e7e4a8c47394607c5e5c43224b0892 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Thu, 10 Feb 2011 15:39:19 +0100
+Subject: ALSA: HDA: Add subwoofer quirk for Acer Aspire 8942G
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit a6c47a85b8e7e4a8c47394607c5e5c43224b0892 upstream.
+
+According to the reporter, node 0x15 needs to be muted for subwoofer
+to stop sounding. This pin is marked as unused by BIOS, so fix that.
+
+BugLink: http://bugs.launchpad.net/bugs/715877
+
+Reported-by: Hans Peter
+Signed-off-by: David Henningsson <david.henningsson@canonical.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
+@@ -18959,6 +18959,7 @@ static const struct alc_fixup alc662_fix
+ };
+
+ static struct snd_pci_quirk alc662_fixup_tbl[] = {
++ SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE),
+ SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE),
+ SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
+ SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD),
--- /dev/null
+From b1d4f7f4bdcf9915c41ff8cfc4425c84dabb1fde Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Thu, 10 Feb 2011 16:15:44 +0100
+Subject: ALSA: hrtimer: handle delayed timer interrupts
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+commit b1d4f7f4bdcf9915c41ff8cfc4425c84dabb1fde upstream.
+
+If a timer interrupt was delayed too much, hrtimer_forward_now() will
+forward the timer expiry more than once. When this happens, the
+additional number of elapsed ALSA timer ticks must be passed to
+snd_timer_interrupt() to prevent the ALSA timer from falling behind.
+
+This mostly fixes MIDI slowdown problems on highly-loaded systems with
+badly behaved interrupt handlers.
+
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/core/hrtimer.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/sound/core/hrtimer.c
++++ b/sound/core/hrtimer.c
+@@ -45,12 +45,13 @@ static enum hrtimer_restart snd_hrtimer_
+ {
+ struct snd_hrtimer *stime = container_of(hrt, struct snd_hrtimer, hrt);
+ struct snd_timer *t = stime->timer;
++ unsigned long oruns;
+
+ if (!atomic_read(&stime->running))
+ return HRTIMER_NORESTART;
+
+- hrtimer_forward_now(hrt, ns_to_ktime(t->sticks * resolution));
+- snd_timer_interrupt(stime->timer, t->sticks);
++ oruns = hrtimer_forward_now(hrt, ns_to_ktime(t->sticks * resolution));
++ snd_timer_interrupt(stime->timer, t->sticks * oruns);
+
+ if (!atomic_read(&stime->running))
+ return HRTIMER_NORESTART;
--- /dev/null
+From e9c2048915048d605fd76539ddd96f00d593e1eb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 11 Jan 2011 19:57:33 -0500
+Subject: ASoC: Blackfin AC97: fix build error after multi-component update
+
+From: Mike Frysinger <vapier@gentoo.org>
+
+commit e9c2048915048d605fd76539ddd96f00d593e1eb upstream.
+
+We need to tweak how we query the active capture/playback state after
+the recent overhauls of common code.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/blackfin/bf5xx-ac97.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/blackfin/bf5xx-ac97.c
++++ b/sound/soc/blackfin/bf5xx-ac97.c
+@@ -260,9 +260,9 @@ static int bf5xx_ac97_suspend(struct snd
+ pr_debug("%s : sport %d\n", __func__, dai->id);
+ if (!dai->active)
+ return 0;
+- if (dai->capture.active)
++ if (dai->capture_active)
+ sport_rx_stop(sport);
+- if (dai->playback.active)
++ if (dai->playback_active)
+ sport_tx_stop(sport);
+ return 0;
+ }
--- /dev/null
+From 15d2e22b820bad62854d6ad99d8af8320adf4a91 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 11 Jan 2011 23:08:19 -0500
+Subject: ASoC: Blackfin TDM: fix missed snd_soc_dai_get_drvdata update
+
+From: Mike Frysinger <vapier@gentoo.org>
+
+commit 15d2e22b820bad62854d6ad99d8af8320adf4a91 upstream.
+
+One spot was missed in this driver when converting from
+snd_soc_dai.private_data to snd_soc_dai_get_drvdata.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/blackfin/bf5xx-tdm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/blackfin/bf5xx-tdm.c
++++ b/sound/soc/blackfin/bf5xx-tdm.c
+@@ -210,7 +210,7 @@ static int bf5xx_tdm_set_channel_map(str
+ #ifdef CONFIG_PM
+ static int bf5xx_tdm_suspend(struct snd_soc_dai *dai)
+ {
+- struct sport_device *sport = dai->private_data;
++ struct sport_device *sport = snd_soc_dai_get_drvdata(dai);
+
+ if (!dai->active)
+ return 0;
--- /dev/null
+From 4514e8997fbefd5befd6176ac9785e287b4daed4 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Date: Fri, 3 Dec 2010 16:02:10 +0000
+Subject: ASoC: When disabling WM8994 FLL force a source selection
+
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+
+commit 4514e8997fbefd5befd6176ac9785e287b4daed4 upstream.
+
+When we disable the WM8994 FLL code path sharing means that we end up
+writing out a configuration. Currently this is the currently active
+input and output frequency (which causes snd_soc_update_bits() to
+suppress actual writes both immediately and in the common case where
+we reenable the same configuration later) but we allow machine drivers
+to pass through a source of zero. Since the register values written
+are one less than the source constants this causes corruption of other
+bitfields in the register.
+
+Fix this by using the most recently configured FLL source when none is
+provided.
+
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/wm8994.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/soc/codecs/wm8994.c
++++ b/sound/soc/codecs/wm8994.c
+@@ -2914,6 +2914,7 @@ static int wm8994_set_fll(struct snd_soc
+ /* Allow no source specification when stopping */
+ if (freq_out)
+ return -EINVAL;
++ src = wm8994->fll[id].src;
+ break;
+ case WM8994_FLL_SRC_MCLK1:
+ case WM8994_FLL_SRC_MCLK2:
--- /dev/null
+From 7ebcf5d6021a696680ee77d9162a2edec2d671dd Mon Sep 17 00:00:00 2001
+From: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
+Date: Fri, 14 Jan 2011 15:59:13 +0000
+Subject: ASoC: WM8990: msleep() takes milliseconds not jiffies
+
+From: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
+
+commit 7ebcf5d6021a696680ee77d9162a2edec2d671dd upstream.
+
+Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
+Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/wm8990.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/sound/soc/codecs/wm8990.c
++++ b/sound/soc/codecs/wm8990.c
+@@ -1183,7 +1183,7 @@ static int wm8990_set_bias_level(struct
+ WM8990_VMIDTOG);
+
+ /* Delay to allow output caps to discharge */
+- msleep(msecs_to_jiffies(300));
++ msleep(300);
+
+ /* Disable VMIDTOG */
+ snd_soc_write(codec, WM8990_ANTIPOP2, WM8990_SOFTST |
+@@ -1195,17 +1195,17 @@ static int wm8990_set_bias_level(struct
+ /* Enable outputs */
+ snd_soc_write(codec, WM8990_POWER_MANAGEMENT_1, 0x1b00);
+
+- msleep(msecs_to_jiffies(50));
++ msleep(50);
+
+ /* Enable VMID at 2x50k */
+ snd_soc_write(codec, WM8990_POWER_MANAGEMENT_1, 0x1f02);
+
+- msleep(msecs_to_jiffies(100));
++ msleep(100);
+
+ /* Enable VREF */
+ snd_soc_write(codec, WM8990_POWER_MANAGEMENT_1, 0x1f03);
+
+- msleep(msecs_to_jiffies(600));
++ msleep(600);
+
+ /* Enable BUFIOEN */
+ snd_soc_write(codec, WM8990_ANTIPOP2, WM8990_SOFTST |
+@@ -1250,7 +1250,7 @@ static int wm8990_set_bias_level(struct
+ /* Disable VMID */
+ snd_soc_write(codec, WM8990_POWER_MANAGEMENT_1, 0x1f01);
+
+- msleep(msecs_to_jiffies(300));
++ msleep(300);
+
+ /* Enable all output discharge bits */
+ snd_soc_write(codec, WM8990_ANTIPOP1, WM8990_DIS_LLINE |
input-i8042-introduce-notimeout-blacklist-for-dell-vostro-v13.patch
input-bcm5974-add-support-for-macbookair3.patch
hwmon-lm63-consider-lm64-temperature-offset.patch
+alsa-hrtimer-handle-delayed-timer-interrupts.patch
+alsa-hda-add-subwoofer-quirk-for-acer-aspire-8942g.patch
+asoc-when-disabling-wm8994-fll-force-a-source-selection.patch
+asoc-wm8990-msleep-takes-milliseconds-not-jiffies.patch
+asoc-blackfin-ac97-fix-build-error-after-multi-component-update.patch
+asoc-blackfin-tdm-fix-missed-snd_soc_dai_get_drvdata-update.patch