mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
ALSA: hda/realtek: Fix headset mic on ASUS Zenbook 14
Add a PCI quirk to enable microphone input on the headphone jack on
the ASUS Zenbook 14 UM3406HA laptop.
This model uses an ALC294 codec with CS35L41 amplifiers over I2C,
and the existing fixup for it did not enable the headset microphone.
A new fix is introduced to get the mic working while keeping the
amplifier settings correct.
Fixes: 61cbc08fdb
("ALSA: hda/realtek: Add quirks for ASUS 2024 Zenbooks")
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Link: https://patch.msgid.link/20250818204243.247297-1-kovalev@altlinux.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
89f0addeee
commit
018f659753
@ -3579,6 +3579,7 @@ enum {
|
|||||||
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
|
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
|
||||||
ALC294_FIXUP_ASUS_MIC,
|
ALC294_FIXUP_ASUS_MIC,
|
||||||
ALC294_FIXUP_ASUS_HEADSET_MIC,
|
ALC294_FIXUP_ASUS_HEADSET_MIC,
|
||||||
|
ALC294_FIXUP_ASUS_I2C_HEADSET_MIC,
|
||||||
ALC294_FIXUP_ASUS_SPK,
|
ALC294_FIXUP_ASUS_SPK,
|
||||||
ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
|
ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
|
||||||
ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
|
ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
|
||||||
@ -4889,6 +4890,15 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||||||
.chained = true,
|
.chained = true,
|
||||||
.chain_id = ALC269_FIXUP_HEADSET_MIC
|
.chain_id = ALC269_FIXUP_HEADSET_MIC
|
||||||
},
|
},
|
||||||
|
[ALC294_FIXUP_ASUS_I2C_HEADSET_MIC] = {
|
||||||
|
.type = HDA_FIXUP_PINS,
|
||||||
|
.v.pins = (const struct hda_pintbl[]) {
|
||||||
|
{ 0x19, 0x03a19020 }, /* use as headset mic */
|
||||||
|
{ }
|
||||||
|
},
|
||||||
|
.chained = true,
|
||||||
|
.chain_id = ALC287_FIXUP_CS35L41_I2C_2
|
||||||
|
},
|
||||||
[ALC294_FIXUP_ASUS_SPK] = {
|
[ALC294_FIXUP_ASUS_SPK] = {
|
||||||
.type = HDA_FIXUP_VERBS,
|
.type = HDA_FIXUP_VERBS,
|
||||||
.v.verbs = (const struct hda_verb[]) {
|
.v.verbs = (const struct hda_verb[]) {
|
||||||
@ -6730,7 +6740,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
|
|||||||
SND_PCI_QUIRK(0x1043, 0x1b13, "ASUS U41SV/GA403U", ALC285_FIXUP_ASUS_GA403U_HEADSET_MIC),
|
SND_PCI_QUIRK(0x1043, 0x1b13, "ASUS U41SV/GA403U", ALC285_FIXUP_ASUS_GA403U_HEADSET_MIC),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1b93, "ASUS G614JVR/JIR", ALC245_FIXUP_CS35L41_SPI_2),
|
SND_PCI_QUIRK(0x1043, 0x1b93, "ASUS G614JVR/JIR", ALC245_FIXUP_CS35L41_SPI_2),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
|
SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1c03, "ASUS UM3406HA", ALC287_FIXUP_CS35L41_I2C_2),
|
SND_PCI_QUIRK(0x1043, 0x1c03, "ASUS UM3406HA", ALC294_FIXUP_ASUS_I2C_HEADSET_MIC),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1c33, "ASUS UX5304MA", ALC245_FIXUP_CS35L41_SPI_2),
|
SND_PCI_QUIRK(0x1043, 0x1c33, "ASUS UX5304MA", ALC245_FIXUP_CS35L41_SPI_2),
|
||||||
SND_PCI_QUIRK(0x1043, 0x1c43, "ASUS UX8406MA", ALC245_FIXUP_CS35L41_SPI_2),
|
SND_PCI_QUIRK(0x1043, 0x1c43, "ASUS UX8406MA", ALC245_FIXUP_CS35L41_SPI_2),
|
||||||
|
Loading…
Reference in New Issue
Block a user