* [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
@ 2026-08-01 23:00 Gemayel Lira
2026-08-06 9:46 ` Takashi Iwai
0 siblings, 1 reply; 4+ messages in thread
From: Gemayel Lira @ 2026-08-01 23:00 UTC (permalink / raw)
To: alsa-devel; +Cc: sbinding, tiwai
[-- Attachment #1: Type: text/plain, Size: 703 bytes --]
The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
amplifiers, but was using the missing_speaker_id_gpio2 fallback entry.
This caused the right speaker channel to bind with VSPK voltage switch
disabled
(VSPK: 0), leading to a volume drop ~1 second after starting playback due to
power imbalance protection.
Add an explicit entry for 10431A63 in cs35l41_config_table with internal
boost
type, 4500mA peak current, and switch its model mapping to
generic_dsd_config.
This resolves the volume drop issue and enables proper internal boost for
both channels.
Pull Request on SOF Project:
https://github.com/thesofproject/linux/pull/5866
Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
[-- Attachment #2: 0001-ALSA-hda-cs35l41-Add-DSD-property-override-for-ASUS-UX3405CA.patch --]
[-- Type: text/x-patch, Size: 2483 bytes --]
From 10431A6300000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Gemayel Lira <gemayellira@gmail.com>
Date: Sat, 1 Aug 2026 19:15:00 -0300
Subject: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
amplifiers, but was using the `missing_speaker_id_gpio2` fallback entry.
This caused the right speaker channel to bind with VSPK voltage switch disabled
(VSPK: 0), leading to a volume drop ~1 second after starting playback due to
power imbalance protection.
Add an explicit entry for 10431A63 in cs35l41_config_table with internal boost
type, 4500mA peak current, and switch its model mapping to `generic_dsd_config`.
This resolves the volume drop issue and enables proper internal boost for both channels.
Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
---
sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
index 416d7bf..1cf12f8 100644
--- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
+++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
@@ -104,6 +104,7 @@ static const struct cs35l41_config cs35l41_config_table[] = {
{ "104317F3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
{ "10431863", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
{ "104318D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 },
+ { "10431A63", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, -1, 2, -1, 1000, 4500, 24 },
{ "10431A83", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
{ "10431B93", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
{ "10431C9F", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
@@ -530,7 +531,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
{ "CSC3551", "104317F3", generic_dsd_config },
{ "CSC3551", "10431863", generic_dsd_config },
{ "CSC3551", "104318D3", generic_dsd_config },
- { "CSC3551", "10431A63", missing_speaker_id_gpio2 },
+ { "CSC3551", "10431A63", generic_dsd_config },
{ "CSC3551", "10431A83", generic_dsd_config },
{ "CSC3551", "10431B93", generic_dsd_config },
{ "CSC3551", "10431C9F", generic_dsd_config },
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
2026-08-01 23:00 [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA Gemayel Lira
@ 2026-08-06 9:46 ` Takashi Iwai
2026-08-06 13:38 ` Stefan Binding (Opensource)
0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2026-08-06 9:46 UTC (permalink / raw)
To: sbinding; +Cc: Gemayel Lira, alsa-devel
On Sun, 02 Aug 2026 01:00:22 +0200,
Gemayel Lira wrote:
>
>
> The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> amplifiers, but was using the missing_speaker_id_gpio2 fallback entry.
> This caused the right speaker channel to bind with VSPK voltage switch
> disabled
> (VSPK: 0), leading to a volume drop ~1 second after starting playback due to
> power imbalance protection.
>
> Add an explicit entry for 10431A63 in cs35l41_config_table with internal boost
> type, 4500mA peak current, and switch its model mapping to generic_dsd_config.
> This resolves the volume drop issue and enables proper internal boost for both
> channels.
>
> Pull Request on SOF Project: https://github.com/thesofproject/linux/pull/5866
>
> Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
>
> From 10431A6300000000000000000000000000000000 Mon Sep 17 00:00:00 2001
> From: Gemayel Lira <gemayellira@gmail.com>
> Date: Sat, 1 Aug 2026 19:15:00 -0300
> Subject: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
>
> The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> amplifiers, but was using the `missing_speaker_id_gpio2` fallback entry.
> This caused the right speaker channel to bind with VSPK voltage switch disabled
> (VSPK: 0), leading to a volume drop ~1 second after starting playback due to
> power imbalance protection.
>
> Add an explicit entry for 10431A63 in cs35l41_config_table with internal boost
> type, 4500mA peak current, and switch its model mapping to `generic_dsd_config`.
> This resolves the volume drop issue and enables proper internal boost for both channels.
>
> Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
Stefan, is this also covered in your side?
Or shall we just take this?
BTW, Gemayel, at the next time, please submit to
linux-sound@vger.kernel.org. It's the place for kernel patches, while
alsa-devel ML is mostly for only user-space stuff.
thanks,
Takashi
> ---
> sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> index 416d7bf..1cf12f8 100644
> --- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> +++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> @@ -104,6 +104,7 @@ static const struct cs35l41_config cs35l41_config_table[] = {
> { "104317F3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
> { "10431863", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
> { "104318D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 },
> + { "10431A63", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, -1, 2, -1, 1000, 4500, 24 },
> { "10431A83", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
> { "10431B93", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
> { "10431C9F", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
> @@ -530,7 +531,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
> { "CSC3551", "104317F3", generic_dsd_config },
> { "CSC3551", "10431863", generic_dsd_config },
> { "CSC3551", "104318D3", generic_dsd_config },
> - { "CSC3551", "10431A63", missing_speaker_id_gpio2 },
> + { "CSC3551", "10431A63", generic_dsd_config },
> { "CSC3551", "10431A83", generic_dsd_config },
> { "CSC3551", "10431B93", generic_dsd_config },
> { "CSC3551", "10431C9F", generic_dsd_config },
> --
> 2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
2026-08-06 9:46 ` Takashi Iwai
@ 2026-08-06 13:38 ` Stefan Binding (Opensource)
2026-08-06 13:46 ` Takashi Iwai
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Binding (Opensource) @ 2026-08-06 13:38 UTC (permalink / raw)
To: 'Takashi Iwai'; +Cc: 'Gemayel Lira', alsa-devel
Hi Takashi,
Unfortunately, this does not look like an ACPI issue.
This laptop is an external boost laptop, but this patch is changing the
properties to redefine it as internal boost.
This could cause issues with the amplifiers.
It looks like speaker protection is kicking in after 1s, but I don't know
why.
I recommend the OP create a BugZilla so we can investigate this separately.
I also recommend we do not take this patch, as it might damage this laptop.
Thanks,
Stefan
> -----Original Message-----
> From: Takashi Iwai <tiwai@suse.de>
> Sent: Thursday, August 6, 2026 10:46 AM
> To: sbinding@opensource.cirrus.com
> Cc: Gemayel Lira <gemayellira@gmail.com>; alsa-devel@alsa-project.org
> Subject: Re: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS
> UX3405CA
>
> On Sun, 02 Aug 2026 01:00:22 +0200,
> Gemayel Lira wrote:
> >
> >
> > The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> > amplifiers, but was using the missing_speaker_id_gpio2 fallback entry.
> > This caused the right speaker channel to bind with VSPK voltage switch
> > disabled
> > (VSPK: 0), leading to a volume drop ~1 second after starting playback
> > due to power imbalance protection.
> >
> > Add an explicit entry for 10431A63 in cs35l41_config_table with
> > internal boost type, 4500mA peak current, and switch its model mapping
to
> generic_dsd_config.
> > This resolves the volume drop issue and enables proper internal boost
> > for both channels.
> >
> > Pull Request on SOF Project:
> > https://github.com/thesofproject/linux/pull/5866
> >
> > Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
> >
> > From 10431A6300000000000000000000000000000000 Mon Sep 17
> 00:00:00 2001
> > From: Gemayel Lira <gemayellira@gmail.com>
> > Date: Sat, 1 Aug 2026 19:15:00 -0300
> > Subject: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS
> > UX3405CA
> >
> > The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> > amplifiers, but was using the `missing_speaker_id_gpio2` fallback entry.
> > This caused the right speaker channel to bind with VSPK voltage switch
> > disabled
> > (VSPK: 0), leading to a volume drop ~1 second after starting playback
> > due to power imbalance protection.
> >
> > Add an explicit entry for 10431A63 in cs35l41_config_table with
> > internal boost type, 4500mA peak current, and switch its model mapping
to
> `generic_dsd_config`.
> > This resolves the volume drop issue and enables proper internal boost
for
> both channels.
> >
> > Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
>
> Stefan, is this also covered in your side?
> Or shall we just take this?
>
>
> BTW, Gemayel, at the next time, please submit to linux-
> sound@vger.kernel.org. It's the place for kernel patches, while
alsa-devel ML is
> mostly for only user-space stuff.
>
>
> thanks,
>
> Takashi
>
>
> > ---
> > sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > index 416d7bf..1cf12f8 100644
> > --- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > +++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > @@ -104,6 +104,7 @@ static const struct cs35l41_config
> cs35l41_config_table[] = {
> > { "104317F3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 0, 1, -1, 1000, 4500, 24 },
> > { "10431863", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 1, 2, 0, 1000, 4500, 24 },
> > { "104318D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 0,
> > 1, -1, 0, 0, 0 },
> > + { "10431A63", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > +-1, 2, -1, 1000, 4500, 24 },
> > { "10431A83", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 0, 1, -1, 1000, 4500, 24 },
> > { "10431B93", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 1, 2, 0, 1000, 4500, 24 },
> > { "10431C9F", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> 1,
> > 2, 0, 1000, 4500, 24 }, @@ -530,7 +531,7 @@ static const struct
> cs35l41_prop_model cs35l41_prop_model_table[] = {
> > { "CSC3551", "104317F3", generic_dsd_config },
> > { "CSC3551", "10431863", generic_dsd_config },
> > { "CSC3551", "104318D3", generic_dsd_config },
> > - { "CSC3551", "10431A63", missing_speaker_id_gpio2 },
> > + { "CSC3551", "10431A63", generic_dsd_config },
> > { "CSC3551", "10431A83", generic_dsd_config },
> > { "CSC3551", "10431B93", generic_dsd_config },
> > { "CSC3551", "10431C9F", generic_dsd_config },
> > --
> > 2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
2026-08-06 13:38 ` Stefan Binding (Opensource)
@ 2026-08-06 13:46 ` Takashi Iwai
0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2026-08-06 13:46 UTC (permalink / raw)
To: Stefan Binding (Opensource); +Cc: 'Gemayel Lira', alsa-devel
On Thu, 06 Aug 2026 15:38:39 +0200,
Stefan Binding (Opensource) wrote:
>
> Hi Takashi,
>
> Unfortunately, this does not look like an ACPI issue.
> This laptop is an external boost laptop, but this patch is changing the
> properties to redefine it as internal boost.
> This could cause issues with the amplifiers.
>
> It looks like speaker protection is kicking in after 1s, but I don't know
> why.
> I recommend the OP create a BugZilla so we can investigate this separately.
> I also recommend we do not take this patch, as it might damage this laptop.
OK, thanks for confirmation, it's an important information!
Takashi
>
> Thanks,
> Stefan
>
> > -----Original Message-----
> > From: Takashi Iwai <tiwai@suse.de>
> > Sent: Thursday, August 6, 2026 10:46 AM
> > To: sbinding@opensource.cirrus.com
> > Cc: Gemayel Lira <gemayellira@gmail.com>; alsa-devel@alsa-project.org
> > Subject: Re: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS
> > UX3405CA
> >
> > On Sun, 02 Aug 2026 01:00:22 +0200,
> > Gemayel Lira wrote:
> > >
> > >
> > > The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> > > amplifiers, but was using the missing_speaker_id_gpio2 fallback entry.
> > > This caused the right speaker channel to bind with VSPK voltage switch
> > > disabled
> > > (VSPK: 0), leading to a volume drop ~1 second after starting playback
> > > due to power imbalance protection.
> > >
> > > Add an explicit entry for 10431A63 in cs35l41_config_table with
> > > internal boost type, 4500mA peak current, and switch its model mapping
> to
> > generic_dsd_config.
> > > This resolves the volume drop issue and enables proper internal boost
> > > for both channels.
> > >
> > > Pull Request on SOF Project:
> > > https://github.com/thesofproject/linux/pull/5866
> > >
> > > Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
> > >
> > > From 10431A6300000000000000000000000000000000 Mon Sep 17
> > 00:00:00 2001
> > > From: Gemayel Lira <gemayellira@gmail.com>
> > > Date: Sat, 1 Aug 2026 19:15:00 -0300
> > > Subject: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS
> > > UX3405CA
> > >
> > > The ASUS Zenbook 14 UX3405CA (SSID 1043:1A63) has internal CS35L41
> > > amplifiers, but was using the `missing_speaker_id_gpio2` fallback entry.
> > > This caused the right speaker channel to bind with VSPK voltage switch
> > > disabled
> > > (VSPK: 0), leading to a volume drop ~1 second after starting playback
> > > due to power imbalance protection.
> > >
> > > Add an explicit entry for 10431A63 in cs35l41_config_table with
> > > internal boost type, 4500mA peak current, and switch its model mapping
> to
> > `generic_dsd_config`.
> > > This resolves the volume drop issue and enables proper internal boost
> for
> > both channels.
> > >
> > > Signed-off-by: Gemayel Lira <gemayellira@gmail.com>
> >
> > Stefan, is this also covered in your side?
> > Or shall we just take this?
> >
> >
> > BTW, Gemayel, at the next time, please submit to linux-
> > sound@vger.kernel.org. It's the place for kernel patches, while
> alsa-devel ML is
> > mostly for only user-space stuff.
> >
> >
> > thanks,
> >
> > Takashi
> >
> >
> > > ---
> > > sound/hda/codecs/side-codecs/cs35l41_hda_property.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > > b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > > index 416d7bf..1cf12f8 100644
> > > --- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > > +++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
> > > @@ -104,6 +104,7 @@ static const struct cs35l41_config
> > cs35l41_config_table[] = {
> > > { "104317F3", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 0, 1, -1, 1000, 4500, 24 },
> > > { "10431863", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 1, 2, 0, 1000, 4500, 24 },
> > > { "104318D3", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 0,
> > > 1, -1, 0, 0, 0 },
> > > + { "10431A63", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > > +-1, 2, -1, 1000, 4500, 24 },
> > > { "10431A83", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 0, 1, -1, 1000, 4500, 24 },
> > > { "10431B93", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 1, 2, 0, 1000, 4500, 24 },
> > > { "10431C9F", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 },
> > 1,
> > > 2, 0, 1000, 4500, 24 }, @@ -530,7 +531,7 @@ static const struct
> > cs35l41_prop_model cs35l41_prop_model_table[] = {
> > > { "CSC3551", "104317F3", generic_dsd_config },
> > > { "CSC3551", "10431863", generic_dsd_config },
> > > { "CSC3551", "104318D3", generic_dsd_config },
> > > - { "CSC3551", "10431A63", missing_speaker_id_gpio2 },
> > > + { "CSC3551", "10431A63", generic_dsd_config },
> > > { "CSC3551", "10431A83", generic_dsd_config },
> > > { "CSC3551", "10431B93", generic_dsd_config },
> > > { "CSC3551", "10431C9F", generic_dsd_config },
> > > --
> > > 2.43.0
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-08-06 13:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-01 23:00 [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA Gemayel Lira
2026-08-06 9:46 ` Takashi Iwai
2026-08-06 13:38 ` Stefan Binding (Opensource)
2026-08-06 13:46 ` Takashi Iwai
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.