Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@gmail.com>
To: Andrei Tanas <andrei@tanas.ca>
Cc: Takashi Iwai <tiwai@suse.de>, alsa-devel@alsa-project.org
Subject: Re: digital audio on ASUS P5QL-EM motherboard
Date: Sun, 16 Nov 2008 16:27:33 +0800	[thread overview]
Message-ID: <20081116082733.GA20129@localhost> (raw)
In-Reply-To: <003801c947b4$b857ffb0$2907ff10$@ca>

On Sun, Nov 16, 2008 at 01:29:46AM -0500, Andrei Tanas wrote:
> > It seems that there are two problems:
> > - the SPDIF output PID for you board is 0x10 instead of 0x06
> You are right about this, it works with the patch you provided, with one
> caveat: ALC1200 uses ALC883 patch, so instead of changing ALC882_DIGOUT_NID,
> I changed ALC883_DIGOUT_NID.

Thank you!

You are the kind of smart people that are pleasant to work with ;-)

> How did you find out that it's 0x10 instead of 0x06? Has documentation on
> ALC1200 become available?

It's easy:

grep -i -C6 spdif /proc/asound/card0/codec\#0
grep -i -C6 'stereo digital' /proc/asound/card0/codec\#0

And check the connectivity between pin complex and audio output nodes.

> > - codec#1 is not probed properly
> I was responsible for the confusion with the missing codec. I set
> probe_mask=1 parameter (as suggested in some forum as a troubleshooting
> option for ALC1200) without trying to understand what it does. The probing
> actually seems to work correctly.

Thanks for the clarification. I failed to figure out by reading the code
why codec#1 is silently ignored, hence the brute force print-and-reset hack.

Now you can do a 'cat /proc/asound/card0/codec\#1' and read about the
HDMI codec. For it to work, you may need the bleeding edge Xorg drivers.

> Model autodetection:
> lspci -nn -vvv shows:
> 00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD
> Audio Controller [8086:3a3e]
>         Subsystem: ASUSTeK Computer Inc. Device [1043:82fe]
> 
> So this SND_PCI_QUIRK fixes it (except that it's currently relying on the
> temporary hack)
>
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -8206,6 +8206,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
>         SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP),
>         SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP),
>         SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
> +       SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q", ALC883_6ST_DIG),
>         SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
>         SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI",
> ALC883_3ST_6ch_DIG),
>         SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),

So let's create a new model?

Thank you,
Fengguang
---
 sound/pci/hda/patch_realtek.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

--- sound-2.6.orig/sound/pci/hda/patch_realtek.c
+++ sound-2.6/sound/pci/hda/patch_realtek.c
@@ -232,6 +232,7 @@ enum {
 	ALC883_3ST_6ch_INTEL,
 	ALC888_ASUS_M90V,
 	ALC888_ASUS_EEE1601,
+	ALC1200_ASUS_P5Q,
 	ALC883_AUTO,
 	ALC883_MODEL_LAST,
 };
@@ -6868,6 +6869,8 @@ static int patch_alc882(struct hda_codec
 #define ALC883_DIGOUT_NID	0x06
 #define ALC883_DIGIN_NID	0x0a
 
+#define ALC883_DIGOUT_NID_ASUS_P5Q	0x10
+
 static hda_nid_t alc883_dac_nids[4] = {
 	/* front, rear, clfe, rear_surr */
 	0x02, 0x03, 0x04, 0x05
@@ -8190,6 +8193,7 @@ static const char *alc883_models[ALC883_
 	[ALC883_CLEVO_M720]	= "clevo-m720",
 	[ALC883_FUJITSU_PI2515] = "fujitsu-pi2515",
 	[ALC883_3ST_6ch_INTEL]	= "3stack-6ch-intel",
+	[ALC1200_ASUS_P5Q]	= "asus-p5q",
 	[ALC883_AUTO]		= "auto",
 };
 
@@ -8208,6 +8212,7 @@ static struct snd_pci_quirk alc883_cfg_t
 	SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V),
 	SND_PCI_QUIRK(0x1043, 0x8249, "Asus M2A-VM HDMI", ALC883_3ST_6ch_DIG),
+	SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q-EM HDMI", ALC1200_ASUS_P5Q),
 	SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_ASUS_EEE1601),
 	SND_PCI_QUIRK(0x105b, 0x0ce8, "Foxconn P35AX-S", ALC883_6ST_DIG),
 	SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC883_6ST_DIG),
@@ -8555,6 +8560,17 @@ static struct alc_config_preset alc883_p
 		.unsol_event = alc883_eee1601_unsol_event,
 		.init_hook = alc883_eee1601_inithook,
 	},
+	[ALC1200_ASUS_P5Q] = {
+		.mixers = { alc883_base_mixer, alc883_chmode_mixer },
+		.init_verbs = { alc883_init_verbs },
+		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
+		.dac_nids = alc883_dac_nids,
+		.dig_out_nid = ALC883_DIGOUT_NID_ASUS_P5Q,
+		.dig_in_nid = ALC883_DIGIN_NID,
+		.num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes),
+		.channel_mode = alc883_sixstack_modes,
+		.input_mux = &alc883_capture_source,
+	},
 };

  parent reply	other threads:[~2008-11-16  8:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6d799ca1be9af898f664f82ade06d669@localhost>
     [not found] ` <20081115002724.GA5073@mail.ustc.edu.cn>
2008-11-15 22:22   ` Fwd: Undelivered Mail Returned to Sender Andrei Tanas
     [not found]     ` <20081116021525.GA7795@localhost>
2008-11-16  6:29       ` digital audio on ASUS P5QL-EM motherboard Andrei Tanas
2008-11-16  6:39         ` Andrei Tanas
2008-11-16  8:27         ` Wu Fengguang [this message]
2008-11-16 17:45           ` Andrei Tanas
2008-11-17  0:50             ` [PATCH] hda: alc883 model for ASUS P5Q-EM boards Wu Fengguang
2008-11-17  9:05               ` 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=20081116082733.GA20129@localhost \
    --to=fengguang.wu@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andrei@tanas.ca \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox