diff options
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c8070620a4d8..6ac53f7de549 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -6792,6 +6792,29 @@ static struct hda_amp_list alc260_loopbacks[] = { | |||
| 6792 | #endif | 6792 | #endif |
| 6793 | 6793 | ||
| 6794 | /* | 6794 | /* |
| 6795 | * Pin config fixes | ||
| 6796 | */ | ||
| 6797 | enum { | ||
| 6798 | PINFIX_HP_DC5750, | ||
| 6799 | }; | ||
| 6800 | |||
| 6801 | static struct alc_pincfg alc260_hp_dc5750_pinfix[] = { | ||
| 6802 | { 0x11, 0x90130110 }, /* speaker */ | ||
| 6803 | { } | ||
| 6804 | }; | ||
| 6805 | |||
| 6806 | static const struct alc_fixup alc260_fixups[] = { | ||
| 6807 | [PINFIX_HP_DC5750] = { | ||
| 6808 | .pins = alc260_hp_dc5750_pinfix | ||
| 6809 | }, | ||
| 6810 | }; | ||
| 6811 | |||
| 6812 | static struct snd_pci_quirk alc260_fixup_tbl[] = { | ||
| 6813 | SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", PINFIX_HP_DC5750), | ||
| 6814 | {} | ||
| 6815 | }; | ||
| 6816 | |||
| 6817 | /* | ||
| 6795 | * ALC260 configurations | 6818 | * ALC260 configurations |
| 6796 | */ | 6819 | */ |
| 6797 | static const char *alc260_models[ALC260_MODEL_LAST] = { | 6820 | static const char *alc260_models[ALC260_MODEL_LAST] = { |
| @@ -6990,6 +7013,9 @@ static int patch_alc260(struct hda_codec *codec) | |||
| 6990 | board_config = ALC260_AUTO; | 7013 | board_config = ALC260_AUTO; |
| 6991 | } | 7014 | } |
| 6992 | 7015 | ||
| 7016 | if (board_config == ALC260_AUTO) | ||
| 7017 | alc_pick_fixup(codec, alc260_fixup_tbl, alc260_fixups, 1); | ||
| 7018 | |||
| 6993 | if (board_config == ALC260_AUTO) { | 7019 | if (board_config == ALC260_AUTO) { |
| 6994 | /* automatic parse from the BIOS config */ | 7020 | /* automatic parse from the BIOS config */ |
| 6995 | err = alc260_parse_auto_config(codec); | 7021 | err = alc260_parse_auto_config(codec); |
| @@ -7035,6 +7061,9 @@ static int patch_alc260(struct hda_codec *codec) | |||
| 7035 | set_capture_mixer(codec); | 7061 | set_capture_mixer(codec); |
| 7036 | set_beep_amp(spec, 0x07, 0x05, HDA_INPUT); | 7062 | set_beep_amp(spec, 0x07, 0x05, HDA_INPUT); |
| 7037 | 7063 | ||
| 7064 | if (board_config == ALC260_AUTO) | ||
| 7065 | alc_pick_fixup(codec, alc260_fixup_tbl, alc260_fixups, 0); | ||
| 7066 | |||
| 7038 | spec->vmaster_nid = 0x08; | 7067 | spec->vmaster_nid = 0x08; |
| 7039 | 7068 | ||
| 7040 | codec->patch_ops = alc_patch_ops; | 7069 | codec->patch_ops = alc_patch_ops; |
