diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2008-09-13 19:54:58 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-09-23 02:18:03 -0400 |
commit | 9cae0c63785d7e1ee1c97ca75148174d483f5200 (patch) | |
tree | 5024d042cf96b8163b27c903ae5efff8455e8da7 /sound/pci | |
parent | 0481f4534910e644626a3607b2a1a979420a2d05 (diff) |
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/pci')
-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 03b9d3df4ebd..42b1a231347f 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] = { | |||
1826 | 0x0c, 0x0d, 0x0e | 1826 | 0x0c, 0x0d, 0x0e |
1827 | }; | 1827 | }; |
1828 | 1828 | ||
1829 | #define AD1988_SPDIF_OUT 0x02 | 1829 | #define AD1988_SPDIF_OUT 0x02 |
1830 | #define AD1988_SPDIF_OUT_HDMI 0x0b | ||
1830 | #define AD1988_SPDIF_IN 0x07 | 1831 | #define AD1988_SPDIF_IN 0x07 |
1831 | 1832 | ||
1833 | static hda_nid_t ad1989b_slave_dig_outs[2] = { | ||
1834 | AD1988_SPDIF_OUT, AD1988_SPDIF_OUT_HDMI | ||
1835 | }; | ||
1836 | |||
1832 | static struct hda_input_mux ad1988_6stack_capture_source = { | 1837 | static struct hda_input_mux ad1988_6stack_capture_source = { |
1833 | .num_items = 5, | 1838 | .num_items = 5, |
1834 | .items = { | 1839 | .items = { |
@@ -2143,6 +2148,7 @@ static struct snd_kcontrol_new ad1988_spdif_in_mixers[] = { | |||
2143 | 2148 | ||
2144 | static struct snd_kcontrol_new ad1989_spdif_out_mixers[] = { | 2149 | static struct snd_kcontrol_new ad1989_spdif_out_mixers[] = { |
2145 | HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT), | 2150 | HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT), |
2151 | HDA_CODEC_VOLUME("HDMI Playback Volume", 0x1d, 0x0, HDA_OUTPUT), | ||
2146 | { } /* end */ | 2152 | { } /* end */ |
2147 | }; | 2153 | }; |
2148 | 2154 | ||
@@ -2985,6 +2991,7 @@ static int patch_ad1988(struct hda_codec *codec) | |||
2985 | ad1989_spdif_out_mixers; | 2991 | ad1989_spdif_out_mixers; |
2986 | spec->init_verbs[spec->num_init_verbs++] = | 2992 | spec->init_verbs[spec->num_init_verbs++] = |
2987 | ad1989_spdif_init_verbs; | 2993 | ad1989_spdif_init_verbs; |
2994 | codec->slave_dig_outs = ad1989b_slave_dig_outs; | ||
2988 | } else { | 2995 | } else { |
2989 | spec->mixers[spec->num_mixers++] = | 2996 | spec->mixers[spec->num_mixers++] = |
2990 | ad1988_spdif_out_mixers; | 2997 | ad1988_spdif_out_mixers; |