Re: [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx

From: Stefan Binding

Date: Tue Jul 14 2026 - 12:23:34 EST


Hi,

I believe the _DSD for this laptop is very wrong, and the settings used here are not correct.

Unfortunately, it looks like several laptops have a similar issue, though we don't know exactly which ones.

Since this affects several laptops in a similar way, we will likely make a patch to support all of these laptops all at once, ensuring we use the correct settings.

Thanks,

Stefan

On 05/07/2026 15:27, Callum Wong wrote:
> The HP OmniBook 7 Laptop 14-fr0xxx (SSID 103C8E3B) has two CS35L41
> amplifiers connected over I2C. The firmware provides a _DSD, but as with
> the other HP laptops already handled by this driver the properties are
> not exposed to the generic ACPI path, so the amplifiers fail to probe
> with "Platform not supported" and the speakers only play at a much lower
> volume. Provide the configuration through cs35l41_hda_property.c
> instead, so the amplifiers probe and drive the speakers at full volume.
>
> The values are taken from the machine's _DSD. There are two amplifiers
> using internal boost (1000 nH, 4500 mA, 24 uF) with the speakers wired
> right/left, the reset line at _CRS GPIO index 0 and the speaker-id line
> at index 1.
>
> Fixes: 7150d57c370f ("ALSA: hda/realtek: Add support for HP Agusta using CS35L41 HDA")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Callum Wong <mail@xxxxxxxxxxxxxx>
> ---
> sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> index 416d7bf3e289..1d2a83b47cde 100644
> --- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> +++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> @@ -85,6 +85,7 @@ static const struct cs35l41_config cs35l41_config_table[] = {
> { "103C8C51", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
> { "103C8CDD", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
> { "103C8CDE", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 3900, 24 },
> + { "103C8E3B", 2, INTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
> { "104312AF", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
> { "10431433", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
> { "10431463", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
> @@ -511,6 +512,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
> { "CSC3551", "103C8C6A", hp_i2c_int_2amp_dual_spkid },
> { "CSC3551", "103C8CDD", generic_dsd_config },
> { "CSC3551", "103C8CDE", generic_dsd_config },
> + { "CSC3551", "103C8E3B", generic_dsd_config },
> { "CSC3551", "104312AF", generic_dsd_config },
> { "CSC3551", "10431433", generic_dsd_config },
> { "CSC3551", "10431463", generic_dsd_config },