diff options
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 34 | ||||
-rw-r--r-- | sound/pci/hda/patch_via.c | 1 |
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 | */ |
6703 | static struct hda_verb alc885_mbp_ch6_init[] = { | 6703 | static 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 | ||
6712 | static struct hda_channel_mode alc885_mbp_6ch_modes[2] = { | 6712 | static 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 | ||
6957 | static struct snd_kcontrol_new alc885_mbp3_mixer[] = { | 6957 | static 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 | } |