From: Jacek Luczak <difrost.kernel@gmail.com>
To: tiwai@suse.de
Cc: LKML <linux-kernel@vger.kernel.org>, "Rafael J. Wysocki" <rjw@sisk.pl>
Subject: [ALSA] [regression] No sound on ALC861 Analog with current git
Date: Fri, 02 May 2008 21:15:21 +0200 [thread overview]
Message-ID: <481B6849.7050501@gmail.com> (raw)
Hi Takashi,
I've found that my sound card is muted with current git: it's recognized,
controls are set correctly, etc., but there's no sound in speakers. I've
bisected it down and found that this issue was caused by:
commit f6c7e5461e9046445d50c5c7a9a4587824239623
[ALSA] hda-codec - Fix auto-configuration of Realtek codecs
This patch fixes some bugs in the auto-configurator of Realtek codecs:
- add missing pin set-up for speaker pins
- fix the speaker auto-mute function not to conflict with the existing
"Speaker" mixer switch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Exact problem lays in alc861_auto_set_output_and_unmute() migrated to
alc_set_pin_output(), which now calls:
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
AMP_OUT_UNMUTE);
Previously alc861_auto_set_output_and_unmute() was using dac_idx instead of nid.
I've added some silly printks and it looks like on my system there's a mismatch
which is causing this problem:
Called alc861_init_multi_out. Line outs: 1
Called alc861_auto_set_output_and_unmute with dac_idx: 3, nid: 11
Called alc_set_pin_output with pin_type: 64
Reverting change in alc861_auto_set_output_and_unmute() fixes problem (rfc patch
below).
Details about sound card:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ /sbin/lspci -s 00:1b.0 -vvv
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition
Audio Controller (rev 02)
Subsystem: Fujitsu Siemens Computer GmbH Unknown device 10c1
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 21
Region 0: Memory at d4540000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [70] Express Unknown type IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s <64ns, L1 <1us
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
Link: Supported Speed unknown, Width x0, ASPM unknown, Port 0
Link: Latency L0s <64ns, L1 <1us
Link: ASPM Disabled CommClk- ExtSynch-
Link: Speed unknown, Width x0
Capabilities: [100] Virtual Channel
Capabilities: [130] Unknown (5)
--------------------------
From: Jacek Luczak <luczak.jacek@gmail.com>
[ALSA] Revert migration to alc_set_pin_output() in
alc861_auto_set_output_and_unmute().
Change done by:
commit f6c7e5461e9046445d50c5c7a9a4587824239623
[ALSA] hda-codec - Fix auto-configuration of Realtek codecs
broke sound on ALC861 Analog.
Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
---
patch_realtek.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index d9783a4..0a50205 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -11902,7 +11902,10 @@ static void alc861_auto_set_output_and_unmute(struct
hda_codec *codec,
hda_nid_t nid,
int pin_type, int dac_idx)
{
- alc_set_pin_output(codec, nid, pin_type);
+ snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+ pin_type);
+ snd_hda_codec_write(codec, dac_idx, 0, AC_VERB_SET_AMP_GAIN_MUTE,
+ AMP_OUT_UNMUTE);
}
static void alc861_auto_init_multi_out(struct hda_codec *codec)
next reply other threads:[~2008-05-02 19:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-02 19:15 Jacek Luczak [this message]
2008-05-03 15:49 ` [ALSA] [regression] No sound on ALC861 Analog with current git Takashi Iwai
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=481B6849.7050501@gmail.com \
--to=difrost.kernel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=tiwai@suse.de \
/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.