[PATCH] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 16-bh0xxx

Sven Jans posted 1 patch 1 week ago
sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 16-bh0xxx
Posted by Sven Jans 1 week ago
The laptop has _DSD but the cirrus,dev-index property fails to
parse, so it needs to be supported using the configuration table.

Signed-off-by: Sven Jans <skbotnl@disroot.org>
---
 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 732ae534db36..a972da0ae4e1 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 },
@@ -510,6 +511,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.54.0
Re: [PATCH] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 16-bh0xxx
Posted by Stefan Binding 6 days, 2 hours ago
Hi,

On 06/05/2026 19:17, Sven Jans wrote:
> The laptop has _DSD but the cirrus,dev-index property fails to
> parse, so it needs to be supported using the configuration table.

This is quite odd. As far as I am aware, this laptop should have valid _DSD.

I don't think some of the values in the table are correct either.

Please create a bugzilla ticket at the below address and CC Cirrus Patches (patches@opensource.cirrus.com <mailto:patches@opensource.cirrus.com>) to it, we will investigate the issue as soon as we can.

https://bugzilla.kernel.org/ <https://bugzilla.kernel.org/>

Please attach an acpi dump and dmesg to the ticket.

Thanks,

Stefan

> Signed-off-by: Sven Jans <skbotnl@disroot.org>
> ---
>  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 732ae534db36..a972da0ae4e1 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 },
> @@ -510,6 +511,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 },
Re: [PATCH] ALSA: hda: cs35l41: Support HP OmniBook 7 Laptop 16-bh0xxx
Posted by SKBotNL 6 days, 1 hour ago
Hello,
I have created a bugzilla ticket.

I do think most values are correct with the ACPI dump I looked at, the 
only one that could be incorrect is the boost type, but I haven't had 
any issues while playing audio using INTERNAL, even at max volume.

Regards,
Sven

On 07/05/2026 18:28, Stefan Binding wrote:
> Hi,
> 
> On 06/05/2026 19:17, Sven Jans wrote:
>> The laptop has _DSD but the cirrus,dev-index property fails to
>> parse, so it needs to be supported using the configuration table.
> 
> This is quite odd. As far as I am aware, this laptop should have valid _DSD.
> 
> I don't think some of the values in the table are correct either.
> 
> Please create a bugzilla ticket at the below address and CC Cirrus Patches (patches@opensource.cirrus.com <mailto:patches@opensource.cirrus.com>) to it, we will investigate the issue as soon as we can.
> 
> https://bugzilla.kernel.org/ <https://bugzilla.kernel.org/>
> 
> Please attach an acpi dump and dmesg to the ticket.
> 
> Thanks,
> 
> Stefan
> 
>> Signed-off-by: Sven Jans <skbotnl@disroot.org>
>> ---
>>   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 732ae534db36..a972da0ae4e1 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 },
>> @@ -510,6 +511,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 },