aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2014-02-19 22:47:21 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-07 00:30:06 -0500
commit80c2450409740cabc96d784d1877c21ee3f87779 (patch)
treedea264121218226de1628b3add51031589f50d56
parent3d92e99d70e16c6a2eb7b4fad1543cda12c4bdd9 (diff)
ALSA: hda - Enable front audio jacks on one HP desktop model
commit 1de7ca5e844866f56bebb2fc47fa18e090677e88 upstream. The front headphone and mic jackes on a HP desktop model (Vendor Id: 0x111d76c7 Subsystem Id: 0x103c2b17) can not work, the codec on this machine has 8 physical ports, 6 of them are routed to rear jackes and all of them work very well, while the remaining 2 ports are routed to front headphone and mic jackes, but the corresponding pin complex node are not defined correctly. After apply this fix, the front audio jackes can work very well. [trivial fix of enum definition by tiwai] BugLink: https://bugs.launchpad.net/bugs/1282369 Cc: David Henningsson <david.henningsson@canonical.com> Tested-by: Gerald Yang <gerald.yang@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/pci/hda/patch_sigmatel.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index dc4833f47a2b..86624ca17ee0 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -83,6 +83,7 @@ enum {
83 STAC_DELL_M6_BOTH, 83 STAC_DELL_M6_BOTH,
84 STAC_DELL_EQ, 84 STAC_DELL_EQ,
85 STAC_ALIENWARE_M17X, 85 STAC_ALIENWARE_M17X,
86 STAC_92HD89XX_HP_FRONT_JACK,
86 STAC_92HD73XX_MODELS 87 STAC_92HD73XX_MODELS
87}; 88};
88 89
@@ -1775,6 +1776,12 @@ static const struct hda_pintbl intel_dg45id_pin_configs[] = {
1775 {} 1776 {}
1776}; 1777};
1777 1778
1779static const struct hda_pintbl stac92hd89xx_hp_front_jack_pin_configs[] = {
1780 { 0x0a, 0x02214030 },
1781 { 0x0b, 0x02A19010 },
1782 {}
1783};
1784
1778static void stac92hd73xx_fixup_ref(struct hda_codec *codec, 1785static void stac92hd73xx_fixup_ref(struct hda_codec *codec,
1779 const struct hda_fixup *fix, int action) 1786 const struct hda_fixup *fix, int action)
1780{ 1787{
@@ -1893,6 +1900,10 @@ static const struct hda_fixup stac92hd73xx_fixups[] = {
1893 [STAC_92HD73XX_NO_JD] = { 1900 [STAC_92HD73XX_NO_JD] = {
1894 .type = HDA_FIXUP_FUNC, 1901 .type = HDA_FIXUP_FUNC,
1895 .v.func = stac92hd73xx_fixup_no_jd, 1902 .v.func = stac92hd73xx_fixup_no_jd,
1903 },
1904 [STAC_92HD89XX_HP_FRONT_JACK] = {
1905 .type = HDA_FIXUP_PINS,
1906 .v.pins = stac92hd89xx_hp_front_jack_pin_configs,
1896 } 1907 }
1897}; 1908};
1898 1909
@@ -1953,6 +1964,8 @@ static const struct snd_pci_quirk stac92hd73xx_fixup_tbl[] = {
1953 "Alienware M17x", STAC_ALIENWARE_M17X), 1964 "Alienware M17x", STAC_ALIENWARE_M17X),
1954 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0490, 1965 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0490,
1955 "Alienware M17x R3", STAC_DELL_EQ), 1966 "Alienware M17x R3", STAC_DELL_EQ),
1967 SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2b17,
1968 "unknown HP", STAC_92HD89XX_HP_FRONT_JACK),
1956 {} /* terminator */ 1969 {} /* terminator */
1957}; 1970};
1958 1971