summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-09-28 09:32:06 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-28 09:32:06 -0700
commit0bb5c509ebf09b6cd15813f9722e0f942f8bff8f (patch)
treeec79fa845a76d892862dcd13b5a95ee9c8d4b4ba
parent26268a379faae04c977e6b7f5258864b5090ad59 (diff)
downloadstable-queue-0bb5c509ebf09b6cd15813f9722e0f942f8bff8f.tar.gz
3.0 patches
-rw-r--r--queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch31
-rw-r--r--queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch35
-rw-r--r--queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch37
-rw-r--r--queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch50
-rw-r--r--queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch35
-rw-r--r--queue-3.0/series5
6 files changed, 193 insertions, 0 deletions
diff --git a/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch b/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch
new file mode 100644
index 0000000000..358f858f5f
--- /dev/null
+++ b/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch
@@ -0,0 +1,31 @@
+From 6656b15d675c9c6a049db48d50994b3cd4e76bd6 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Sat, 24 Sep 2011 08:30:44 +0200
+Subject: ALSA: HDA: No power nids on 92HD93
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit 6656b15d675c9c6a049db48d50994b3cd4e76bd6 upstream.
+
+This patch is necessary to make internal speakers work on this chip.
+
+BugLink: http://bugs.launchpad.net/bugs/854468
+Tested-by: Alex Wolfson <alex.wolfson@canonical.com>
+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_sigmatel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -5470,6 +5470,7 @@ again:
+ switch (codec->vendor_id) {
+ case 0x111d76d1:
+ case 0x111d76d9:
++ case 0x111d76df:
+ case 0x111d76e5:
+ case 0x111d7666:
+ case 0x111d7667:
diff --git a/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch b/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch
new file mode 100644
index 0000000000..f2638eb33f
--- /dev/null
+++ b/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch
@@ -0,0 +1,35 @@
+From 5fe6e0151dbd969f5fbcd94d05c968b76d76952b Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 26 Sep 2011 10:41:21 +0200
+Subject: ALSA: hda/realtek - Avoid bogus HP-pin assignment
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 5fe6e0151dbd969f5fbcd94d05c968b76d76952b upstream.
+
+When the headphone pin is assigned as primary output to line_out_pins[],
+the automatic HP-pin assignment by ASSID must be suppressed. Otherwise
+a wrong pin might be assigned to the headphone and breaks the auto-mute.
+
+Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104
+
+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, 3 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -1859,7 +1859,9 @@ do_sku:
+ * 15 : 1 --> enable the function "Mute internal speaker
+ * when the external headphone out jack is plugged"
+ */
+- if (!spec->autocfg.hp_pins[0]) {
++ if (!spec->autocfg.hp_pins[0] &&
++ !(spec->autocfg.line_out_pins[0] &&
++ spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) {
+ hda_nid_t nid;
+ tmp = (ass >> 11) & 0x3; /* HP to chassis */
+ if (tmp == 0)
diff --git a/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch b/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch
new file mode 100644
index 0000000000..8dc47345af
--- /dev/null
+++ b/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch
@@ -0,0 +1,37 @@
+From 61a6a108d15213f5ee06332e1e7766d3860e4453 Mon Sep 17 00:00:00 2001
+From: Thomas Pfaff <tpfaff@gmx.net>
+Date: Mon, 26 Sep 2011 15:43:59 +0200
+Subject: ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag
+
+From: Thomas Pfaff <tpfaff@gmx.net>
+
+commit 61a6a108d15213f5ee06332e1e7766d3860e4453 upstream.
+
+Before clearing the probing flag in the error exit path, check that the
+chip pointer is not NULL.
+
+Signed-off-by: Thomas Pfaff <tpfaff@gmx.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/usb/card.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/sound/usb/card.c
++++ b/sound/usb/card.c
+@@ -529,9 +529,11 @@ static void *snd_usb_audio_probe(struct
+ return chip;
+
+ __error:
+- if (chip && !chip->num_interfaces)
+- snd_card_free(chip->card);
+- chip->probing = 0;
++ if (chip) {
++ if (!chip->num_interfaces)
++ snd_card_free(chip->card);
++ chip->probing = 0;
++ }
+ mutex_unlock(&register_mutex);
+ __err_val:
+ return NULL;
diff --git a/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch b/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch
new file mode 100644
index 0000000000..9e85ed1018
--- /dev/null
+++ b/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch
@@ -0,0 +1,50 @@
+From 34c869855a28af3c6031d29e2267b5a3cce0d67d Mon Sep 17 00:00:00 2001
+From: Jarkko Nikula <jarkko.nikula@bitmer.com>
+Date: Fri, 23 Sep 2011 11:19:13 +0300
+Subject: ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active
+
+From: Jarkko Nikula <jarkko.nikula@bitmer.com>
+
+commit 34c869855a28af3c6031d29e2267b5a3cce0d67d upstream.
+
+Attempt to change McBSP CLKS source while another stream is active is not
+safe after commit d135865 ("OMAP: McBSP: implement functional clock
+switching via clock framework") in 2.6.37.
+
+CLKS parent clock switching using clock framework have to idle the McBSP
+before switching and then activate it again. This short break can cause a
+DMA transaction error to already running stream which halts and recovers
+only by closing and restarting the stream.
+
+This goes more fatal after commit e2fa61d ("OMAP3: l3: Introduce
+l3-interconnect error handling driver") in 2.6.39 where l3 driver detects a
+severe timeout error and does BUG_ON().
+
+Fix this by not changing any configuration in omap_mcbsp_dai_set_dai_sysclk
+if the McBSP is already active. This test should have been here just from
+the beginning anyway.
+
+Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
+Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/omap/omap-mcbsp.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/sound/soc/omap/omap-mcbsp.c
++++ b/sound/soc/omap/omap-mcbsp.c
+@@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk
+ struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs;
+ int err = 0;
+
++ if (mcbsp_data->active)
++ if (freq == mcbsp_data->in_freq)
++ return 0;
++ else
++ return -EBUSY;
++
+ /* The McBSP signal muxing functions are only available on McBSP1 */
+ if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR ||
+ clk_id == OMAP_MCBSP_CLKR_SRC_CLKX ||
diff --git a/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch b/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch
new file mode 100644
index 0000000000..f3597b80c1
--- /dev/null
+++ b/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch
@@ -0,0 +1,35 @@
+From 9058020cd9ae3423d6fe7de591698dc96b6701aa Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Tue, 27 Sep 2011 11:08:46 +0200
+Subject: ASoC: ssm2602: Re-enable oscillator after suspend
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 9058020cd9ae3423d6fe7de591698dc96b6701aa upstream.
+
+Currently the the internal oscillator is powered down when entering BIAS_OFF
+state, but not re-enabled when going back to BIAS_STANDBY. As a result the
+CODEC will stop working after suspend if the internal oscillator is used to
+generate the sysclock signal. This patch fixes it by clearing the appropriate
+bit in the power down register when the CODEC is re-enabled.
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/ssm2602.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/ssm2602.c
++++ b/sound/soc/codecs/ssm2602.c
+@@ -431,7 +431,8 @@ static int ssm2602_set_dai_fmt(struct sn
+ static int ssm2602_set_bias_level(struct snd_soc_codec *codec,
+ enum snd_soc_bias_level level)
+ {
+- u16 reg = snd_soc_read(codec, SSM2602_PWR) & 0xff7f;
++ u16 reg = snd_soc_read(codec, SSM2602_PWR);
++ reg &= ~(PWR_POWER_OFF | PWR_OSC_PDN);
+
+ switch (level) {
+ case SND_SOC_BIAS_ON:
diff --git a/queue-3.0/series b/queue-3.0/series
index f34af1f02a..21713ef525 100644
--- a/queue-3.0/series
+++ b/queue-3.0/series
@@ -222,3 +222,8 @@ arm-dma-mapping-free-allocated-page-if-unable-to-map.patch
arm-7091-1-errata-d-cache-line-maintenance-operation-by.patch
arm-7099-1-futex-preserve-oldval-in-smp-__futex_atomic_op.patch
firmware-loader-allow-builtin-firmware-load-even-if.patch
+asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch
+asoc-ssm2602-re-enable-oscillator-after-suspend.patch
+alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch
+alsa-hda-no-power-nids-on-92hd93.patch
+alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch