Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@intel.com>
To: Thomas Schneider <nailstudio@gmx.net>
Cc: alsa-devel@alsa-project.org
Subject: Re: S/PDIF-Out on Asus M3A-H/HDMI with ALC1200]
Date: Tue, 30 Dec 2008 17:54:14 +0800	[thread overview]
Message-ID: <20081230095414.GA1206@localhost> (raw)
In-Reply-To: <4954CE2A.2040309@gmx.net>

On Fri, Dec 26, 2008 at 01:29:30PM +0100, Thomas Schneider wrote:
> Hi,
> 
> sorry, i get a kernel oops with this changes when i activate iec958 in 
> the mixer !
> 
> 
> [ 1435.041914] BUG: unable to handle kernel NULL pointer dereference at 
> 0000000000000006
> [ 1435.041914] IP: [<ffffffff880d0223>] :snd_hda_codec:set_dig_out+0x47/0x57
> [ 1435.041914] PGD 6b5c3067 PUD 781ba067 PMD 0
> [ 1435.041914] Oops: 0000 [1] SMP

Sorry, does this new patch fixed the oops?

Thanks,
Fengguang
---
 sound/pci/hda/hda_local.h     |    1 +
 sound/pci/hda/patch_realtek.c |    9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

--- sound-2.6.orig/sound/pci/hda/hda_local.h
+++ sound-2.6/sound/pci/hda/hda_local.h
@@ -227,6 +227,7 @@ struct hda_multi_out {
 	hda_nid_t hp_nid;	/* optional DAC for HP, 0 when not exists */
 	hda_nid_t extra_out_nid[3];	/* optional DACs, 0 when not exists */
 	hda_nid_t dig_out_nid;	/* digital out audio widget */
+	hda_nid_t *slave_dig_outs;
 	int max_channels;	/* currently supported analog channels */
 	int dig_out_used;	/* current usage of digital out (HDA_DIG_XXX) */
 	int no_share_stream;	/* don't share a stream with multiple pins */
--- sound-2.6.orig/sound/pci/hda/patch_realtek.c
+++ sound-2.6/sound/pci/hda/patch_realtek.c
@@ -336,6 +336,7 @@ struct alc_config_preset {
 	hda_nid_t *dac_nids;
 	hda_nid_t dig_out_nid;		/* optional */
 	hda_nid_t hp_nid;		/* optional */
+	hda_nid_t *slave_dig_outs;
 	unsigned int num_adc_nids;
 	hda_nid_t *adc_nids;
 	hda_nid_t *capsrc_nids;
@@ -810,6 +811,7 @@ static void setup_preset(struct alc_spec
 	spec->multiout.num_dacs = preset->num_dacs;
 	spec->multiout.dac_nids = preset->dac_nids;
 	spec->multiout.dig_out_nid = preset->dig_out_nid;
+	spec->multiout.slave_dig_outs = preset->slave_dig_outs;
 	spec->multiout.hp_nid = preset->hp_nid;
 
 	spec->num_mux_defs = preset->num_mux_defs;
@@ -3085,6 +3087,7 @@ static int alc_build_pcms(struct hda_cod
 	/* SPDIF for stream index #1 */
 	if (spec->multiout.dig_out_nid || spec->dig_in_nid) {
 		codec->num_pcms = 2;
+	        codec->slave_dig_outs = spec->multiout.slave_dig_outs;
 		info = spec->pcm_rec + 1;
 		info->name = spec->stream_name_digital;
 		info->pcm_type = HDA_PCM_TYPE_SPDIF;
@@ -8525,6 +8528,10 @@ static struct snd_pci_quirk alc883_cfg_t
 	{}
 };
 
+static hda_nid_t alc1200_slave_dig_outs[] = {
+	ALC883_DIGOUT_NID, 0,
+};
+
 static struct alc_config_preset alc883_presets[] = {
 	[ALC883_3ST_2ch_DIG] = {
 		.mixers = { alc883_3ST_2ch_mixer },
@@ -8865,13 +8872,13 @@ static struct alc_config_preset alc883_p
 		.dac_nids = alc883_dac_nids,
 		.dig_out_nid = ALC1200_DIGOUT_NID,
 		.dig_in_nid = ALC883_DIGIN_NID,
+		.slave_dig_outs = alc1200_slave_dig_outs,
 		.num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes),
 		.channel_mode = alc883_sixstack_modes,
 		.input_mux = &alc883_capture_source,
 	},
 };
 
-
 /*
  * BIOS auto configuration
  */

  reply	other threads:[~2008-12-30  9:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-25 13:26 S/PDIF-Out on Asus M3A-H/HDMI with ALC1200] Thomas Schneider
2008-12-26  2:48 ` Wu Fengguang
2008-12-26 12:29   ` Thomas Schneider
2008-12-30  9:54     ` Wu Fengguang [this message]
2009-01-03 22:44       ` Thomas Schneider
2009-02-06  7:02         ` [PATCH] enable concurrent digital outputs for ALC1200 Wu Fengguang
2009-02-06  8:01           ` Takashi Iwai
2009-02-06  8:13             ` Wu Fengguang
2009-02-06  8:23               ` Takashi Iwai
2009-02-06  8:40                 ` Wu Fengguang
2009-02-06  8:26           ` Takashi Iwai
2009-02-06  8:30             ` Wu Fengguang
2009-02-06  8:41               ` 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=20081230095414.GA1206@localhost \
    --to=fengguang.wu@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=nailstudio@gmx.net \
    /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