All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk, Takashi Iwai <tiwai@suse.de>
Subject: [25/28] ALSA: hda - Fix silent speaker output on Acer Aspire 6935
Date: Thu, 16 Feb 2012 16:55:59 -0800	[thread overview]
Message-ID: <20120217005537.359940911@linuxfoundation.org> (raw)
In-Reply-To: <20120217005609.GA17081@kroah.com>

3.2-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Takashi Iwai <tiwai@suse.de>

commit 02a237b24d57e2e2d5402c92549e9e792aa24359 upstream.

Since 3.2 kernel, the driver starts trying to assign the multi-io DACs
before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for
the speaker for a standard laptop setup like a HP, a speaker, a mic-in
and a line-in.  However, on Acer Aspire 6935, it seems that the
speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it
results in silence by some reason, although the codec itself allows
the routing to DAC3/4.

As a workaround, the connection list of each pin is reduced to be
mapped to either only DAC1/2 or DAC3/4, so that the compatible
assignment as in kernel 3.1 is achieved.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 sound/pci/hda/patch_realtek.c |   23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4213,8 +4213,26 @@ enum {
 	PINFIX_PB_M5210,
 	PINFIX_ACER_ASPIRE_7736,
 	PINFIX_ASUS_W90V,
+	ALC889_FIXUP_DAC_ROUTE,
 };
 
+/* Fix the connection of some pins for ALC889:
+ * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't
+ * work correctly (bko#42740)
+ */
+static void alc889_fixup_dac_route(struct hda_codec *codec,
+				   const struct alc_fixup *fix, int action)
+{
+	if (action == ALC_FIXUP_ACT_PRE_PROBE) {
+		hda_nid_t conn1[2] = { 0x0c, 0x0d };
+		hda_nid_t conn2[2] = { 0x0e, 0x0f };
+		snd_hda_override_conn_list(codec, 0x14, 2, conn1);
+		snd_hda_override_conn_list(codec, 0x15, 2, conn1);
+		snd_hda_override_conn_list(codec, 0x18, 2, conn2);
+		snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
+	}
+}
+
 static const struct alc_fixup alc882_fixups[] = {
 	[PINFIX_ABIT_AW9D_MAX] = {
 		.type = ALC_FIXUP_PINS,
@@ -4251,10 +4269,15 @@ static const struct alc_fixup alc882_fix
 			{ }
 		}
 	},
+	[ALC889_FIXUP_DAC_ROUTE] = {
+		.type = ALC_FIXUP_FUNC,
+		.v.func = alc889_fixup_dac_route,
+	},
 };
 
 static const struct snd_pci_quirk alc882_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210),
+	SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
 	SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V),
 	SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530),
 	SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX),



  parent reply	other threads:[~2012-02-17  0:55 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-17  0:56 [00/28] 3.2.7-stable review Greg KH
2012-02-17  0:55 ` [01/28] ixgbe: fix vf lookup Greg KH
2012-02-17  0:55 ` [02/28] igb: " Greg KH
2012-02-17  0:55 ` [03/28] perf evsel: Fix an issue where perf report fails to show the proper percentage Greg KH
2012-02-17  0:55 ` [04/28] perf tools: Fix perf stack to non executable on x86_64 Greg KH
2012-02-17  0:55 ` [05/28] drm/i915: Force explicit bpp selection for intel_dp_link_required Greg KH
2012-02-17  0:55 ` [06/28] drm/i915: no lvds quirk for AOpen MP45 Greg KH
2012-02-17  0:55 ` [07/28] ath9k: Fix kernel panic during driver initilization Greg KH
2012-02-17  0:55 ` [08/28] ath9k: fix a WEP crypto related regression Greg KH
2012-02-17  0:55 ` [09/28] ath9k_hw: fix a RTS/CTS timeout regression Greg KH
2012-02-17  0:55 ` [10/28] hwmon: (f75375s) Fix bit shifting in f75375_write16 Greg KH
2012-02-17  0:55 ` [11/28] net: enable TC35815 for MIPS again Greg KH
2012-02-17  0:55 ` [12/28] lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel Greg KH
2012-02-17  0:55 ` [13/28] relay: prevent integer overflow in relay_open() Greg KH
2012-02-17  0:55 ` [14/28] mac80211: timeout a single frame in the rx reorder buffer Greg KH
2012-02-17  0:55 ` [15/28] writeback: fix NULL bdi->dev in trace writeback_single_inode Greg KH
2012-02-17  0:55 ` [16/28] writeback: fix dereferencing NULL bdi->dev on trace_writeback_queue Greg KH
2012-02-17  0:55 ` [17/28] hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375 Greg KH
2012-02-17  0:55 ` [18/28] cifs: request oplock when doing open on lookup Greg KH
2012-02-17  0:55 ` [19/28] cifs: dont return error from standard_receive3 after marking response malformed Greg KH
2012-02-17  0:55 ` [20/28] crypto: sha512 - Use binary and instead of modulus Greg KH
2012-02-17  0:55   ` Greg KH
2012-02-17  0:55 ` [21/28] crypto: sha512 - Avoid stack bloat on i386 Greg KH
2012-02-17  0:55   ` Greg KH
2012-02-17  1:52   ` David Miller
2012-02-17  2:17     ` Greg KH
2012-02-17  2:28       ` Herbert Xu
2012-02-17  2:28         ` Herbert Xu
2012-02-17  2:37         ` Greg KH
2012-02-17  2:37           ` Greg KH
2012-02-17  2:54           ` David Miller
2012-02-17  3:30             ` Greg KH
2012-02-20 20:45               ` Greg KH
2012-02-17  0:55 ` [22/28] backing-dev: fix wakeup timer races with bdi_unregister() Greg KH
2012-02-17  0:55 ` [23/28] ALSA: intel8x0: Fix default inaudible sound on Gateway M520 Greg KH
2012-02-17  0:55 ` [24/28] ALSA: hda - Fix initialization of secondary capture source on VT1705 Greg KH
2012-02-17  0:55 ` Greg KH [this message]
2012-02-17  0:56 ` [26/28] mmc: atmel-mci: save and restore sdioirq when soft reset is performed Greg KH
2012-02-17  0:56 ` [27/28] mmc: dw_mmc: Fix PIO mode with support of highmem Greg KH
2012-02-17  0:56 ` [28/28] xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120217005537.359940911@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tiwai@suse.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.