* [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
* 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
* [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
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®