mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
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=624118 Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
748cce431e
commit
fc091769a5
1 changed files with 29 additions and 0 deletions
|
@ -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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue