diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2008-09-13 16:54:58 -0700 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-09-23 08:18:03 +0200 |
commit | 9cae0c63785d7e1ee1c97ca75148174d483f5200 (patch) | |
tree | 5024d042cf96b8163b27c903ae5efff8455e8da7 /sound | |
parent | 0481f4534910e644626a3607b2a1a979420a2d05 (diff) | |
download | kernel-crypto-9cae0c63785d7e1ee1c97ca75148174d483f5200.tar.gz kernel-crypto-9cae0c63785d7e1ee1c97ca75148174d483f5200.tar.xz kernel-crypto-9cae0c63785d7e1ee1c97ca75148174d483f5200.zip |
ALSA: HDA: patch_analog: Implement multiple outputs for AD1988
Implement the slave_dig_outs for AD1989 cards. Untested due to lack of
hardware.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_analog.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 03b9d3df4eb..42b1a231347 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c @@ -1826,9 +1826,14 @@ static hda_nid_t ad1988_capsrc_nids[3] = { 0x0c, 0x0d, 0x0e }; -#define AD1988_SPDIF_OUT 0x02 +#define AD1988_SPDIF_OUT 0x02 +#define AD1988_SPDIF_OUT_HDMI 0x0b #define AD1988_SPDIF_IN 0x07 +static hda_nid_t ad1989b_slave_dig_outs[2] = { + AD1988_SPDIF_OUT, AD1988_SPDIF_OUT_HDMI +}; + static struct hda_input_mux ad1988_6stack_capture_source = { .num_items = 5, .items = { @@ -2143,6 +2148,7 @@ static struct snd_kcontrol_new ad1988_spdif_in_mixers[] = { static struct snd_kcontrol_new ad1989_spdif_out_mixers[] = { HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT), + HDA_CODEC_VOLUME("HDMI Playback Volume", 0x1d, 0x0, HDA_OUTPUT), { } /* end */ }; @@ -2985,6 +2991,7 @@ static int patch_ad1988(struct hda_codec *codec) ad1989_spdif_out_mixers; spec->init_verbs[spec->num_init_verbs++] = ad1989_spdif_init_verbs; + codec->slave_dig_outs = ad1989b_slave_dig_outs; } else { spec->mixers[spec->num_mixers++] = ad1988_spdif_out_mixers; |