All of lore.kernel.org
 help / color / mirror / Atom feed
* HDA: CLFE DAC on ALC889 (Acer Aspire 8930G)
@ 2008-12-03  0:59 Hector Martin
  2008-12-03  7:05 ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Hector Martin @ 2008-12-03  0:59 UTC (permalink / raw)
  To: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1639 bytes --]

I've been trying to get ALSA working with this laptop. So far the 
attached patch adds rear support to the existing 4930g model, and tries 
to add CLFE support. However, I haven't been able to get CLFE to work. I 
don't seem to get any audio through DACs/mixers other than the first two 
(front and rear).

I can assign the CLFE output (pin 0x16) to the front or rear DAC and 
hear the front audio through the CLFE speakers. I can also force the 
front DAC (0x02) or rear DAC (0x03) to use the CLFE stream and hear it 
through the front or rear speakers, so the audio is getting to the 
codec. But either DACs 0x04 and 0x05 aren't working, or their associated 
mixers (0x0e and 0x0f) aren't passing through the audio, or the OUT pins 
don't like selections above 1. I've checked that they're unmuted and 
that the volumes are turned up on both. I've also tried the 0x25->0x26 
DAC/mixer auxiliary pathway, which doesn't work either.

Here's what the relevant NIDs correspond to:
0x02 - (normally) Front DAC
0x03 - (normally) Rear DAC
0x04 - (normally) CLFE DAC
0x05 - (presumably) side DAC (no side speakers)

0x0c - (normally) Front mixer
0x0d - (normally) Rear mixer
0x0e - (normally) CLFE mixer
0x0f - (presumably) side mixer

0x14 - Front speakers pin
0x15 - Headphones pin (also EAPD for speaker amp)
0x16 - CLFE speakers pin
0x1b - Rear speakers pin

Here's what the codec graph looks like:
http://marcansoft.com/transf/codec.png

Any ideas? I'm pretty stumped here. Are there any other magic bits to 
enable the remaining DACs or mixers?


-- 
Hector Martin (hector@marcansoft.com)
Public Key: http://www.marcansoft.com/marcan.asc


