public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda: cs35l41: Fix boost type for HP Dragonfly 13.5    inch G4
@ 2026-03-27 22:25 Leonard Lausen
  2026-03-30 16:25 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Leonard Lausen @ 2026-03-27 22:25 UTC (permalink / raw)
  To: sbinding, david.rhodes, rf, perex, tiwai
  Cc: linux-sound, patches, linux-kernel, me

The HP Dragonfly 13.5 inch G4 (SSID 103C8B63) has _DSD properties in
ACPI firmware with valid reset-gpios and cs-gpios for the four CS35L41
amplifiers on SPI.

However, the _DSD specifies cirrus,boost-type as Internal (0), while
the hardware requires External Boost. With Internal Boost configured,
the amplifiers trigger "Amp short error" when audio is played at
moderate-to-high volume, eventually shutting down entirely.

Add a configuration table entry to override the boost type to
External, similar to the existing workaround for 103C89C6. All GPIO
indices are set to -1 since the _DSD provides valid reset-gpios and
cs-gpios.

Confirmed on BIOS V90 01.11.00 (January 2026), the latest available.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=219520
Originally-by: Nicholas Wang <me@nicho1as.wang>
Signed-off-by: Leonard Lausen <leonard@lausen.nl>
---
This is a reworked version of Nicholas Wang's patch from Nov 2024 [1].
Stefan Binding noted that this laptop should have valid _DSD.

Analysis of the ACPI DSDT confirms the _DSD exists with valid
reset-gpios, cs-gpios, and cirrus,speaker-position. However,
cirrus,boost-type is set to 0 (Internal) while the hardware requires
External Boost. The cs35l41_hda_parse_acpi() fallback also gets this
wrong since it infers Internal from the non-zero boost parameters.

With Internal Boost, all four amps hit "Amp short error" at
moderate volume. Overriding to External Boost (like 103C89C6)
resolves the issue. GPIO indices are set to -1 since the _DSD
provides valid reset-gpios and cs-gpios, addressing Stefan's
concern about cs_gpio_index.

Tested on BIOS V90 01.11.00 (Jan 2026, latest available from HP).

[1] https://lore.kernel.org/linux-sound/20241122044435.28061-1-me@nicho1as.wang/

 sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
index 16d5ea77192f..732ae534db36 100644
--- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
+++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
@@ -55,6 +55,11 @@ static const struct cs35l41_config cs35l41_config_table[] = {
 	{ "103C8A30", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8A31", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8A6E", 4, EXTERNAL, { CS35L41_LEFT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_RIGHT }, 0, -1, -1, 0, 0, 0 },
+/*
+ * Device 103C8B63 has _DSD with valid reset-gpios and cs-gpios, however the
+ * boost type is incorrectly set to Internal. Override to External Boost.
+ */
+	{ "103C8B63", 4, EXTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_LEFT }, -1, -1, -1, 0, 0, 0 },
 	{ "103C8BB3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8BB4", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8BDD", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
@@ -475,6 +480,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
 	{ "CSC3551", "103C8A30", generic_dsd_config },
 	{ "CSC3551", "103C8A31", generic_dsd_config },
 	{ "CSC3551", "103C8A6E", generic_dsd_config },
+	{ "CSC3551", "103C8B63", generic_dsd_config },
 	{ "CSC3551", "103C8BB3", generic_dsd_config },
 	{ "CSC3551", "103C8BB4", generic_dsd_config },
 	{ "CSC3551", "103C8BDD", generic_dsd_config },
-- 
2.43.0

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

* Re: [PATCH] ALSA: hda: cs35l41: Fix boost type for HP Dragonfly 13.5    inch G4
  2026-03-27 22:25 [PATCH] ALSA: hda: cs35l41: Fix boost type for HP Dragonfly 13.5 inch G4 Leonard Lausen
@ 2026-03-30 16:25 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-03-30 16:25 UTC (permalink / raw)
  To: Leonard Lausen
  Cc: sbinding, david.rhodes, rf, perex, tiwai, linux-sound, patches,
	linux-kernel, me

On Fri, 27 Mar 2026 23:25:15 +0100,
Leonard Lausen wrote:
> 
> The HP Dragonfly 13.5 inch G4 (SSID 103C8B63) has _DSD properties in
> ACPI firmware with valid reset-gpios and cs-gpios for the four CS35L41
> amplifiers on SPI.
> 
> However, the _DSD specifies cirrus,boost-type as Internal (0), while
> the hardware requires External Boost. With Internal Boost configured,
> the amplifiers trigger "Amp short error" when audio is played at
> moderate-to-high volume, eventually shutting down entirely.
> 
> Add a configuration table entry to override the boost type to
> External, similar to the existing workaround for 103C89C6. All GPIO
> indices are set to -1 since the _DSD provides valid reset-gpios and
> cs-gpios.
> 
> Confirmed on BIOS V90 01.11.00 (January 2026), the latest available.
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=219520
> Originally-by: Nicholas Wang <me@nicho1as.wang>
> Signed-off-by: Leonard Lausen <leonard@lausen.nl>
> ---
> This is a reworked version of Nicholas Wang's patch from Nov 2024 [1].
> Stefan Binding noted that this laptop should have valid _DSD.
> 
> Analysis of the ACPI DSDT confirms the _DSD exists with valid
> reset-gpios, cs-gpios, and cirrus,speaker-position. However,
> cirrus,boost-type is set to 0 (Internal) while the hardware requires
> External Boost. The cs35l41_hda_parse_acpi() fallback also gets this
> wrong since it infers Internal from the non-zero boost parameters.
> 
> With Internal Boost, all four amps hit "Amp short error" at
> moderate volume. Overriding to External Boost (like 103C89C6)
> resolves the issue. GPIO indices are set to -1 since the _DSD
> provides valid reset-gpios and cs-gpios, addressing Stefan's
> concern about cs_gpio_index.
> 
> Tested on BIOS V90 01.11.00 (Jan 2026, latest available from HP).

Applied to for-next branch now.


thanks,

Takashi

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

end of thread, other threads:[~2026-03-30 16:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-27 22:25 [PATCH] ALSA: hda: cs35l41: Fix boost type for HP Dragonfly 13.5 inch G4 Leonard Lausen
2026-03-30 16:25 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox