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: Fri, 26 Dec 2008 10:48:38 +0800 [thread overview]
Message-ID: <20081226024838.GA13302@localhost> (raw)
In-Reply-To: <49538A00.3070009@gmx.net>
Hi Thomas,
This patch adds the SPDIF pin as slave digital out which I hope to
create concurrent HDMI/SPDIF outputs for you.
It's against today's sound-2.6 git tree.
Thanks,
Fengguang
---
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 6f2fe0f..c9262f0 100644
--- a/sound/pci/hda/hda_local.h
+++ b/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 */
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 0bd4e6b..08bedee 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/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,
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_codec *codec)
/* 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;
@@ -8865,6 +8868,7 @@ static struct alc_config_preset alc883_presets[] = {
.dac_nids = alc883_dac_nids,
.dig_out_nid = ALC1200_DIGOUT_NID,
.dig_in_nid = ALC883_DIGIN_NID,
+ .slave_dig_outs = { ALC883_DIGOUT_NID, 0 },
.num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes),
.channel_mode = alc883_sixstack_modes,
.input_mux = &alc883_capture_source,
next prev parent reply other threads:[~2008-12-26 2:48 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 [this message]
2008-12-26 12:29 ` Thomas Schneider
2008-12-30 9:54 ` Wu Fengguang
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=20081226024838.GA13302@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