diff mbox series

ALSA: hda: cs35l41: Support HP Elite Dragonfly 13.5 inch G4

Message ID 20241122044435.28061-1-me@nicho1as.wang (mailing list archive)
State New
Headers show
Series ALSA: hda: cs35l41: Support HP Elite Dragonfly 13.5 inch G4 | expand

Commit Message

Nicholas Wang Nov. 22, 2024, 4:44 a.m. UTC
This laptop needs to be supported via the configuration table.

Signed-off-by: Nicholas Wang <me@nicho1as.wang>
---
 sound/pci/hda/cs35l41_hda_property.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Stefan Binding Nov. 22, 2024, 10:59 a.m. UTC | #1
Hi,

This laptop should have valid _DSD, which would mean that it shouldn’t need to be added into the configuration table.
I can see the cs_gpio_index field set to -1 in this patch, which should only be valid for this laptop if there is valid cs-gpios _DSD in the ACPI.
Did the laptop have some kind of issue which prompted this patch?
Is there a BugZilla for this issue?
Can you send me a dmesg log of this issue so I can investigate?
Can you also send an acpidump of your laptop?

Thanks,

Stefan

On 22/11/2024 04:44, Nicholas Wang wrote:
> This laptop needs to be supported via the configuration table.
>
> Signed-off-by: Nicholas Wang <me@nicho1as.wang>
> ---
>  sound/pci/hda/cs35l41_hda_property.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
> index 61d231483..c97b8f808 100644
> --- a/sound/pci/hda/cs35l41_hda_property.c
> +++ b/sound/pci/hda/cs35l41_hda_property.c
> @@ -52,6 +52,7 @@ static const struct cs35l41_config cs35l41_config_table[] = {
>  	{ "103C8A30", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
>  	{ "103C8A31", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
>  	{ "103C8A6E", 4, EXTERNAL, { CS35L41_LEFT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_RIGHT }, 0, -1, -1, 0, 0, 0 },
> +	{ "103C8B63", 4, EXTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_LEFT }, 0, -1, -1, 0, 0, 0 },
>  	{ "103C8BB3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
>  	{ "103C8BB4", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
>  	{ "103C8BDD", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
> @@ -467,6 +468,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
>  	{ "CSC3551", "103C8A30", generic_dsd_config },
>  	{ "CSC3551", "103C8A31", generic_dsd_config },
>  	{ "CSC3551", "103C8A6E", generic_dsd_config },
> +	{ "CSC3551", "103C8B63", generic_dsd_config },
>  	{ "CSC3551", "103C8BB3", generic_dsd_config },
>  	{ "CSC3551", "103C8BB4", generic_dsd_config },
>  	{ "CSC3551", "103C8BDD", generic_dsd_config },
Nicholas Wang Nov. 22, 2024, 1:27 p.m. UTC | #2
Hi Stefan,

Thanks for your timely reply. Unfortunately, I'm not entirely sure about whether
it has a valid _DSD and yes the patch is prompted as this laptop has crackling
sound whenever the volume reaches around 30% and easily triggering "Amp short error"
whenever it's around 50%, while the volume sound weak at the same time. I believe
multiple users across different distros are having the issue, but I didn't find
a corresponding BugZilla report. I wasn't entirely sure on the entries I added,
however it is verified to be working on my machine and one other from Arch Linux
forum. I created https://bugzilla.kernel.org/show_bug.cgi?id=219520 and had my
dmesg and acpidump attached there.

Also these are my very first patch/emails on the LKML, so please let me know if
I did anything wrong.

Regards,

--
Nicholas Wang
diff mbox series

Patch

diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
index 61d231483..c97b8f808 100644
--- a/sound/pci/hda/cs35l41_hda_property.c
+++ b/sound/pci/hda/cs35l41_hda_property.c
@@ -52,6 +52,7 @@  static const struct cs35l41_config cs35l41_config_table[] = {
 	{ "103C8A30", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8A31", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8A6E", 4, EXTERNAL, { CS35L41_LEFT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_RIGHT }, 0, -1, -1, 0, 0, 0 },
+	{ "103C8B63", 4, EXTERNAL, { CS35L41_RIGHT, CS35L41_LEFT, CS35L41_RIGHT, CS35L41_LEFT }, 0, -1, -1, 0, 0, 0 },
 	{ "103C8BB3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8BB4", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
 	{ "103C8BDD", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4100, 24 },
@@ -467,6 +468,7 @@  static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
 	{ "CSC3551", "103C8A30", generic_dsd_config },
 	{ "CSC3551", "103C8A31", generic_dsd_config },
 	{ "CSC3551", "103C8A6E", generic_dsd_config },
+	{ "CSC3551", "103C8B63", generic_dsd_config },
 	{ "CSC3551", "103C8BB3", generic_dsd_config },
 	{ "CSC3551", "103C8BB4", generic_dsd_config },
 	{ "CSC3551", "103C8BDD", generic_dsd_config },