[-- Attachment #2: 0001-Add-partial-8930G-support.patch --]
[-- Type: text/plain, Size: 2189 bytes --]

>From 8aaa46dfda9b7c0ab19021532750adb03ded877e Mon Sep 17 00:00:00 2001
From: Hector Martin <hector@marcansoft.com>
Date: Wed, 3 Dec 2008 01:50:49 +0100
Subject: [PATCH - snd-intel-hda 1/1] Add partial 8930G support


Signed-off-by: Hector Martin <hector@marcansoft.com>

diff --git a/pci/hda/patch_realtek.c b/pci/hda/patch_realtek.c
index 4afa0c9..6d6e06a 100644
--- a/pci/hda/patch_realtek.c
+++ b/pci/hda/patch_realtek.c
@@ -1302,7 +1302,7 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = {
 	{0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0xb)},
 /* Enable unsolicited event for HP jack */
 	{0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
-/* Connect Internal HP to front */
+/* Connect Front speakers to front */
 	{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
 	{0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
 	{0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
@@ -1310,6 +1310,16 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = {
 	{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
 	{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
 	{0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
+/* Connect Rear speakers to rear */
+	{0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
+	{0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
+	{0x1b, AC_VERB_SET_CONNECT_SEL, 0x01},
+/* Connect CLFE speakers to CLFE */
+	{0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
+	{0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
+	{0x16, AC_VERB_SET_CONNECT_SEL, 0x02},
+/* Set EAPD to enable speakers */
+	{0x15, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
 	{ }
 };
 
@@ -1365,8 +1375,15 @@ static void alc888_acer_aspire_4930g_automute(struct hda_codec *codec)
 	present = snd_hda_codec_read(codec, 0x15, 0,
 				     AC_VERB_GET_PIN_SENSE, 0) & 0x80000000;
 	bits = present ? HDA_AMP_MUTE : 0;
+	/* Front */
 	snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0,
 				 HDA_AMP_MUTE, bits);
+	/* CLFE */
+	snd_hda_codec_amp_stereo(codec, 0x16, HDA_OUTPUT, 0,
+				 HDA_AMP_MUTE, bits);
+	/* Rear */
+	snd_hda_codec_amp_stereo(codec, 0x1b, HDA_OUTPUT, 0,
+				 HDA_AMP_MUTE, bits);
 }
 
 static void alc888_acer_aspire_4930g_unsol_event(struct hda_codec *codec,
-- 
1.5.6.4


[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: HDA: CLFE DAC on ALC889 (Acer Aspire 8930G)
  2008-12-03  0:59 HDA: CLFE DAC on ALC889 (Acer Aspire 8930G) Hector Martin
@ 2008-12-03  7:05 ` Takashi Iwai
  2008-12-03 14:41   ` Hector Martin
  2008-12-07 16:17   ` Hector Martin
  0 siblings, 2 replies; 4+ messages in thread
From: Takashi Iwai @ 2008-12-03  7:05 UTC (permalink / raw)
  To: Hector Martin; +Cc: alsa-devel

At Wed, 03 Dec 2008 01:59:14 +0100,
Hector Martin wrote:
> 
> I've been trying to get ALSA working with this laptop. So far the 
> attached patch adds rear support to the existing 4930g model, and tries 
> to add CLFE support. However, I haven't been able to get CLFE to work. I 
> don't seem to get any audio through DACs/mixers other than the first two 
> (front and rear).
> 
> I can assign the CLFE output (pin 0x16) to the front or rear DAC and 
> hear the front audio through the CLFE speakers. I can also force the 
> front DAC (0x02) or rear DAC (0x03) to use the CLFE stream and hear it 
> through the front or rear speakers, so the audio is getting to the 
> codec. But either DACs 0x04 and 0x05 aren't working, or their associated 
> mixers (0x0e and 0x0f) aren't passing through the audio, or the OUT pins 
> don't like selections above 1.

Did you change "Channel Mode" setting?

The only concern with your change is the possible incompatibility with
the existing 4930g model.  If the pin mapping is identical, then it's
fine to change the existing code.  If not, it'd be safer to create a
new model preset.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HDA: CLFE DAC on ALC889 (Acer Aspire 8930G)
  2008-12-03  7:05 ` Takashi Iwai
@ 2008-12-03 14:41   ` Hector Martin
  2008-12-07 16:17   ` Hector Martin
  1 sibling, 0 replies; 4+ messages in thread
From: Hector Martin @ 2008-12-03 14:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> Did you change "Channel Mode" setting?
Yes, of course.

> The only concern with your change is the possible incompatibility with
> the existing 4930g model.  If the pin mapping is identical, then it's
> fine to change the existing code.  If not, it'd be safer to create a
> new model preset.

Right. I'm just adding new output pin configurations, so there's a good 
chance that it can be unified with the existing 4930g model. Someone 
would have to test it on 4930g to make sure it doesn't break anything 
though.

-- 
Hector Martin (hector@marcansoft.com)
Public Key: http://www.marcansoft.com/marcan.asc

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HDA: CLFE DAC on ALC889 (Acer Aspire 8930G)
  2008-12-03  7:05 ` Takashi Iwai
  2008-12-03 14:41   ` Hector Martin
@ 2008-12-07 16:17   ` Hector Martin
  1 sibling, 0 replies; 4+ messages in thread
From: Hector Martin @ 2008-12-07 16:17 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Spent another couple hours tinkering, but still nothing. I've dumped out 
all GET requests for the DAC nids and the mixer nids. No difference 
between the working ones and the nonworking ones (other than the 
StreamID). Argh.

I hope this doesn't have anything to do with that stupid undocumented 
"decryption module" that Realtek puts in front of the DACs.

Does Realtek usually handle queries about these things? Maybe I should 
fire them an e-mail and see if they can provide any suggestions.

-- 
Hector Martin (hector@marcansoft.com)
Public Key: http://www.marcansoft.com/marcan.asc

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-12-07 16:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-03  0:59 HDA: CLFE DAC on ALC889 (Acer Aspire 8930G) Hector Martin
2008-12-03  7:05 ` Takashi Iwai
2008-12-03 14:41   ` Hector Martin
2008-12-07 16:17   ` Hector Martin

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.