Commit fc091769 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Add pin-fix for HP dc5750

The NID 0x11 on HP dc5750 with ALC260 should be a speaker although BIOS
gives it as a line-out.  This patch adds a quirk to fix the pin config
so that the real line-out is used properly.

Reference: bnc#624118
	https://bugzilla.novell.com/show_bug.cgi?id=624118Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 748cce43
...@@ -6791,6 +6791,29 @@ static struct hda_amp_list alc260_loopbacks[] = { ...@@ -6791,6 +6791,29 @@ static struct hda_amp_list alc260_loopbacks[] = {
}; };
#endif #endif
/*
* Pin config fixes
*/
enum {
PINFIX_HP_DC5750,
};
static struct alc_pincfg alc260_hp_dc5750_pinfix[] = {
{ 0x11, 0x90130110 }, /* speaker */
{ }
};
static const struct alc_fixup alc260_fixups[] = {
[PINFIX_HP_DC5750] = {
.pins = alc260_hp_dc5750_pinfix
},
};
static struct snd_pci_quirk alc260_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", PINFIX_HP_DC5750),
{}
};
/* /*
* ALC260 configurations * ALC260 configurations
*/ */
...@@ -6990,6 +7013,9 @@ static int patch_alc260(struct hda_codec *codec) ...@@ -6990,6 +7013,9 @@ static int patch_alc260(struct hda_codec *codec)
board_config = ALC260_AUTO; board_config = ALC260_AUTO;
} }
if (board_config == ALC260_AUTO)
alc_pick_fixup(codec, alc260_fixup_tbl, alc260_fixups, 1);
if (board_config == ALC260_AUTO) { if (board_config == ALC260_AUTO) {
/* automatic parse from the BIOS config */ /* automatic parse from the BIOS config */
err = alc260_parse_auto_config(codec); err = alc260_parse_auto_config(codec);
...@@ -7035,6 +7061,9 @@ static int patch_alc260(struct hda_codec *codec) ...@@ -7035,6 +7061,9 @@ static int patch_alc260(struct hda_codec *codec)
set_capture_mixer(codec); set_capture_mixer(codec);
set_beep_amp(spec, 0x07, 0x05, HDA_INPUT); set_beep_amp(spec, 0x07, 0x05, HDA_INPUT);
if (board_config == ALC260_AUTO)
alc_pick_fixup(codec, alc260_fixup_tbl, alc260_fixups, 0);
spec->vmaster_nid = 0x08; spec->vmaster_nid = 0x08;
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment