Skip to content

Commit 724418b

Browse files
ruinekatiwai
authored andcommitted
ALSA: hda/realtek: Add quirks for ROG ALLY CS35l41 audio
This requires a patched ACPI table or a firmware from ASUS to work because the system does not come with the _DSD field for the CSC3551. Link: https://bugzilla.kernel.org/show_bug.cgi?id=217550 Signed-off-by: Matthew Anderson <ruinairas1992@gmail.com> Tested-by: Philip Mueller <philm@manjaro.org> Link: https://lore.kernel.org/r/20230621161714.9442-1-ruinairas1992@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 6b164ea commit 724418b

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

sound/pci/hda/patch_realtek.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7121,6 +7121,10 @@ enum {
71217121
ALC294_FIXUP_ASUS_DUAL_SPK,
71227122
ALC285_FIXUP_THINKPAD_X1_GEN7,
71237123
ALC285_FIXUP_THINKPAD_HEADSET_JACK,
7124+
ALC294_FIXUP_ASUS_ALLY,
7125+
ALC294_FIXUP_ASUS_ALLY_PINS,
7126+
ALC294_FIXUP_ASUS_ALLY_VERBS,
7127+
ALC294_FIXUP_ASUS_ALLY_SPEAKER,
71247128
ALC294_FIXUP_ASUS_HPE,
71257129
ALC294_FIXUP_ASUS_COEF_1B,
71267130
ALC294_FIXUP_ASUS_GX502_HP,
@@ -8417,6 +8421,47 @@ static const struct hda_fixup alc269_fixups[] = {
84178421
.chained = true,
84188422
.chain_id = ALC294_FIXUP_SPK2_TO_DAC1
84198423
},
8424+
[ALC294_FIXUP_ASUS_ALLY] = {
8425+
.type = HDA_FIXUP_FUNC,
8426+
.v.func = cs35l41_fixup_i2c_two,
8427+
.chained = true,
8428+
.chain_id = ALC294_FIXUP_ASUS_ALLY_PINS
8429+
},
8430+
[ALC294_FIXUP_ASUS_ALLY_PINS] = {
8431+
.type = HDA_FIXUP_PINS,
8432+
.v.pins = (const struct hda_pintbl[]) {
8433+
{ 0x19, 0x03a11050 },
8434+
{ 0x1a, 0x03a11c30 },
8435+
{ 0x21, 0x03211420 },
8436+
{ }
8437+
},
8438+
.chained = true,
8439+
.chain_id = ALC294_FIXUP_ASUS_ALLY_VERBS
8440+
},
8441+
[ALC294_FIXUP_ASUS_ALLY_VERBS] = {
8442+
.type = HDA_FIXUP_VERBS,
8443+
.v.verbs = (const struct hda_verb[]) {
8444+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x45 },
8445+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x5089 },
8446+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x46 },
8447+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0004 },
8448+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x47 },
8449+
{ 0x20, AC_VERB_SET_PROC_COEF, 0xa47a },
8450+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x49 },
8451+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0049},
8452+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x4a },
8453+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x201b },
8454+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x6b },
8455+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x4278},
8456+
{ }
8457+
},
8458+
.chained = true,
8459+
.chain_id = ALC294_FIXUP_ASUS_ALLY_SPEAKER
8460+
},
8461+
[ALC294_FIXUP_ASUS_ALLY_SPEAKER] = {
8462+
.type = HDA_FIXUP_FUNC,
8463+
.v.func = alc285_fixup_speaker2_to_dac1,
8464+
},
84208465
[ALC285_FIXUP_THINKPAD_X1_GEN7] = {
84218466
.type = HDA_FIXUP_FUNC,
84228467
.v.func = alc285_fixup_thinkpad_x1_gen7,
@@ -9510,6 +9555,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
95109555
SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC),
95119556
SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS),
95129557
SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK),
9558+
SND_PCI_QUIRK(0x1043, 0x17f3, "ROG Ally RC71L_RC71L", ALC294_FIXUP_ASUS_ALLY),
95139559
SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),
95149560
SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC),
95159561
SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC),

0 commit comments

Comments
 (0)