All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ALSA: hda/realtek: Add quirk for the Framework Laptop
@ 2022-05-11  1:07 Dustin L. Howett
  2022-05-11  6:18 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Dustin L. Howett @ 2022-05-11  1:07 UTC (permalink / raw)
  To: alsa-devel; +Cc: Dustin L. Howett

Some board revisions of the Framework Laptop have an ALC295 with a
disconnected or faulty headset mic presence detect.

The "dell-headset-multi" fixup addresses this issue, but also enables an
inoperative "Headphone Mic" input device whenever a headset is
connected.

Adding a new quirk chain specific to the Framework Laptop resolves this
issue. The one introduced here is based on the System76 "no headphone
mic" quirk chain.

The VID:PID f111:0001 have been allocated to Framework Computer for this
board revision.

Revision history:
- v2: Moved to a custom quirk chain to suppress the "Headphone Mic"
  pincfg.

Signed-off-by: Dustin L. Howett <dustin@howett.net>
---
 sound/pci/hda/patch_realtek.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4c0c593f3c0a..e00e6d2038a1 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7012,6 +7012,7 @@ enum {
 	ALC245_FIXUP_CS35L41_SPI_4,
 	ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED,
 	ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED,
+	ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -8806,6 +8807,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC285_FIXUP_HP_MUTE_LED,
 	},
+	[ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x19, 0x02a1112c }, /* use as headset mic, without its own jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -9294,6 +9304,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
 	SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
 	SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),
+	SND_PCI_QUIRK(0xf111, 0x0001, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
 
 #if 0
 	/* Below is a quirk table taken from the old code.
-- 
2.36.0


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

* Re: [PATCH v2] ALSA: hda/realtek: Add quirk for the Framework Laptop
  2022-05-11  1:07 [PATCH v2] ALSA: hda/realtek: Add quirk for the Framework Laptop Dustin L. Howett
@ 2022-05-11  6:18 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2022-05-11  6:18 UTC (permalink / raw)
  To: Dustin L. Howett; +Cc: alsa-devel

On Wed, 11 May 2022 03:07:59 +0200,
Dustin L. Howett wrote:
> 
> Some board revisions of the Framework Laptop have an ALC295 with a
> disconnected or faulty headset mic presence detect.
> 
> The "dell-headset-multi" fixup addresses this issue, but also enables an
> inoperative "Headphone Mic" input device whenever a headset is
> connected.
> 
> Adding a new quirk chain specific to the Framework Laptop resolves this
> issue. The one introduced here is based on the System76 "no headphone
> mic" quirk chain.
> 
> The VID:PID f111:0001 have been allocated to Framework Computer for this
> board revision.
> 
> Revision history:
> - v2: Moved to a custom quirk chain to suppress the "Headphone Mic"
>   pincfg.
> 
> Signed-off-by: Dustin L. Howett <dustin@howett.net>

Thanks, applied now.


Takashi

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

end of thread, other threads:[~2022-05-11  6:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-11  1:07 [PATCH v2] ALSA: hda/realtek: Add quirk for the Framework Laptop Dustin L. Howett
2022-05-11  6:18 ` Takashi Iwai

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.