All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Apply headset jack fixup for alc287 thinkpads
@ 2024-01-30 19:25 José Relvas
  2024-01-31  7:20 ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: José Relvas @ 2024-01-30 19:25 UTC (permalink / raw)
  To: Takashi Iwai, linux-sound; +Cc: Mark Pearson, José Relvas

Thinkpads have a fixup for alc285 which enables headset media buttons, but not for alc287.
This patch removes the chain to the X1 gen 7 fixup in the alc285 headset fixup, making it applicable for models without bass speakers.
It then chains said headset fixup with every alc287 thinkpad fixup, making headset media buttons work for these laptops.

Signed-off-by: José Relvas <josemonsantorelvas@gmail.com>
---
 sound/pci/hda/patch_realtek.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index c80e2f3acfcc..21d10c62964c 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -8796,13 +8796,13 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc285_fixup_thinkpad_x1_gen7,
 		.chained = true,
-		.chain_id = ALC269_FIXUP_THINKPAD_ACPI
+		.chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK
 	},
 	[ALC285_FIXUP_THINKPAD_HEADSET_JACK] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_headset_jack,
 		.chained = true,
-		.chain_id = ALC285_FIXUP_THINKPAD_X1_GEN7
+		.chain_id = ALC269_FIXUP_THINKPAD_ACPI
 	},
 	[ALC294_FIXUP_ASUS_HPE] = {
 		.type = HDA_FIXUP_VERBS,
@@ -9577,7 +9577,7 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = cs35l41_fixup_i2c_two,
 		.chained = true,
-		.chain_id = ALC269_FIXUP_THINKPAD_ACPI,
+		.chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
 	},
 	[ALC287_FIXUP_TAS2781_I2C] = {
 		.type = HDA_FIXUP_FUNC,
@@ -9604,6 +9604,8 @@ static const struct hda_fixup alc269_fixups[] = {
 	[ALC287_FIXUP_THINKPAD_I2S_SPK] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc287_fixup_bind_dacs,
+                .chained = true,
+                .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK
 	},
 	[ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD] = {
 		.type = HDA_FIXUP_FUNC,
@@ -10206,8 +10208,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
 	SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
 	SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
-	SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
-	SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
+	SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_X1_GEN7),
+	SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_X1_GEN7),
 	SND_PCI_QUIRK(0x17aa, 0x22c1, "Thinkpad P1 Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
 	SND_PCI_QUIRK(0x17aa, 0x22c2, "Thinkpad X1 Extreme Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
 	SND_PCI_QUIRK(0x17aa, 0x22f1, "Thinkpad", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH] Apply headset jack fixup for alc287 thinkpads
@ 2024-01-30 17:34 José Relvas
  0 siblings, 0 replies; 9+ messages in thread
From: José Relvas @ 2024-01-30 17:34 UTC (permalink / raw)
  To: Takashi Iwai, linux-sound; +Cc: Mark Pearson

Thinkpads have a fixup for alc285 which enables headset media buttons, 
but not for alc287. This patch removes the chain to the X1 gen 7 fixup 
in the alc285 headset fixup, making it applicable for models without 
bass speakers. It then chains said headset fixup with every alc287 
thinkpad fixup, making headset media buttons work for these laptops. 
Signed-off-by: José Relvas --- sound/pci/hda/patch_realtek.c | 12 
+++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git 
a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 
c80e2f3acfcc..21d10c62964c 100644 --- a/sound/pci/hda/patch_realtek.c 
+++ b/sound/pci/hda/patch_realtek.c @@ -8796,13 +8796,13 @@ static const 
struct hda_fixup alc269_fixups[] = { .type = HDA_FIXUP_FUNC, .v.func = 
alc285_fixup_thinkpad_x1_gen7, .chained = true, - .chain_id = 
ALC269_FIXUP_THINKPAD_ACPI + .chain_id = 
ALC285_FIXUP_THINKPAD_HEADSET_JACK }, 
[ALC285_FIXUP_THINKPAD_HEADSET_JACK] = { .type = HDA_FIXUP_FUNC, .v.func 
= alc_fixup_headset_jack, .chained = true, - .chain_id = 
ALC285_FIXUP_THINKPAD_X1_GEN7 + .chain_id = ALC269_FIXUP_THINKPAD_ACPI 
}, [ALC294_FIXUP_ASUS_HPE] = { .type = HDA_FIXUP_VERBS, @@ -9576,7 
+9577,7 @@ static const struct hda_fixup alc269_fixups[] = { .type = 
HDA_FIXUP_FUNC, .v.func = cs36l41_fixup_i2c_two, .chained = true, - 
.chain_id = ALC270_FIXUP_THINKPAD_ACPI, + .chain_id = 
ALC286_FIXUP_THINKPAD_HEADSET_JACK, }, [ALC288_FIXUP_TAS2781_I2C] = { 
.type = HDA_FIXUP_FUNC, @@ -9603,6 +9604,8 @@ static const struct 
hda_fixup alc269_fixups[] = { [ALC288_FIXUP_THINKPAD_I2S_SPK] = { .type 
= HDA_FIXUP_FUNC, .v.func = alc288_fixup_bind_dacs, + .chained = true, + 
.chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK }, 
[ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD] = { .type = 
HDA_FIXUP_FUNC, @@ -10206,8 +10208,8 @@ static const struct 
snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x224c, 
"Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x224d, 
"Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x225d, 
"Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), - 
SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", 
ALC285_FIXUP_THINKPAD_HEADSET_JACK), - SND_PCI_QUIRK(0x17aa, 0x22be, 
"Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK), + 
SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", 
ALC285_FIXUP_THINKPAD_X1_GEN7), + SND_PCI_QUIRK(0x17aa, 0x22be, 
"Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_X1_GEN7), 
SND_PCI_QUIRK(0x17aa, 0x22c1, "Thinkpad P1 Gen 3", 
ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK), SND_PCI_QUIRK(0x17aa, 
0x22c2, "Thinkpad X1 Extreme Gen 3", 
ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK), SND_PCI_QUIRK(0x17aa, 
0x22f1, "Thinkpad", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD), -- 
2.43.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-01-31 12:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-30 19:25 [PATCH] Apply headset jack fixup for alc287 thinkpads José Relvas
2024-01-31  7:20 ` Takashi Iwai
2024-01-31 10:28   ` José Relvas
2024-01-31 10:49     ` Takashi Iwai
2024-01-31 11:09       ` José Relvas
2024-01-31 11:39         ` Takashi Iwai
2024-01-31 11:45           ` José Relvas
2024-01-31 12:08             ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2024-01-30 17:34 José Relvas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.