]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: hda/realtek: Add Asus quirk for TAS amplifiers
authorAntheas Kapenekakis <lkml@antheas.dev>
Tue, 16 Dec 2025 21:17:14 +0000 (22:17 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 17 Dec 2025 19:34:03 +0000 (20:34 +0100)
By default, these devices use the quirk ALC294_FIXUP_ASUS_SPK. Not
using it causes the headphone jack to stop working. Therefore,
introduce a new quirk ALC287_FIXUP_TXNW2781_I2C_ASUS that binds
to the TAS amplifier while using that quirk.

Cc: stable@kernel.org
Fixes: 18a4895370a7 ("ALSA: hda/realtek: Add match for ASUS Xbox Ally projects")
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Link: https://patch.msgid.link/20251216211714.1116898-1-lkml@antheas.dev
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/codecs/realtek/alc269.c

index 2bc99a8755c983dbd96be8e04dbc887887863a80..355f118275318f02926c970648f8e859bc42ae15 100644 (file)
@@ -3765,6 +3765,7 @@ enum {
        ALC295_FIXUP_DELL_TAS2781_I2C,
        ALC245_FIXUP_TAS2781_SPI_2,
        ALC287_FIXUP_TXNW2781_I2C,
+       ALC287_FIXUP_TXNW2781_I2C_ASUS,
        ALC287_FIXUP_YOGA7_14ARB7_I2C,
        ALC245_FIXUP_HP_MUTE_LED_COEFBIT,
        ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT,
@@ -6063,6 +6064,12 @@ static const struct hda_fixup alc269_fixups[] = {
                .chained = true,
                .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
        },
+       [ALC287_FIXUP_TXNW2781_I2C_ASUS] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = tas2781_fixup_txnw_i2c,
+               .chained = true,
+               .chain_id = ALC294_FIXUP_ASUS_SPK,
+       },
        [ALC287_FIXUP_YOGA7_14ARB7_I2C] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = yoga7_14arb7_fixup_i2c,
@@ -6839,8 +6846,8 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
        SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
        SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
        SND_PCI_QUIRK(0x1043, 0x1314, "ASUS GA605K", ALC285_FIXUP_ASUS_GA605K_HEADSET_MIC),
-       SND_PCI_QUIRK(0x1043, 0x1384, "ASUS RC73XA", ALC287_FIXUP_TXNW2781_I2C),
-       SND_PCI_QUIRK(0x1043, 0x1394, "ASUS RC73YA", ALC287_FIXUP_TXNW2781_I2C),
+       SND_PCI_QUIRK(0x1043, 0x1384, "ASUS RC73XA", ALC287_FIXUP_TXNW2781_I2C_ASUS),
+       SND_PCI_QUIRK(0x1043, 0x1394, "ASUS RC73YA", ALC287_FIXUP_TXNW2781_I2C_ASUS),
        SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
        SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
        SND_PCI_QUIRK(0x1043, 0x1433, "ASUS GX650PY/PZ/PV/PU/PYV/PZV/PIV/PVV", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC),