* [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx
[not found] <20260705142535.186028-1-mail@callumwong.com>
@ 2026-07-05 14:27 ` Callum Wong
2026-07-14 16:22 ` Stefan Binding
2026-07-05 14:27 ` [PATCH 2/2] ALSA: hda/realtek: Enable mute LEDs on " Callum Wong
1 sibling, 1 reply; 3+ messages in thread
From: Callum Wong @ 2026-07-05 14:27 UTC (permalink / raw)
To: tiwai, perex
Cc: linux-sound, sbinding, patches, rf, david.rhodes, linux-kernel,
Callum Wong, stable
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@vger.kernel.org
Signed-off-by: Callum Wong <mail@callumwong.com>
---
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 },
--
2.54.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] ALSA: hda/realtek: Enable mute LEDs on HP OmniBook 7 Laptop 14-fr0xxx
[not found] <20260705142535.186028-1-mail@callumwong.com>
2026-07-05 14:27 ` [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx Callum Wong
@ 2026-07-05 14:27 ` Callum Wong
1 sibling, 0 replies; 3+ messages in thread
From: Callum Wong @ 2026-07-05 14:27 UTC (permalink / raw)
To: tiwai, perex
Cc: linux-sound, sbinding, patches, rf, david.rhodes, linux-kernel,
Callum Wong, stable
The HP OmniBook 7 Laptop 14-fr0xxx (SSID 103c:8e3b) is already handled by
ALC287_FIXUP_CS35L41_I2C_2, which binds its two CS35L41 amplifiers but
does not enable the keyboard mute LEDs. On this machine the F6
speaker-mute LED is driven via the ALC245 COEF register and the F9
mic-mute LED via a codec GPIO, the same as
ALC245_FIXUP_HP_X360_MUTE_LEDS.
Add a fixup that binds the amplifiers and chains that mute-LED path, and
point the 8e3b quirk at it, so both LEDs work in addition to the
speakers.
Fixes: 7150d57c370f ("ALSA: hda/realtek: Add support for HP Agusta using CS35L41 HDA")
Cc: stable@vger.kernel.org
Signed-off-by: Callum Wong <mail@callumwong.com>
---
sound/hda/codecs/realtek/alc269.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 9ce143598b66..ec82e665a3a5 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -4170,6 +4170,7 @@ enum {
ALC245_FIXUP_BASS_HP_DAC,
ALC245_FIXUP_ACER_MICMUTE_LED,
ALC245_FIXUP_CS35L41_I2C_2_MUTE_LED,
+ ALC245_FIXUP_HP_OMNIBOOK_7_14_FR0XXX,
ALC236_FIXUP_HP_DMIC,
ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO,
ALC245_FIXUP_HP_ENVY_X360_15_FH0XXX,
@@ -6745,6 +6746,12 @@ static const struct hda_fixup alc269_fixups[] = {
.chained = true,
.chain_id = ALC287_FIXUP_CS35L41_I2C_2,
},
+ [ALC245_FIXUP_HP_OMNIBOOK_7_14_FR0XXX] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = cs35l41_fixup_i2c_two,
+ .chained = true,
+ .chain_id = ALC245_FIXUP_HP_X360_MUTE_LEDS,
+ },
[ALC236_FIXUP_HP_DMIC] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
@@ -7318,7 +7325,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x8e36, "HP 14 Enstrom OmniBook X", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x103c, 0x8e37, "HP 16 Piston OmniBook X", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x103c, 0x8e3a, "HP Agusta", ALC287_FIXUP_CS35L41_I2C_2),
- SND_PCI_QUIRK(0x103c, 0x8e3b, "HP Agusta", ALC287_FIXUP_CS35L41_I2C_2),
+ SND_PCI_QUIRK(0x103c, 0x8e3b, "HP OmniBook 7 Laptop 14-fr0xxx", ALC245_FIXUP_HP_OMNIBOOK_7_14_FR0XXX),
SND_PCI_QUIRK(0x103c, 0x8e60, "HP OmniBook 7 Laptop 16-bh0xxx", ALC245_FIXUP_CS35L41_I2C_2_MUTE_LED),
SND_PCI_QUIRK(0x103c, 0x8e61, "HP Trekker ", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x103c, 0x8e62, "HP Trekker ", ALC287_FIXUP_CS35L41_I2C_2),
--
2.54.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx
2026-07-05 14:27 ` [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx Callum Wong
@ 2026-07-14 16:22 ` Stefan Binding
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Binding @ 2026-07-14 16:22 UTC (permalink / raw)
To: Callum Wong, tiwai, perex
Cc: linux-sound, patches, rf, david.rhodes, linux-kernel, stable
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@vger.kernel.org
> Signed-off-by: Callum Wong <mail@callumwong.com>
> ---
> 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 },
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-14 16:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20260705142535.186028-1-mail@callumwong.com>
2026-07-05 14:27 ` [PATCH 1/2] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 14-fr0xxx Callum Wong
2026-07-14 16:22 ` Stefan Binding
2026-07-05 14:27 ` [PATCH 2/2] ALSA: hda/realtek: Enable mute LEDs on " Callum Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®