Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7440850c authored by Hui Wang's avatar Hui Wang Committed by Takashi Iwai
Browse files

ALSA: hda - fix an external mic jack problem on a HP machine

ON the machine, two pin complex (0xb and 0xe) are both routed to
the same external right-side mic jack, this makes the jack can't work.

To fix this problem, set the 0xe to "not connected".

BugLink: https://bugs.launchpad.net/bugs/1350148


Tested-by: default avatarFranz Hsieh <franz.hsieh@canonical.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent eb12f72e
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -84,6 +84,7 @@ enum {
	STAC_DELL_EQ,
	STAC_DELL_EQ,
	STAC_ALIENWARE_M17X,
	STAC_ALIENWARE_M17X,
	STAC_92HD89XX_HP_FRONT_JACK,
	STAC_92HD89XX_HP_FRONT_JACK,
	STAC_92HD89XX_HP_Z1_G2_RIGHT_MIC_JACK,
	STAC_92HD73XX_MODELS
	STAC_92HD73XX_MODELS
};
};


@@ -1809,6 +1810,11 @@ static const struct hda_pintbl stac92hd89xx_hp_front_jack_pin_configs[] = {
	{}
	{}
};
};


static const struct hda_pintbl stac92hd89xx_hp_z1_g2_right_mic_jack_pin_configs[] = {
	{ 0x0e, 0x400000f0 },
	{}
};

static void stac92hd73xx_fixup_ref(struct hda_codec *codec,
static void stac92hd73xx_fixup_ref(struct hda_codec *codec,
				   const struct hda_fixup *fix, int action)
				   const struct hda_fixup *fix, int action)
{
{
@@ -1931,6 +1937,10 @@ static const struct hda_fixup stac92hd73xx_fixups[] = {
	[STAC_92HD89XX_HP_FRONT_JACK] = {
	[STAC_92HD89XX_HP_FRONT_JACK] = {
		.type = HDA_FIXUP_PINS,
		.type = HDA_FIXUP_PINS,
		.v.pins = stac92hd89xx_hp_front_jack_pin_configs,
		.v.pins = stac92hd89xx_hp_front_jack_pin_configs,
	},
	[STAC_92HD89XX_HP_Z1_G2_RIGHT_MIC_JACK] = {
		.type = HDA_FIXUP_PINS,
		.v.pins = stac92hd89xx_hp_z1_g2_right_mic_jack_pin_configs,
	}
	}
};
};


@@ -1991,6 +2001,8 @@ static const struct snd_pci_quirk stac92hd73xx_fixup_tbl[] = {
		      "Alienware M17x", STAC_ALIENWARE_M17X),
		      "Alienware M17x", STAC_ALIENWARE_M17X),
	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0490,
	SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0490,
		      "Alienware M17x R3", STAC_DELL_EQ),
		      "Alienware M17x R3", STAC_DELL_EQ),
	SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1927,
				"HP Z1 G2", STAC_92HD89XX_HP_Z1_G2_RIGHT_MIC_JACK),
	SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2b17,
	SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x2b17,
				"unknown HP", STAC_92HD89XX_HP_FRONT_JACK),
				"unknown HP", STAC_92HD89XX_HP_FRONT_JACK),
	{} /* terminator */
	{} /* terminator */