summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Heng <zhangheng@kylinos.cn>2026-10-16 21:02:19 +0800
committerTakashi Iwai <tiwai@suse.de>2026-10-16 16:19:18 +0200
commit85ef6509bfc1eb41743ea333bf6854b2eed2f9be (patch)
treedd2d37776c8d9e4f97405028aa030d5a329290d4
parente72cc359a603d57ff3dd257404c551cb473f968e (diff)
downloadlinux-next-85ef6509bfc1eb41743ea333bf6854b2eed2f9be.tar.gz
linux-next-85ef6509bfc1eb41743ea333bf6854b2eed2f9be.zip
ALSA: hda: cs35l41: Add support for HP OmniBook 7 14-hg0xxx
The HP OmniBook 7 14-hg0xxx (SSID 103C8F07) uses two CS35L41 amplifiers connected via I2C. The left speaker works, but the right speaker is silent because the cs35l41-hda driver fails to probe with -EINVAL: cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Failed property cirrus,dev-index: -22 cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: error -EINVAL: Platform not supported cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: probe with driver cs35l41-hda failed with error -22 Add the missing SSID entry to the CS35L41 configuration and property tables, using the generic DSD configuration and the same parameters as other HP laptops (e.g. 103C8CDE). This allows both amplifiers to probe and restores the right speaker. Tested on HP OmniBook 7 14-hg0xxx (SSID 103C8F07). Closes: https://bugzilla.kernel.org/show_bug.cgi?id=222124 Signed-off-by: Zhang Heng <zhangheng@kylinos.cn> Link: https://patch.msgid.link/20261016130219.690074-1-zhangheng@kylinos.cn Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/hda/codecs/side-codecs/cs35l41_hda_property.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
index 5c390ffbe74c..c50c7e689533 100644
--- a/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
+++ b/sound/hda/codecs/side-codecs/cs35l41_hda_property.c
@@ -86,6 +86,7 @@ static const struct cs35l41_config cs35l41_config_table[] = {
{ "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 },
+ { "103C8F07", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 3900, 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 },
@@ -543,6 +544,7 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
{ "CSC3551", "103C8CDD", generic_dsd_config },
{ "CSC3551", "103C8CDE", generic_dsd_config },
{ "CSC3551", "103C8E60", generic_dsd_config },
+ { "CSC3551", "103C8F07", generic_dsd_config },
{ "CSC3551", "104312AF", generic_dsd_config },
{ "CSC3551", "10431433", generic_dsd_config },
{ "CSC3551", "10431463", generic_dsd_config },