diff options
-rw-r--r-- | sound/pci/hda/patch_via.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index c35338a8771d..e0dadcf2030d 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
@@ -626,11 +626,31 @@ static void via_set_jack_unsol_events(struct hda_codec *codec) | |||
626 | } | 626 | } |
627 | } | 627 | } |
628 | 628 | ||
629 | static const struct badness_table via_main_out_badness = { | ||
630 | .no_primary_dac = 0x10000, | ||
631 | .no_dac = 0x4000, | ||
632 | .shared_primary = 0x10000, | ||
633 | .shared_surr = 0x20, | ||
634 | .shared_clfe = 0x20, | ||
635 | .shared_surr_main = 0x20, | ||
636 | }; | ||
637 | static const struct badness_table via_extra_out_badness = { | ||
638 | .no_primary_dac = 0x4000, | ||
639 | .no_dac = 0x4000, | ||
640 | .shared_primary = 0x12, | ||
641 | .shared_surr = 0x20, | ||
642 | .shared_clfe = 0x20, | ||
643 | .shared_surr_main = 0x10, | ||
644 | }; | ||
645 | |||
629 | static int via_parse_auto_config(struct hda_codec *codec) | 646 | static int via_parse_auto_config(struct hda_codec *codec) |
630 | { | 647 | { |
631 | struct via_spec *spec = codec->spec; | 648 | struct via_spec *spec = codec->spec; |
632 | int err; | 649 | int err; |
633 | 650 | ||
651 | spec->gen.main_out_badness = &via_main_out_badness; | ||
652 | spec->gen.extra_out_badness = &via_extra_out_badness; | ||
653 | |||
634 | err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); | 654 | err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); |
635 | if (err < 0) | 655 | if (err < 0) |
636 | return err; | 656 | return err; |