All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.