diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-01-10 11:10:40 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-01-12 02:44:40 -0500 |
commit | 39aedee7a1cc3c72d68674ff6ff142299fa0897b (patch) | |
tree | de38e65412520abf6ebd6b77a6793ceadfc8afef /sound/pci/hda/patch_realtek.c | |
parent | 978e77e78cff7a85a31ad552ffd8afee319e8721 (diff) |
ALSA: hda/realtek - Add a fixup for FSC S7020 laptop
Try to recover from the regression: set the HP amp for the speaker and
add the hp jack mode enum as default.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c8fcfa830778..42fc05c3fdf6 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -1436,6 +1436,7 @@ enum { | |||
1436 | ALC260_FIXUP_REPLACER, | 1436 | ALC260_FIXUP_REPLACER, |
1437 | ALC260_FIXUP_HP_B1900, | 1437 | ALC260_FIXUP_HP_B1900, |
1438 | ALC260_FIXUP_KN1, | 1438 | ALC260_FIXUP_KN1, |
1439 | ALC260_FIXUP_FSC_S7020, | ||
1439 | }; | 1440 | }; |
1440 | 1441 | ||
1441 | static void alc260_gpio1_automute(struct hda_codec *codec) | 1442 | static void alc260_gpio1_automute(struct hda_codec *codec) |
@@ -1493,6 +1494,17 @@ static void alc260_fixup_kn1(struct hda_codec *codec, | |||
1493 | } | 1494 | } |
1494 | } | 1495 | } |
1495 | 1496 | ||
1497 | static void alc260_fixup_fsc_s7020(struct hda_codec *codec, | ||
1498 | const struct hda_fixup *fix, int action) | ||
1499 | { | ||
1500 | struct alc_spec *spec = codec->spec; | ||
1501 | |||
1502 | if (action == HDA_FIXUP_ACT_PRE_PROBE) | ||
1503 | spec->gen.add_out_jack_modes = 1; | ||
1504 | else if (action == HDA_FIXUP_ACT_PROBE) | ||
1505 | snd_hda_set_pin_ctl_cache(codec, 0x10, PIN_HP); | ||
1506 | } | ||
1507 | |||
1496 | static const struct hda_fixup alc260_fixups[] = { | 1508 | static const struct hda_fixup alc260_fixups[] = { |
1497 | [ALC260_FIXUP_HP_DC5750] = { | 1509 | [ALC260_FIXUP_HP_DC5750] = { |
1498 | .type = HDA_FIXUP_PINS, | 1510 | .type = HDA_FIXUP_PINS, |
@@ -1548,6 +1560,10 @@ static const struct hda_fixup alc260_fixups[] = { | |||
1548 | .type = HDA_FIXUP_FUNC, | 1560 | .type = HDA_FIXUP_FUNC, |
1549 | .v.func = alc260_fixup_kn1, | 1561 | .v.func = alc260_fixup_kn1, |
1550 | }, | 1562 | }, |
1563 | [ALC260_FIXUP_FSC_S7020] = { | ||
1564 | .type = HDA_FIXUP_FUNC, | ||
1565 | .v.func = alc260_fixup_fsc_s7020, | ||
1566 | }, | ||
1551 | }; | 1567 | }; |
1552 | 1568 | ||
1553 | static const struct snd_pci_quirk alc260_fixup_tbl[] = { | 1569 | static const struct snd_pci_quirk alc260_fixup_tbl[] = { |
@@ -1556,6 +1572,7 @@ static const struct snd_pci_quirk alc260_fixup_tbl[] = { | |||
1556 | SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_FIXUP_GPIO1), | 1572 | SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_FIXUP_GPIO1), |
1557 | SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", ALC260_FIXUP_HP_DC5750), | 1573 | SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", ALC260_FIXUP_HP_DC5750), |
1558 | SND_PCI_QUIRK(0x103c, 0x30ba, "HP Presario B1900", ALC260_FIXUP_HP_B1900), | 1574 | SND_PCI_QUIRK(0x103c, 0x30ba, "HP Presario B1900", ALC260_FIXUP_HP_B1900), |
1575 | SND_PCI_QUIRK(0x10cf, 0x1326, "FSC LifeBook S7020", ALC260_FIXUP_FSC_S7020), | ||
1559 | SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FIXUP_GPIO1), | 1576 | SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FIXUP_GPIO1), |
1560 | SND_PCI_QUIRK(0x152d, 0x0729, "Quanta KN1", ALC260_FIXUP_KN1), | 1577 | SND_PCI_QUIRK(0x152d, 0x0729, "Quanta KN1", ALC260_FIXUP_KN1), |
1561 | SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_FIXUP_REPLACER), | 1578 | SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_FIXUP_REPLACER), |