Re: [PATCH] ALSA: hda/cs35l41: Add DSD property override for ASUS UX3405CA
Takashi Iwai <[email protected]>
| Newsgroups | org.alsa-project.alsa-devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> > > From 10431A6300000000000000000000000000000000 Mon Sep 17 00:00:00 2001 > From: Gemayel Lira <[email protected]> > 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 <[email protected]> Stefan, is this also covered in your side? Or shall we just take this? BTW, Gemayel, at the next time, please submit to [email protected]. 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