aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_realtek.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 5f00589cb791..74029b5e7a62 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10816,6 +10816,9 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec)
10816 return 0; 10816 return 0;
10817} 10817}
10818 10818
10819static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec,
10820 const struct auto_pin_cfg *cfg);
10821
10819/* almost identical with ALC880 parser... */ 10822/* almost identical with ALC880 parser... */
10820static int alc882_parse_auto_config(struct hda_codec *codec) 10823static int alc882_parse_auto_config(struct hda_codec *codec)
10821{ 10824{
@@ -10833,7 +10836,10 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
10833 err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); 10836 err = alc880_auto_fill_dac_nids(spec, &spec->autocfg);
10834 if (err < 0) 10837 if (err < 0)
10835 return err; 10838 return err;
10836 err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); 10839 if (codec->vendor_id == 0x10ec0887)
10840 err = alc861vd_auto_create_multi_out_ctls(spec, &spec->autocfg);
10841 else
10842 err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg);
10837 if (err < 0) 10843 if (err < 0)
10838 return err; 10844 return err;
10839 err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], 10845 err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0],
@@ -16963,7 +16969,7 @@ static void alc861vd_auto_init_analog_input(struct hda_codec *codec)
16963#define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) 16969#define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c)
16964 16970
16965/* add playback controls from the parsed DAC table */ 16971/* add playback controls from the parsed DAC table */
16966/* Based on ALC880 version. But ALC861VD has separate, 16972/* Based on ALC880 version. But ALC861VD and ALC887 have separate,
16967 * different NIDs for mute/unmute switch and volume control */ 16973 * different NIDs for mute/unmute switch and volume control */
16968static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, 16974static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec,
16969 const struct auto_pin_cfg *cfg) 16975 const struct auto_pin_cfg *cfg)