Commit e959f2be authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Takashi Iwai

ALSA: hda: patch_realtek: add quirk for Asus N7601ZM

Add pins and verbs needed to enable speakers and jack.

The pins and verbs configurations were identified by snooping the
Windows driver commands, with a nice write-up here:
https://brakkee.org/site/2023/02/07/fixing-sound-on-the-asus-n7601zm/Reported-by: default avatarErik Brakkee <erik@brakkee.org>
Link: https://github.com/thesofproject/linux/issues/4176Tested-by: default avatarErik Brakkee <erik@brakkee.org>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230406152725.15191-1-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent fb4a624f
...@@ -6960,6 +6960,8 @@ enum { ...@@ -6960,6 +6960,8 @@ enum {
ALC269_FIXUP_DELL_M101Z, ALC269_FIXUP_DELL_M101Z,
ALC269_FIXUP_SKU_IGNORE, ALC269_FIXUP_SKU_IGNORE,
ALC269_FIXUP_ASUS_G73JW, ALC269_FIXUP_ASUS_G73JW,
ALC269_FIXUP_ASUS_N7601ZM_PINS,
ALC269_FIXUP_ASUS_N7601ZM,
ALC269_FIXUP_LENOVO_EAPD, ALC269_FIXUP_LENOVO_EAPD,
ALC275_FIXUP_SONY_HWEQ, ALC275_FIXUP_SONY_HWEQ,
ALC275_FIXUP_SONY_DISABLE_AAMIX, ALC275_FIXUP_SONY_DISABLE_AAMIX,
...@@ -7256,6 +7258,29 @@ static const struct hda_fixup alc269_fixups[] = { ...@@ -7256,6 +7258,29 @@ static const struct hda_fixup alc269_fixups[] = {
{ } { }
} }
}, },
[ALC269_FIXUP_ASUS_N7601ZM_PINS] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x19, 0x03A11050 },
{ 0x1a, 0x03A11C30 },
{ 0x21, 0x03211420 },
{ }
}
},
[ALC269_FIXUP_ASUS_N7601ZM] = {
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{0x20, AC_VERB_SET_COEF_INDEX, 0x62},
{0x20, AC_VERB_SET_PROC_COEF, 0xa007},
{0x20, AC_VERB_SET_COEF_INDEX, 0x10},
{0x20, AC_VERB_SET_PROC_COEF, 0x8420},
{0x20, AC_VERB_SET_COEF_INDEX, 0x0f},
{0x20, AC_VERB_SET_PROC_COEF, 0x7774},
{ }
},
.chained = true,
.chain_id = ALC269_FIXUP_ASUS_N7601ZM_PINS,
},
[ALC269_FIXUP_LENOVO_EAPD] = { [ALC269_FIXUP_LENOVO_EAPD] = {
.type = HDA_FIXUP_VERBS, .type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) { .v.verbs = (const struct hda_verb[]) {
...@@ -9466,6 +9491,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { ...@@ -9466,6 +9491,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1043, 0x12a3, "Asus N7691ZM", ALC269_FIXUP_ASUS_N7601ZM),
SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2), SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC),
SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment