* [PATCH] ALSA: hda: cs35l41: Fix Speakers on HP OmniBook 7 16-bh0xxx
@ 2026-07-16 10:17 Yufan
2026-07-16 10:29 ` Takashi Iwai
[not found] ` <87h6e8fk7n.wl-tiwai@suse.de>
0 siblings, 2 replies; 3+ messages in thread
From: Yufan @ 2026-07-16 10:17 UTC (permalink / raw)
To: linux-sound, tiwai
Cc: david.rhodes, rf, perex, patches, linux-kernel, Yufan Kuang
From: Yufan Kuang <kuangfan955@gmail.com>
The HP OmniBook 7 Laptop 16-bh0xxx (SSID 103C8E60) has two CS35L41
amplifiers connected via I2C with internal boost, but its _DSD
provides cirrus,dev-index as a Package while the driver expects
per-device scalar values, causing the probe to fail with -EINVAL,
leaving only the left speaker working.
Add the SSID to the configuration and prop-model override tables.
Tested on a HP OmniBook 7 Laptop 16-bh0xxx (BIOS F.12) with
CachyOS 7.1.3-2; speaker-test confirms both channels work correctly.
Signed-off-by: Yufan Kuang <kuangfan955@gmail.com>
Assisted-by: Copilot:DeepSeek-V4-Pro
---
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..e14a87336478 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 },
+ { "103C8E60", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 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", "103C8E60", generic_dsd_config },
{ "CSC3551", "104312AF", generic_dsd_config },
{ "CSC3551", "10431433", generic_dsd_config },
{ "CSC3551", "10431463", generic_dsd_config },
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ALSA: hda: cs35l41: Fix Speakers on HP OmniBook 7 16-bh0xxx
2026-07-16 10:17 [PATCH] ALSA: hda: cs35l41: Fix Speakers on HP OmniBook 7 16-bh0xxx Yufan
@ 2026-07-16 10:29 ` Takashi Iwai
[not found] ` <87h6e8fk7n.wl-tiwai@suse.de>
1 sibling, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2026-07-16 10:29 UTC (permalink / raw)
To: Yufan
Cc: sbinding, linux-sound, tiwai, david.rhodes, rf, perex, patches,
linux-kernel
On Thu, 16 Jul 2026 12:17:08 +0200,
Yufan wrote:
>
> From: Yufan Kuang <kuangfan955@gmail.com>
>
> The HP OmniBook 7 Laptop 16-bh0xxx (SSID 103C8E60) has two CS35L41
> amplifiers connected via I2C with internal boost, but its _DSD
> provides cirrus,dev-index as a Package while the driver expects
> per-device scalar values, causing the probe to fail with -EINVAL,
> leaving only the left speaker working.
>
> Add the SSID to the configuration and prop-model override tables.
>
> Tested on a HP OmniBook 7 Laptop 16-bh0xxx (BIOS F.12) with
> CachyOS 7.1.3-2; speaker-test confirms both channels work correctly.
>
> Signed-off-by: Yufan Kuang <kuangfan955@gmail.com>
> Assisted-by: Copilot:DeepSeek-V4-Pro
The very same change has been already submitted (maybe multiple
times), e.g.
https://lore.kernel.org/20260709214414.8461-1-skbotnl@disroot.org
The problem is known, and it's basically an issue of the firmware.
But obviously we need to address *something* in the driver side.
Cirrus people -- do you have ideas to fix those HP laptops?
If it's not feasible in a short term, maybe it'd be better to take
those quirk additions; although they aren't 100% correct, but they do
work somehow in a certain level.
thanks,
Takashi
> ---
> 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..e14a87336478 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 },
> + { "103C8E60", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 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", "103C8E60", generic_dsd_config },
> { "CSC3551", "104312AF", generic_dsd_config },
> { "CSC3551", "10431433", generic_dsd_config },
> { "CSC3551", "10431463", generic_dsd_config },
> --
> 2.55.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ALSA: hda: cs35l41: Fix Speakers on HP OmniBook 7 16-bh0xxx
[not found] ` <87h6e8fk7n.wl-tiwai@suse.de>
@ 2026-07-16 11:33 ` Yufan
0 siblings, 0 replies; 3+ messages in thread
From: Yufan @ 2026-07-16 11:33 UTC (permalink / raw)
To: linux-sound, tiwai
Cc: david.rhodes, rf, perex, patches, linux-kernel, Yufan Kuang
From: Yufan Kuang <kuangfan955@gmail.com>
Hi Takashi and all,
Thank you for the review. I missed Sven's earlier submission — I only
searched the source tree and commit history for the SSID, not the
mailing list.
Since his v2 patch is identical and predates mine, please drop my
submission.
I have tested the identical quirk on my HP OmniBook 7 (BIOS F.12)
and both speakers work correctly. If it helps, you can add:
Tested-by: Yufan Kuang <kuangfan955@gmail.com>
to Sven's patch.
Thanks,
Yufan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-16 11:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-16 10:17 [PATCH] ALSA: hda: cs35l41: Fix Speakers on HP OmniBook 7 16-bh0xxx Yufan
2026-07-16 10:29 ` Takashi Iwai
[not found] ` <87h6e8fk7n.wl-tiwai@suse.de>
2026-07-16 11:33 ` Yufan
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.