aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_realtek.c34
-rw-r--r--sound/pci/hda/patch_via.c1
2 files changed, 21 insertions, 14 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index bc17a96a7945..f3d186a1e3d5 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6698,9 +6698,9 @@ static struct hda_verb alc885_mbp_ch2_init[] = {
6698}; 6698};
6699 6699
6700/* 6700/*
6701 * 6ch mode 6701 * 4ch mode
6702 */ 6702 */
6703static struct hda_verb alc885_mbp_ch6_init[] = { 6703static struct hda_verb alc885_mbp_ch4_init[] = {
6704 { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, 6704 { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
6705 { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 6705 { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
6706 { 0x1a, AC_VERB_SET_CONNECT_SEL, 0x01 }, 6706 { 0x1a, AC_VERB_SET_CONNECT_SEL, 0x01 },
@@ -6709,9 +6709,9 @@ static struct hda_verb alc885_mbp_ch6_init[] = {
6709 { } /* end */ 6709 { } /* end */
6710}; 6710};
6711 6711
6712static struct hda_channel_mode alc885_mbp_6ch_modes[2] = { 6712static struct hda_channel_mode alc885_mbp_4ch_modes[2] = {
6713 { 2, alc885_mbp_ch2_init }, 6713 { 2, alc885_mbp_ch2_init },
6714 { 6, alc885_mbp_ch6_init }, 6714 { 4, alc885_mbp_ch4_init },
6715}; 6715};
6716 6716
6717/* 6717/*
@@ -6955,10 +6955,11 @@ static struct snd_kcontrol_new alc882_base_mixer[] = {
6955}; 6955};
6956 6956
6957static struct snd_kcontrol_new alc885_mbp3_mixer[] = { 6957static struct snd_kcontrol_new alc885_mbp3_mixer[] = {
6958 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x00, HDA_OUTPUT), 6958 HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0c, 0x00, HDA_OUTPUT),
6959 HDA_BIND_MUTE ("Front Playback Switch", 0x0c, 0x02, HDA_INPUT), 6959 HDA_BIND_MUTE ("Speaker Playback Switch", 0x0c, 0x02, HDA_INPUT),
6960 HDA_CODEC_MUTE ("Speaker Playback Switch", 0x14, 0x00, HDA_OUTPUT), 6960 HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0e, 0x00, HDA_OUTPUT),
6961 HDA_CODEC_VOLUME("Line-Out Playback Volume", 0x0d, 0x00, HDA_OUTPUT), 6961 HDA_BIND_MUTE ("Headphone Playback Switch", 0x0e, 0x02, HDA_INPUT),
6962 HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x00, HDA_OUTPUT),
6962 HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), 6963 HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
6963 HDA_CODEC_MUTE ("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), 6964 HDA_CODEC_MUTE ("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
6964 HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x00, HDA_INPUT), 6965 HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x00, HDA_INPUT),
@@ -7387,14 +7388,18 @@ static struct hda_verb alc885_mbp3_init_verbs[] = {
7387 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO}, 7388 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
7388 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, 7389 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
7389 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, 7390 {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
7391 /* HP mixer */
7392 {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
7393 {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
7394 {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
7390 /* Front Pin: output 0 (0x0c) */ 7395 /* Front Pin: output 0 (0x0c) */
7391 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 7396 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
7392 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 7397 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
7393 {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, 7398 {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
7394 /* HP Pin: output 0 (0x0d) */ 7399 /* HP Pin: output 0 (0x0e) */
7395 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc4}, 7400 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc4},
7396 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE}, 7401 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
7397 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, 7402 {0x15, AC_VERB_SET_CONNECT_SEL, 0x02},
7398 {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, 7403 {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
7399 /* Mic (rear) pin: input vref at 80% */ 7404 /* Mic (rear) pin: input vref at 80% */
7400 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, 7405 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
@@ -8872,10 +8877,11 @@ static struct alc_config_preset alc882_presets[] = {
8872 .mixers = { alc885_mbp3_mixer, alc882_chmode_mixer }, 8877 .mixers = { alc885_mbp3_mixer, alc882_chmode_mixer },
8873 .init_verbs = { alc885_mbp3_init_verbs, 8878 .init_verbs = { alc885_mbp3_init_verbs,
8874 alc880_gpio1_init_verbs }, 8879 alc880_gpio1_init_verbs },
8875 .num_dacs = ARRAY_SIZE(alc882_dac_nids), 8880 .num_dacs = 2,
8876 .dac_nids = alc882_dac_nids, 8881 .dac_nids = alc882_dac_nids,
8877 .channel_mode = alc885_mbp_6ch_modes, 8882 .hp_nid = 0x04,
8878 .num_channel_mode = ARRAY_SIZE(alc885_mbp_6ch_modes), 8883 .channel_mode = alc885_mbp_4ch_modes,
8884 .num_channel_mode = ARRAY_SIZE(alc885_mbp_4ch_modes),
8879 .input_mux = &alc882_capture_source, 8885 .input_mux = &alc882_capture_source,
8880 .dig_out_nid = ALC882_DIGOUT_NID, 8886 .dig_out_nid = ALC882_DIGOUT_NID,
8881 .dig_in_nid = ALC882_DIGIN_NID, 8887 .dig_in_nid = ALC882_DIGIN_NID,
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index ab90abb04ccd..ee89db90c9b6 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -1394,6 +1394,7 @@ static int patch_vt1708(struct hda_codec *codec)
1394 if (!spec->adc_nids && spec->input_mux) { 1394 if (!spec->adc_nids && spec->input_mux) {
1395 spec->adc_nids = vt1708_adc_nids; 1395 spec->adc_nids = vt1708_adc_nids;
1396 spec->num_adc_nids = ARRAY_SIZE(vt1708_adc_nids); 1396 spec->num_adc_nids = ARRAY_SIZE(vt1708_adc_nids);
1397 get_mux_nids(codec);
1397 spec->mixers[spec->num_mixers] = vt1708_capture_mixer; 1398 spec->mixers[spec->num_mixers] = vt1708_capture_mixer;
1398 spec->num_mixers++; 1399 spec->num_mixers++;
1399 } 1400 }