diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2009-07-30 02:36:35 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-30 02:53:56 -0400 |
commit | dd7714c92248943b778e8199c7dec7ef859dcac2 (patch) | |
tree | 1ae086d1a14ee4b59486198f609122cc26f80c61 /sound/pci/hda/patch_realtek.c | |
parent | 71443b0b745f7d2c775c8a228e09ef2dc98d42f3 (diff) |
ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A models
This 2-channel mode is useful in that it will broadcast
a 2-channel audio stream to all front/side/... ports.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 6794d028119d..8c5d342bd4eb 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -6681,18 +6681,27 @@ static struct hda_channel_mode alc883_3ST_6ch_intel_modes[3] = { | |||
6681 | }; | 6681 | }; |
6682 | 6682 | ||
6683 | /* | 6683 | /* |
6684 | * 2ch mode | ||
6685 | */ | ||
6686 | static struct hda_verb alc889_ch2_intel_init[] = { | ||
6687 | { 0x14, AC_VERB_SET_CONNECT_SEL, 0x00 }, | ||
6688 | { 0x19, AC_VERB_SET_CONNECT_SEL, 0x00 }, | ||
6689 | { 0x16, AC_VERB_SET_CONNECT_SEL, 0x00 }, | ||
6690 | { 0x17, AC_VERB_SET_CONNECT_SEL, 0x00 }, | ||
6691 | { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, | ||
6692 | { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, | ||
6693 | { } /* end */ | ||
6694 | }; | ||
6695 | |||
6696 | /* | ||
6684 | * 6ch mode | 6697 | * 6ch mode |
6685 | */ | 6698 | */ |
6686 | static struct hda_verb alc889_ch6_intel_init[] = { | 6699 | static struct hda_verb alc889_ch6_intel_init[] = { |
6687 | { 0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6700 | { 0x14, AC_VERB_SET_CONNECT_SEL, 0x00 }, |
6688 | { 0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | 6701 | { 0x19, AC_VERB_SET_CONNECT_SEL, 0x01 }, |
6689 | { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6702 | { 0x16, AC_VERB_SET_CONNECT_SEL, 0x02 }, |
6690 | { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | 6703 | { 0x17, AC_VERB_SET_CONNECT_SEL, 0x03 }, |
6691 | { 0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6704 | { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, |
6692 | { 0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
6693 | { 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | ||
6694 | { 0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
6695 | { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, | ||
6696 | { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, | 6705 | { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, |
6697 | { } /* end */ | 6706 | { } /* end */ |
6698 | }; | 6707 | }; |
@@ -6701,21 +6710,18 @@ static struct hda_verb alc889_ch6_intel_init[] = { | |||
6701 | * 8ch mode | 6710 | * 8ch mode |
6702 | */ | 6711 | */ |
6703 | static struct hda_verb alc889_ch8_intel_init[] = { | 6712 | static struct hda_verb alc889_ch8_intel_init[] = { |
6704 | { 0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6713 | { 0x14, AC_VERB_SET_CONNECT_SEL, 0x00 }, |
6705 | { 0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | 6714 | { 0x19, AC_VERB_SET_CONNECT_SEL, 0x01 }, |
6706 | { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6715 | { 0x16, AC_VERB_SET_CONNECT_SEL, 0x02 }, |
6707 | { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | 6716 | { 0x17, AC_VERB_SET_CONNECT_SEL, 0x03 }, |
6708 | { 0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6717 | { 0x1a, AC_VERB_SET_CONNECT_SEL, 0x03 }, |
6709 | { 0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
6710 | { 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | ||
6711 | { 0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
6712 | { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | 6718 | { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, |
6713 | { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | 6719 | { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, |
6714 | { 0x1a, AC_VERB_SET_CONNECT_SEL, 0x03 }, | ||
6715 | { } /* end */ | 6720 | { } /* end */ |
6716 | }; | 6721 | }; |
6717 | 6722 | ||
6718 | static struct hda_channel_mode alc889_8ch_intel_modes[2] = { | 6723 | static struct hda_channel_mode alc889_8ch_intel_modes[3] = { |
6724 | { 2, alc889_ch2_intel_init }, | ||
6719 | { 6, alc889_ch6_intel_init }, | 6725 | { 6, alc889_ch6_intel_init }, |
6720 | { 8, alc889_ch8_intel_init }, | 6726 | { 8, alc889_ch8_intel_init }, |
6721 | }; | 6727 | }; |